Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 14

- STUDIJSKI ISTRAIVAKI RAD

MULTIKRITERIJUMSKA OPTIMIZACIJA

Student:

Profesor:

aponji Duan Opte

Dr. Predrag Rajkovi

Opta formulacija zadatka viekriterijumske optimizacije (VKO) je: (max) f1(x), f2(x), ... , fp(x) , p2 gi(x) 0 i = 1 , ... , m xj 0 j= 1 , ... , n gde su: f1(x), ... , fp(x), g1(x), ... , gm(x) realne funkcije od n promenljivih, tj. x=(x1,x2,...,xn). U ovom zadatku trai se reenje x koje maksimizira svih p funkcija cilja. Zato se zadatak VKO naziva i zadatkom vektorske optimizacije. Radi jednostavnosti ovde se razmatraju samo problemi maksimizacije. Poznato je da se zadatak minimizacije jednostavno prevodi u zadatak maksimizacije mnoenjem kriterijumske funkcije sa -1. Sve nadalje izloene definicije i metode mogue je prilagoditi da vae za reavanje zadataka minimizacije. Kaemo da je X Rn skup dopustivih reenja, ako je: X = { x Rn | gi 0, i = 1, , m; j = 1, , n} Svakom dopustivom reenju x X odgovara skup vrednosti kriterijumskih funkcija, tj. vektor f(x) = (f1(x), f2(x), ... , fp(x)). Na taj nain se skup dopustivih reenja preslikava u kriterijumski skup, tj. S = {f(x) | x X}. Ovo emo najlake objasniti na primeru: Dat je zadatak VKO: (max) [ f1(x) = 40x1+10x2, f2(x) = x1+x2 ] 2x1 + x2 6 x 1 + x2 5 x1 2 x1, x2 0 Na slici 1. je prikazan skup dopustivih reenja u prostoru reenja.

Slika 1.

Da bismo odredili kriterijumski skup S, najpre izrazimo promenljive x1 i x2 u zavisnosti od f1 = f1(x) i f2 = f2(x), a onda tako dobijene izraze uvrstimo u sistem ogranienja. Dakle, iz sistema jednaina:

f1 = 40x + 10x f2 = x + x
1 1 2

dobija se:

1 1 f1 f 2 30 3 1 4 x2 = f1 f 2 30 3 x1 =
Zamena u sistemu ogranienja daje: f1 + 20f2 180 f2 5 f1 - 10f2 60 f1 - 10f2 0 - f1 + 40f2 0 Ovako transformisan originalni skup ogranienja odreuje skup S, tj. skup vrednosti kriterijuma u kriterijumskom prostoru. Ovaj skup je prikazan na slici 2.

Slika 2. Za problem vie kriterijumskog linearnog programiranja (VLP) skup vrednosti kriterijuma moe se dobiti i jednostavnije: ekstremne take skupa dopustivih reenja X se preslikaju u ekstremne take skupa vrednosti kriterijuma S, (AA, BB, itd.), zatim se, u sluaju dve kriterijumske funkcije, ove take spoje pravim linijama i na taj nain odredi skup S. Prema tome definiemo: Marginalna reenja zadatka VKO se odreuju optimizacijom svake od funkcija cilja pojedinano nad zadatim dopustivim skupom, tj. reavanjem p jednokriterijumskih zadataka: (max) fk(x) , k = 1, ... , p x X Marginalna reenja emo obeleavati sa x(k)* = (x1(k)*, x2(k)*, ... ... , xn(k)*), tj. x(k)* je optimalno reenje dobijeno optimizacijom k-te funkcije cilja nad zadatim dopustivim skupom X.

U pomenutom primeru marginalna reenja su: za prvu funkciju cilja taka C, tj. x(1)* = (2, 2), dok se optimizacijom druge funkcije cilja dobija viestruko reenje, tj. maksimum se dostie u svim takama koje pripadaju dui ije su krajnje take A i B. (Marginalno reenje x(2)* je bilo koja taka x(2)* = (, 5), 01. Idealne vrednosti funkcija cilja fk* = fk(x(k)*), k = 1, ... , p su vrednosti funkcija cilja za marginalna reenja. U primeru se te vrednosti mogu videti na slici 2. To su najvee vrednosti koje kriterijumi dostiu u okviru dopustive oblasti, tj. f1* = 100, f2* = 5. Idealne vrednosti funkcija cilja odreuju idealnu taku u kriterijumskom prostoru, tj. idealnu vrednost vektorske funkcije f* = (f1*, f2*, ... , fp*). Na slici 2 ta taka je obeleena sa I.T. Ako postoji reenje x* koje istovremeno maksimizira sve funkcije cilja, tj.x* = {x * fk(x) = fk*, k = 1, ... , p}, onda se takvo reenje naziva savreno reenje. U najveem broju sluajeva marginalna reenja se razlikuju i savreno reenje ne postoji. Kada ono postoji, tada se u sutini ne radi o problemu VKO. U primeru ne postoji savreno reenje jer je x(1)* x(2)*. Pareto optimalnost injenica da zadaci VKO po pravilu nemaju savreno reenje upuuje na preispitivanje koncepta optimalnosti i definicije optimalnog reenja. Kljunu ulogu u tome ima koncept Pareto optimalnosti. To je proirenje poznatog koncepta optimalnosti koji se koristi u klasinoj jednokriterijumskoj optimizaciji. Pareto optimum se definie na sledei nain: Dopustivo reenje x* predstavlja Pareto optimum zadatka VKO ako ne postoji neko drugo dopustivo reenje x takvo da vai: fk(x) fk(x*) za svako k = 1, ... , p pri emu bar jedna od nejednakosti prelazi u strogu nejednakost >. Drugim reima, x* je Pareto optimum ako bi poboljanje vrednosti bilo koje funkcije cilja prouzrokovalo pogoranje vrednosti neke druge funkcije cilja (slika 3).

Slika 3. Pored Pareto optimuma definiu se i slabi i strogi (jaki) Pareto optimumi. Dopustivo reenje x* je slabi Pareto optimum ako ne postoji neko drugo dopustivo reenje x takvo da vai: fk(x) > fk(x*) za svako k = 1, ... , p. Drugim reima, x* je slabi Pareto optimum ako nije mogue istovremeno poboljati sve funkcije cilja - slika 4.

Slika 4. Strogi Pareto optimum izdvaja ona Pareto reenja ije promene ne prouzrokuju prevelike relativne promene u funkcijama cilja. Odnos izmeu opisanih optimuma je takav da svaki skup stroijih Pareto optimuma predstavlja podskup slabijih optimuma, tj. svaki Pareto optimum je istovremeno i slabi Pareto optimum, a svaki strogi Pareto optimum je i Pareto optimum. Odnos ovih skupova je dat na slici 5.

Primer: Jedno preduzee proizvodi dva artikla P1 i P2 uz korienje tri grupe maina M1, M2 i M3, i sirovine S. Normativi utroka vremena ovih grupa maina, njihovi kapaciteti, normativi utroka sirovine i dobit po jedinici proizvoda dati su u sledeoj tabeli: Proizvod P1 P2 Kapac. M1 8 4 600 M2 2 3 300 M3 4 3 360 S 5 10 Dobit 8 12

Preduzee je u obavezi da utroi bar 600 jedinica sirovine. Ne postoje ogranienja plasmana ova dva proizvoda. Formulisati zadatak VKO za odreivanje proizvodnog programa x=(x1, x2), gde je x1-koliina proizvoda P1, a x2 koliina proizvoda P2, tako da se maksimizira 1) ukupno angaovanje kapaciteta, ukupne dobiti i ukupnog fizikog obima proizvodnje 2) Od sledeih datih reenja izdvojiti i obrazloiti koja su Pareto, a koja slabo Pareto optimalna za model pod 1): (1) x1 = 50, x2 = 60; (2) x1 = 30, x2 = 75; (3) x1 = 45, x2 = 60; (4) x1 = 15, x2 = 0.

Funkcija angaovanja kapaciteta je: f1(x) = 14x1 + 10x2. Funkcija dobiti je: f2(x) = 8x1 + 12x2. Ukupni fiziki obim proizvodnje je: f3(x) = x1 + x2. Dakle, matematiki model postavljenog zadatka je sledei: (max) [f1(x), f2(x), f3(x)] p.o. 8x1 + 4x2 600 2x1 + 3x2 300 4x1 + 3x2360 5x1 + 10x2 600 x1 , x2 0 Skup dopustivih reenja X je prikazan na slici 6 podebljanom linijom.

Slika 6 MATLAB kod korien za generisanje dijagrama: x=0:0.01:200; y(1,:)=300/3-2/3*x y(2,:)=360/3-4/3*x y(3,:)=600/10-5/10*x; y(4,:)=600/4-2*x; plot(x,y); axis([0 160 0 160]);

Najpre emo na grafiku uoiti ekstremne take dopustivog skupa: A(0, 60), B(0, 100), C(30, 80), D(45, 60) i E(60, 30). Marginalna reenja i idealne vrednosti funkcija kriterijuma odreujemo nekom od standardnih metoda linearnog programiranja (npr. grafika ili simpleks metoda): f1* = 1230, x1(1)* = 45, x2(1)* = 60, tj. taka D; f2* = 1200, marginalno reenje je viestruko, tj. reenje su sve take na dui izmeu taaka: x1(2)*N = 0, x2(2)*N = 100, tj. take B i x1(2)*O = 30, x2(2)*O = 80, tj. take C; f3* = 110, x1(3)* = 30, x2(3)* = 80, tj. taka C; (1) Prvo je potrebno proveriti da li je reenje x1 = 50, x2 = 60 dopustivo: M1: 850 + 460 = 640 > 600 => reenje je nedopustivo. (2) Ponovo prvo proveravamo da li x X: M1: 830 + 475 = 540 < 600 M2: 230 + 375 = 285 < 300 M3: 430 + 375 = 345 < 360 S: 530 + 1075 = 900 > 600 Moemo zakljuiti da ovo reenje jeste dopustivo, ali se nalazi u unutranjosti dopustivog skupa (ni jedno ogranienje nije aktivno, tj. ni jedno ogranienje ne zadovoljava uslov sa =). To znai da ovo reenje ne moe biti optimalno ni po jednom kriterijumu jer je iz teorije linearnog programiranja poznato da su samo take na granici dopustive oblasti kandidati za optimalno reenje. Zaista, u zadatoj taki su vrednosti funkcija cilja: f1(x) = 1170, f2(x) = 1180 i f3(x) = 105, a moemo da naemo taku u kojoj su vrednosti sva tri kriterijuma vea (npr. u taki C, f(C) = (1220, 1200, 110). Prema tome ova taka nije ni Pareto ni slabi Pareto optimum. (3) Odmah vidimo da ovo reenje odgovara taki D. Prvo treba konstatovati da je ova taka dopustiva i da se nalazi na granici dopustivog skupa. Vrednosti funkcija cilja u ovoj taki su sledee: f1(x) = 1230, f2(x) = 1080 i f3(x) = 105. Vidimo da se vrednost prvog kriterijuma poklapa sa idealnom vrednosti te funkcije cilja i da je to marginalno reenje jedinstveno. Ovo znai, da e u bilo kojoj drugoj taki vrednost ovog kriterijuma biti strogomanja od ove vrednosti, tj. ne postoji neka druga taka xo X u kojoj bi vaio sistem nejednaina: fk(xo) fk(x), k = 1, 2, 3, sa bar jednom strogom nejednakou >, to je po definiciji dovoljan uslov za Pareto optimum. (4) Uvravanjem vrednosti x=(15, 30) u ogranienja moemo zakljuiti da je ovo reenje dopustivo. Vrednosti kriterijumskih funkcija su: f1(x) = 1110, f2(x) = 1200 i f3(x) = 105. Vidimo da je vrednost drugog kriterijuma jednaka idealnoj vrednosti funkcije cilja (ova taka lei na dui BC), ali ovo marginalno reenje nije jedinstveno. To znai da moemo nai taku koja zadovoljava sistem nejednaina fk(xo) fk(x), k = 1, 2, 3, sa makar jednim strogom nejednakou > (npr. bilo koja taka koja se nalazi izmeu zadate i take C). Prema tome, ova taka nije Pareto optimalna. S druge strane, ne postoji taka u kojoj e sve tri funkcije cilja imati strogo veu vrednost (fk(xo) > fk(x), k = 1, 2, 3), dakle, ova taka jeste slabi Pareto optimum. Ve se pregledom marginalnih reenja moe zakljuiti da su take na dui CD Pareto reenja, a na dui BC slaba Pareto reenja. Jasno je da e se, kreui se od take D ka C, vrednost prvog kriterijuma smanjivati, dok e vrednosti drugog i treeg kriterijuma rasti i obrnuto, ako se kreemo od take C ka D vrednost prvog kriterijuma e rasti, dok e drugi i trei kriterijum opadati, to je i uslov za Pareto optimum. Drugi kriterijum dostie maksimum na itavoj dui BC, to znai da kretanjem du ove dui nije mogue popraviti vrednosti svih funkcija cilja, a to je uslov za slabi Pareto optimum. Ova du nije ni Pareto optimum zato to se kretanjem od take B ka C poboljavaju

vrednosti prvog i treeg kriterijuma, ali se ne pogorava ni jedan drugi kriterijum. Naravno, sva Pareto reenja su takoe i slaba Pareto reenja. Metoda teinskih koeficijenata Ona je specijalan sluaj grupe metoda koje koriste funkciju korisnosti DO da bi omoguili svoenje zadatka VKO na zadatak jednokriterijumske optimizacije. Kod ove grupe metoda se od polaznog modela: (max) f1(x), f2(x), ... , fp(x) p.o. gi(x) 0 , i ' 1, ... , m xj 0 , j ' 1, ... , n formira nov jednokriterijumski model: (max) U(f) =U (f1(x), f2(x), ... , fp(x)) p.o. gi(x) 0 , i ' 1, ... , m xj 0 , j ' 1, ... , n gde je U(f) funkcija korisnosti DO(donosioca odluke) koja zavisi od datih funkcija cilja i odnosa DO prema kriterijumima. Reenje ovog zadatka se usvaja kao reenje originalnog zadatka VKO. U MTK se kao funkcija korisnosti upotrebljava linearna kombinacija normalizovanih funkcija cilja, tj. reava se zadatak: (max) f (x) = wk f (x) p.o. gi(x) 0 , i ' 1, ... , m xj 0 , j ' 1, ... , n gde su: wk 0 - teinski koeficijent k-tog kriterijuma, k = 1, ... , p, koje zadaje DO; f (x) - normalizovana k-ta funkcija cilja fk(x), k = 1, ... , p.
MTK O K O K

Normalizacija funkcija kriterijuma se radi da bi se izbegle nepovoljne posledice koje potiu iz injenice da su zadati kriterijumi, po pravilu, raznorodne veliine koje se izraavaju razliitim jedinicama mere (npr. dinari, kilogrami, sati i sl) i na razliitim skalama. Zato je pogodno sve kriterijume svesti na istu skalu i eventualno na istu jedinicu mere. Kada su funkcije cilja linearne, ovaj postupak je relativno jednostavan. Naime, ako je tada je:

gde je:

Na ovaj nain se dobijaju linearne funkcije cilja koje imaju zbir koeficijenata uz promenljive xj jednak jedinici. Za nelinearne funkcije cilja problem normalizacije je sloeniji i ovde ga neemo razmatrati. Moe se dokazati da se primenomMTK dobija Pareto optimalno reenje ako su svi teinski koeficijenti vei od nule. Ako je bar jedan od teinskih koeficijenata jednak nuli, metoda garantuje dobijanje makar slabog Pareto optimuma. Naime, ako je u tom sluaju dobijeno reenje jedinstveno, ono je Pareto optimalno. Kada je skup vrednosti kriterijuma konveksan, kao u primeru VLP, podeavanjem teinskih koeficijenata mogue je dobiti sva Pareto i slaba Pareto reenja.

Reiti zadatak (max) [40x +10x , x1+x2 ] p.o. 2x1 + x2 6 x1 + x2 5 x1 2 x1 , x2 0


1 2

metodom teinskih koeficijenata s tim da su teine odgovarajuih kriterijuma: w1 = 0.8 i w2 = 0.2.

Marginalna reenja ovog zadatka su: f1*(x) = 100, x1(1)* = 2, x2(1)* = 2 (taka C); f2*(x) = 5, reenje je viestruko, tj. reenje su sve take na dui koja spaja take: x1(2)*' = 0, x2(2)*' = 5 (taka A) i x1(2)*" = 1, x2(2)*" = 4 (taka B). Grafiki ilustracija data je na slici 3.8. Vidimo da su take izmeu B i C (ukljuujui i ove take) Pareto optimalna reenja, a izmeu A i B (ukljuujui i A, ali ne ukljuujui B) samo slaba Pareto reenja. Vidimo na slici da je vektor (gradijent) funkcije korisnosti izmeu gradijenata polaznih funkcija cilja, blie prvoj funkciji (zato to je w1 > w2). Menjajui relativni odnos izmeu teinskih koeficijenata, ovaj gradijent e se pribliavati jednoj, odnosno drugoj funkciji cilja. Matematiki model MTK ima sledei oblik:

2x1 + x2 6 x 1 +x 2 5 x1 2 x1 , x2 0 Reenje ovog zadatka LP je sledee: fMTK* = 2, x1* = 2, x2* = 2, pri emu odgovarajue vrednosti polaznih funkcija cilja imaju vrednosti: f1* = 100 i f2* = 4. Dobijeno reenje je u stvari, taka C za koju smo rekli da je Pareto optimalna. Napomena: Da je DO vei prioritet dao drugom kriterijumu, npr. da su teinski koeficijenti bili w = (0,2, 0,8), tada bi se za reenje dobila taka B, koja je takoe Pareto optimalna, a da su koeficijenti bili npr. w = (0, 1), tada bi se gradijent funkcije korisnosti poklopio sa gradijentom druge funkcije cilja, a optimalna reenja bi bile sve take na dui AB, tj. i one take koje su samo slabo Pareto optimalne. Leksikografska metoda U leksikografskoj metodi DO zadaje prioritete kriterijuma u vidu strogo definisanog redosleda znaajnosti funkcija cilja. Pretpostaviemo da su kriterijumi ve poreani i indeksirani tako da kriterijum f1 ima najvii prioritet, f2 sledei nii, itd. sve do fp koji ima najnii prioritet. Reenje polaznog zadatka dobija se tako to se posebno reava najvie p jednokriterijumskih zadataka. U prvom koraku traimo reenje koje je optimalno samo po prvom (najznaajnijem) kriterijumu pri zadatim ogranienjima, tj. reavamo jednokriterijumski zadatak: (max) f1(x) p.o. gi(x) 0 , i =1, ... , m xj 0 , j = 1, ... , n odakle se dobija reenje x1* i vrednost funkcije cilja f1*. Ako je ovo reenje jedinstveno, zavravamo algoritam, a ovako dobijeno reenje usvajamo za reenje polaznog problema. Ako dobijeno reenje nije jedinstveno, reavamo jednokriterijumski model kojim minimiziramo drugu po znaajnosti funkciju cilja, ali tako da ne pokvarimo najbolju vrednost prvog kriterijuma, tj. reavamo sledei zadatak: (max) f1(x) p.o. gi(x) 0 , i = 1, ... , m f1(x) f* xj 0 , j'= 1, ... , n Ako je dobijeno reenje x2*, sa vrednou funkcije cilja f2*, jedinstveno, ono se usvaja za reenje polaznog problema i algoritam se zavrava. U suprotnom, prelazi se na sledei korak. U optem sluaju reava se r p jednokriterijumskih zadataka oblika: (max) fk(x) p.o. gi(x) 0 , i =1, ... , m fl(x) fl* , l = 1, ... , k-1 xj 0 , j =1, ... , n gde je k = 1, ... , r, a r je redni broj zadatka koji ima jedinstveno optimalno reenje.

Ako se leksikografskom metodom dobije jedinstveno reenje, ono je sigurno Pareto optimalno. Ako se ni posle p koraka ne dobije jedinstveno reenje, dobijen rezultat e biti bar slabo Pareto reenje. U optem sluaju, leksikografskom metodom nije mogue dobiti sva Pareto optimalna reenja.

Primer: Funkcija angaovanja kapaciteta je: f1(x) = 14x1 + 10x2. Funkcija dobiti je: f2(x) = 8x1 + 12x2. Ukupni fiziki obim proizvodnje je: f3(x) = x1 + x2. Dakle, matematiki model postavljenog zadatka je sledei: (max) [f1(x), f2(x), f3(x)] p.o. 8x1 + 4x2 600 2x1 + 3x2 300 4x1 + 3x2360 5x1 + 10x2 600 x1 , x2 0 Reenje:

Skup dopustivih reenja polaznog modela definisan nejednainama (1) - (4). U prvom koraku reavamo sledei zadatak: (max) f1(x) = 8x1 + 12x2 p.o. x X odakle dobijamo viestruko reenje: f1* = 1200, a x1* je bilo koja taka na dui koja spaja take x1*' = (30, 80) i x1*" = (0, 100) tj. x1* = (30, 80 + 100(1 - )), 0 1. Poto je reenje viestruko, prelazimo na sledei korak u kome se reava zadatak: (max) f1(x) = 14x1 + 10x2 p.o. x X

8x1 + 12x2 1200 Drugim reima, traimo taku koja se nalazi na dui BC, i pri tome maksimizira drugu funkciju cilja. Reenje ovog zadatka je taka C, tj. x2* = (30, 80), pri emu je f2* = 1220. Poto je ovo reenje jedinstveno, usvajamo ga kao reenje polaznog modela. Pri tome funkcije cilja imaju vrednosti F* = (1200, 1220, 110). Relaksirana leksikografska metoda Ova metoda je takoe iterativni postupak u kome se reavaju jednokriterijumski zadaci optimizacije. Kao i u prethodnoj metodi, pretpostavlja se da su od strane DO dati prioriteti kriterijuma i da su u skladu sa njima dodeljeni indeksi kriterijumima. Za razliku od prethodne, u relaksiranoj leksikografskoj metodi se po svakom od p kriterijuma reava jednokriterijumski zadatak optimizacije. Pri tome se u narednoj iteraciji ne postavlja kao ogranienje zahtev da reenje bude optimalno po kriterijumu vieg prioriteta, ve se ono relaksira tako da se zahteva da reenje bude u okolini optimalnog reenja dobijenog u prethodnoj iteraciji. Na taj nain, svaki kriterijum utie na konano reenje. Isto kao i kod obine leksikografske metode, DO zadaje redosled kriterijuma po znaajnosti. Pored toga, svakom kriterijumu, izuzimajui poslednji, dodeljuje se vrednost k, k = 1, ... , p-1, za koju kriterijum vieg prioriteta sme da odstupi od svoje optimalne vrednosti. Metoda obuhvata izvravanje sledeih p koraka: korak 1 p.o korak 2

p.o

............... ............... korak p

p.o

............... ............... Za reenje polaznog modela se usvaja rezultat dobijen u poslednjem koraku, a vrednosti funkcija cilja za dobijeno reenje se moraju posebno raunati. Reenje dobijeno ovom metodom obezbeuje slabi Pareto optimum, a ako je reenje jedinstveno, ono je i Pareto optimalno. Ako je dopustiva oblast konveksna, podeavanjem parametara k, k = 1, ... , p-1, moe se dobiti bilo koje Pareto optimalno reenje.

Primer: Primenom relaksirane leksikografske metode reiti sledei zadatak VKO (funkcije cilja su indeksirane po prioritetu): (max)[ f1(x), f2(x), f3(x)] p.o.

Ako je zadato:

korak 1: (max) f1(x) = x1 + 4x2 p.o x Ovaj zadatak ima jedinstveno optimalno reenje u taki x1* = (0, 2), pri emu je f1* = 8. korak 2:

(max) f2(x) = x1 p.o x x1 + 4x2 7 Dobija se reenje: x2* = (2,43, 1,14), f2* = 2,43. korak 3 (max) f3(x) = x1+x2 p.o x x1 + 4x2 7 x1 1.43 Reenje ovog zadatka se usvaja kao konano. To je reenje: x1* = 3,6, x2* = 1,2. Vrednosti funkcija cilja u ovoj taki su: f* = (7,2, 2,4, 3,6). Relaksirana leksikografska metoda je veoma osetljiva na izbor koeficijenata k, u toj meri da se pogrenim izborom mogu dobiti neprihvatljiva reenja. Tako u pomenutom primeru imamo sluaj da se konano reenje poklapa sa marginalnim reenjem funkcije cilja koja ima najnii prioritet, dok je vrednost najznaajnijeg kriterijuma smanjena. Kod primene ove metode se preporuuje da DO kritiki preispita dobijena reenja, uporedi ih sa marginalnim i da po potrebi koriguje zadate koeficijente.

You might also like