genetski algoritmi kao optimizacijski alat -...
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022011801/5af489997f8b9a9e598cdbb9/html5/thumbnails/19.jpg)
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/]