genetski algoritmi kao optimizacijski alat -...

19
Fakultet SEMINARKO http://seminarko.weebly.com Seminarski rad iz kolegija XY ak. godina 2008/09. GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - prednosti i nedostaci u odnosu na egzaktne matematičke metode Predmetni nastavnici: dr.sc. XY dipl. ing. XZ SEMINARKO Zagreb, lipanj 2009.

Upload: ledien

Post on 11-May-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

Fakultet SEMINARKO http://seminarko.weebly.com

Seminarski rad iz kolegija

XY

ak. godina 2008/09.

GENETSKI ALGORITMI KAO

OPTIMIZACIJSKI ALAT

- prednosti i nedostaci u odnosu na

egzaktne matematičke metode

Predmetni nastavnici:

dr.sc. XY

dipl. ing. XZ

SEMINARKO

Zagreb, lipanj 2009.

Page 2: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

2

SADRŽAJ:

1. UVOD

2. GENETISKI ALGORITM

2.1. Genetika (biologija)

2.2. Genetički algoritam

2.3. Terminologija genetičkih algoritama

2.3.1. Funkcija dobrote, cilja,..

2.3.2. Selekcija

2.4. Genetički operatori

2.4.1. Križanje

2.4.2. Mutacija

2.4.3. Parametri algoritma

2.5. Opis rješavanja problema GA pomoću softvera MATLAB (primjer)

3. MATEMATIČKE METODE OPTIMIRANJA

3.1. Definiranje funkcije cilja

3.2. Lokalni i globalni minimumi funkcije cilja

3.3. Pronalaženje minimuma funkcije jedne varijable

3.3.1. Redukcija unimodalnog intervala

3.3.2. Metoda kvadratne interpolacije

3.4. Postupci direktnog traženja za određivanje minimuma funkcija više varijabli

3.4.1. Traženje po koordinatnim osima

3.4.2. Postupak po Hookeu i Jeevesu

3.4.3. Simpleks postupak po Nelderu i Meadu

3.5. Opis programskog simulatora Simpleks algoritma (primjer)

3.5.1. Sučelje programa simulatora

3.6. Ciljne funkcije

4. ZAKLJUČAK

5. LITERATURA

Page 3: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

3

1 UVOD

Ljudi optimiraju - putuju uglavnom najkraćim putem, avio-kompanije raspoređuju osoblje i avione

tako da minimiziraju troškove, u industriju se proizvodni procesi oblikuju i provode tako da se

maksimizira produktivnost.

Priroda optimira - fizički sustavi teže stanju najmanje

energije. Molekule u izoliranim kemijskim sustavima

međusobno 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 odlučivanju i u analizi fizikalnih sustava. Da bi se

uopće moglo govoriti o optimiranju, najprije je potrebno identificirati cilj, odnosno kvantitativnu

mjeru ponašanja sustava kojeg se proučava. Cilj može biti zarada, vrijeme, potencijalna energija ili

neka druga veličina ili kombinacija veličina koja se može predstaviti numeričkom vrijednošću. Cilj

ovisi o određenim karakteristikama sustava koje se nazivaju varijable. Cilj postupaka optimiranja je

odrediti kombinaciju vrijednosti varijabli koje će najbolje ispunjavati cilj. Proces definiranja cilja,

varijabli i eventualnih ograničenja za dati problem se naziva postupak modeliranja. Oblikovanje

dobrog modela je prvi korak, a vrlo često i najvažniji. Ako je model prejednostavan tada neće dobro

opisivati sustav koji se želi optimirati, ali s druge strane ako je model presložen postupak optimiranja

može postati pretežak za rješavanje.

Nakon što se definirao model mogu se koristiti postupci optimiranja kako bi se pronašlo rješenje

problema. Postupci optimiranja se u praksi ostvaruju implementacijom algoritama optimiranja na

računalima. Ne postoji jedan općeniti algoritam optimiranja koji je prikladan za sve probleme. U

praksi postoji veliki broj algoritama, od kojih je svaki prikladan za određenu skupinu optimizacijskih

problema.

Page 4: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

4

2 GENETISKI ALGORITM

2.1 Genetika (biologija)

Evolucija je neprekidan proces prilagođavanja živih bića na svoju okolinu, tj. na uvjete u kojima žive.

U prirodi vlada nemilosrdna borba za opstanak u kojoj pobjeđuju najbolji, a loši umiru. Da bi neka

vrsta tijekom evolucije opstala, mora se prilagođavati uvjetima i okolini u kojoj živi, jer se i uvjeti i

okolina mijenjaju. Priroda selekcijom jedinki regulira veličinu populacije. Dobra svojstva jedinki

(otpornost na razne bolesti, sposobnost trčanja, itd.) pomažu preživjeti u neprestanoj borbi za

opstanak.

Danas se pretpostavlja da su sva svojstva jedinke zapisana u kromosomima. Kromosomi

su lančaste tvorevine koje se nalaze u jezgri svake stanice, što znači da svaka stanica

biljnog ili životinjskog podrijetla posjeduje sve informacije o svim svojstvima jedinke.

Skup informacija koje karakteriziraju jedno svojstvo zapisano je u jedan djelić

kromosoma koji se naziva gen. Kromosomi dolaze uvijek u parovima: jedan kromosom je od oca, a

drugi od majke. Dakle, za svako svojstvo postoje dva gena ili dvije informacije. Takav par gena gdje

jedan i drugi nose informaciju za jedno svojstvo naziva se alel. U genetskom paru geni mogu biti

ravnopravni ili neravnopravni, tako da je jedan dominantan, a drugi recesivan. U neravnopravnom

paru dominantan gen određuje rezultantno svojstvo, dok se uz ravnopravni par gena dobiva

svojstvo koje je negdje između svojstava oca i majke.

Sva svojstva jedinke obično nisu zapisana u samo jednom paru kromosoma, već u nekoliko desetaka

parova kromosoma. Npr., čovjek ima 46 kromosoma odnosno 23 para kromosoma.

2.2 Genetski algoritam

Genetski algoritam se primjenjuje i daje dobre rezultate u području učenja kod neuronskih mreža, pri

optimiranju umjetnih (tehnoloških, tehničkih) sustava na temelju optimizacije prirodnih sustava kao

što su:

traženje najkraćeg puta problemi raspoređivanja procesa

problem trgovačkog putnika optimiranje upita nad bazom podataka

strategije računalnih igara problem određivanja parametara

sustava transportni problemi

Page 5: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

5

GA je heuristička metoda optimiranja koja imitira prirodni evolucijski proces. Evolucija je robustan

proces pretraživanja prostora rješenja.

U GA ključ selekcije je funkcija cilja, koja na odgovarajući način predstavlja problem koji se rješava.

Slično kao što su okolina i uvjeti u prirodi ključ selekcije nad nekom vrstom živih bića, tako je i

funkcija cilja ključ selekcije nad populacijom rješenja u genetskom algoritmu. Naime, u prirodi

jedinka koja je najbolje prilagođena uvjetima i okolini u kojoj živi ima najveću vjerojatnost

preživljavanja i parenja, a time i prenošenja svojega genetskog materijala na svoje potomke. Za

genetički algoritam jedno rješenje je jedna jedinka. Selekcijom se odabiru dobre jedinke koje se

prenose u slijedeću populaciju, a manipulacijom genetskog materijala stvaraju se nove jedinke.

Takav ciklus selekcije, reprodukcije i manipulacije genetskim materijalom jedinki ponavlja se sve dok

nije zadovoljen uvjet zaustavljanja evolucijskog procesa.

Snaga GA leži u činjenici da su sposobni odrediti položaj globalnog optimuma u prostoru s više

lokalnih ekstrema, u tzv. višemodalnom prostoru.

2.3 Terminologija genetičkih algoritama

2.3.1 Funkcija cilja, dobrote, fitness…

Funkcija dobrote ili funkcija ocjene kvalitete jedinke se u literaturi još naziva fitness funkcija, funkcija

sposobnosti, funkcija cilja ili eval funkcija i u najjednostavnijoj interpretaciji ekvivalent je funkciji koju

treba optimizirati. Funkcija cilja je ključ za proces selekcije.

2.3.2 Selekcija

Svrha selekcije je čuvanje i prenošenje dobrih svojstava na slijedeću generaciju jedinki. Selekcijom se

odabiru dobre jedinke koje će sudjelovati u slijedećem koraku, u reprodukciji.

Na taj način se dobri geni ili dobri genetski materijal sačuva i prenose na slijedeću populaciju, a loši

odumiru. Postupak selekcije bi se mogao ostvariti sortiranjem i odabirom najboljih jedinki, međutim,

takav postupak dovodi do prerane konvergencije genetskog algoritma, tj. proces optimiranja se

praktično završava u svega nekoliko prvih iteracija. Problem je u tome što se ovim postupkom izgubi

dobar genetski materijal koji mogu sadržavati loše jedinke. Zato je potrebno osigurati i lošim

jedinkama da imaju neku (manju) vjerojatnost preživljavanja. S druge strane, bolje jedinke trebaju

Page 6: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

6

imati veću vjerojatnost opstanka, tj. trebaju imati veću vjerojatnost sudjelovanja u procesu

reprodukcije. Najbolji kromosomi imaju više kopija, prosječni ostaju, najlošiji umiru.

Selekcijski procesje je baziran na okretanju kotaču ruleta pop_size puta. Svaki puta se odabire novi

kromosom za novu populaciju.

2.4 Genetički operatori

Osim selekcije, reprodukcija je druga važna karakteristika genetskog algoritma. U reprodukciji

sudjeluju dobre jedinke koje su preživjele proces selekcije. Reprodukcija je razmnožavanje s pomoću

genetskog operatora križanja. Tijekom procesa reprodukcije dolazi i do slučajnih promjena nekih

gena ili mutacije.

2.4.1 Križanje

U procesu križanja (crossover) sudjeluju dvije jedinke koje se nazivaju roditelji. Dakle, križanje je

binarni operator. Križanjem nastaje jedna ili dvije nove jedinke koje se nazivaju djeca. Najvažnija

karakteristika križanja jest da djeca nasljeduju svojstva svojih roditelja. Ako su roditelji dobri (prošli

su proces selekcije), tada ce najvjerojatnije i dijete biti dobro, ako ne i bolje od svojih roditelja.

Križanje s jednom točkom prekida

Pretpostavlja se da je upravo operator križanja to što razlikuje genetski algoritam od ostalih metoda

optimiranja. To se ne može reci za operator mutacije kojega možemo sresti i kod simuliranog

kaljenja i kod evolucijske strategije.

2.4.2 Mutacija

Drugi operator koji je karakterističan za genetski algoritam je mutacija ili slučajna promjena jednog

ili više gena. Mutacija je operator jer djeluje nad jednom jedinkom.

Page 7: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

7

Ako vjerojatnost mutacije teži k jedinici, tada se algoritam pretvara u algoritam slučajne pretrage

prostora rješenja. S druge strane, ako vjerojatnost mutacije teži k nuli, postupak ce najvjerojatnije već

u početku procesa optimiranja stati u nekom lokalnom optimumu. Jednostavna mutacija svaki bit

kromosoma mijenja s jednakom vjerojatnošću pm.

Jednostavna mutacija

Mutacijom se pretražuje prostor rješenja i upravo je mutacija mehanizam za izbjegavanje lokalnih

minimuma. Ako cijela populacija završi u nekom od lokalnih minimuma, jedino slučajnim

pretraživanjem prostora rješenja pronalazi se bolje rješenje.

Uloga mutacije je i u obnavljanju izgubljenog genetskog materijala. Dogodi li se, npr. da sve jedinke

populacije imaju isti gen na određenom mjestu u kromosomu, samo križanjem se taj gen nikad ne bi

mogao promijeniti. Ako je riječ o binarnom prikazu kromosoma, time je izgubljeno čak pola prostora

pretraživanja.

2.4.3 Parametri algoritma

Genetički algoritam ima slijedeće parametre:

veličina populacije

broj generacija (iteracija)

vjerojatnost križanja i mutacije.

Vjerojatnost mutacije ovisi o broju jedinki za eliminaciju, jer upravo je toliko jedinki potrebno

generirati križanjem. Za različite vrijednosti parametara algoritma, algoritam daje različite rezultate:

brže ili sporije dolazi do boljeg ili lošijeg rješenja.

2.5 Opis rješavanja problema GA pomoću softvera MATLAB (primjer)

Primjer dolazi iz područja inteligentnog planiranja tehnoloških procesa. Traži se potrebno vrijeme

izrade diskova strojnom obradom odvajanjem čestica. Varijable u funkciji cilja nose geometrijske,

proizvodne i tolerancijske značajke. Kratak postupak u dva koraka:

Page 8: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

8

1. Spremanje funkcije cilja u obliku M-file

2. Otvaranje grafičkog sučelja - Genetic Algoritam Tool

Potrebno je pozvati funkciju cilja, upisati br. varijabli i vektorski definirati ograničenja (ukoliko

postoje). Nakon toga se podese operatori (br. populacije, križanje i mutacija) i algoritam je spreman

za rad.

funkcija cilja

br. varijabli

populacija

križanje

mutacija

generacije

funkcija ograničenja

ograničenja varijabli

pokretanje

rješenja

Page 9: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

9

Rješenje se dobije u brojčanom obliku sa popratnim grafovima.

3 MATEMATIČKE METODE OPTIMIRANJA

3.1 Definiranje funkcije cilja

Funkcija cilja je jednoznačna funkcija koja mora opisivati sva svojstva koja želimo postići

optimiranjem modela. Na prvi pogled se može činiti neprikladnim što se definira jedna funkcija cilja

jer se često željena svojstva modela ne mogu opisati jednom funkcijom. U takvim slučajevima se

definiraju parcijalne funkcije cilja fk(x) kojima se definiraju pojedinačna željena svojstva i nakon toga

se definira jedna ciljna funkcija koja obuhvaća sve parcijalne funkcije cilja. Postoji više metoda

konstrukcije ciljne funkcije na temelju parcijalnih, od kojih su najčešće:

1. suma kvadrata parcijalnih funkcija

m

k

k xfxF1

2

Sve parcijalne funkcije cilja uzimaju se s jednakom važnosti.

2. težinska suma kvadrata parcijalnih funkcija

m

k

kk xftxF1

2

Izborom težinskih faktora može se odrediti relativna važnost pojedine parcijalne

funkcije cilja.

Page 10: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

10

3. kriterij maksimalne apsolutne vrijednosti

max kk

f x f x

Ovaj kriterij obično vodi do parcijalnih funkcija koje osciliraju oko srednjih vrijednosti s

jednakim pozitivnim i negativnim iznosima.

U postupcima optimiranja učestalije se koriste prve dvije metode konstrukcijske funkcije sveukupne

funkcije cilja, jer se primjenom treće metode generira funkcija cilja s diskontinuiranim prvim

derivacijama koje se u nekim postupcima optimiranja teško obrađuju.

3.2 Lokalni i globalni minimumi funkcije cilja

Funkcije cilja u dopuštenom području mogu imati više od jednog minimuma, s tim da je samo jedan

minimum globalni, a ostali su lokalni. Postojanje višestrukih minimuma u dopuštenom području

unosi dodatne teškoće u algoritme pronalaženja minimuma. Naime, ne postoje postupci koji

pouzdano vode do globalnog minimuma, već se za određivanje globalnog minimuma najčešće

koriste postupci za pronalaženje lokalnog minimuma koji se višestruko ponavljaju s različitim

početnim uvjetima. Zbog toga se u ovom radu razmatraju samo postupci koji vode do lokalnog

minimuma, odnosno postupci za određivanje minimuma unimodalnih funkcija. Unimodalna funkcija

je funkcija koja ima samo jedan minimum u dopuštenom području.

3.3 Pronalaženje minimuma funkcije jedne varijable

Postupak traženja minimuma funkcije jedne varijable, odnosno traženje minimuma po jednom

pravcu važan je postupak koji se primjenjuje i u traženju minimuma funkcija s više varijabli. Vrlo

značajan kriterij za ocjenu efikasnosti pojedinog algoritma traženja minimuma funkcije je da se

minimum pronađe s što je moguće manjim brojem izračunavanja funkcije kako bi se što brže došlo

do minimuma.

Page 11: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

11

3.3.1 Redukcija unimodalnog intervala

Općenito se traženje 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 točke

unutar početnog intervala da bi se minimum mogao locirati u nekom subintervalu. Primjer na slici

potvrda je upravo iznesene tvrdnje. Ako se izračuna vrijednost funkcije u točki c tada minimum može

ležati lijevo ili desno od te točke. Da bi se odredilo na kojoj strani leži minimum potrebno je

izračunati vrijednost funkcije u još jednoj točki, npr. u točki d. Ako je a<c<d<b, onda za f(c) > f(d)

minimum leži u intervalu (c, b). Ako je f(c) < f(d) tada minimum leži u intervalu (a, d). Iterativnom

primjenom navedenog postupka minimum se može locirati s određenom željenom točnosti. Očito je

da će efikasnost navedenog postupka ovisiti o izboru točaka unutar promatranog intervala.

a bc d a bc d x

f(x)

x

f(x)

slika: Redukcija unimodalnog intervala

U praktičnoj primjeni najpoznatija su tri tipa opisanog postupka koji se upravo razlikuju prema

načinu odabira internih točaka promatranog intervala, to su:

metoda zlatnog reza

Fibonaccijeva metoda

metoda kvadratne interpolacije.

3.3.2 Metoda kvadratne interpolacije

Radi pojednostavljena opisat će se samo metoda kvadratne interpolacije jer ostale dvije sporo

konvergenciju prema minimumu. Ova metoda vodi do ograničavanja intervala minimuma s manjim

brojem izračunavanja funkcije.

Metoda kvadratne interpolacije se zasniva na pretpostavci da ako se funkcija u okolišu minimuma

ponaša približno kvadratno onda se redukcija intervala u kojem leži minimum može provesti

Page 12: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

12

kvadratnom interpolacijom. Postupak kvadratne interpolacije se primjenjuje na unaprijed zadanom

intervalu (a, b) u kojem je funkcija unimodalna i unutar kojeg je odabrana jedna točka c. Kroz točke

a, b i c se definira parabola. Tjeme tako definirane parabole se označi točkom d. Točka d se računa

prema izrazu

cfabbfcaafbc

cfabbfcaafbcd

222222

2

1

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

točaka c i d te odnosima vrijednosti funkcije u tim točkama. Ako se indeksom i označe vrijednosti

točaka a, b, c, d u i -tom koraku postupka, tada se vrijednosti točaka u sljedećem koraku računaju

prema sljedećim pravilima:

ako je di < ci i ako je

o f(di) < f(ci) onda ai+1= ai, bi+1= ci, ci+1= di

o f(di) > f(ci) onda ai+1= di, bi+1= bi, ci+1= ci

ako je di > ci i ako je

o f(di) < f(ci) onda ai+1= ci, bi+1= bi, ci+1= di

o f(di) > f(ci) onda ai+1= ai, bi+1= di, ci+1= ci

Ovaj algoritam završava kada se minimum ograniči s unaprijed zadanim, po volji malim intervalom.

3.4 Postupci direktnog traženja (bez upotrebe derivacije) za određivanje

minimuma funkcija više varijabli

Skupina postupaka za pronalaženje minimuma kod kojih nije potrebno izračunavati parcijalne

derivacije funkcije cilja po parametrima pretrage nazivaju se postupci s direktnim traženjem.

Strategija traženja minimuma mora biti takva da se sa što manjim brojem izračunavanja ciljne

funkcije odredi položaj točke u n-dimenzionalnom prostoru parametara za koju ciljna funkcija

poprima najmanji iznos.

Page 13: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

13

U nastavku poglavlja opisane su tri metode direktnog traženja:

traženje po koordinatnim osima

postupak traženja po Hookeu i Jeevesu

simpleks postupak po Nelderu i Meadu.

3.4.1 Traženje po koordinatnim osima

U ovom postupku minimum se traži uzastopno po

koordinatnim osima jednim od postupaka za traženje

minimuma funkcije jedne varijable. Geometrijski prikaz

postupka za funkciju cilja sa dvije varijable (dvodimenzionalni

prostor) nalazi se na slici.

Jedna iteracije u tom postupku sastoji se od traženja u svim

koordinatnim smjerovima. Kriterij za zaustavljanje postupka

može biti takav da se zahtijeva da apsolutna vrijednost promjene parametara u dvije uzastopne

iteracije bude manja od odabranog malog iznosa ε, odnosno da vrijedi:

|xj – xj-1|≤ ε

gdje indeks j označava broj iteracije, a ε je vektor unaprijed zadanih malih iznosa odstupanja

parametara.

Ovaj postupak je najjednostavniji, ali i najneefikasniji od preostala dva opisana, jer se u pojedinoj

iteraciji ne uzima u obzir nikakvo saznanje o funkciji cilja iz prethodnih iteracija. Osnovni nedostatak

ovog postupka je sporo kretanje prema minimumu ako je uska dolina u smjeru koji se ne poklapa s

jednim od koordinatnih smjerova.

3.4.2 Postupak po Hookeu i Jeevesu

Postupak po Hookeu i Jeevesu bolji je od prethodno opisanog traženja po koordinatnim osima,

posebno za slučaj traženja uzduž uske doline. Osnovna je ideja postupka da se pronađe smjer uzduž

takve doline. Svaka iteracija se sastoji od dva dijela: istraživanje i kretanje u odabranom smjeru.

Vrijednost funkcije F(x) računa se za početnu točku i zatim se vrijednost varijabli xi povećava,

odnosno smanjuje za korak Δxi tako da se dođe u točku koja ima manji iznos funkcije. Ako prilikom

Page 14: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

14

pomaka u pozitivnom i negativnom smjeru vrijednost funkcije poraste, zadržava se početna

vrijednost varijable xi. Pošto je istraživanje završeno u svim smjerovima, dolazi se do nove bazne

točke x1. Početna točka x

0 se također naziva bazna točka.

3.4.3 Simpleks postupak po Nelderu i Meadu

Simpleks postupak sastoji se od odabiranja n+1 točke u n-dimenzionalnom prostoru. Taj skup od

n+1 točke naziva se simpleks. Funkcija cilja izračunava se u svakoj točki i zatim se odbacuje točka s

najvećom vrijednošću funkcije i po određenom se postupku odabire jedna nova točka. Na taj način

konstruira se novi simpleks i postupak se nastavlja. Na osnovi određenih pravila simpleks se tokom

postupka mijenja postupcima refleksije, ekspanzije i kontrakcije na takav način da se konačno dođe

do točke u kojoj funkcija cilja ima minimum.

Kako je spomenuto, u svakom koraku se postupka odabire se skup točaka

xj j = 1, . . ., n+1

i izračunavaju se pripadne vrijednosti funkcije F(xj).

Zatim se odredi točka xh u kojoj je vrijednost funkcije najveća i točka xl u kojoj je vrijednost funkcije

najmanja, tj.

F(xh) > F(xj), za svaki j ≠ h

F(xl) < F(xj), za svaki j ≠ l

Nakon toga se određuje centroid xc svih točaka osim xh.

1

1

1 n

hjj

jc xxn

U dvodimenzionalnom prostoru centroid je polovište razmaka dviju točaka, kao što je prikazano na

slici:

Page 15: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

15

Nakon što se odredio centroid može se pristupiti procesu traženja nove točke simpleksa koja će

zamijeniti točku xh. Za to se koriste tri operacije prokazane na slici:

x1

xc

x2

xh

xr

a

b

x1

xc

x2

xh

xr

c

b

xe

x1

xc

x2

xh

xk

a

d

REFLEKSIJA EKSPANZIJA KONTRAKCIJA

Postupkom refleksije se točka xh reflektira u odnosu na točku xc i dobiva se reflektirana točka xr.

Refleksija je definirana kao:

xxx hcr 1 ;

a

b

gdje je α koeficijent refleksije čiji je iznos jednak omjeru udaljenosti b i a prikazanih na slici.

Ekspanzija simpleksa se definira kao udaljavanje točke xr od centroida xc ako se može očekivati

smanjenje funkcije u tom smjeru. Ako se definira koeficijent ekspanzije γ kao

b

c

tada se ekspanzija definira izrazom

xxx rce 1

U nekim slučajevima je potrebno izvršiti kontrakciju simpleksa, na način da se točka xh približi

centroidu. Kontrakcija (točka xk) se računa prema izrazu:

xxx hck 1 ;

a

d

Primjenom opisanih metoda transformacije, simpleks se može reflektirati, rasti, smanjivati i na taj

način konačno doseći minimum. Ako refleksija, ekspanzija i kontrakcija ne dovedu do uspjeha,

odnosno nove točke u kojoj je vrijednost funkcije cilja manja od F (xh), tada se simpleks treba

smanjiti, i to tako da se sve točke pomaknu prema točki xl s najmanjom vrijednošću funkcije.

Page 16: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

16

Nelder i Mead su definirali slijedeći kriterij zaustavljanja:

1

1

21 n

j

cj xFxFn

gdje je ε unaprijed zadani mali broj.

Numeričkim eksperimentiranjem pokazano je da postupak po Nelderu i Meadu vrlo efikasan, te da

su preporučljive vrijednosti koeficijenata

1 ; 5.0 ; 2

3.5 Opis programskog simulatora Simpleks algoritma (primjer)

Prilikom izgradnje Simpleks algoritma glavna zamisao je bila prikazati način na koji se simpleks kreće

kroz prostor i putuje prema minimumu funkcije. Iz tog razloga je traženje minimuma funkcije

ograničeno na funkcije jedne varijable i funkcije dvije varijable. Iako je ostvareni algoritam traženja

minimuma općenit, odnosno moguće je tražiti minimum funkcije više varijabli, moguće je odabrati

samo funkcije cilja jedne ili dvije varijable kako bi se grafički mogao prikazati simpleks.

3.5.1 Sučelje programa simulatora

Grafičko sučelje programa se sastoji od kontrolnih okvira i okvira za prikaz. Kontrolni okviri služe za

postavljanje parametara simulacije dok se tijek simulacije grafički prikazuje u okviru za prikaz.

Kontrolni okviri programa su sljedeći:

Goal Function Settings: odabire se jedna od ponuđenih funkcija koje se optimiraju. Nakon što

se odabere funkcija prikazuju se unaprijed zadani optimalni parametri simpleks postupka (α,

β, γ i ε). Parametri se mogu mijenjati prije i za vrijeme postupka traženja minimuma. Promjena

parametara ε utječe na točnost i brzinu broj koraka simulacije. Smanjenjem vrijednosti

parametra ε smanjuje se točnost rezultata i broj koraka simulacije.

Simulation Control: okvir sadrži kontrole za početak, završetak, zaustavljanje i nastavak

izvođenja simulacije postupka traženja minimuma.

Simulation Speed: kliznik za podešavanje brzine simulacije

Page 17: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

17

slika: Grafičko sučelje programa

3.6 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 slučaju je to trokut). Naime, u slučaju prikaza ciljne funkcije tijek

simpleks postupka se vrlo slabo mogao pratiti. U slučaju traženje minimuma funkcije jedne varijable

iscrtava se funkcija i simpleks (u ovom slučaju je to pravac paralelan sa x koordinatnom osi). U ovom

slučaju se doista može provjeriti ispravnost rada simpleks postupka, ali se slabije uočavaju operacije

nad simpleksom koje su bit ovog postupka. Osim toga, prilikom traženja minimuma funkcije koje

nisu unimodalne na promatranom intervalu pokazuje se ograničenost postupka, odnosno vidi se da

ovisno o početnim točkama simpleksa algoritam pronalazi najbliži lokalni minimum.

Simpleks

Page 18: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

18

4 ZAKLJUČAK

Kako bi se razumjeli postupci traženja minimuma najprije su navedeni osnovni pojmovi i kratak opis

pojedinih metoda vezani uz optimiranje funkcija. Nakon toga slijedi po jedan primjer za svaku

metodu.

Na kraju potrebo je usporediti genetske algoritme sa matematičkim metodama. Zajedničko im je što

se ne mogu izvoditi bez računala.

Obzirom na moje malo iskustvo u ovom području veliku prednost dajem genetskim algoritmima

jer:

sposobni odrediti položaj globalnog optimuma u prostoru sa više lokalnih ekstrema

mogu raditi sa jednostavnim i složenim problemima

primjenjivi na velik broj problema neovisno o vrsti informacije

ukoliko ne nađe globalni optimum, daje vrlo dobro približno rješenje koje može zadovoljiti

(moguć uvid u skup rješenja)

jednostavnim ponavljanjem može se povećati pouzdanost rezultata

Glavni nedostaci bili bi:

ako se radi o složenijem problemu, teško definiranje funkcije dobrote

teško je postaviti dobre parametre (velik utjecaj parametra na efikasnost)

ne može se postići 100% pouzdanost rješenja

zbog velikih računskih operacija GA često spor, stoga se traži velika procesorska snaga

Matematičke metode daju dobre rezultate za jednostavne funkcije, a slože ne znam dali je uopće

moguće opisati. U praksi postoji veliki broj algoritama, od kojih je svaki prikladan za specifični

optimizacijski problem. Osnovni nedostatak im je sporo kretanje prema minimumu, a traženje

minimuma se svodi na smanjenje intervala u kojem se on nalazi. Kod većine metoda vrlo je bitan

izbor točaka unutar promatranog intervala – ako se odaberu pogrešne točke algoritam se zaustavlja

na lokalnom minimumu.

Page 19: GENETSKI ALGORITMI KAO OPTIMIZACIJSKI ALAT - …seminarko.weebly.com/uploads/3/0/6/5/30656523/seminar_umjetna...Metoda kvadratne interpolacije 3.4. Postupci direktnog traženja za

SEMINARKO: GA U ODNOSU NA MATEMATIČKE METODE

19

5 LITERATURA

Matija Hoić, Inge Vinković: UPUTSTVA ZA KORIŠTENJE ALATA GENETSKOG ALGORITMA U

PROGRAMU MATLAB 7.2

Dražen Antolić: Procjena vremena izrade proizvoda regresijskim modelima, Magistarski rad, FSB,

2007. [http://www.fsb.hr/NewsUpload/24_04_2007_7145_Procjena_vremena_izrade.pdf]

Marin Golub: http://www.zemris.fer.hr/~golub/ga/ga.html

MATLAB R2007b, ver. 7.5.342, Help

Wikipedia: http://en.wikipedia.org/wiki/Optimization_(mathematics)

Ivan Gavran: Postupci direktnog traženja za određivanje minimuma funkcija više varijabli, projekt,

FER, [http://web.zpr.fer.hr/ZPM13C2/]