08.03.2015 Views

Ceo rad - PDF (1.3 MB)

Ceo rad - PDF (1.3 MB)

Ceo rad - PDF (1.3 MB)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Problem dizajniranja mreže neograničenog kapaciteta<br />

101<br />

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />

Unakrsno razlaganje (cross decomposition) je takođe primenjivano za<br />

rešavanje datog problema, kao kombinacija Bender-ovog razlaganja i<br />

Lagrange-ove relaksacije. Ova metoda je posebno razvijena za rešavanje<br />

problema mešovitog celobrojnog programiranja (Mixed Integer Programming -<br />

MIP) , i detaljno opisana u <strong>rad</strong>u [VRo83]. U [Hlm90] je dokazano da dati<br />

postupak konvergira ka rešenju u konačnom broju koraka. Međutim, pokazalo<br />

se da iako nešto bolji od prethodne metode (Bender-ovog razlaganja), pri<br />

rešavanju UNDP ipak zadržava neke njene nedostatke. Pomenimo i neka<br />

njena unapređenja: metoda unakrsnog razlaganja pomoću srednje vrednosti<br />

(mean value cross decomposition) opisanu u [Hlm92] i hibridizacija unakrsnog<br />

razlaganja i uopštene metode opisane u [Kor65].<br />

Jedna od značajnih heuristika za rešavanje UNDP je i dualna metoda<br />

penjanja (dual ascent), opisana u <strong>rad</strong>u [Bla89]. Ona vrlo brzo daje rešenje<br />

relativno dobrog kvaliteta (greška 1% - 4% od opitmalnog rešenja), ali dobijeno<br />

rešenje ne može dalje da se poboljšava. Pokušaji da se data metoda uklopi kao<br />

subg<strong>rad</strong>ijentna u neku drugu metodu nisu dali očekivane rezultate (videti<br />

[Hel94] i [Hlm97b]).<br />

Lagranževa heuristika koja je uspešno korišćena za rešavanje lokacijskih<br />

problema ([Hlm97a]), prilagođena je datom problemu i primenjena uz BnB. Dati<br />

pristup otklanja neke nedostatke prethodnih metoda pa su dobijeni odlični<br />

rezultati pri izvršavanju na UNDP instancama velike dimenzije (70 čvorova,<br />

1000 grana i 138 artikala), koji su optimalno rešeni.<br />

Osim navedenih, pomenimo i još neke metode opisane u sledećim<br />

<strong>rad</strong>ovima: [Lin82], [Tar83], [Bla87], [Brme95] i [Grö95]. Za rešavanje UNDP se<br />

mogu koristiti i programski paketi za rešavanje opštijeg problema mešovitog<br />

celobrojnog programiranja. Napomenimo da su dati programski paketi<br />

projektovani za proizvoljan problem mešovitog celobrojnog programiranja, pa<br />

ne uključuju specifične karakteristike ovog problema, što se ogleda u prilično<br />

lošijim performansama. Njihova prednost je u opštoj primeni na bilo koji problem<br />

iz date klase, gde je potrebno zadati samo funkciju koja se optimizuje i uslove<br />

zadatka, bez potrebe za dodatnim programiranjem. Još neke metode za<br />

rešavanje problema dizajniranja mreža i ostale korisne informacije se mogu<br />

naći i u <strong>rad</strong>ovima [Hlm91], [Hei92] i [Sas97].<br />

6.3 GA implementacija<br />

6.3.1 Kodiranje i vrednosna funkcija<br />

Ovaj problem formulisan kao (6.1) - (6.4), ima ukupno (|C|+1) ⋅ |A|<br />

promenljivih (y ij i x k ij : (i,j)∈A, k∈C), i u takvom obliku nije pogodan za primenu<br />

GA na UNDP instancama veće dimenzije. Međutim, broj promenljivih potrebnih<br />

za kodiranje se može smanjiti, na sledeći način. Ukoliko fiksiramo elemente y ij ,<br />

dati problem se svodi na |C| problema nalaženja najkraćeg puta u grafu. U tom<br />

k<br />

slučaju preostale promeljive x ij možemo generisati relativno lako, algoritmom<br />

polinomske složenosti za nalaženje najkraćeg puta u grafu. Na taj način se<br />

kodiraju samo elementi niza y ij (i,j)∈A, što je mnogo pogodnije za primenu<br />

genetskog algoritma, jer su oni binarne vrednosti (y ij ∈ {0,1}).<br />

Zbog svega prethodno navedenog, svaki bit u genetskom kodu jedinke<br />

predstavlja odgovarajuću vrednost za niz y ij . Na taj način je generisan podgraf<br />

G‘ = grafa G, gde je A‘ = {(i,j) | (i,j)∈A ∧ y ij = 1}. On predstavlja podgraf

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!