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

Fakultet elektrotehnike i raunarstva Zavod za primjenjenu matematiku

PRIMJENA NUMERIKIH POSTUPAKA

SEMINARSKI RAD

POSTUPCI OPTIMIRANJA: Postupci direktnog traenja za odreivanje minimuma funkcija vie varijabli

Ivan Gavran

Zargeb, veljaa 2005.

SADRAJ 1 Uvod...........................................................................................................................................1 2 Osnovne koncepcije optimiranja funkcija.......................................................................................2 2.1 Definiranje funkcije cilja.........................................................................................................2 2.2 Ogranienja varijabli..............................................................................................................3 2.3 Lokalni i globalni minimumi funkcije cilja.................................................................................3 3 Pronalaenje minimuma funkcije jedne varijable............................................................................4 3.1 Redukcija unimodalnog intervala............................................................................................4 3.2 Metoda zlatnog reza..............................................................................................................4 3.3 Fibonacci metoda..................................................................................................................5 3.4 Metoda kvadratne interpolacije...............................................................................................7 4 Postupci direktnog traenja (bez upotrebe derivacije) za odreivanje minimuma funkcija vie varijabli ........................................................................................................................................9 4.1 Traenje po koordinatnim osima.............................................................................................9 4.2 Postupak po Hookeu i Jeevesu.............................................................................................10 4.3 Simpleks postupak po Nelderu i Meadu.................................................................................12 5 Opis programskog ostvarenja simulatora Simpleks algoritma........................................................15 5.1 Suelje programa simulatora................................................................................................15 5.2 Ciljne funkcije.....................................................................................................................16 6 Zakljuak..................................................................................................................................18 7 Popis literature..........................................................................................................................19

1 Uvod
Ljudi optimiraju. Ljudi putuju uglavnom najkraim putem, avio-kompanije rasporeuju osoblje i avione tako da minimiziraju trokove, u industriju se proizvodni procesi oblikuju i provode tako da se maksimizira produktivnost. Priroda optimira. Fiziki sustavi tee stanju najmanje energije. Molekule u izoliranim kemijskim sustavima meusobno djeluju jedna s drugom sve dok ukupna potencijalna energija njihovih elektrona ne dostigne minimum. Zrake svijetlosti se ire stazom koja minimizira vrijeme rasprostiranja zrake. Postupci optimiranja bitan su alat u znanstvenom odluivanju i u analizi fizikalnih sustava. Da bi se uope moglo govoriti o optimiranju, najprije je potrebno identificirati cilj, odnosno kvantitativnu mjeru ponaanja sustava kojeg se prouava. Cilj moe biti zarada, vrijeme, potencijalna energija ili neka druga veliina ili kombinacija veliina koja se moe predstaviti numerikom vrijednou. Cilj ovisi o odreenim karakteristikama sustava koje se nazivaju varijable. Cilj postupaka optimiranja je odrediti kombinaciju vrijednosti varijabli koje e najbolje ispunjavati cilj. esto su vrijednosti varijable na neki nain ograniene. To je posljedica toga to stvarne veliine predstavljene varijablama poprimaju vrijednosti iz odreenog raspona. Na primjer varijabla koja predstavlja kanjenje paketa u raunalnoj mrei ne moe poprimiti negativnu vrijednost. Proces definiranja cilja, varijabli i eventualnih ogranienja za dati problem se naziva postupak modeliranja. Oblikovanje dobrog modela je prvi korak, a vrlo esto i najvaniji, u procesu optimiranja. Ako je model prejednostavan tada nee dobro opisivati sustav koji se eli optimirati, ali s druge strane ako je model presloen postupak optimiranja moe postati preteak za rjeavanje. Nakon to se definirao model mogu se koristiti postupci optimiranja kako bi se pronalo rjeenje problema. Postupci optimiranja se u praksi ostvaruju implementacijom algoritama optimiranja na raunalima. Ne postoji jedan openiti algoritam optimiranja koji je prikladan za sve probleme. U praksi postoji veliki broj algoritama, od kojih je svaki prikladan za odreenu skupinu optimizacijskih problema. U ovom seminari su opisani postupci optimiranja funkcija vie varijabli bez upotrebe derivacija, odnosno postupci direktnog traenja. Ostatak rada je organiziran na slijedei nain; U 2. poglavlju kratko su izneseni osnovni koncepti i matematika formulacija postupaka optimiranja te su definirane oznake koje se koriste u ostalim poglavljima. U 3. poglavlju su opisani postupci optimiranja funkcija jedne varijable jer se oni koriste u nekim algoritmima optimiranja funkcija vie varijabli. Nakon toga su u 4. poglavlju opisani postupci direktnog traenja minimuma funkcija vie varijabli. Opisana su 3 postupka traenja minimuma: pretraivanje po koordinatnim osima, postupak po Hookeu i Jeevesu i simpleks postupak po Nelderu i Meadeu. U 5. poglavlju je opisano programsko ostvarenje simpleks algoritma traenja minimuma.

2 Osnovne koncepcije optimiranja funkcija


Postupak optimiranja se matematiki izraava kao traenje minimuma ili maksimuma funkcije cilja. Kako se problem traenja maksimuma moe svesti na traenje minimuma analogne negativne funkcije u nastavku e se biti opisani postupci traenja minimuma funkcija cilja. Openito, funkcija cilja je skalarna funkcija F s jednim ili vie parametara xi ovisno o tome koliko varijabli se promatra tijekom postupka optimiranja modela. Funkcija cilja e se oznaavati sa F(x1,

x2, ..., xn) odnosno kao F(x), gdje je

x1 x 2 . x= . . xn
stupasti vektor varijabli modela.

2.1 Definiranje funkcije cilja


Funkcija cilja je jednoznana funkcija koja mora opisivati sva svojstva koja elimo postii optimiranjem modela. Na prvi pogled se moe initi neprlikladnim to se definiran jedna funkcija cilja, a esto se eljena svojstva modela ne mogu opisati jednom funkcijom. U takvim sluajevima se definiraju parcijalne funkcije cilja fk(x) kojima se definiraju pojedinana eljena svojstva i nakon toga se definira jedna ciljna funkcija koja obuhvaa sve parcijalne funkcije cilja. Postoji vie metoda konstrukcije ciljne funkcije na temelju parcijalnih, od kojih su najee: 1. suma kvadrata parcijalnih funkcija

F ( x ) = f k2 ( x )
k =1

Sve parcijalne funkcije cilja uzimaju se s jednakom vanosti. 2. teinska suma kvadrata parcijalnih funkcija

F ( x ) = t k f k2 ( x )
k =1

Izborom teinskih faktora moe se odrediti relativna vanost pojedine parcijalne funkcije cilja. 3. kriterij maksimalne apsolutne vrijednosti

f ( x ) = max f k ( x )
k

Ovaj kriterij obino vodi do parcijalnih funkcija koje osciliraju oko srednjih vrijednosti s jednakim pozitivnim i negativnim iznosima. U postupcima optimiranja uestalije se koriste prve dvije metode konstrukcije fukcije sveukupne funkcije cilja, jer se primjenom tree metode generira funkcija cilja s diskontinuiranim prvim derivacijama koje se u nekim postupcima optimiranja teko obrauju.

2.2 Ogranienja varijabli


Parametri, odnosno varijable definiranog modela sustava koji se optimiraju, mogu biti podvrgnuti izvjesnim ogranienjima. Ogranienja mogu biti eksplicitna ili implicitna. Eksplicitna ogranienja izraavaju se donjom i gornjom granicom vrijednosti pojedine varijable. Implicitna ogranienja mogu se svesti na dva oblika: ogranienja s nejenadbama ogranienja s jednadbama

Ogranienja s nejednadbama definira se kao skup od l nejednadbi

gi ( x ) 0
i = 1, 2, . . ., l
dok se ogranienja s jednadbama definiraju kao skup od k jednadbi

hi ( x ) = 0
i = 1, 2, . . ., k
Ogranienja varijabli moraju biti zadovoljena u toki minimuma funkcije cilja. No radi poboljanja efikasnosti algoritma optimiranja, zahtjeva se da ogranienja budu zadovoljena tijekom cijelog postupka optimiranja. Na taj nain se postupak optimiranja izvodi samo u podruju koje je definirano ogranienjima, a vektori varijabli koji zadovoljavaju ogranienja se nazivaju doputenim vektorima.

2.3 Lokalni i globalni minimumi funkcije cilja


Funkcije cilja u doputenom podruju mogu imati vie od jednog minimuma, s tim da je samo jedan minimum globalni minimum, a ostali su lokalni minimumi. Postojanje viestrukih minimuma u doputenom podruju unosi dodatne tekoe u algoritme pronalaenja minimuma. Naime, ne postoje postupci koji pouzdano vode do globalnog minimuma, ve je se za odreivanje globalnog minimuma najee koriste postupci za pronalaenje lokalnog minimuma koji se viestruko ponavljaju s razliitim poetnim uvjetima. Zbog toga se u ovom radu razmatraju samo postupci koji vode do lokalnog minimuma, odnosno postupci za odreivanje minimuma unimodalnih funkcija. Unimodalna funkcija je funkcija koja ima samo jedan minimum u doputenom podruju.

3 Pronalaenje minimuma funkcije jedne varijable


Postupak traenja minimuma funkcije jedne varijable, odnosno traenje minimuma po jednom pravcu vaan je postupak koji se primjenjuje i u traenju minimuma funkcija s vie varijabli. Vrlo znaajan kriterij za ocjenu efikasnosti pojedinog algoritma traenja minimuma funkcije je da se minimum pronae s to je mogue manjim brojem izraunavanja funkcije kako bi se to bre dolo do minimuma.

3.1 Redukcija unimodalnog intervala


Openito se traenje minimuma svodi na smanjenje intervala u kojem se on nalazi. Jedini uvjeti koji moraju biti ispunjeni jesu da je funkcija unimodalna i kontinuirana u intervalu u kojem se promatra. Ako su navedeni uvjeti ispunjeni, moraju se poznavati vrijednosti funkcije u najmanje dvije toke unutar poetnog intervala da bi se minimum mogao locirati u nekom subintervalu. Primjer na slici 3.1. potvrda je upravo iznesene tvrdnje. Ako se izrauna vrijednost funkcije u toki c tada minimum moe leati lijevo ili desno od te toke. Da bi se odredilo na kojoj strani lei minimum potrebno je izraunati vrijednost funkcije u jo jednoj toki, npr. u toki d. Ako je a<c<d<b, onda za f(c) > f(d) minimum lei u intervalu (c, b). Ako je f(c) < f(d) tada minimum lei u intervalu (a, d). Iterativnom primjenom navedenog postupka minimum se moe locirati s odreenom eljenom tonosti. Oito je da e efikasnost navedenog postupka ovisiti o izboru toaka unutar promatranog intervala. U praktinoj primjeni najpoznatija su tri tipa opisanog postupka koji se upravo razlikuju prema nainu odabira internih toaka promatranog intervala, to su metoda zlatnog reza, Fibonaccijeva metoda i metoda kvadratne interpolacije.
f(x) f(x)

Slika 3.1 Redukcija unimodalnog intervala

3.2 Metoda zlatnog reza


Metodom zlatnog reza, interval se u svakom koraku reducira za konstantni faktor k. Ako se pretpostavi da je u trenutnom koraku interval odreen u granicama (ai, bi), a interne toke neka su ci < di, tada mora biti zadovoljen uvijet

d i ai bi ci = =k bi ai bi ai
Ako se pretpostavi da je f(di) > f(ci) tada za slijedei korak treba odabrati toke

ai +1 = ai bi +1 = d i d i +1 = ci
dok se druga interna toka dobiva iz uvjeta

bi +1 ci +1 =k bi +1 ai +1
Ako vrijedi da je f(ci) > f(di) tada se za granice novog intervala u koraku i+1 biraju toke ci i bi , a interna toka d postaje interna toka c u sljedeem koraku, dok se nova interna toke d rauna pomou faktora k. Postupak se provodi dok se minimum ne locira u prethodno zadanom, po volji malom, intervalu. Ova metoda je dobila naziv zlatni rez jer se u svakom intervalu ini tzv. zlatni rez tekueg intervala. Naime moe se analitikim postupkom pokazati da faktor k ima vrijednost 0,618 to je upravo odnos veliina u zlatnom rezu.

3.3 Fibonacci metoda


Metoda Fibonacci dobila je svoj naziv zato to se u redukciji intervala pojavljuje Fibonaccijev niz brojeva. Za primjenu te metode treba unaprijed znati broj koraka. Najjednostavnije je metodu analizirati tako da se poinje promatrati interval u posljednjem koraku N-1 i zatim se promatra unazad. Na slici 3.2 je prikazan taj niz koraka uz pretpostavku da minimum lei uvijek unutar lijevog subintervala. Ako je unaprijed definirani krajnji interval, tada posljednje izraunavanje funkcije treba provesti za toku koja lei vrlo blizu sredini intervala irine 2, kako bi se odredilo u kojoj polovici lei minimum. Ako se promotri slijed koeficijenata uz koji opisuju irinu lijevog ili desnog rubnog intervala onda se moe uoiti da oni predstavlja slijed Fibonaccijevih brojeva (0=1, 1=1, 2=2, 3=3, 4=5, 5=8, . . ., n= n-1 + n-2). Ista zakonitost vrijedi i za koeficijente srednjeg intervala, naravno ako se ne uzme u obzir poslijednji korak.

IN-5 IN-4 I N-3 IN-2 IN-1 IN 2 3 5 2 2 3 3 5

Slika 3.2 Postupak po Fibonacciju Kao to slika 3.2 prikazuje, redukcije intervala nakon pojedinog koraka iznosi: korak N-1:

IN 1 = = 1 I N 1 2 2 I N 1 2 2 = = I N 2 3 3

korak N-2: ..... korak i: ...... korak 1:

I i +1 N i = I i N i +1

I 2 N 1 = I1 N

Iz gornjeg prikaza redukcija po koracima postupka moe se izraziti ukupna redukcija intervala koji se dobije u N-1 koraka, s ukupno N izraunavanja funkcije (u svakom koraku po jedno, a u prvom koraku dva izraunavanja).

I N N 1 N 1 1 = = I1 N i =1 N i +1
Broj koraka postupka moe se odrediti iz uvjeta:

ba N

odnosno odeivanjem prvog lana u Fibonaccijevom nizu koji zadovoljava navedeni uvjet uz prethodno zadane granice intervala a i b, te eljeni konani interval. Nakon to se izrauna Fibonaccijev broj, broj koraka se odreuje tako da se indeks Fibnoaccijevog broja umanji za 1. Interne toke c i d se raunaju prema izrazima:

d =a+ c=b

N 1 ( b a) N N 1 (b a) N

3.4 Metoda kvadratne interpolacije


Glavni nedostatak prethodno opisanih metoda traenja minimuma po pravcu je taj da im je konvergencija prema minimumu spora. Prednosti metoda su da na funkcije ne postavljaju nikakvi zahtjevi, osim da budu unimodalne.

f(x)

f(ai ) f(bi ) f(c i) f(di )

ai

ci ai+1

di ci+1

bi bi+1

Slika 3.3 Kvadratna interpolacija Metoda kvadratne interpolacije se zasniva na pretpostavci da ako se funkcija u okoliu minimuma ponaa priblino kvadratno onda se redukcija intervala u kojem lei minimum moe provesti kvadratnom interpolacijom. Postupak kvadratne interpolacije (slika 3.3) se primjenjuje na unaprijed zadanom intervalu (a, b) u kojem je funkcija unimodalna i unutar kojeg je odabrana jedna toka c. Kroz toke a, b i c se definira parabola. Tjeme tako definirane parabole se oznai tokom d. Toka d se rauna prema izrazu

d=

1 c 2 b 2 f ( a ) + a 2 c 2 f ( b) + b2 a 2 f ( c ) ( c b) f ( a ) + ( a c ) f ( b) + ( b a ) f ( c ) 2

Redukcija intrervala se provodi odbacivanjem jednog od rubnih podintervala ovisno o odnosima toaka

c i d te odnosima vrijednosti funkcije u tim tokama. Ako se indeksom i oznae vrijednosti toaka a, b, c, d u i -tom koraku postupka, tada se vrijednosti toaka u sljedeem koraku raunaju prema
sljedeim pravilima:

ako je di < ci i ako je o o f(di) < f(ci) onda ai+1= ai, bi+1= ci, ci+1= di f(di) > f(ci) onda ai+1= di, bi+1= bi, ci+1= ci

ako je di > ci i ako je o o f(di) < f(ci) onda ai+1= ci, bi+1= bi, ci+1= di f(di) > f(ci) onda ai+1= ai, bi+1= di, ci+1= ci

Ovaj algoritam, kao i dva prethodno opisana, zavrava kada se minimum ogranii s unapred zadanim, po volji malim intervalom. Takoer je pokazano da je ovaj algoritam efikasniji od prethodna dva, odnosno da vodi bre, s manjim brojem izraunavanja funkcije, do ograniavanja intervala minimuma.

4 Postupci direktnog traenja (bez upotrebe derivacije) za odreivanje minimuma funkcija vie varijabli
Skupina postupaka za pronalaenje minimuma kod kojih nije potrebno izraunavati parcijalne derivacije funkcije cilja po parametrima pretrage nazivaju se postupci s direktnim traenjem. Strategija traenja minimuma mora biti takva da se sa to manjim brojem izraunavanja ciljne funkcije odredi poloaj toke u n-dimenzionalnom prostoru parametara za koju ciljna funkcija poprima najmanji iznos. U nastavku poglavlja opisane su tri metode direktnog traenja: traenje po koordinatnim osima, postupak traenja po Hookeu i Jeevesu i simpleks postupak po Nelderu i Meadu.

4.1 Traenje po koordinatnim osima


U ovom postupku minimum se trai uzastopno po koordinatnim osima jednim od postupaka za traenje minimuma funkcije jedne varijable. Geometrijski prikaz postupka za funkciju cilja sa dvije varijable (dvodimenzionalni prostor) nalazi se na slici 4.1.

x2

F=4

F=3

F=2 F=1

x1

Slika 4.4 Traenje minimuma po koordinatnim osima Dijagram toka postupka traenja po koordinatnim osima prikazan je na slici 4.2. Jedna iteracije u tom postupku sastoji se od traenja u svim koordinatnim smjerovima. Kriterij za zaustavljanje postupka moe biti takav da se zahtijeva da apsolutna vrijednost promjene parametara u dvije uzastopne iteracije bude manja od odabranog malog iznosa , odnosno da vrijedi: |x j x j-1| gdje indeks j oznaava broj iteracije, a je vektor unaprijed zadanih malih iznosa odstupanja parametara.

Ovaj postupak je najjednostavniji, ali i najneefikasniji od svih opisanih postupaka, jer se u pojedinoj iteraciji ne uzima u obzir nikakvo saznanje o funkciji cilja iz prethodnih iteracija. Osnovni nedostatak ovog postupka je da je kretanje prema minimumu vrlo sporo, ako uska dolina u smjeru koji se ne poklapa s jednim od koordinatnih smjerova. Spomenuti sluaj je prikazan na slici 4.1.
Postavi poetnu toku x0

j =1

i =1

Odredi minimum u smjeru osi xi

i= i+1

j = j +1

NE

i >n DA |x j - xj-1|<= NE DA stop

Slika 4.5 Dijagram toka traenja po koordinatnim smjerovima

4.2 Postupak po Hookeu i Jeevesu


Postupak po Hookeu i Jeevesu znatno je poboljanje prethodno opisanog postupka traenja po koordinatnim osima, posebno za sluaj traenja uzdu uske doline. Osnovna je ideja postupka da se pronae smjer uzdu takve doline. Svaka iteracija se sastoji od dva dijela: istraivanje i kretanje u odabranom smjeru. Dio istraivanja poinje iz poetne toke x 0. Na poetku se definiraju koraci istraivanja xi, a postupak se provodi po algoritmu prikazanom dijagramom na slici 4.3. Vrijednost funkcije F(x) rauna se za poetnu toku i zatim se vrijednost varijabli xi poveava, odnosno smanjuje za korak xi tako da se doe u toku koja ima manji iznos funkcije. Ako prilikom pomaka u pozitivnom i negativnom smjeru vrijednost funkcije poraste, zadrava se poetna vrijednost varijable xi. Poto je istraivanje zavreno u svim smjerovima, dolazi se do nove bazne toke x 1. Poetna toka x 0 se takoer naziva bazna toka.

10

Drugi dio, kretanje u odabranom smjeru, sastoji se od pomaka na pravcu koji je odreen dvijema baznim tokama i to za duinu koja je jednaka udaljenosti tih dviju baznih toaka. Odnosno nova toka se dobiva pomou izraza x = 2x 1 x 0. Vrijednost funkcije u toj toki se ne usporeuje direktno s vrijednosti funkcije u prethodnoj toki, nego se iz te toke zapoinje novi proces istraivanja. Ako je vrijednost funkcije u novodobivenoj baznoj toki x 2 manja, ponovno se izvodi kretanje po pravcu koji spaja bazne toke. Openito se to kretanje moe opisati s x = 2x j x j-1. Ako je vrijednost funkcije u novoj baznoj toki vea, tada se vraa na prethodnu baznu toku i poinje se postupak istraivanja sa smanjenim korakom, obino s polovicom prethodnog koraka. Postupak se tavrava ako korak padne ispod unarpijed zadanog iznosa.
x = x0

definicija dx

i=1

F = F(x)

xi = xi + dxi

F(x) < F DA i=i+1

NE xi = xi - 2dxi NE F(x) < F xi = xi + dxi

NE

i>N DA

Slika 4.6 Istraivaki dio postupka

11

4.3 Simpleks postupak po Nelderu i Meadu


Simpleks postupak sastoji se od odabiranja n+1 toke u n-dimenzionalnom prostoru. Taj skup od n+1 toke naziva se simpleks. Funkcija cilja izraunava se u svakoj toki i zatim se odbacuje toka s najveom vrijednou funkcije i po odreenom se postupku odabire jedna nova toka. Na taj nain konstruira se novi simpleks i postupak se nastavlja. Na osnovi odreenih pravila simpleks se tokom postupka mijenja postupcima refleksije, ekspanzije i kontrakcije na takav nain da se konano doe do toke u kojoj funkcija cilja ima minimum. Kako je spomenuto, u svakom koraku se postupka odabire se skup toaka xj

j = 1, . . ., n+1

i izraunavaju se pripadne vrijednosti funkcije F(x j). Zatim se odredi toka x h u kojoj je vrijednost funkcije najvea i toka x l u kojoj je vrijednost funkcije najmanja, tj. F(x h) > F(x j), za svaki j h F(x l) < F(x j), za svaki j l Nakon toga se odreuje centroid x c svih toaka osim x h.

xc=

1 n+1 n j =1 x j
j h

U dvodimenzionalnom prostoru centroid je polovite razmaka dviju toaka, kao to je prikazano na slici 4.4.

xh

x2

xc x1

Slika 4.7 Centroid u dvodimenzionalnom prostoru Nakon to se odredio centroid moe se pristupiti procesu traenja nove toke simpleksa koja e zamijeniti toku x h. Za to se koriste tri operacije prokazane na slici 4.5: refleksija, ekspanzija i kontrakcija.

12

x2 xr xc xh a x1 b
xh

x2 c b xe xr

x2

xc

xh
x1

xk

d a

xc

x1

a) REFLEKSIJA

b) EKSPANZIJA

c) KONTRAKCIJA

Slika 4.6 Promjene simpleksa u dvodimenzionalnom prostoru

Postupkom refleksije se toka x h reflektira u odnosu na toku x c i dobiva se reflektirana toka x r. Refleksija je definirana kao

x = (1 + ) x
r

b a

gdje je koeficijent refleksije iji je iznos jednak omjeru udaljenosti b i a prikazanih na slici 4.5.a Ekspanzija simpleksa se definira kao udaljavanje toke x r od centroida x c ako se moe oekivati smanjenje funkcije u tom smjeru (slika 4.5.b). Ako se definira koeficijent ekspanzije kao

=
tada se ekspanzija definira izrazom

c b

x = (1 ) x
e

U nekim sluajevima je potrebno izvriti kontrakciju simpleksa, na nain da se toka x h priblii centroidu. Kontrakcija je geometrijski prikazana na slici 4.5.c, a toka x k se rauna prema izrazu:

x = (1 ) x
k

d a

Primjenom opisanih metoda transformacije, simpleks se moe reflektirati, rasti, smanjivati i na taj nain konano dosei minimum. Redosljed primjene pojedine transformcije i opis rada algoritma prikazan je dijagramom toka na slici 4.6. Dijagram toka odnosi se za postupak po Nelderu i Meadu, nazvan po njegovim autorima. Ako refleksija, ekspanzija i kontrakcija ne dovedu do uspjeha, odnosno nove toke u kojoj je vrijednost funkcije cilja manja od F (x h), tada se simpleks treba smanjiti, i to tako da se sve toke pomaknu prema toki x l s najmanjom vrijednou funkcije. 13

j = 1, . . ., n+1

odabrati xj

odrediti xh ,xl ,xc

NE
F(x r) > F(x h)

Refleksija dobiva se xr NE

DA xh zamijeniti s xr

DA
F(xr) > F(xj ) za sve j h

F(xr) < F(x l)

DA Ekspanzija dobiva se xe NE
F(x e ) < F(xl )

NE

Kontrakcija dobiva se xk

F(xk ) > F(xh)

DA

DA xh zamijeniti s xe xh zamijeniti NE s xr

NE xh zamijeniti s xr
sve toke pomaknuti na polovicu razmaka prema xl

NE

rjeenje zadovoljava

DA

Kraj

Slika 4.8 Dijagram toka simpleks postupka po Nelderu i Meadu Nelder i Mead su definirali slijedei kriterij zaustavljanja:

1 n +1 F ( x j ) F ( xc ) n j =1
gdje je unaprijed zadani mali broj.

Numerikim eksperimentiranjem pokazano je da postupak po Nelderu i Meadu vrlo efikasan, te da su preporuljive vrijednosti koeficijenata

=1
= 0.5

=2

14

5 Opis programskog ostvarenja simulatora Simpleks algoritma


U sklopu seminarskog rada programski je ostvaren simulator Simpleks algoritma. Prilikom izgradnje programa glavna zamisao je bila prikazati nain na koji se simpleks kree kroz prostor i putuje prema minimumu funkcije. Iz tog razloga je traenje minimuma funkcije ogranieno na funkcije jedne varijable i funkcije dvije varijable. Iako je ostvareni algoritam traenja minimuma openit, odnosno mogue je traiti minimum funkcije vie varijabli, mogue je odabrati samo funkcije cilja jedne ili dvije varijable kako bi se grafiki mogao prikazati simpleks.

5.1 Suelje programa simulatora


Grafiko suelje programa se sastoji od kontrolnih okvira i okvira za prikaz (slika 5.1). Kontrolni okviri slue za postaljanje parametara simulacije dok se tijek simulacije grafiki prikazuje u okviru za prikaz. Kontrolni okviri programa su sljedei:

Goal Function Settings: odabire se jedna od ponuenih funkcija koje se optimiraju. Nakon to
se odabere funkcija prikazuju se unapred zadani optimalni parametri simpleks postupka ( , ,

i ) Parametri se mogu mijenjati prije i za vrijeme postupka traenja minimuma. Utjecaj


promjene parametara na tijek simulacije i na dobiveni rezultat se moe uoiti promjenom parametra . Naime, kako predstavlja veliinu podruje tonosti unutar kojeg se locira minimum, njegova promjene direktno utjee na tonost i brzinu broj koraka simulacije. Smanjenjem vrijednosti parametra smanjuje se tonost rezultata i broj koraka simulacije.

Simulation Control: okvir sadri kontrole za poetak, zavretak, zaustavljanje i nastavak


izvoenja simulacije postupka traenja minimuma. Kontrola Start pokree izvoenje dretve koja obavlja postupak traenja minimuma, a kontrola Stop dretvu "ubija". Kontrola

Pause/Resume se koristi za prekidanje i nastavljanje izvoenja dretve.

Simulation Speed: kliznik za podeavanje brzine simulacije, odnosno za poveanje i


smanjivanje vremenskog intervala ekanja izmeu pojedinog koraka algoritma.

View control: okvir za upravljanje okvirom za prikaz simulacije. Omoguuje zumiranje i


pomicanje grafikog prikaza simulacije.

15

Slika 5.9 Grafiko suelje programa

5.2 Ciljne funkcije


Popis funkcija cilja unaprijed je zadan i sastoji se od nekoliko funkcija jedne i dvije varijable. Prilikom prikaza procesa simuliranja ciljna funkcija dvije varijable se ne prikazuje ve se samo prikazuje kretanje simpleksa (u ovom sluaju je to trokut). Naime, u sluaju prikaza ciljne funkcije tijek simpleks postupka se vrlo slabo mogao pratiti. U sluaju traenje minimuma funkcije jedne varijable se iscrtava i funkcija i simpleks (u ovom sluaju je to pravac paralelan sa x koordinatnom osi). U ovom sluaju se doista moe provjeriti ispravnost rada simpleks postupka, ali se slabije uoavaju operacije nad simpleksom koje su bit ovog postupka. Osim toga, prilikom traenja minimuma funkcije koje nisu unimodalne na promatranom intervalu pokazuje se ogranienost postupka, odnosno vidi se da ovisno o poetnim tokama simpleksa algoritam pronalazi najblii lokalni minimum (slika 5.2).

16

Simpleks

17

6 Zakljuak
U ovom seminarskom radu opisani su postupci direktnog traenja (bez upotreba derivacije) za odreivanje minimuma funkcija vie varijabli. Kako bi se razumjeli postupci traenja minimuma najprije su u 2. poglavlju navedene osnovni pojmovi vezani uz optimiranje funkcija. U 3. poglavlju su opisani postupci traenja minimuma funkcija jedne varijable jer se oni koriste u nekim postupcima traenja minimuma funkcija vie varijabli. U 4. poglavlju su opisani sljedei postupci pronalaenja minimuma funkcija vie varijabli: Postupak traenja po koordinatnim osima, Postupak po Hookeu i Jeevesu i Simpleks postupak po Nelderu i Meadeu. U praktinom dijelu rada programski je ostvaren simulator simpleks postupka koji grafiki prikazuje tijek simpleks postupka. Opis programa naveden je u 5. poglavlju.

18

7 Popis literature
[1] [2] Stanko Turk, Leo Budin: "Analiza i projektiranje raunalom", kolska knjiga, Zagreb, 1989. Jorge Nocedal, Stephen.J. Wright: "Numerical optimization", Springer, 1999.

19

You might also like