Professional Documents
Culture Documents
OPTIMIRANJE - Skripta 2. Kolokvij
OPTIMIRANJE - Skripta 2. Kolokvij
, Levanić)
općenito:
- sve var. su >=0 (kod graf. metoda se gleda samo I. kv.), osim ako nije rečeno drugačije; to se ne gleda kao ogr.
- množenjem nejednadžbe s -1 okreće se znak nejednakosti
VOGELOVA METODA
- potrebno je imati zatvoreni model transporta
za svako ishodište i odredište se odredi kazna (u smislu cijene) za nekorištenje najjeftinijeg puta
- kazna se za redak/stupac računa kao razlika 2. i 1. najmanje cijene u tom retku/stupcu
- kazna za prvi korak se u stupac ci0', odn. redak c0j', kazna da drugi korak u stupac ci0'', odn. redak c0j'' itd.
- ako u retku/stupcu postoji više istih najmanjih cijena, onda je kazna za taj redak/stupac jednaka nuli
- u retku ili stupcu (gleda se oboje) s maksimalnom kaznom se pronađe polje s minimalnom cijenom, u
koje se unosi manja vrijednost od ponude i potražnje za to njega (manji kapacitet); sva ostala polja u
retku ili stupcu gdje je iskorišten kapacitet imaju vrijednost varijable jednaku nuli
- kada se riješi redak/stupac, onda se on više ne gleda, a nove kazne za preostale retke/stupce (za retke/
stupce bez tog riješenog) jednake kao i one iz prošlog koraka (jer se u retcima/stupcima nije ništa
promijenilo)
- ako postoji više istih maksimalnih kazni, onda se za te kazne (samo za njih jer jedino između njih treba
dalje birati) određuju sekundarne kazne, koje se upisuju u gornji desni dio polja kazni na koju se odnose
- sekundarna kazna se za redak/stupac računa kao razlika 2. najmanje cijene u tom retku/stupcu i 1.
najmanje cijene u stupcu/retku kojem to polje pripada (2. najmanja cijena u retku/stupcu ne mora biti i 2.
najmanja cijena u pripadnom stupcu/retku jer se tamo cijene gledaju zasebno)
- maksimalna sekundarna kazna određuje samo koja je kazna maksimalna te se s tom informacijom
nastavlja gdje se stalo
- ako je negdje više drugih najmanjih cijena jednako, onda je svejedno koju koristimo
- kada ostane samo jedan redak/stupac za riješiti, tada se njegove varijable unesu direktno iz kapaciteta
- na kraju svakog koraka se odredi trenutni F(x): F(x) = suma c ij*xij po i i po j
Vogelova metoda daje optimalnije početno rješenje od metode SZ kuta
Vogelovom metodom se ne dobije staza baznih varijabli kao metodom SZ kuta
„STEPPING-STONE“ METODA
- potrebno je imati nedegenerirano osnovno rješenje
- za polja bez bazne varijable (nezauzeta polja), pri čemu se i ε gledaju kao bazne varijable, određuju se
relativni troškovi (dij), veličine koje pokazuju koliko bi se promijenili ukupni troškovi transporta ako bi se
jedinica robe transportirala preko određenog nezauzetog polja
fiktivne bazne varijable se postavljaju proizvoljno, najbolje ondje gdje mislimo da će nam najviše olakšati
- fitkivne bazne varijable imaju zanemarivo malu vrijednost pa se kod računanja ta vrijednost zanemaruje
- pozitivne vrijednosti relativnih troškova znače povećanje troškova transporta, a negativne smanjenje pa se
optimalno rješenje dobiva kada u rješenju ne postoji niti jedan negativan relativni trošak (svi su >=0)
- početno polje je neko nezauzeto polje za koje želimo izračunati relativni trošak, a ostala polja na koja se skače
su polja s baznom varijablom
- po poljima se skače na sljedeći način: od početnog i od svakog drugog polja skačemo na ono najdalje
(moramo tako, osim u zadnjem skoku) koje će nam omogućiti da s njega skočimo dalje, pri čemu možemo
skakati samo naprijed, lijevo ili desno (ne možemo skočiti naprijed pa odmah zatim u rikverc)
- na kraju moramo zatvoriti petlju pa je posljednje polje ono s kojeg skačemo na poč. polje (zato tada ne
vrijedi da moramo skočiti na najdalje moguće polje); petlja se smije križati i svejedno je u koju stranu ide
najbolje je u petlji imati čim manje polja da se čim lakše izračuna relativni trošak, a ionako nije bitno koliko
baznih varijabli koristimo, nego da izračunamo sve relativne troškove
- kontrola: moramo imati parni broj polja koje smo koristili u petlji
- relativni troškovi se računaju na sljedeći način: [cijena početnog polja] – [cijena 2. polja] + [cijena 3.
polja] – [cijena 4. polja] + ...
- želimo preusmjeriti tok transporta da smanjimo trošak, tj. želimo od određenog polja s baznom varijablom
napraviti nezauzeto polje, a od nezauzetog polja s najnegativnijim relativnim troškom polje s baznom var.
- kada smo izračunali sve relativne troškove, odredimo najnegativniji i za njegovu petlju odredimo nove
varijable na sljedeći način: vrijednosti var. poč. polja dodamo x, vrijednosti var. 2. polja oduzmemo x itd.
- ako postoji više istih najnegativnijih relativnih troškova, onda se odabire onaj kod kojeg će se pojaviti veći x
jer će to dati bolje poboljšanje (manji F(x))
- uz ε ne smije biti minus x, već jedino plus x
- x je jednak najmanjoj vrijednosti bazne varijable od koje se oduzima pa na tom polju sada više nećemo
imali baznu varijablu
- bazna varijabla se sada pojavljuje na polju koje je prije bilo nezauzeto
- odredimo novi F(x) na sljedeći način: F(x) = [stari F(x)] + [najneg. rel. trošak]*x
novi F(x) će sigurno biti manji od starog
- izračunamo sve nove relativne troškove da vidimo je li dobiveno rješenje optimalno (svi novi rel. troškovi su
>=0) pa ako nije, ponovimo postupak