Lavoslav Caklovic - Matematicko Modeliranje (Transportni Problem)

You might also like

You are on page 1of 15

Lavoslav Čaklović

Matematičko modeliranje

Poglavlje:
Transportni problem

http://www.math.hr/~caklovic/modeliranje/
Email:caklovic@math.hr

1Distribucija dopuštena isljkučivo u PDF-formatu


Transportni problem
1. Formulacija problema
Transportnu mrežu, jednako kao i sparivanje, možemo modelirati na bi-
partitnom grafu. Spojnice povezuju m proizvođača s n prodajnih mjesta
i cij su zadane cijene prijevoza jedinične robe od i-tog proizvođača do j-
tog trgovca. Maksimalne mogućnosti proizvođača, ponuda, su a1 , ...., am ,
a zahtjevi prodaje, potražnja b1 , ...., bn jedinice robe. Nepoznanice su veli-
čina pošiljke xij ≥ 0 na dionici transporta od proizvođača i do trgovca j.
Za razliku od problema maksimalnog toka ovdje su određene cijene umjesto
kapaciteta u transportnoj mreži. Cijena (trošak) ukupnog prijevoza
X
(5.1) z(X) = cij xij
i,j
je sume troškova na pojedinačnim dionicama transporta. Pretpostavlja se
da su nakon transporta ispražnjena sva skladišta kod proizvođača i da su svi
trgovci dobili traženu robu tj.
xi1 + xi2 + ..... + xin = ai , i = 1, ..., m
(5.2) x1j + x2j + ..... + xmj = bj , j = 1, ..., n
m
X n
X
ai = bj .
i=1 j=1

1.1. Primarni problem. U primarnom problemu minimiziramo cijenu


transporta z(X)
P
z(X) = i,j cij xij −→ min
(PP)
xij ≥ 0, uz uvjete (5.2).
Varijablu X nazivamo primarnom varijablom ili transportom. Transport
koji zadovoljava uvjete 5.2 nazivamo dopustivim transportom. Svako rje-
šenje primarnog problema nazvat ćemo optimalnim transportom.
Prve probleme tog tipa rješavao je francuski matematičar Monge u XVIII
stoljeću ali su njegovi rezultati zaboravljeni i kasnije ponovo otkriveni pa
opet zaboravljeni. Problem koji je on rješavao nije bio diskretan i stoga je
koristio metode analize. Diskretni modeli pojavili su se negdje oko 1941.
godine i slobodno se može reći da su do dana današnjeg centralni problemi
primjenjene optimizacije. Problem (PP) prvi je rješavao F. Hitchcook (1941)
u radu [3].
Transportni problem spada u jednu širu klasu problema koji se rje-
šavaju slavnom simpleks metodom. Također bi ga mogli rješavati Ford–
Fulkersonovom metodom ali je on sam dovoljno interesantan i specifičan te
sugerira i posebnu metodu rješavanja. Kao i dosadašnji problemi koje smo
47
48 5. TRANSPORTNI PROBLEM

promatrali, i transportni problem ima dualnu formulaciju. Od metode rješa-


vanja je stoga prirodno zahtijevati da istodobno rješava i primarnu i dualnu
zadaću kao što je to bilo kod sparivanja i mrežnih tokova.
1.2. Dualni problem. Dualni problem opisuje ponašanje drugih sudi-
onika na tržištu i posljedica je tržišne konkurencije. Konkurent nudi uslugu
prijevoza i za tu uslugu traži od proizvođača i novčani iznos ui po jedinici
preuzete robe, a od trgovca j traži novčani iznos vj po jedinici isporučene
robe. U slučaju da on preuzima cijelu distribuciju njegova zarada je
m
X n
X
(5.3) z 0 (u, v) = ui ai + vj bj .
i=1 j=1
Ako su ui i vj veliki, tj. ako konkurent želi ‘lako’ zaraditi onda se može desiti
da nije konkurentan i gubi posao. Nužni uvjet za konkurentnost je sljedeći
zahtjev:
(5.4) ui + vj ≤ cij za svaki i, j.
Dualni problem je sada maksimizirati:
z 0 (u, v) = i ui ai + j vj bj −→ max
P P
(DP)
uz uvjete (5.4).
Varijable u, v nazivamo dualnim varijablama ili taksama. Takse koje zado-
voljavaju uvjete 5.4 nazivamo dopustivim taksama. Svako rješenje dualnog
problema zvat ćemo optimalnom taksom.
Iznose ui i vj možemo shvaćati i kao interventne državne takse za spre-
čavanje monopola u slučaju smanjene konkurencije. Država intervenira na
tržištu s niskim cijenama ui i vj i tako sprječava ‘umjetno’ podizanje cijena.
Danas je to česta situacija u sferi prijenosa informacija putem raznih mreža
(mobilna telefonija, intenet,. . . ).
Zadatak 28. Uvjeti (5.2) nisu nezavisni. Nađite matricu sistema i do-
kažite da je njen rang m + n − 1.
Zadatak 29. Zapišite matricu sistema nejednakosti (5.4) i uočite da je
to transponirana matrica od matrice iz sistema (5.2) .

2. Dualnost
2.1. Slaba dualnost. S pozicije konkurencije prirodno je uvjet (5.4)
forsirati do jednakosti ui + vj = cij gdje god je to moguće, zasigurno tamo
gdje je xij > 0. Svih mn prethodnih jednakosti ne može biti zadovoljeno jer
imamo samo m + n nepoznanica. Prema tome, vrijedi nejednakost z 0 ≤ z
jer je primarni transport skuplji na svakoj dionici zasebno. Preciznije:
z 0 (u, v) = i ui ai + j vj bj
P P
P P P P
= i ui ( j xij ) + j vj ( i xij )
(5.5) P
= i,j (ui + vj )xij
P
≤ i,j cij xij = z(X)
Slaba dualnost izražava činjenicu da je zarada konkurencije manja ili jednaka
od cijene primarnog transporta i to je bila posljedica nejednakosti (5.4).
2. DUALNOST 49

2.2. Jaka dualnost. Da li je moguće postići jednakost u (5.5) i koja bi


bila ekonomska interpretacija? Očito je da jednakost vrijedi ako i samo ako
je
(ui + vj )xij = cij xij , ∀i, ∀j,
odnosno ako i samo ako vrijedi implikacija
(5.6) xij > 0 ⇒ ui + vj = cij
Za konkurenciju to znači da nije u mogućnosti više zaraditi jer je postigla
maksimalnu moguću zaradu. S pozicije prijevoznika iz primarnog problema
to znači da je konkurent iscrpio sve mogućnosti za organizaciju jeftinijeg
prijevoza. Ova druga konstatacija nije sasvim evidentna i predmet je interesa
sljedećeg teorema. Uvjet (5.6) nazivamo uvjetom optimalnosti.
Teorem 5.1 (Teorem dualnosti). Neka je X dopustivi transport i u, v
dopustive takse. Tada je ekvivalentno:
i) X je optimalni transport primarnog problema (PP) i u, v su opti-
malne takse dualnog problema (DP).
ii) Cijena transporta jednaka je zaradi konkurencije tj. z(X) = z 0 (u, v).
iii) Vrijedi uvjet optimalnosti (5.6)
Dokaz. Dokazati ćemo ekvivalenciju i) ⇔ ii) i ekvivalenciju ii) ⇔ iii).

ii) =⇒ i) Pretpostavimo da je z(X) = z 0 (u, v). Zbog slabe dualnosti je


z 0 (u0 , v 0 ) ≤ z(X) = z 0 (u, v) ≤ z(X 0 )
za svaki dopustivi transport X 0 i svake dopustive takse u0 , v 0 . Iz prethodne
nejednakost slijedi da je z(X) ≤ z(X 0 ) za svaki dopustivi transport X 0 ,
odnosno da je X optimalni transport. Na isti način su i u, v optimalne
takse.

i) =⇒ ii) Zbog slabe dualnosti je z 0 (u, v) ≤ z(X 0 ) za svaki dopustivi


transport X 0 pa je evidentno z(X) ≤ z(X 0 ). Na isti način se dokaže i da su
u, v dopustive takse.

ii) =⇒ iii) U formuli (5.5) dakle pretpostavljamo da stoji jednakost. To


znači je
X X
(ui + vj )xij = cij xij
i,j i,j

odnosno
X
(cij − ui − vj )xij = 0.
i,j

Kako je svaki sumand nenegativan (dopustivost dualnih varijabli) i njihova


suma je jednaka nuli to može biti ispunjeno samo ako je svaki sumand jednak
nuli odnosno ako vrijedi (5.6).

iii) =⇒ ii) slijedi direktno iz formule (5.5). 


50 5. TRANSPORTNI PROBLEM

 
x x
 x x 
 

 x x 


 x .


 x 

 x x x x 
x x x
Tablica 3.1. Forma nedegeneriranog baznog transporta.

3. Algoritam za rješavanje transportnog problema


Od algoritma za optimizaciju očekujemo da:
- polazi od nekog transporta;
- testira transport na optimalnost i pronalazi bolji ako ovaj nije op-
timalan.
Teorem dualnosti daje odgovor na pitanje optimalnosti i poslužiti će kao
test za zaustavljanje.

3.1. Računanje početnog transporta. Opisat ćemo algoritam poz-


nat pod nazivom ’metoda sjevero-zapadnog ugla’. Osnovna ideja metode je
da se matrica transporta popunjava počevši od gornjeg lijevog (sjeveroza-
padnog) ugla i to na taj način da se ispazni prvo skladište ili zadovolji prvi
naručilac; ovisno o tome koji je broj veći a1 ili b1 . Ako je a1 > b1 zadovoljit
ćemo zahtjev prvog kupca iz prvog skladišta. To znači da prvi stupac izgleda
 
b1 x12 · ·
0
 · · ·  
· · · · 
0 · · ·
Sada određujemo x12 (opet od sjeverozapadnog ugla) na isti način. Ako je
a1 < b1 onda ćemo prvo isprazniti skladište 1 pa prvi redak izgleda
 
a1 0 0 0 0
x21 · · · · 
· · · · ·
nakon čega se određuje x21 (opet od sjeverozapadnog ugla) na isti način.
U slučaju da je a1 = b1 ostatak prvog retka i ostatak prvog stupca is-
punjeni su nulama i matrica transporta će biti blok dijagonalna matrica.
Takav je transport degeneriran i stvara poteškoće u računu koje ćemo nak-
nadno raspraviti. Za sada pretpostavljamo da niti u jednom trenutku ne
ispraznimo istodobno skladište i zadovoljimo naručioca osim na kraju, tj. na
mjestu (m, n). Dobivena matrica transporta ima točno m + n − 1 element
različit od nule i ima formu kao u tabeli 3.1.

3.2. Korak optimizacije. U koraku optimizacije imamo tri zadatka:


Određivanje dualnih varijabli: Za zadani transport X odrediti
dualne varijable u, v;
3. ALGORITAM ZA RJEŠAVANJE TRANSPORTNOG PROBLEMA 51

Test optimalnosti: Testirati primarne i dualne varijable na opti-


malnost;
Optimizacija: Ako transport nije optimalan naći novi transport s
manjom cijenom.
3.2.1. Test optimalnosti. Za test optimalnosti potrebno je provjeriti
uvjete
(Slaba Dualnost) ui + vj ≤ cij za svaki i = 1, . . . , m; j = 1, . . . , m,
(Jaka Dualnost) xij > 0 ⇒ ui + vj = cij .
Uvjet jake dualnosti, zbog svog oblika (jednadžba) moguće je ugraditi u
algoritam, tako da za test optimalnosti ostaje samo provjeriti slabu dualnost.
3.2.2. Određivanje dualnih varijabli. Broj jednadžbi u implikaciji Jaka
Dualnost ovisi o broju netrivijalnih dionica u transportu X. Broj nepozna-
nica je uvijek isti i iznosi m + n, što vodi na zaključak da broj netrivijalnih
dionica ne bi smio biti veći on m + n. U slučaju da je taj broj veći od m + n
moglo bi se desiti da sistem jednadžbi nema rješenja zbog preodređenosti.
Finija analiza (v. zadatak 38 na stranici 58.) pokazuje da sistem
ui + vj ≤ cij za i = 1, . . ., m; j = 1, . . ., n
ima rang m + n − 1, što znači da dualne varijable nisu jednoznačno određene
tim sistemom. To nas međutim ne treba zabrinjavati jer se dualne varijable
uvijek javljaju unutar sume ui + vj . Jedinstvenost ćemo osigurati uvjetom
u1 = 0.
Dopustivi transport X nazivamo baznim transportom ako ima najviše
m + n − 1 netrivijalnih komponenata. Bazni transport je nedegeniran ako
je sistem jednadžbi
(∗) ui + vj = cij , xij 6= 0
u uvjetu jake dualnosti maksimalnog ranga tj. ranga m+n−1. Ako se dogodi
da sistem jednadžbi (∗) ima rang manji od m + n − 1 takav transport zvati
ćemo degeneriranim transportom. Primijetimo da u sistemu jednadžbi (∗)
ima toliko jednadžbi koliko X ima netrivijalnih komponenata.
Lema 5.2. Ako je X nedegenerirani bazni transport onda su inducirane
dualne varijable u, v jednoznačno određene uz uvjet u1 = 0. Tada je zadovo-
ljen i uvjet optimalnosti i vrijedi
z 0 (u, v) = z(X)
Dokaz. Znog nedegeneriranosti X sistem jednadžbi (∗) ima jedinstveno
rješenje, a zbog njegove bazičnosti u (5.5) imamo jednakost lijeve i desne
strane, tj. z 0 (u, v) = z(X). 
Pitanjem egzistencije baznog transporta bavit ćemo se kasnije. Za sada
pretpostavljamo da je polazni transport nedegenerirani bazni transport. Rje-
šavanjem sistema jednadžbi (∗) s dodatnim uvjetom u1 = 0 jednoznačno su
određene dualne varijable koje ćemo zvati dualnim varijablama induciranim
transportom X. Ako transportni problem ima bar jedan degenerirani tran-
sport takav ćemo problem zvati degeneriranim. Degeneracija problema
stvara poteškoću u određivanju induciranih dualnih varijabli ako naiđemo
52 5. TRANSPORTNI PROBLEM

na degenerirani transport. Stoga je opravdano pitanje da li je moguće a pri-


ori ustanoviti degeneriranost problema. O tome govori sljedeća propozicija.
Propozicija 5.3. Transportni problem je degeneriran ako i samo ako
postoje (strogi) podskupovi I ⊂ {1, . . ., m}, J ⊂ {1, . . ., n} tako da je
X X
ai = bj .
i∈I j∈J

Dokaz. Nužnost. Pretpostavimo da postoje I i J s navedenim svoj-


stvom. Renumeracijom možemo postići da su to početni indeksi tj. da
i0 ∈
/ I ⇒ i0 > i, ∀i ∈ I i j 0 ∈
/ J ⇒ j 0 > j, ∀j ∈ J. Tada metoda sjeverozapad-
nog ugla daje transport čija je matrica, gledana kao blok matrica,
 
A 0
X= ,
0 B
gdje je A tipa card(I) × card(J). U obje matrice ima najviše m + n − 2
netrivijalnih matričnih elemenata pa je transport degeneriran.
Dovoljnost. Neka je X degenerirani bazni transport. U terminima grafa
tog transporta postoji najviše m + n − 2 bridova u grafu s m + n vrhova. To
znači da je graf nepovezan. Uočimo jednu komponentu povezanosti i indekse
polazišta lukova u toj komponenti skupimo
P P I, a indekse dolazišta u
u skup
skup J. Tada I i J zadovoljavaju i∈I ai = j∈J bj jer se permutacijom
redaka i stupaca matrica X može svesti na blok matricu. 
Teorem 5.4. Neka je X bazni transport. Tada je ekvivalentno:
i) X je nedegeneriran.
ii) X ima točno m + n − 1 netrivijalnih komponenti.
iii) Pripadni graf od X je stablo.
Dokaz. i) ⇒ ii) Neka je X nedegenirani transport. Ako X ima manje
od m+n−1 netrivijalnih komponenata onda sistem (∗) nužno ima rang manji
od m + n − 1 jer ima manje od m + n − 1 jednadžbi pa je X degeneriran što
je u kontradikciji s pretpostavkom.
iii) ⇒ ii) Ako je pripadni graf stablo onda u tom grafu ima točno m +
n − 1 spojnica koje korespondiraju netrivijalnim komponentama transporta.
iii) ⇔ i) Sistem jednadžbi (∗) uz zamjenu ui → −ui možemo pisati kao
−ui + vj = cij
za svaki luk (i, j) grafa. Drugim riječima, ako s A označimo matricu inci-
dencije grafa, onda je sistem jednadžbi (∗) ekvivalentan s
 
u
A =c
v
gdje je c stupac cijena koje odgovaraju lukovima grafa a čvorove smo nume-
rirani tako da prvo dolaze skladišta, a zatim trgovci.
Ako je graf stablo onda je r(A) = m + n − 1 što znači da sistem (∗) ima
rang m + n − 1 pa je X nedegeneriran.
Ako je X nedegenerirani transport tada je r(A) = m + n − 1 što povlači
da je graf povezan i u njemu ima bar m + n − 1 lukova. Međutim, X je bazni
transport pa zaključujemo da ima točno m+n−1 netrivijalnih komponenata.
Dakle, graf je stablo.
3. ALGORITAM ZA RJEŠAVANJE TRANSPORTNOG PROBLEMA 53

ii) ⇒ iii) Dovoljno je dokazati da je graf povezan. U suprotnom, postoji


K ≥ 2 komponenti povezanosti grafa s vrhovimaP Ik ⊂ P{1, . . ., m}, Jk ⊂
{1, . . ., n},P
k = 1, . . . ,P
K tako da vrijedi k #Ik = m, k #Jk = n i za
svaki k je i∈Ik ai = j∈Jk bj i restrikcija transporta na k-tu komponentu
je nedegenerirani transport.
Zbog i) ⇒ ii) u svakoj komponenti ima #Ik + #Jk − 1 lukova i ukupan
broj lukova u grafu transporta iznosi
K
X
(#Ik + #Jk − 1) = m + n − K,
k=1
što je u suprotnosti s pretpostavkom s ii). 
3.2.3. Optimizacija. Neka je X nedegenerirani bazni transport i u, v vari-
jable inducirane tim transportom. Prema teoremu dualnosti je X optimalan
ako je zadovoljena slaba dualnost jer je jaka dualnost zadovoljena po kons-
trukciji. U suprotnom, X nije optimalan i želimo konstruirati novi transport
s manjom cijenom. U tu svrhu uočimo dionicu (i, j) na kojoj je narušena
slaba dualnost, tj.
ui + vj − cij > 0.
Trenutačni transport ima trivijalnu komponentu na toj dionici. Narušena
slaba dualnost, ekonomski gledano, kaže da je konkurencija skuplja na toj
dionici i otvaranjem transpota na njoj dovelo bi ’primarnog transportera’
u prednost. Hoće li ukupna cijena transporta pasti ovisi i o organizaciji
prijevoza na preostalim dionicama. Cijena z(X) novog transporta će pasti u
odnosu na staru cijenu ako se smanji razlika
X
(5.7) z(X) − z 0 (u, v) = (cij − ui − vj )xij
i,j

uz nepromijenjene dopustive takse. Tehnički gledano, reorganizacija tran-


sporta je sljedeća. Cilj nam je otvoriti novu dionicu od i-tog skladišta
do j-tog trgovca s količinom robe s. Trenutačno je skladište prazno jer je
transport X ispraznio sva skladišta, pa je potrebno s jedinica robe vratiti od
j-tog trgovca natrag u neko skladište, recimo k-to, koje mu je robu isporučilo.
Sada k-to skladište treba isprazniti povećanjem transporta na dosadašnjoj
dionici (k, l), l 6= j. Ističemo zahtjev na dosadašnjoj dionici jer su sve
takve saturirane i njihov doprinos (cij − ui − vj )xij u razlici 5.7 ne ovisi o
xij i jednak je nuli. Trgovac l ima sada viška robe koju treba vratiti u neko
skladište, itd.. . . Pitanje je sljedeće: Da li je moguće zatvoriti put i vratiti
se natrag u skladište i koristeći samo saturirane dionice starog transporta.
Odgovor je povrdan i posljedica je leme ?? jer je graf pridružen transportu
X stablo. Dodavanje novog luka (i, j) tom stablu generira ciklus u kojem su
svi lukovi osim (i, j) iz stabla, to jest saturirani. S ciljem ubrzanja algoritma
dionicu (i, j) ćemo birati tako da je
ui + vj − cij = max(uk + vl − ckl ).
k,l

Algoritam:
Prvi korak: Zadovoljiti zahtjeve bj od proizvođača ai s najviše m +
n − 1 netrivijalnih dionica xij > 0.
54 5. TRANSPORTNI PROBLEM

Drugi korak: Izaberi takse ui i vj , s u1 = 0, tako da je ui + vj = cij


na rutama koje koristi transport iz prvog koraka.
Treći korak: Testiraj da li je ui + vj ≤ cij i na prostalim rutama.
Ako da Stop . Inače, nađi dionicu i, j s najvećom razlikom ui +
vj − cij .
Četvrti korak: Pronađenom dionicom poslati količinu robe s i pri-
lagoditi transporte na prijašnjim dionicama na xij ± s tako da budu
zadovoljene sve narudžbe bj s isporukama ai .
Peti korak: Odaberi s tako da je pošiljka xij − s = 0 na jednoj od
starih dionica, s tim da ne postane negativna na preostalim. Ponovi
Drugi korak.
Ilustrirajmo algoritam na sljedećem primjeru. Podaci su:
Primjer 5.5.
Proizvodnja: Potražnja: Cijene:

a1 = 4 b1 = 2 5 3 1
a2 = 7 b2 = 3
b3 = 6 8 4 3
U primjeru je m + n − 1 = 4. Pogledajmo prvo kako radi algoritam sjeve-
rozapadnog ugla za određivanje polaznog transporta. Podatke upisujemo u
matricu transporta
X 2 3 6
4 x11 x12 x13
7 x21 x22 x23
u kojoj je suma elemenata po retcima jednaka ai , a suma po stupcima je jed-
naka bj . Za početak promatrajmo bilo koje četiri pošiljke koje zadovoljavaju
taj uvjet. Sada odredimo x11 = 2 u sjeverozapadnom uglu:

X 2 3 6
4 2 x12 x13
7 0 x22 x23 ,
a zatim
X 2 3 6
4 2 2 0
7 0 x22 x23 ,
i napokon
X 2 3 6
4 2 2 0
7 0 1 6 .
Cijena polaznog transporta je z(X) = 5 · 2 + 3 · 2 + 4 · 1 + 3 · 6 = 38.
Dualne takse odredit ćemo iz sistema jednadžbi ∗. Zaokružene cijene u
matrici cijena odgovaraju netrivijalnim komponentama transporta xij > 0:
3. ALGORITAM ZA RJEŠAVANJE TRANSPORTNOG PROBLEMA 55

v1 = 5 v2 = 3 v3 = 2


5
3 1 u1 = 0 5 3 ·
C=
8
4
3 u2 = 1 · 4 3
Ako odaberemo u1 = 0 preostale četiri takse je jednostavno odrediti. Na-
pomenimo da je uvjet optimalnosti zadovoljen zbog leme 5.2 pa ostaje još
samo provjeriti da li je ui + vj ≤ cij na svim dionicama. U ovom slučaju to
nije:


5
3 1
5
3 2
(cij ) = usporedimo s (ui + vj ) = .
8
4
3 6
4
3
U prvom retku desno u1 + v3 = 2 je veće od c13 = 1. To samo znači da
naš prvi izbor transporta nije optimalan. Da bi pronašli jeftiniji transport
otvaramo novu dionicu x13 i šaljemo s jedinica robe tom jedinicom. Podatak
x13 je sada jednak s. Treba korigirati dobavu od ostalih proizvođača; u ovom
slučaju x23 postaje 6 − s. To povećava x22 za s i smanjuje x12 za s i time su
promjene završene:
X 2 3 6
4 2 2−s s
7 0 1+s 6−s
Trenutačno je otvoreno pet dionica, ali izborom s = 2 opet će biti korištene
samo četiri,
X 2 3 6
4 2 0 2
7
0 3 4 .
Konkurencija preispituje svoje takse i traži mogućnost da ih smanji kako bi
bila konkurentna. Na novim dionicama opet se rješava sistem (∗):
v1 = 5 v2 = 2 v3 = 1


5
3
1 u1 = 0
5 2
1
C=
8
4
3 u2 = 2 7
4
3 .
Slaba dualnost je zadovoljena jer je ui + vj ≤ cij za svaki i, j pa teorem
dualnosti garantira optimalnost novog transporta X i dualnih taksi u, v.
Cijena novog transporta je z(X) = 5 · 2 + 1 · 2 + 4 · 3 + 3 · 4 = 36, a zarada
konkurenta je z 0 (u, v) = 4 · 0 + 7 · 2 + 5 · 2 + 3 · 2 + 6 · 1 = 36. Dakle, dualnost
je postignuta.
Teorem 5.6. Ako je transport u svakom koraku algoritma nedegeneriran
onda algoritam zavšava u konačno mnogo koraka.
Dokaz. Dovoljno je vidjeti da je pad cijene transporta u koraku optimi-
zacije strogo veći od nule. Kako se radi o diskretnim vrijednostima, a cijena
transporta je omeđena odozdo to dokazuje tvrdnju.
56 5. TRANSPORTNI PROBLEM

Ako s X i X 0 označimo stari i novi transport tada je, prema koraku četiri
i pet algoritma, novi transport nastao is starog dodavanjem ciklusa stablu
transporta X u kojem su sve dionice (ciklusa) saturirane, osim novo otvorene
dionice (i, j). Pad cijene transporta je
z(X) − z(X 0 ) = s cij − cjk + ckl − · · · + crs − csi


= s cij − vj − uk + uk + vl − · · · + ur + vs − vs − ui

= s cij − vj − ui ,
što je strogo negativno prema koraku tri algoritma.


4. Degeneracija.
Opisani algoritam za rješavanje transportne zadaće polazi od nedege-
neriranog baznog transporta koji jednoznačno određuje inducirane dualne
varijable. Ako to nije slučaj, znači da je polazni transport degeneriran. Evo
primjera takvog transporta i poteškoća koje on uzrokuje.
Primjer 5.7. Nađi optimalni transport ako je zadana matrica cijene
 
0 2 2
C= 5 0 5 
5 0 3
Zalihe su a1 = 1, a2 = 3, a3 = 2 i potražnja b1 = 1, b2 = 4, b3 = 1. Metoda
sjeverozapadnog ugla daje polazni transport:
X0 1 4 1
1 1 0 0
3 0 3 0
2 0 1 1
Taj je transport degeneriran i nije teško vidjeti da je cijena tog transporta
minimalna i iznosi z(X) = 3. Dakle, taj je transport optimalan.
Naš algoritam ga medjutim ne može prepoznati kao takvog jer nije u
stanju izračunati dualne varijable koje su nužne za testiranje optimalnosti.
Zbog degeneriranosti imamo m + n − 2 = 4 jednadžbe za odrediti m + n = 6
dualnih varijabli. Upravo ta neodređenost ’zbunjuje’ algoritam. Pogledajmo
detaljnije račun u ovom slučaju. Sistem jednadžbi (∗) određen je tabelom
ui + vj v1 v2 v3
u1 0 · ·
u2 · 0 ·
u3 · 0 3
Nula u gornjem lijevom kutu daje u1 = v1 = 0. Donji desni blok u matrici
jednoznačno odredjuje dualne varijable v2 i v3 ako specificiramo vrijednost
za u2 . Ovisno o toj vrijednosti algoritam može i ne mora prepoznati taj
transport kao optimalan.
Za vrijednost u2 = 0 dobivamo v2 = 0, u3 = 0, v3 = 3 te (0, 0, 3) za prvi
redak matrice (ui + vj ) i (0, 0, 0)τ za prvi stupac. Algoritam bi ustanovio
4. DEGENERACIJA. 57

da je 3 = u1 + v3 > c13 = 2 i tražio novi transport s netrivijalnom dionicom


x13 = 1 =: s. Novi transport je
X 1 4 1
1 0 0 1
3 0 3 0
2 1 1 0
i cijena transporta je porasla na z(X) = 7.
Za vrijednost u2 = 1 dobije se v2 = −1, u3 = 1, v3 = 2 te (0, −1, 2) za
prvi redak matrice (ui + vj ) i (0, 1, 1)τ za prvi stupac. Slaba dualnost je sada
zadovoljena jer je ui + vj ≤ cij ∀i, j što pokazuje da je polazni transport
optimalan.
Iz primjera se vidi da u slučaju degeneracije transporta nije à priori jasno
što činiti. U praktičnim situacijama može se desiti da je transportni problem
degeneriran ali algoritam do rješenja dođe preko nedegeneriranih transporta
i spomenuta poteškoća ne dođe do izražaja.

4.1. Razrješenje degeneracije. U principu postoje dva moguća izla-


ska iz spomenutih poteškoća u primjeni algoritma.
Jedan je lokalnog karaktera, što znači da kod nailaska na degenerirani
transport pametnim izborom novih dionica tražimo transport s nižom (ili
istom) cijenom koji vodi k rješenju. Takav pristup razrješenju degeneracije
zahtijeva dodatno obogaćivanje koraka optimizacije algoritma.
Drugi mogući izlaz je zadanom problemu pridružiti novi transportni pro-
blem koji nije degeneriran tj. nema degeneriranih transporta i ima isto rje-
šenje kao polazni problem. Na prvi pogled taj je pristup kompleksan jer
zahtjeva provjeravanje degeneriranosti problema tj. provjeravanje svakog do-
pustivog transporta, što je absurdno u svakom pogledu.
Srednji put izgleda najrazumniji. On kombinira oba pristupa i tek kod
nailaska na degenerirani transport definira novi transportni problem koji pro-
širuje stari i novi transport, s istom cijenom, koji je nedegeneriran i ’uklju-
čuje’ u sebi stari transport. Ilustrirajmo to na primjeru.
Primjer 5.8. Pretpostavimo da smo tokom rješavanja transportnog pro-
blema naišli na transport čiji je graf sastavljen od dvije (ili više) komponente
povezanosti tj. ima m + n − 2 (ili manje) netrivijalne dionice kao na skici.
... SKICA ...
Sada kreiramo novi problem na taj način da izmislimo novog trgovca s po-
tražnjom od toliko jedinica robe koliko ukupno ima skladišta i kapacitet
svakog skladišta povećamo za jedan. Cijena dostave do novog trgovca neka
je jednaka nuli. Time smo kreirali novi problem i novi transport koji je nede-
generiran jer je graf novog transporta stablo. Sada možemo primijeniti naš
algoritam.
Sada možemo formulirati poopćenje teorema 5.6. Dokaz ostavljamo či-
taocu.
Teorem 5.9. Uz nadopunu algoritma kao u gornjem primjeru postupak
završava u konačno koraka.
58 5. TRANSPORTNI PROBLEM

5. Zadaci i nadopune
Zadatak 30. Pitanje se odnosi na primjer 5.5 iz teksta. Za koju cijenu
c13 bi transport dobiven pomoću metode sjeverozapadnog ugla bio optima-
lan?

Zadatak 31. Ako bi cijena c21 bila 4 umjesto 8, zbog kojeg razloga bi
algoritam izabrao dionicu x12 kao novu? Odredite vrijednost od s u tom
koraku? Da li je novi transport optimalan?

Zadatak 32. Pretpostavimo da su zaliha i narudžba a1 = 8, a2 = 5, b1 =


1, b2 = 6, b3 = 6. Nađite (na sjeverozapadu) četiri dionice koje zadovoljavaju
uvjete transporta.

 
9 3 6
Zadatak 33. Neka je matrica cijene C = .
3 1 2
Nađite one cijene za koje je ui +vj = cij na dionicama iz prethodnog zadatka.
Da li je ui + vj ≤ cij na svim dionicama? Ako nije, koju novu dionicu treba
otvoriti? Dovršite problem!

Zadatak 34. Riješite 3 × 3 transportni problem za

     
1 3 4 5 1
a =  5  , b =  4  , cij =  4 4 6  .
7 5 6 4 5

Zadatak 35. Pretpostavimo da su ukupne zalihe a1 = 4, a2 = 8 takve


da prelaze zahtjeve b1 = 2, b2 = 3, b3 = 6. Uvedite fiktivni zahtjev b4 = 1
s cijenama transporta c14 = c24 = 0. Koje je optimalno rješenje s cijenama
kao u tekstu.

Zadatak 36. Ako je matrica cijena 4×4 jedinična matrica, i ai = bj = 1


za sve i i j, kolika je minimalna cijena transporta?

Zadatak 37. Neka su sve zalihe i narudžbe ai = bi = 1, i sve cijene cij


imaju vrijednost 0 ili 1. Objasnite zašto transportni problem tada postaje
problem sparivanja. Da li sparujemo jedinice u C ili nešto drugo?

Zadatak 38. Dokažite da su matrica sistema (5.2) i matrica sistema


ui + vj = cij medjusobno transponirane. Njihov je rang m + n − 1.

Uputa. Nepoznanice xij svrstajmo u niz x11 , x12 , . . . , x1n , x21 , . . . , xm1 ,
. . . , xmn . Matrica sistema je sada
5. ZADACI I NADOPUNE 59

 
1 1 ··· 1 0 0 ··· 0 ··· 0 0 ··· 0
 0 0 ··· 0 1 1 ··· 1 ··· 0 0 ··· 0 
 
 
 . . . 
. . .
 

 . . ··· .


 
 0 0 ··· 0 0 0 ··· 0 ··· 1 1 ··· 1 
A=
 

 1
 1 ··· 1 

1 1 ··· 1
 
 
 
 . . . 
 . . ··· . 
. . .
 
 
1 1 ··· 1

s m blok-stupaca. U prvom blok-retku sve su matrice tipa m×n, a u drugom


blok-retku se ponavlja jedinična matrica reda n.
Gaussovom metodom eliminacije lako se sada izračuna rang matrice.
Prvo poništimo sve jedinične matrice u drugom blok–retku (osim na mjestu
2, 1) dodavanjem prvog blok-stupca preostalim blok-stupcima množeći ga
prije toga s brojem −1. Sada je lako uočiti da je prvi redak zavisan od
posljednjih n dok su ostali retci linearno nezavisni.
Zadatak 39. Za račun ranga matrice A iz prethodnog zadatka iskoristite
tvrdnju da je rang matrice incidencije usmjerenog grafa jednak broju vrhova
umanjenom za 1.
Uputa. Iskoristite trik iz dokaza teorema 5.4.
Zadatak 40. Dokažite da je svaki transport transportnog problema s
podacima a1 = 2, a2 = 4, b1 = b2 = b3 = 2 degeneriran.
Uputa. Zbog propozicije 5.3 je transportni problem degeneriran. Treba
pokazati da ne postoji transport s četiri netrivijalne dionice.
Zadatak 41. Nađite sve bazne transporte u prethodnom zadatku i do-
kažite da ih ima točno tri. Koji su to?
Zadatak 42. Dokažite da je skup svih transporta konveksan skup.
Uputa. Skup svih transporta je skup rješenja sistema linearnih nejed-
nadžbi xij ≥ 0 i sistema jednadžbi 5.2 koji je konveksan kao presjek konvek-
snih skupova.
Zadatak 43. Dokažite da se svaki transport može zapisati kao konveksna
kombinacija baznih transporta.
P P
Zadatak 44. Riješite transportni problem ako je i ai > j bj , tj. ako
na skladištima ima više robe nego se potražuje.
Uputa. Izmislite fiktivnog trgovca koji će preuzeti sav višak robe i proširite
matricu cijena tako da dostava tom trgovcu bude besplatna.
Bibliografija

[1] N. Antonić and M. Vrdoljak. Mjera i intregral. PMF–Matematički odjel, Zagreb, 2001.
[2] H. Brezis. Analyse fonctionnelle, Théorie et application. Collection Mathématiques
appliquées pur la maîtrise (Sous la direction de P. G. Ciarlet et J. L. Lions). Masson,
Paris, 1983.
[3] F. Hitchcook. The distribution of a produce from several sources to numerous localities.
Journal of Mathematical Physics, 20:224–230, 1941.
[4] S. Kurepa. Konačno dimenzionalni vektorski prostori i primjene. Tehnička knjiga, Za-
greb, 1967.
[5] S. Kurepa. Matematička analiza. Drugi dio. Funkcije jedne varijable. Tehnička knjiga,
Zagreb, 1971.
[6] L. Lovász and M. D. Plummer. Matching Theory, volume 29 of Annals of Discrete
Mathematics. North–Holland, 1986.
[7] A. Rapoport. Decision Theory and Decision Behaviour, Normative and Descriptive
Approaches, volume 15 of Series B: Mathematical and Statistical Methods. Kluwer,
Dordrecht, The Netherlands, 1989.
[8] L. Čaklović. Zbirka zadataka iz linearne algebre. Školska knjiga, Zagreb, 1989.

115

You might also like