Upload
tomislav-doric
View
107
Download
7
Embed Size (px)
DESCRIPTION
foi
Citation preview
SVEUČILIŠTE U ZAGREBUFAKULTET ORGANIZACIJE I INFORMATIKE
VARAŽDIN
Dario Perić
Ivana Perčinlić
Tihana Poljak
TRANSPORTNI PROBLEM I PROBLEM ASIGNACIJE
SEMINARSKI RAD
Varaždin, 2013.
SVEUČILIŠTE U ZAGREBUFAKULTET ORGANIZACIJE I INFORMATIKE
VARAŽDIN
Dario Perić, 39324/10-R
Ivana Perčinlić, 39062/10-R
Tihana Poljak, 39212/10-R
Redoviti student
Smjer: Poslovni sustavi
Preddiplomski studij
TRANSPORTNI PROBLEM I PROBLEM ASIGNACIJE
SEMINARSKI RAD
Varaždin, svibanj 2013.
Sadržaj
1. Uvod............................................................................................................................................1
2. Transportni problem....................................................................................................................2
2.1. Opći opis transportnog problema.........................................................................................2
2.2. Otvoreni model transporta....................................................................................................3
2.3. Slučaj degeneracije...............................................................................................................5
3. Rješavanje transportnog problema..............................................................................................7
3.1. MODI metoda.......................................................................................................................7
3.2. Metode za postavljanje početnog programa.......................................................................14
3.2.1. Metoda sjeverozapadnog kuta.....................................................................................14
3.2.2. Metoda minimalnih troškova.......................................................................................18
3.2.3. Vogelova aproksimativna metoda...............................................................................21
4. Problem asignacije.....................................................................................................................26
4.1. Matematički model.............................................................................................................30
4.2. Mađarska metoda................................................................................................................31
4.3. Otvoreni model problema asignacije..................................................................................37
6. Zaključak...................................................................................................................................38
7. Literatura...................................................................................................................................39
I
1. Uvod
Problem transporta je jedan od prvih problema formuliranih u terminima linearnog
programiranja. Pored tzv. klasičnog problema transporta postoje različite generalizacije i mnoge
primjene od kojih ćemo neke u ovom seminaru razmotriti. Transportni problem se pojavljuje
kada treba programirati prijevoz neke robe iz više ishodišta u više ishodišta uz minimalne
troškove.
Problem asignacije odnosno problem dodjeljivanja je posebni slučaj transportnog
problema. Od transportnog problema se razlikuje po tome što su vrijednosti koje se nude i one
koje se traže jednake 1. Cilj koji se želi postići je neki optimum na osnovi neke mjere
individualne uspješnosti. Ovako formuliran zadatak asignacije se može primijeniti u mnogim
problemima rukovođenja. Neke od primjera problema asignacije ćemo prikazati kroz rješavanje
nekoliko zadataka.
1
2. Transportni problem
2.1. Opći opis transportnog problema
Transportni problem je specijalan slučaj linearnog programiranja. Kod transportnog
problem je cilj pronalaska najboljeg mogućeg rješenja odnosno najpovoljnijeg. Pri provođenju
transportnog problema radi se o tome da se neko homogeno dobro u količini ai prenese odnosno
preveze s mjesta i na mjesto j pri čemu želimo postići da nam troškovi prijevoza budu minimalni.
Pri definiranju samog transportnog problema treba paziti na to da su troškovi po jedinici
robe koja se prevozi konstantni odnosno da količina robe koja se prevozi ne utječe na samu
cijenu prijevoza.
Općenito gledano transportni problem se dakle sastoji od sljedećih varijabli:
Skupa m točaka koje nam označavaju mjesta polazišta iz kojih dobra kreću Skupa n točaka koje nam označavaju mjesta na koja će dobra biti isporučena Skupa cij koji nam označava skup varijabilnih troškova za svaku jedinicu
proizvoda proizvedenog u ishodištu m[Ekonomski fakultet u Zagrebu, J.Kraljević – prezentacija Transportni problem]
Matematički bismo transportni problem mogli izraziti na sljedeći način: „Funkcija cilja
izražava ukupne troškove transporta (T) koje treba minimizirati, a koji se sastoje od umnožaka
jediničnih troškova transporta i količina koje se prenose.“. – Dražen Barković – Operacijska
Istraživanja
Drugim riječima rečeno, funkcija cilja nam je ukupni umnožak količine dobara koja se
prevozi i cijene prijevoza po jedinici dobra.
Što smo prikazali riječima također se može prikazati i matematičkim izrazom odnosno
formulom, a to je sljedeća:
minT=∑i=1
m
∑j=1
n
c ij x ij
Pri rješavanju transportnog problema postoje još neke stvari na koje treba obratiti pažnju,
a to su ograničenja. Ta ograničenja su sljedeća:
Za svako ishodište i postoji zahtjev da se čitava raspoloživa roba na ishodištu i pošalje na
određena mjesta gdje postoji potreba. Dakle želi se postići da se potroši sva količina koja je
raspoloživa.
2
Vrijedi:
∑j=1
n
x ij=a i za i=1,2 ,…,m
Nadalje, sva odredišta j također trebaju dobiti željene količine bez obzira iz kojeg
ishodišta roba dolazila. Dakle želi se zadovoljiti potreba bez obzira na udaljenost ishodišta.
Vrijedi:
∑i=1
m
x ij=b j za j=1,2 , …, n
Na kraju zadnji uvjet koji mora vrijediti i bez kojeg čitav problem nema smisla je uvjet
nenegativnosti. Vrijedi:
x ij ≥ {za i=1,2 , …, mza j=1,2, …, n }
Uočavamo da količina koja će biti isporučena iz ishodišta i mora biti jednaka količini
koju potražuju odredišta j. Stoga zaključujemo da rješenje problema postoji samo onda ako je
suma svih ponuđenih količina jednaka sumi količina koje se potražuju ili skraćeno:
∑i=1
m
ai=∑j=1
n
b j
Na kraju treba uzeti u obzir i mogućnost da količine za isporuku neće biti jednake
količinama koje se potražuju. U slučaju da je količina robe za isporuku veća od količine robe
koja se potražuju uvodi se novo skladište ili mjesto za preuzimanje viška robe. Uvođenjem
dopunske varijable ponovno stvaramo problem koji ima rješenje. Također se može napraviti i
obrnuti postupak ukoliko je potražnja veća od količine. [Barković, 2001., str. 118]
2.2. Otvoreni model transporta
Transportni problem iako je sam po sebi specijalan slučaj linearnog programiranja ipak
nije jedinstven to jest možemo naići na slučaj koji nije zatvoreni problem. Taj slučaj se naziva
otvoreni model transporta i rješava se tako da se svodi na zatvoreni model transporta.
Otvoreni problem transporta je poseban slučaj transportnog problema u kojem nam uvjet
jednakosti ponuđene i tražene količini dobara nije jednak.
3
Dakle vrijedi:
∑i=1
m
ai≠∑j=1
n
b j
Ranije smo naveli da transportni problem jedino može imati rješenje u slučaju da je tražena
količina dobara jednaka ponuđenoj količini dobara odnosno da vrijedi:
∑i=1
m
ai=∑j=1
n
b j
U slučaju u kojem se sada nalazimo, a to je slučaj da tražena količina nije jednaka
ponuđenoj količini ili obrnuto, nalazimo se u otvorenom modelu transporta. Otvoreni model
transporta je poseban slučaj transportnog problema u kojem ćemo nedostatak ponuđenih ili
traženih dobara, ovisno o tome čega nam nedostaje, nadopuniti tako da ćemo uvesti dopunske
varijable tj dopunsko ishodište ili odredište koje će poslati dobra koja nedostaju ili će prihvatiti
dobra koja su viška. Ovakav način rješavanja je ekvivalentan dodavanju dopunskih varijabli u
simpleks metodi.
Prvi slučaj na kojeg možemo naići je da je ponuda manja od ukupne potražnje. Ovaj
problem ćemo riješiti tako da uvedemo fiktivno ishodište koje će sadržavati onoliku količinu
dobara kolika je potrebna za zadovoljenje potražnje. Količinu dobara koja nam je potrebna ćemo
dobiti tako da od ukupne potražnje oduzmemo ukupnu ponudu. Matematički izraženo to izgleda
ovako:
am+1=∑j=1
n
b j−∑i=1
m
ai
Također moramo paziti na to da troškove transporta po jedinici proizvoda iz tog ishodišta
moraju biti jednaki nuli, jer moramo uzeti u obzir da je ovo ishodište fiktivno te da ne može
imati cijenu:
cm+1 , j=0 , j=1 ,…,n .
U drugom slučaju nam se javlja problem da je ukupna potražnja manja od ukupne
ponude. Ovo je obrnuti slučaj od prijašnjeg, no rješava se na gotovo jednak način. Dakle javlja
nam se problem da imamo ponuđeno više proizvoda nego što ih možemo isporučiti.
Kako bismo uskladili količine uvodimo odredište koje će ima potražnju za proizvodima
onoliku kolika je razlika između ponude i potražnje.
4
Drugim riječima potražnju za fiktivno odredište koje smo uveli ćemo dobiti tako da od
ukupne ponude oduzmemo ukupnu potražnju. Matematički ćemo to izraziti na sljedeći način:
bn+1=∑i=1
m
ai−∑j=1
n
b i
Kao i kod prvog slučaja gdje nam je cijena transporta iz fiktivnog ishodišta prema svim
odredištima bila jednaka nuli, tako i u ovom slučaju postoji sličan uvjet, a to je da je cijena
transporta iz svih ishodišta u ovo fiktivno odredište jednaka nuli:
c i ,n+1=0 , i=1 , …, m.
[Ekonomski fakultet u Zagrebu, J.Kraljević – prezentacija Transportni problem]
2.3. Slučaj degeneracije
Degeneracija je relativno česta pojava u transportnom problemu. Do degeneracije dolazi
ako se u nekom dopuštenom rješenju pojavi manje od m+n-1 pozitivnih xij , gdje je m broj
ishodišta, a n broj odredišta, odnosno kada je rank matrice A, r(A)<m+n-1. Dakle degeneracije
znači da je broj bazičnih pozitivnih varijabli manji od zbroja broja redova i broja stupaca
umanjen za jedan.
Degeneracija je posljedica postojanja jedne ili više jednakih parcijalnih suma ponude ai i
potražnje bj tj vrijedi:
∑ ai'=∑ b j
'
Do degeneriranog bazičnog rješenja dolazi zato što su neka od rješenja m+n-1 jednaka
nuli odnosno neki xij = 0. Problem je u tome što se takvo bazično rješenje ne može poboljšati
metodama za dobivanje početnog rješenja, već moramo degenerirano rješenje pretvoriti u
nedegenerirano rješenje. Do degeneracije može doći upotrebom bilo koje metode u bilo kojoj
iteraciji.
Kao što smo već naveli degenerirano rješenje treba pretvoriti u nedegenerirano, a to se
radi tako da ubacimo u postupak zamišljeni teret u neko ili neka popunjena polja i to ona koja su
nam potrebna za izračunavanje svih vrijednosti ui i vj. Taj teret se obično označava slovom ε.
Valja napomenuti da ubacivanje zamišljene vrijednosti ne mijenja prvobitni problem niti
prvobitni karakter dodjele, a dovoljna je da se provede iteracije te postoji mogućnost da će ta
vrijednost do kraja provedbe svih iteracija nestati. [Barković, 2001., str. 138]
5
6
3. Rješavanje transportnog problema
Za rješavanje transportnog problema postoji puno metoda sa svojim pripadajućim
algoritmima za rješavanje. Te metode se mogu podijeliti na dvije osnovne skupine, a to su
metode koje zahtijevaju postavljanje početnog programa i metode koje ne zahtijevaju
postavljanje početnog programa.
Metode koje ne zahtijevaju postavljanje početnog programa su one metode koje ne polaze
od nekog već postojećeg programa nego postupno razvijaju program dok se ne dobije optimalni
program transporta. Od tih metoda najpoznatije su Ford-Fulkersonova metoda i metoda
razrješavajućih pribrojnika. Algoritmi za rješavanje ovih metoda su dosta komplicirani u odnosu
na metode koje zahtijevaju postavljanje početnog programa.1 U ovom seminaru ćemo veću
pažnju posvetiti metodama koje zahtijevaju postavljanje početnog programa. Jedna od
najpoznatija metoda je MODI metoda.
3.1. MODI metoda
Postoje mnoge metode za provjeravanje optimalnosti rješenja kojeg smo dobili
rješavanjem jednim od više mogućih postupaka. Jedan od načina provjere optimalnosti rješenja
je MODI metoda. Za MODI metodu nam je bitna jedna činjenica, a to je da ako je poznato
bazično rješenje nekog transportnog problema, tada je uvijek moguće odrediti realne brojeve ui
koji odgovaraju i=1,2,..,m i vj koji odgovaraju j=1,2,...,n. Ti brojevi su takvi da za svaki par (i,j)
za koje je xij bazična varijabla vrijedi:
ui+v j=cij
Nadalje, imamo dakle m+n-1 bazičnih varijabli, iz toga slijedi da ranije navedeni izraz je
zapravo sustav od m+n-1 jednadžbi sa m+n varijabli. Ova činjenica nam je bitna za daljnji tijek
provjeravanja optimalnosti odnosno tijek rješavanja MODI metode jer možemo jednu od veličina
ui ili vj odabrati po volji i koristiti u daljnjem tijeku rješavanja što ćemo vidjeti u nastavku.
1 Dobrenić S.: Operativno istraživanje, Fakultet organizacije i informatike Varaždin, 1978., str. 141-142.
7
Pri tome se odabere jedna od te dvije varijable te njegove vrijednosti budu 0, pa se druge
izračunavaju sljedećom formulom:
v j=cij−ui
[Barković, 2001., str. 134]
U provođenju MODI metode postoje tri koraka koje ćemo u nastavku proći i pojasniti:
1. Ako je xk1 bazična varijabla unosimo jedinični trošak transporta na polje (k,1) te tablice.
Postupak ponavljamo za sve m+n-1 varijable. Na kraju se u zadnji stupac tablice unose
vrijednosti ui, a u zadnji redak vj.
Provodeći taj postupak dobivamo tablicu koje će otprilike ovako izgledati:
Tablica 3.1. Početna tablica MODI metode
ui
cij1,1 cij1,2 cij1,3 cij1,4 ui1
cij2,1 cij2,2 cij2,3 cij2,4 ui2
vj vj1 vj2 vj3 vj4
Pri tome valja napomenuti da neće sva polja biti popunjena, već će neka polja ostati
prazna!
2. U drugom koraku u polja koja su nam nakon prvog koraka ostala nepopunjena unosimo
vrijednosti koje dobivamo na sljedeći način:
c ij=ui+v j
To vrijedi za sve (i,j) za koje xij nije bazična varijabla.
Računajući vrijednosti na ranije naveden način dobivamo tablicu koja bi mogla teoretski
izgledati ovako:
Tablica 3.2. Tablica s unešenim bazičnim varijablama
ui
c ij c ij
c ij
8
vj
3. Nakon drugog koraka dolazimo do trećeg i posljednjeg koraka u MODI metodi. U ovom
koraku računamo relativne specifične vrijednosti za prazna polja i to na sljedeći način:
c ij¿=c ij−c ij{i=1,2 ,…, m
j=1,2 , …, n
cij = 0 za sve (i,j) za koje su xij bazične varijable.
Ako nam se dogodi da za jedno dopušteno bazično rješenje klasičnog transportnog
problema postoji jedan c ij¿<0 , onda postoji i novo bazično rješenje.
Ako nam se pak dogodi da su svi c ij¿>0 tada je rješenje koje smo testirali optimalno.
Ako nam se dogodi da postoji jedan c ij¿=0 tada postoji više optimalnih bazičnih rješenja.
Na kraju kao zaključak možemo reći da MODI metoda možda i nije najjednostavnija metoda za
provjeravanje optimalnosti rješenja, ali je svakako vrlo efikasna te sa svojih svega tri koraka nam
neće oduzeti mnogo vremena kako bismo u potpunosti provjerili dobiveno rješenje. [Barković,
2001., str. 134]
Primjer rješavanja MODI metode
Modi metodom riješite problem transporta
min z=2 x11+4 x12+2x13+3 x21+4 x22+¿6 x23+2 x31+6 x32+4 x33 ¿
Uz zadana ograničenja:
x11+x12+x13=80x21+x22+x23=60x31+x32+ x33=40x11+x21+x31=55x11+x12+x13=70
x11+x12+x13=55
Broj ishodišta: 3
Broj odredišta: 3
Krenemo rješavati transportni problem pomoću IOR Tutorial alata:
1. KorakU prvo polje unosimo 55 čime smo zadovoljili potražnju prvog odredišta:
9
Slika 1. 1. Korak dobivanja bazičnog rješenja transportnog problema
2. Korak: U drugo polje u prvom redu unosimo 25 čime smo iscrpili prvo skladište i brišemo taj red.
Slika 2. 2. Korak dobivanja bazičnog rješenja transportnog problema
10
3. Korak: U drugo polje u drugom redu unosimo 45 čime smo zadovoljili potrebu drugog odredišta.
Slika 3. 3. Korak dobivanja bazičnog rješenja transportnog problema
4. Korak: Za zadnje odredište još unosimo vrijednosti koje su nam ostale:
Slika 4. 4. Korak dobivanja bazičnog rješenja transportnog problema
Dakle, početno bazično rješenje ovog problema transporta je:
11
x11=55 , x12=25 , x13=0 , x21=0 , x22=45 , x23=15 , x31=0 , x32=0 , x33=40
Provodimo MODI metodu:
1. KorakTablica 1. 1. Korak MODI metode
a1 a2 a3 ai uiI1 2
554 25
2 4
80 0
I2 3 -1
4 +45
6 15
60
0
I3 2 -2
6 -4
4 40
40 -2
Ij 55 70 55bj 2 4 6
Rang = n+n-1=8+3-1=5
Z=640
crj¿= (ui+v j )−c ij
c13¿= (0+6 )−2=4
c21¿= (0+2 )−3=−1
c31¿=(−2+2 )−2=−2
c32¿=(−2+4 )−6=4
Optimalno rješenje je ako su svi c ij¿ negativni, ukoliko ima pozitivnih uzima se najveće i
dalje računa.
2. Korak
Tablica 2. 2. Korak MODI metode
12
A1 a2 a3 ai uiI1 2
-554 10
2 15
80 0
I2 3 -1
4 60
6 -4
60
0
I3 2 2
6 0
4 40
40 2
Ij 55 70 55
bj 2 4 2r=5Z=580
c21¿= (0+2 )−3=−1
c23¿= (0+2 )−6=−4
c31¿=(2+2 )−2=2
c32¿=(2+4 )−6=0
3. Korak Tablica 3. 3. Korak MODI metode
A1 a2 a3 ai uiI1 2
154 10
2 55
80 0
I2 3 -1
4 60
6 -4
60
0
I3 2 40
6 -2
4 -2
40 0
Ij 55 70 55
bj 2 4 2r=5
Z=500
c21¿= (0+2 )−3=−1
c23¿= (0+2 )−6=−4
c31¿=(2+2 )−2=2
c32¿=(2+4 )−6=0
Postignuto je optimalno rješenje!
3.2. Metode za postavljanje početnog programa
13
Metode koje zahtijevaju postavljanje početnog programa za njegovo postavljanje najčešće
koriste jednu od sljedećih metoda:
metoda sjeverozapadnog kuta
metoda minimalnih troškova
Vogelova aproksimativna metoda 2
3.2.1. Metoda sjeverozapadnog kuta
Metoda sjeverozapadnog kuta (North West Corner Rule) se naziva još i dijagonalna
metoda koja omogućuje postavljanje početnog bazičnog nedegeneriranog programa, odnosno
programa u kojem je broj upisanih polja jednak m+n−1, gdje m predstavlja broj ishodišta, a n
broj odredišta. Ova metoda raspoređivanja jedinica započinje od sjeverozapadnog kuta matrice
transporta.
Odnosno, u polje (1,1) se stavlja najveći mogući broj jedinica zavisno od ponude prvog
ishodišta i potražnje prvog odredišta. Tim se brojem može iskoristiti ponuda prvog ishodišta ili
podmiriti potražnja prvog odredišta koje se isključuje iz daljnjeg raspoređivanja. Ovaj postupak
se ponavlja na preostalim poljima po dijagonali matrice sve do polja (m,n), u matrici transporta,
dok se ne rasporede raspoložive količine svih ishodišta, odnosno dok se ne zadovolje zahtjevi
svih odredišta. 3
Za samu ilustraciju kako ova metoda funkcionira koristit ćemo se Dobrenićevom
knjigom, Operativno istraživanje. Za početak imamo tablicu 3.3. koja sadrži matricu troškove
prijevoza cij od svakog ishodišta do svakog odredišta. Sa desne strane navedene matrice troškova
se nalaze raspoložive količine otpreme iz svakog ishodišta. Ispod matrice troškova nalaze se
količine potreba svakog od ishodišta.
Tablica 3.3. Osnovni podaci problema transporta
2 Dobrenić S.: Operativno istraživanje, Fakultet organizacije i informatike Varaždin, 1978., str. 141.3 Zenzerović, Z.: Transportni problem linearnog programiranja, str.4.
14
Matrica troškova (cij)
Ishodišta
(i)
Odredišta (j) Ukupna
otpremaB1 B2 B3 B4 B5
A1 30 28 3 13 25 20 a1
A2 27 4 11 2 17 15 a2
A3 8 12 1 22 7 25 a3
A4 13 21 19 15 23 40 a4
Ukupni
primitak
9 17 22 33 19 100
b1 b2 b3 b4 b5
Pomoću metode sjeverozapadnog kuta nalazimo početno bazično moguće rješenje.
Krećemo se po tablici u smjeru sjeverozapad – jugoistok i popunjavamo polja. U tablici 3.4. je
prikazan početni bazični program. Na početku se nalazimo u gornjem lijevom kutu, odnosno
sjeverozapadnom kutu u kojem se uspoređuje raspoloživa količina u ishodištu A1, u ovom
primjeru to je vrijednost 20, sa zahtijevanom količinom odredišta B1, u ovom primjeru 9. Sada se
manja vrijednost od ove dvije uspoređivane piše u polje (1,1). Manji broj u ovom primjeru je
broj 9 te će se on naći u sjeverozapadnom kutu matrice. Ovom vrijednošću je zadovoljen zahtjev
odredišta B1, a u ishodištu A1 je ostalo još raspoloživih jedinica tereta, točnije, njih 11.
Tablica 3.4. Početni bazični program po metodi sjeverozapadnog kuta
15
U drugom koraku gledamo kako zadovoljiti odredište B2 uspoređujući raspoloživu
količinu na ishodištu A2 s nepodmirenim zahtjevima odredišta B2. U ovom primjeru
uspoređujemo 15 sa 6. Ovaj broj 6 je dobiven tako da je od zahtijevane količine tereta za B2, koja
iznosi 17, oduzet iznos koji nam je ostao od prethodnog koraka, odnosno od 11. Upisujemo 6 u
tablicu 3.4. u polje (2,2) jer je to manji broj od 15. Na taj način je podmiren zahtjev odredišta B2.
U ishodištu A2 je ostalo raspoloživo 9 jedinica.
U trećem koraku prelazimo na zadovoljavanje odredišta B3 tako što uspoređujemo
raspoloživu količinu ishodišta A3, odnosno 15, s nepodmirenim zahtjevima odredišta B3,
odnosno s 13 koji je dobiven tako što je od zahtijevane količine tereta za B 3, koja iznosi 22,
oduzet iznos koji nam je ostao od drugog koraka, odnosno od 9. Pošto je 13 manje od 15
upisujemo ga u polje (3,3) naše
matrice. Podmirili smo
zahtjev odredišta B3,
dok je u ishodištu A3
ostalo raspoloživo 12
jedinica tereta.
Ovaj postupak se
nastavlja sve dok nisu
podmireni zahtjevi svih
odredišta, odnosno dok
nisu raspoređene sve raspoložive količine svih ishodišta. Algoritam računanja je gotov onog
trenutka kad se nađemo u desnom donjem kutu, odnosno, u jugoistočnom kutu s čime je
16
Ishodišta
(i)
Odredišta (j) Ukupna
otpremaB1 B2 B3 B4 B5
A1
30 28 3 13 2520
A2
27 4 11 2 1715
A38 12 1 22 7
25
A4
13 21 19 15 2340
Ukupni
primitak 9 17 22 33 19 100
911
6 9
13 12
21 19
završeno postavljanje bazičnog programa. Možemo vidjeti da je rješenje nedegenerirano,
odnosno da broj zauzetih polja u matrici iznosi m+n−1=4+5−1=8 . 4
Metoda sjeverozapadnog kuta ima veliku manu, a ta je da se u njoj ne obraća pažnja na
troškove prijevoza. Zbog toga ovakav program nije optimalan. Troškovi postavljenog početnog
programa pomoću sjeverozapadne metode se računaju po sljedećoj formuli:
Z=c11 x11+c12 x12+c22 x22+c23 x23+c33 x33+c34 x34+c44 x 44+c45 x45
Kada bismo podatke iz naše tablice sada uvrstili u ovu formulu ona bi izgleda kao što je
niže prikazano, a ukupni troškovi bi bili 1 730 novčanih jedinica.
Z=30 ∙ 9+28 ∙11+4 ∙ 6+11 ∙ 9+1 ∙13+22∙ 12+15∙ 21+23 ∙19
Z=1730
Vlastiti primjer
Neka je zadana matrica troškova prijevoza od svakog ishodišta do svakog odredišta
(tablica 3.5.). Početni bazični program, za ovaj primjer, riješit ćemo pomoću metode
sjeverozapadnog kuta. Na desnoj strani u matrici se nalaze raspoložive količine otpreme iz
svakog ishodišta, a ispod matrice nalaze se količine koje su potrebne svakom od ishodišta. U
ovom primjeru postoji četiri odredišta i tri ishodišta.
4 Dobrenić S.: Operativno istraživanje, Fakultet organizacije i informatike Varaždin, 1978., str. 144.
17
Tablica 3.5. Osnovni podaci problema
transporta
Rješavajući ovaj primjer, kao
što je u prethodnom
poglavlju opisano primjerom iz
knjige, dolazimo do rješenja koje je
prikazano u tablici 3.6. Dobiveno
rješenje je početni bazični program.
Troškovi postavljenog
početnog programa se računaju pomoću
formule:
Z=c11 x11+c12 x12+c22 x22+c23 x23+c33 x33+c34 x34
Kada bismo u formuli unijeli podatke iz dobivenog početnog programa ona bi izgledala
kao što je niže prikazano. Na kraju je potrebno taj izraz i izračunati kako bismo znali koliki bi
18
Tablica 3.6. Početni bazični program po metodi sjeverozapadng kuta
Ishodišta
(i)
Odredišta (j) Ukupna
otpremaB1 B2 B3 B4
A11 12 25 4 40
A23 8 12 2 25
A35 30 9 15 35
Ukupni
primitak11 45 14 30 100
Ishodišta
(i)
Odredišta (j) Ukupna
otpremaB1 B2 B3 B4
A1
1 12 25 440
A2
3 8 12 225
A35 30 9 15
35
Ukupni
primitak 11 45 14 30 100
11 29
16 9
5 30
nam bili ukupni troškovi. Nakon izračuna ustanovili smo da bi ukupni troškovi iznosili 1 090
novčanih jedinica.
Z=1∙ 11+12 ∙ 29+8 ∙16+12∙9+9 ∙5+15 ∙30
Z=1 09 0
3.2.2. Metoda minimalnih troškova
Za razliku od metode sjeverozapadnog kuta, metoda minimalnih troškova (The Least-
Cost Rule) koristi troškove isporuke kako bi se dobilo početno bazično moguće rješenje sa što
nižim troškovima isporuke. Nakon dobivanja takvog rješenja potreban je mali broj koraka za
nalaženje optimalnog rješenja problema. 5
Prikazat ćemo ovu metodu na jednom primjeru kako bi ona bila jednostavnija za
razumjeti. Radit ćemo na primjeru iz Dobrinićeve knjige, Operativno istraživanje. Početni
bazični program po ovoj metodi nalazi se u tablici 3.7.
U slučaju da u matrici troškova postoje dva ili više minimalnih troškova, popunjavamo
ono polje na koje je moguće staviti što veću količinu tereta. Kada u potpunosti iskoristimo
ukupni kapacitet određenog ishodišta ili potpuno zadovoljimo potrebe nekog odredišta, taj
stupac, odnosno redak u sljedećem razmatranju isključujemo. Ovaj postupak ponavljamo sve dok
potrebe odredišta ne budu potpuno zadovoljene, a kapaciteti svih ishodišta iskorišteni. 6
Najprije je potrebno u matrici pronaći polje koje ima najmanji trošak. To je na našoj
matrici polje (3,3) koje ima vrijednost 1. Zatim se u to polje upisuje najveća moguća količina. U
ovom primjeru se upisuje vrijednost 22 što predstavlja količinu koju odredište B3 zahtjeva. Ovo
odredište je sada potpuno namireno jer je mogućnost otpreme ishodišta A3 veća, te se treći stupac
isključuje iz razmatranja.
U idućem koraku ponovno tražimo najmanju vrijednost u matrici izuzev trećeg stupca
kojeg smo u prethodnom koraku eliminirali. Sljedeća minimalna vrijednost je 2, ona se nalazi u
matrici u polju (2,4). Pošto su potrebe odredišta B4 veće od kapaciteta otpreme ishodišta A2 u
polje upisujemo 15, odnosno maksimalan mogući iznos koji se može dostaviti na odredište B 4 od
5 Perić T.: Transportni problem, str. 29. 6 Marković M.: Metode rješavanja transportnog problema, str.24.
19
strane ishodišta A2. Ovom radnjom smo u potpunosti iscrpili kapacitet otpreme ishodišta A2 pa
stoga taj red eliminiramo iz daljnjeg računanja.
U idućem koraku ponovno pronalazimo najmanju vrijednost u matrici bez da gledamo
treći stupac i drugi redak. Minimalna vrijednost je 7 koja se nalazi u polj (3,5) u matrici. U polje
se unosi najveća moguća količina. Pošto smo u prvom koraku od ishodišta A3 uzeli 22 jedinice
sada je na tom ishodištu preostalo samo 3 jedinice. Stoga vrijednost 3 upisujemo u polje (3,5).
Ovom radnjom smo u potpunosti iscrpili kapacitet otpreme ishodišta A3 te će on biti eliminiran
iz daljnjeg promatranja.
Tablica 3.7. Početni bazični program po metodi najmanjih troškova
Ovakav postupak
raspoređivanja ponavljamo sve dok sve količine ishodišta nisu raspoređene na ishodišta kao što
je vidljivo u tablici 3.7. Kao i kod metode sjeverozapadnog kuta dobili smo nedegenerirano
rješenje, odnosno rješenje koje sadrži m+n−1=8 zauzetih polja.
Na kraju je potrebno još izračunati ukupne troškove prema dobivenoj matrici. Računamo
ih po formuli:
Z=c14 x14+c15 x15+c24 x24+c33 x33+c35 x35+c41 x41+c42 x42+c45 x45
Uvrštavanjem podataka iz matrice dobivamo sljedeći izraz koji je prikaza niže. Na kraju
dobivamo da su ukupni troškovi jednaki 1 153 novčanih jedinica. Ovaj izraz je za 577 novčanih
jedinica manji od onoga kojeg smo dobili metodom sjeverozapadnog kuta, te možemo zaključiti
da je metodom minimalnih troškova dobiven optimalniji program.
20
Ishodišta
(i)
Odredišta (j) Ukupna
otpremaB1 B2 B3 B4 B5
A1
30 28 3 13 2520
A2
27 4 11 2 1715
A38 12 1 22 7
25
A4
13 21 19 15 2340
Ukupni
primitak 9 17 22 33 19 100
18 2
15
22 3
9 17 14
Z=15 ∙18+25 ∙ 2+2 ∙15+1 ∙ 22+7 ∙3+13 ∙ 9+21 ∙17+23 ∙14
Z=1153
Vlastiti primjer
Za rješavanje vlastitog primjera koristit ću primjer kao i kod prikaza rješavanja zadatka
sjeverozapadnom metodom. Radi preglednosti i lakšeg snalaženja primjer se nalazi ispod, u
tablici 3.8.
Nakon rješavanja ovog
primjera metodom minimalnih
troškova, kao što je opisano u poglavlju iznad, dobivamo rješenje koje je prikazano u tablici 3.9.
21
Tablica 3.8. Osnovni podaci problema
transporta
Tablica 3.9. Početni bazični program po metodi najmanjih troškova
Ishodišta
(i)
Odredišta (j) Ukupna
otpremaB1 B2 B3 B4
A11 12 25 4 40
A23 8 12 2 25
A35 30 9 15 35
Ukupni
primitak11 45 14 30 100
Ishodišta
(i)
Odredišta (j) Ukupna
otpremaB1 B2 B3 B4
A1
1 12 25 440
A2
3 8 12 225
A35 30 9 15
35
Ukupni
primitak 11 45 14 30 100
11 24
25
14
5
21
5
Troškovi postavljenog početnog programa se računaju pomoću formule:
Z=c11 x11+c12 x12+c14 x14+c24 x24+c32 x32+c33 x33
Nakon što unesemo naše podatke u ovu formulu dobivamo izraz koji je niže prikazan.
Također, potrebno je na kraju taj izraz izračunati kako bismo odredili koliki bi bili ukupni
troškovi. Izračunom smo ustanovili da ukupni troškovi iznose 1 125 novčanih jedinica. Obično,
kada se računa metodom minimalnih troškova se dobije povoljnije rješenje nego računajući
metodom sjeverozapadnog kuta, ali to u ovom primjeru nije slučaj. Dobiveni trošak je veći nego
u prošloj metodi.
Z=1∙ 11+12 ∙ 24+4 ∙5+2∙ 25+30 ∙ 21+9 ∙14
Z=1125
3.2.3. Vogelova aproksimativna metoda
Vogelova aproksimativna metoda (Vogel's Approximation Method) je također jedna od
metoda koje nam omogućuju postavljanje početnog programa. U ovoj metodi se vrši
uspoređivanje troškova transporta pa se na osnovu toga i obavlja sam transport tereta pritom
zadovoljavajući uvjete ishodišta i odredišta.
Vogelova metoda se sastoji od nekoliko koraka: 7
1. U svakom retku, odnosno svakom stupcu tražimo dva najmanja troška. Zatim
računamo razliku između ta 2 troška i nju upisujemo u stupac „razlika retka“ (r j), odnosno u
redak „razlika stupca“ (ri)
2. Pronalazimo najveću razliku redaka ili stupaca. U onom retku ili stupcu u kojem je
razlika najveća pronalazi se najmanji trošak i na to polje upisujemo maksimalnu količinu tereta.
3. Ponavljanje prva dva koraka onoliko puta dok se svi kapaciteti ishodišta ne iskoriste, a
sve potrebe odredišta ne zadovolje.
4Na primjeru iz knjige, Operativno istraživanje, ćemo prikazati kako ovi navedeni koraci
djeluju na nekoj stvarnoj matrici troškova. Koristit ćemo matricu kao i u prethodnim metodama.
7 Materijali s predavanja na kolegiju Operacijska istraživanja I
22
U prvom koraku pronalazimo dva najmanja troška u svakom retku, odnosno svakom stupcu.
Zatim računamo razliku između ta 2 troška i nju upisujemo u stupac „razlika retka“,odnosno u
redak „razlika stupca“ kao što je označeno u tablici 3.10. Pa primjerice u prvom retku najmanje
vrijednosti su 13 i 3. Njihova razlika je 10 te ju upisujemo u posljednji stupac u tablici. Isto tako
radimo i za stupac. Najmanje vrijednosti u prvom stupcu su 13 i 8 te kada ih oduzmemo
dobivamo vrijednost 5 koju potom upisujemo u posljednji redak u tablici 3.10.
U sljedećem koraku pronalazimo najveću razliku bilo retka bilo stupca. U promatranom
primjeru koji je vidljiv u tablici 3.10. je vidljivo da je najveća razlika 11 koja se nalazi u
četvrtom stupcu. U tom stupcu pronađemo polje s najnižim troškovima te u njega stavljamo
najveću moguću količinu. U ovom primjeru polja s najnižim troškovima je polje (2,4) s
vrijednošću jednakom 2. U to polje sada upisujemo 15 jer je toliko najviše raspoloživo kapaciteta
otpreme ishodišta A2. Pošto smo iskoristili svih 15 jedinica na ishodištu A2, drugi redak
izbacujemo iz daljnjeg računanja te se radi toga u sva slobodna polja tog retka se stavlja „x“, a u
razliku reda upisujemo iza 2 slovo „Z“ što označava završeno kao što je označeno u tablici 3.10.
U slučaju da postoji više razlika stupaca ili redaka koji imaju istu najveću vrijednost tada
bismo odabrali onaj stupac, odnosno red, koji ima polje s najmanjim troškom
23
Tablica 3.10. Početak postavljanja početnog bazičnog programa po Vogelovoj
aproksimativnoj metodi
IshodištaOdredišta Ukupna
otprema
Razlika
redaB1 B2 B3 B4 B5
A1 30 28 3 13 25 20 10
A2 27 4 11 2 17 15 2. Z
A3 8 12 1 22 7 25 6
A4 13 21 19 15 23 40 2
Ukupni primitak 9 17 22 33 19 100
Razlika stupca5
5
8
9
2
2
11
2
10
16
x x x x15
Pošto smo u prethodnom koraku izbacili jedan cijeli redak, potrebno je ponovno pronaći
nove razlike troškova za sve stupce. Nove vrijednosti se upisuju ispod postojećih kao što je
prikazano u tablici 3.10.
Nakon toga ponovno odabiremo stupac ili red s najvećom razlikom troškova. Sada je to
peti stupac čija je razlika čak 16. U tom stupcu ponovno tražimo polje s najmanjim troškom. To
je polje (3,5) čiji je trošak jednak 7. U to polje unosimo vrijednost 19 jer je to zahtjev odredišta
B5. Nakon takve raspodjele tereta stupac 5 se eliminira na isti način kao i redak 2 u prošlom
koraku. Na sva prazna polja u stupcu stavljamo „x“, a iza 16 u tom stupcu stavljamo slovo „Z“.
Ovaj korak je vidljiv u tablici 3.11.
Pošto smo sad eliminirali cijeli stupac potrebno je ponovno naći razlike za sve redove te
nove razlike zapisati iza postojećih u stupcu „Razlika reda“. Nakon toga se ponovno traži
najveća razlika, određuje polje s najmanjom vrijednosti u tom stupcu ili retku te se na kraju tom
polju dodaje količina tereta. Ovaj postupak se ponavlja sve dok i posljednje količine tereta nisu
raspoređene u polja, odnosno dok nisu svi kapaciteti otpreme ishodišta raspoređeni na odredišta.
Završni izgled matrice prikazan je u tablici 3.11.
Na kraju moramo još izračunati ukupne troškove prijevoza kako bismo mogli zaključiti
koja metoda je najpovoljnija. Prema dobivenoj tablici 3.11. troškovi se računaju prema sljedećoj
formuli:
Z=c13 x13+c24 x24+c32 x32+c33 x33+c35 x35+c41 x 41+c42 x 42+c44 x44
24
Tablica 3.11. Postavljanje početnog bazičnog programa po Vogelovoj
aproksimativnoj metodi
IshodištaOdredišta Ukupna
otprema Razlika redaB1 B2 B3 B4 B5
A1 30 28 3 13 25 20 10, 10, Z
A2 27 4 11 2 17 15 2. Z
A3 8 12 1 22 7 25 6, 7, 4, Z
A4 13 21 19 15 23 40 2, 2, 2, Z
Ukupni primitak 9 17 22 33 19 100
Razlika stupca
5,
5,
5, Z
8,
9,
9, Z
2,
2,
18, Z
11,
2,
7, Z
10,
16,
Z
x18x139
19x24x
x15xxx
xx20xx
Z=3 ∙20+2∙ 15+12 ∙ 4+1 ∙2+7 ∙ 19+13 ∙ 9+21 ∙13+15 ∙ 18
Z=933
Kada bi usporedili obrađene tri metode za postavljanje početnog rasporeda, Vogelova
aproksimativna metoda bi bila u prednosti naspram metode sjeverozapadnog kuta i metode
minimalnih troškova. Program koji dobijemo ovom metodom ako nije optimalan onda je veoma
blizak optimalnom rješenju.
Vlastiti primjer
Rješavanje zadatka pomoću Vogelove metode prikazat ću na dosad korištenom primjeru
prikazanom u tablici 3.12.
Rješavajući ovaj primjer Vogelovom metodom, kao što je prikazano u poglavlju iznad,
dobili smo matricu koja je vidljiva u tablici 3.13.
25
Tablica 3.12. Osnovni podaci problema
transporta
Ishodišta
(i)
Odredišta (j) Ukupna
otpremaB1 B2 B3 B4
A11 12 25 4 40
A23 8 12 2 25
A35 30 9 15 35
Ukupni
primitak11 45 14 30 100
Potrebno je još izračunati ukupne troškove kako bismo se uvjerili da je Vogelova metoda
najpovoljnija što se tiče visine troškova. Troškove računamo po sljedećoj formuli:
Z=c12 x12+c14 x14+c22 x22+c31 x31+c32 x32+c33 x33
Z=12∙ 10+4 ∙30+8 ∙25+5 ∙ 11+30 ∙ 10+9 ∙14
Z=921
Sada vidimo da je Vogelova metoda u prednosti naspram metode sjeverozapadnog kuta i
metode minimalnih troškova.
26
Tablica 3.13. Početni bazični program po Vogelovoj metodiIshodišta (i)
Odredišta (j) Ukupna
otpremaRazlika reda
B1 B2 B3 B4
A11 12 25 4 40 3, 8, 13, 12, 12, Z
A23 8 12 2 25 1, 6, 4, 8, 8, Z
A35 30 9 15 35 4, 6, 21, 30, Z
Ukupni primitak 11 45 14 30 100
Razlika stupaca
2, Z 4,
4,
4,
4,
4, Z
3,
3,
3, Z
2,
2, Z
x 10 x 30
x 25 x x
11
5
10 14 x
4. Problem asignacije
Problem asignacije ili problem raspoređivanja je poseban slučaj transportnog problema.
Ono što ga razlikuje od transportnog problema su vrijednosti koje se nude i one koje se traže
jednake jedan. „Bit problema je u tome da se raspodijeli ili dodijeli n poslova (zadataka,
predmeta) na n mjesta (ljudi, strojeva), ali pod uvjetom da jedan posao može biti dodijeljen
samo jednom čovjeku, jedan rad samo jednom stroju, itd.“ [Barković, 2001., str. 149]
Cilj kod ovog posebnog slučaja transportnog problema je postići neki optimum na osnovi neke
mjere individualne uspješnosti. Takav zadatak se može primijeniti u mnogim problemima
rukovođenja.
Primjer kod kojeg bi se mogao primijeniti problem asignacije bi bio dodjela četiri radna
zadatka četvorici radnika, koji imaju različite sposobnosti, gdje bi cilj bio postizanje
maksimalnog učinka.
Još jedan problem može biti problem voznog parka u pogledu raspoređivanja traktora i
prikolica. Recimo da u čitavom gradu na različitim mjestima na raspolaganju stoji n traktora, a
treba na željezničku stanicu prevesti n prikolica koje su natovarene i čekaj na n skladišta.
Problem je u tome da se svakom od n traktora dodijeli odgovarajuća prikolica. Cilj može biti
minimizirati put koji se treba prijeći ili ukupno vrijeme vožnje traktora.
„Kod jedne matrice individualne uspješnosti tipa n2 imamo n! različitih asignacija.
Najprimitivniji način da se odredi optimalna asignacija jest da se odredi svih tih n! rasporeda pa
da se onda odabere ona asignacija koja je optimalna u pogledu zadane matrice individualne
efikasnosti. To je kod većih vrijednosti za n ogroman posao.“ [Barković, 2001., str. 149]
Barkovićevu tvrdnju ćemo sad i potkrijepiti i jednim primjerom preuzetim iz prezentacije sa
Ekonomskog fakulteta u Zagrebu.
27
Primjer 1
Ivan, Marko, Luka i Juraj su kandidati za 4 posla. Svaki od njih treba određeno vrijeme
da obavi poslove. Vrijeme potrebno osobama da obave poslove dano je u tablici. Potrebno je
napraviti raspored osoba na poslove tako da je ukupna efikasnost optimalna.
Tablica 4.1. Primjer problema asignacije
POSAO 1 POSAO 2 POSAO 3 POSAO 4
IVAN 8 15 10 9
MARKO 17 18 12 12
LUKA 11 14 7 13
JURAJ 9 15 10 6
Jedan mogući pristup za rješavanje ovog zadatka je korištenje faktorijela. Pronaći ćemo
sve moguće rasporede osoba na poslove, izračunati ukupno vrijeme rasporeda i izabrati najmanje
što ćemo prikazati u tablici 4.2.
Tablica 4.2. Izračun ukupnog vremena rasporeda
IVAN MARKO LUKA JURAJ UKUPNO VRIJEME
P1 P2 P3 P4 8+18+7+6=29
P1 P2 P4 P3 8+18+13+10=49
P1 P3 P2 P4 8+12+14+6=40
P1 P3 P4 P2 8+12+13+15=48
P1 P4 P1 P2 8+12+11+15=46
P1 P4 P2 P1 8+12+14+9=43
… … … … …
U tablici 4.2 nisu prikazani svi izračuni, no jasan je princip. Budući da su u zadatku
zadana 4 posla, u tablici bi imali 24 permutacije odnosno 24 ukupna vremena (4! = 24).
Zamislimo što bi se dogodilo da smo imali 20 zadanih poslova. Budući da je 20! pak malo
prevelik broj za ručni izračun, ovakav način nije prikladan i najbolji za odabir najmanjeg
vremena.
28
Sada ćemo promijeniti pristup računanja i jednostavno zaključiti da je svaka osoba
najbolja na nekom poslu i da svaki posao ima najboljeg radnika. Na temelju tih zaključaka
možemo sastaviti tablicu 4.3.
Tablica 4.3. Najbolji zaposlenici na pojedinom poslu
POSAO 1 POSAO 2 POSAO 3 POSAO 4 NAJBOLJI
IVAN 8 15 10 9 P1
MARKO 17 18 12 12 P3 i P4
LUKA 11 14 7 13 P3
JURAJ 9 15 10 6 P4
NAJBOLJI Ivan Luka Luka Juraj
U tablici 4.3 se sada jasno vidi koji je od kandidata najbolji na kojem poslu (zadnji
stupac) i na kojem je poslu netko od kandidata najbolji (zadnji redak). Sljedeći korak je da se od
svakog retka oduzme njegov najmanji element i time dobivamo barem jednu 0 u svakom retku.
U zadnji stupac ćemo staviti ui čime ćemo označiti najmanji element u tom retku.
Tablica 4.4. Dobivanje 0 u recima
POSAO 1 POSAO 2 POSAO 3 POSAO 4 ui
IVAN 0 7 2 1 8
MARKO 5 6 0 0 12
LUKA 4 7 0 6 7
JURAJ 3 9 4 0 6
Dobivene 0 u recima nam pokazuju koji je zaposlenik najbolji na kojem poslu. No, to nije
dovoljno. Postupak koji smo primijenili na retke sada moramo i na stupce što ćemo prikazati u
tablici 4.5. Najmanje elemente u stupcima ćemo označiti s vj.
29
Tablica 4.5. Dobivanje 0 u stupcima
POSAO 1 POSAO 2 POSAO 3 POSAO 4 ui
IVAN 0 1 2 1 8
MARKO 5 0 0 0 12
LUKA 4 1 0 6 7
JURAJ 3 3 4 0 6
vj 0 6 0 0
Sada smo dobili matricu u kojoj su svi elementi nenegativni i također imamo barem jednu
0 u svakom retku i stupcu. Polja s 0 su kandidati za pridruživanje osoba poslovima. Ako je neka
osoba dobila određeni posao, izostavljamo redak osobe i stupac posla iz preostalog razmatranja.
Preostale osobe i poslovi se još trebaju pridružiti. Radi toga tražimo redak s jednom 0. Tu 0
asigniramo, preostale 0 u stupcu prekrižimo. Postupak se ponovi s preostalim recima (postupak
je primjenjiv i na stupce). Ako u tom postupku nad nulama dobijemo kompletnu asignaciju,
dobiveno rješenje je optimalno i prikazujemo ga u tablici 4.6.
Tablica 4.6. Prikaz optimalnog rješenja
POSAO 1 POSAO 2 POSAO 3 POSAO 4 ui
IVAN 0 1 2 1 8
MARKO 5 0 0 0 12
LUKA 4 1 0 6 7
JURAJ 3 3 4 0 6
vj 0 6 0 0
Nakon svih izračuna i slijeđenih postupaka, dobili smo optimalno rješenje u tablici 4.6.
Optimalno rješenje glasi da Ivan dobiva prvi posao, Marko drugi posao, Luka treći posao, a Juraj
četvrti posao. Ukupno vrijeme od ovog rasporeda osoba na poslove je najmanje i iznosi 39.
30
4.1. Matematički model
Matematička formulacija problema asignacije [Barković, 2001, str. 149 i 150] glasi:
Zadana je kvadratna matrica tipa n
A0=(aij )0
s elementima a
ij( 0 )≥0
za i , j=1 ,. . ., n (n≥3 )
Treba odrediti kvadratnu matricu X=(x ij ) , x ij∈ {0,1 }
tipa n, koja se zove matrica permutacija,
tako da
x ij=x ij2
i , j=1,2 ,. . ., n (n≥3 ) (1.1)
∑i=1
n
x ij=∑j=1
n
x ij=1(1.2)
T=∑i=1
n
∑j=1
n
aij( 0 ) xij←min
(1.3)
Jednadžbe (1.1) i (1.2) utvrđuju:
x ij=¿ {1 , akojeposaododijeljenmjestuj ¿ ¿¿¿
U svakom redu i stupcu matrice X jedan je element jednak nula. Uvjet pod (1.3) zajedno s
jednadžbama (1.1) i (1.2) utvrđuju da treba izabrati iz matrice A0 n elemenata tako da ne
ostanu u istom retku ili stupcu dva elementa, a da suma svih elemenata bude minimalna.
Ako su istovremeno ispunjena ta tri uvjeta, onda je postignuto optimalno rješenje:
x ij≥0 (1.4)
31
4.2. Mađarska metoda
Mađarsku metodu je prvi razvio H. W. Kuhn i to na osnovi jednog stavka teorije grafova iz
1916. godine mađarskog matematičara Kӧniga i Egervaryja. Osnova Kuhnova algoritma
[Barković, 2001, str. 150 i 151] za rješenje problema asignacije:
Ako se iz zadane matrice A = (aij) izvede matrica B = (bij) prema
b ij=a ij−u i−v j (1.5)
pri čemu su ui i vj konstante odabrane po volji, onda je rješenje od A identično s rješenjem
od B. Mađarska metoda koristi njegov dualni problem koji glasi:
Neka se odrede konstante ui i vj tako da vrijede odnosi
aij
( 0 )≥ui+v j , za x ij=0
(1.6)
aij
( 0 )=ui+v j , za xij > 0 (1.7)
Ako se izraz (1.6) supstituira u jednadžbu (1.5) dobije se
T≥∑ij
(u i+v j ) x ij=∑ij
ui x ij+∑ij
v j x ij=∑i (ui∑
j
x ij)+∑j (v j∑i
x ij)Iz jednadžbe (1.2) slijedi:
∑i
x ij=∑j
x ij=1
Slijedi:
T≥∑i
ui+∑j
v j
Problem minimuma ∑
ij
aij( 0 ) xij
identičan je s dualnim problemom
max (∑i
ui+∑j
v j)uz uvjet
a ij≥ui+v j
„Dualni problem je naročito dobro iskoristio Flood u svojoj metodi pronalaženja
optimalne asignacije. Floodova metoda se sastoji u brzoj redukciji matrice individualne
efikasnosti A0, pri čemu se dobije n nezavisnih nula, svaka u jednom redu i jednom stupcu. To se
postiže primjenom Kӧnigova stava pa otuda i naziv mađarska metoda ili „reducirana metoda
matrica“. Taj skup nezavisnih nula2 daje optimalno rješenje problema asignacije.“ [Barković,
2001. str. 151 i 152]
32
Mađarsku metodu ćemo prikazati u 6 koraka na primjeru preuzetom iz knjige
„Operacijska istraživanja“ autora Dražena Barkovića, izdane 2001. godine sa stranice 152.
Primjer 2
Na pet radilišta stoji po jedna dizalica. Te dizalice nisu više potrebne i treba ih odvesti na
pet drugih radilišta. Pri tome treba minimizirati transportne kilometre. Udaljenosti od starih do
novih radilišta dane su sljedećom matricom:
Tablica 4.7. Početna matrica
N1 N2 N3 N4 N5
A1 23 32 29 17 28
A2 30 31 31 21 34
A3 36 27 22 32 26
A4 25 26 33 22 28
A5 31 34 33 40 32
1.korak reduciranje matrice
Minimalni element svakog stupca se odbije od elementa stupca, a u dobivenoj matrici se
na isti način odbije minimalni element svakog reda od elementa reda pa će to izgledati kao u
tablici 4.8 (gdje smo odbili najmanje elemente u stupcima) i tablici 4.9 (gdje smo još i odbili
najmanje elemente u recima).
Tablica 4.8. Matrica s odbijenim najmanjim elementom u stupcima
N1 N2 N3 N4 N5
A1 0 6 7 0 2
A2 7 5 9 4 8
A3 13 1 0 15 0
A4 2 0 11 5 2
A5 8 8 11 23 6
33
Tablica 4.9. Matrica s odbijenim najmanjim elementom u recima
N1 N2 N3 N4 N5
A1 0 6 7 0 2
A2 3 1 5 0 4
A3 13 1 0 15 0
A4 2 0 11 5 2
A5 2 2 5 17 0
Na kraju prvog koraka uvijek dobijemo matricu s najmanje jednom 0 u redu ili stupcu.
2.korak pronalaženje optimalnog rješenja
Iz tablice 4.9 ćemo sada potražiti rješenje koje daje izraz (1.3) vrijednost nula. Takvo
rješenje karakterizirano je samo jednom 0 (nju ćemo markirati) u svakom redu i u svakom
stupcu. Ako se to dogodi, pronađeno je optimalno rješenje. Ukoliko to nije slučaj, pronađemo
jedan red s po mogućnosti najmanje 0 i markiramo jednu 0 u tom redu, a sve ostale koje imaju
zajednički red i stupac s markiranom 0 prekrižimo.
Iza toga se uoči red sa sljedećim najmanjim brojem markiranih 0 i ponovi se postupak. Taj
postupak ćemo ponavljati toliko dugo dok se ne može više nijedna 0 markirati. Prikazat ćemo to
sada u tablici 4.10.
Tablica 4.10. Matrica s markiranim i prekriženim 0
N1 N2 N3 N4 N5
A1 0 6 7 0 2
A2 3 1 5 0 4
A3 13 1 0 15 0
A4 2 0 11 5 2
A5 2 2 5 17 0
Nula koju smo markirali označava da je na tom mjestu izvršena dodjela, a ona nula koja
je prekrižena znači da na tom mjestu asignacija ne dolazi u obzir. U ovom primjeru je ovo i
ujedno optimalno rješenje odnosno optimalna asignacija.
34
3.korak određivanje minimalnog broja redova i stupaca koji sadrže sve nule
Da bi ovaj korak izvršili morat ćemo izvršavati postupke sljedećim redom:
Osjenčaju se svi redovi koji nemaju markirane 0 Osjenčaju se svi stupci koji imaju najmanje jednu prekriženu 0 u markiranom redu Osjenčaju se svi redovi koji imaju markiranu 0 u prekriženom stupcu Ponavlja se 2. i 3. točka dok se više ne može markirati nijedan stupac i nijedan red Crvenom bojom se označe brojevi kod svakog neosjenčanog reda i svakog
osjenčanog stupcaNa ovaj se način dođe do minimalnog broja redova i stupaca koji sadrže sve 0.
4.korak novi, poboljšani izbor nula
Između elemenata koji nisu markirani linijama se izabere onaj najmanji. Taj element
ćemo nazvati a i njega ćemo odbiti od elemenata stupaca koji nisu markirani i dodati elementima
redova koji su markirani.
5.korak procjena dobivenog rješenja
Pomoću pravila koje smo definirali u drugom koraku istražujemo matricu koju smo dobili
u četvrtom koraku. Ako se pokaže da rješenje koje smo dobili u četvrtom koraku nije optimalno
morat ćemo ponoviti drugi korak.
35
Primjer 3
Riješimo sada još jedan primjer, ali bez detaljnog objašnjavanja svih koraka. Prikazat
ćemo samo matrice i naznačiti na kojem smo točno koraku radi lakšeg praćenja. Primjer smo
preuzeli od Dražena Barkovića iz knjige „Operacijska istraživanja“ sa stranice 155.
Tablica 4.11. Početna matrica
N1 N2 N3 N4 N5
A1 12 8 7 15 4
A2 7 9 17 14 10
A3 9 6 12 6 7
A4 7 6 14 6 10
A5 9 6 12 10 6
1.korak
Tablica 4.12. Matrica s odbijenim najmanjim elementom u stupcima
N1 N2 N3 N4 N5
A1 5 2 0 9 0
A2 0 3 10 8 6
A3 2 0 5 0 3
A4 0 0 7 0 6
A5 2 0 5 4 2
2.korak
Tablica 4.13. Matrica s markiranim i prekriženim 0
N1 N2 N3 N4 N5
A1 5 2 0 9 0
A2 0 3 10 8 6
A3 2 0 5 0 3
A4 0 0 7 0 6
A5 2 0 5 4 2
36
3.korak
Tablica 4.14. Matrica s minimalnim brojem redova i stupaca koji sadrže sve nule
N1 N2 N3 N4 N5
A1 5 2 0 9 0
A2 0 3 10 8 6
A3 2 0 5 0 3
A4 0 0 7 0 6
A5 2 0 5 4 2
4.korak
Tablica 4.15. Matrica s odbijenim/dodanim najmanjim elementom koji nije crvene boje i
ponovljenim drugim korakom
N1 N2 N3 N4 N5
A1 7 4 0 11 0
A2 0 3 8 8 4
A3 2 0 3 0 1
A4 0 0 5 0 4
A5 2 0 3 4 0
5.korak
Troškovi bi iznosili 7+7+6+6+6 = 32
Primjer 4
Riješit ćemo još jedan primjer koji smo izmislili tako da prikažemo da se problem
asignacije može riješiti u navedenih 5 koraka i s nekim izmišljenim brojevima. Početne brojeve
ćemo prikazati u tablici 4.16.
Tablica 4.16. Početna tablica
N1 N2 N3 N4
A1 10 9 5 5
A2 6 8 7 5
A3 7 1 12 7
A4 3 2 6 10
37
Tablica 4.17. Tablica s dobivenim nulama i osjenčanim i prekriženim (crvenom
bojom označeni brojevi) redovima i stupcima
N1 N2 N3 N4
A1 7 8 0 0
A2 3 7 2 0
A3 4 0 7 2
A4 0 1 1 5
Tablica 4.18. Tablica s dobivenim optimalnim rješenjem
N1 N2 N3 N4
A1 7 8 0 2
A2 1 5 0 0
A3 4 0 7 4
A4 0 1 1 7
Z = 5+5+1+3=14
4.3. Otvoreni model problema asignacije
Svi dosad riješeni primjeri su također bili i primjeri zatvorenog modela problema
asignacije. Zatvoreni model je model kod kojeg imamo n radnika i n poslova. Za svakog radnika
zadana je njegova efikasnost na svakom od pojedinih poslova. Cilj je rasporediti sve radnike na
poslove tako da svakom radniku pripadne točno jedan posao i tako da svaki posao obavlja točno
jedan radnik. Pri tom želimo da ukupna efikasnost bude maksimalna (problem maksimuma).
Ako imamo zadana vremena obavljanja posla za svakog radnika i svaki posao onda
minimiziramo ukupno vrijeme (problem minimuma).
Pored zatvorenog modela postoji i otvoreni model problema asignacije kod kojega je sve
isto kao i zatvorenom obliku, samo što se razlikuje broj radnika i broj poslova.
38
6. Zaključak
Na kraju bi valjalo istaknuti da je transportni problem vrlo važna komponenta u
poslovanju svakog poduzeća te stvara temelje za uspješno poslovanje. U svakoj organizaciji
težimo k tome da nam troškovi budu što manji kako bismo mogli maksimalizirati prihode, a to
možemo samo na način da maksimaliziramo iskorištenost resursa koje imamo na raspolaganju.
Pri tome će nam svakako koristiti transportni problem pomoću kojega ćemo smanjiti troškove na
njihov minimum i približiti iskorištenost prema maksimumu.
Obrađujući sam postupak rješavanja transportnog problema vidimo da postoji više
različitih načina rješavanja samog problema koje koristimo ovisno o tome u kakvoj situaciji se
nalazimo trenutno odnosno na kakav smo problem naišli. Dobar odabir postupka rješavanja
samog problema je ključan za postizanje samog rješenja problema. Dakle kao zaključak bismo
mogli reći da će nam transportni problem biti onoliko koristan koliko korisnim ga sami sebi
napravimo.
39
7. Literatura
1. Barković D. (2001). Operacijska istraživanja. Osijek: Ekonomski fakultet.
2. Dobrenić S. (1978). Operativno istraživanje. Varaždin: Fakultet organizacije i informatike.
3. Fakultet organizacije i informatike (2013). Materijali s predavanja na kolegiju Operacijska
istraživanja I Rješavanje transportnog problema, dostupno 10.5.2011. na
http://servisi.foi.hr/elf2009/mod/resource/view.php?id=4612, str.3.
4. Frančić, M. Transportni problem linearnog programiranja. Dostupno 10.5.2013. na
http://veleri.hr/~mfrancic/TRANSPORTNI%20PROBLEM%20SKRIPTA.pdf
5. Kalpić D., Mornar V. (1996). Operacijska istraživanja. Zagreb: ZEUS.
6. Marković M.: Metode rješavanja transportnog problema, dostupno 10.5.20123. na
http://sr.scribd.com/doc/113349219/METODE-RJE%C5%A0AVANJA-TRANSPORTNOG-
PROBLEMA
7. Perić T. (2012) Transportni problem dostupno 10.5.2013 na
http://web.efzg.hr/dok/MAT//jkraljevic/TRANSPORTNI%20PROBLEM_web.pdf
http://web.efzg.hr/dok//EPO/fgaletic//Transport%20i%20asignacija.pdf
8. Prezentacija 6. Problem asignacije preuzeta 10.5.2013. sa stranica Ekonomskog fakulteta u
Zagrebu
9. Zenzerović, Z., Transportni problem linearnog programiranja. Dostupno 10.5.2013. na
http://www.pfri.uniri.hr/~zenzerov/TP-TEORIJA.doc
40