genetski algoritam seminarski

9
UNIVERZITET U TUZLI FAKULTET ELEKTROTEHNIKE ELEKTROENERGETSKE MREŽE I SISTEMI SEMINARSKI RAD Genetski algoritmi GA! 0

Upload: erneskaranovic

Post on 06-Oct-2015

51 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERZITET U TUZLI

FAKULTET ELEKTROTEHNIKE

ELEKTROENERGETSKE MREE I SISTEMI

SEMINARSKI RADGenetski algoritmi (GA)Sadraj21.Uvod

42.Grafiki prikaz funkcije

53.Optimization Toolbox

53.1 Minimum

63.2 Maksimum

74.Zakljuak

1. Uvod

Genetski algoritmi su najpoznatiji i naee koriteni evolucijski algoritmi. Koriste se za rjeavanje optimizacionih problema na principu sluajnog pretraivanja prostora rjeenja u potrazi za globalnim optimumom. GA ne koristi izraunavanja izvoda funkcije, moe se primijeniti za rjeavanje kako diskretnih, tako i kontinualnih optimizacionih problema. GA je heuristiki metod optimizacije. GA zasnova rad na procesima oponaanja prirodne selekcije. Iskoritene su injenice koje se neprestano odvijaju u prirodi: Bolje individue preivljavaju i imaju jai uticaj na formiranje sljedeih generacija;

individue jedne generacije u populaciji formiraju novu generaciju u kojoj se osobine novih individua dobijaju kombinacijom genetskog materijala roditelja;

s vremena na vrijeme dolazi do do sluajne izmjene (mutacije) genetskog materijala jedneindividue. Moe se upotrebljavati u svim problemima koji za rjeavanje koriste klasine optimizacione metode

Osnovne razlike izmeu GA i tradicionalnih metoda optimizacije su to GA:

rade sa kodiranim varijablama (a ne sa varijablama u originalnom obliku),

pretrauju iz cijele populacije taaka (a ne samo iz jedne take),

koriste direktno funkciju cilja (a ne njene izvode) i koriste probabilistika (a ne deterministika) pravila za prelaz u sljedei skup taaka, mogu se primijeniti na veliki broj razliitih problema koji se mogu predstaviti kao optimizacioni, za funkciju koja se optimizira ne postoje ogranienja (da mora da je neprekidna, da za nju postoje izvodi, itd.), struktura GA se moe jednostavno nadograditi, pouzdanost rezultata se moe poveati jednostavnim ponavljanjem postupka, kao rezultat dobija se skup rjeenja, a ne samo jedno rjeenje, ako se u toku procesa ne nae najbolje rjeenje (kao globalni optimum), ipak se dobija rjeenje koje moe zadovoljiti, jednostavno primjenljiv na viedimenzionalnim problemima, kao pomo za rjeavanje GA dostupni su razni softverski paketi kao to su Matlab, Matematika.

Nedostaci genetskih algoritama:

GA je potrebno prilagoditi razmatranom problemu i zadatim ogranienjima (esto definicija optimizacione funkcije predstavlja kljuni problem), teko je postaviti odgovarajue parametre, a ti parametri imaju velik uticaj na kvalitet rada GA, ne moe se postii apsolutno pouzdano rjeenje, zbog stohastike prirode postupka, nije poznata prava priroda rjeenja, zbog izvoenja velikog broja raunskih operacija, GA su spori i zahtijevaju veliku procesorsku snagu, odnosno njihova konvergencija je znatno sporija od ostalih numerikih metoda.

GA-e mogue je posmatrati, prije svega, kao optimizacione metode, na osnovu kojih se rjeavaju problemi dati u sljedeem obliku: Pronai takvo da funkcija f(x) ima svoj maksimum u Xo, gdje je: proizvoljna funkcija:

Ako je problem optimizacije minimiziranje funkcijef(x), mogue je definisati funkciju g(x), takvu da je g(x)= f(x), pri emu je:

Analogija pojmova koritenih u prirodnoj evoluciji i genetskim algoritmima

Slika 1.1 Grafika predstava populacije

2. Grafiki prikaz funkcije

Za nalaenje lokalnog i globalnog minimuma (ili maksimuma) pomou programskog paketa Matlab, potrebno koristiti u njega ugraeni toolbox pod nazivom Optimization tool. Prije nego to njega upotrijebimo potrebno je definisati samu funkciju kao i interval na kojem traimo lokalni minimum (maksimum). U ovom radu emo izabrati funkciju na intervalu [-2;2]. Za grafiki prikaz potrebno je ukucati sljedei kod u komandni prozor Matlaba.

Te na taj nain dobijamo grafiki prikaz eljene funkcije:

Slika 2.1 Grafiki prikaz funkcije

3. Optimization Toolbox

Rjeavanje problema nalaenja minimuma odnosno maksimuma zadate funkcije moe se uraditi koristei Optimization Toolbox. Prije svega je potrebno pozvati ovaj toolbox kucajui optimtool('ga') te na taj nain dobijamo:

Slika 3.1 Optimization toolbox

3.1 Minimum

U polje Fitness functions pozovemo zadatu funkciju (koja je prethodno snimljena u .m datoteci), dok u polje Numer of variables unesemo 1. U segmentu Options mogu se podeavati dodatne opcije kao to su: Population size (broj populacije), Crossover (ukrtanje), Mutation (mutacija) itd. Za ovaj tip funkcije moe se ostaviti sve na zadatu vrijednost. Sve to je potrebno podesiti u Options je Initial Range na [-2;2]. Pokretanjem algoritma klikom na Start dobijamo sljedei rezultat:

Slika 3.2 Lokalni minimum funkcije

Final point predstavlja vrijednost na x-osi dok Objective function value predstavlja vrijednost na y-osi te na taj nain dobijamo da je lokalni minimum na taci (1.57;0.03). Meutim ukoliko jo par puta pokrenemo algoritam dobijamo povremeno za Final point vrijednost -1.558 to nam govori da na ovom intervalu imaju dva lokalna minimuma (to se da vidjeti i sa slike 2.1).

Slika 3.3 drugi lokalni minimum

Takoer ponekad se dobije za Final point vrijednost -4.778. Ovaj problem se moe rijeiti ako u polja Bounds postavimo za lower -2, dok za upper 2.3.2 Maksimum

Za nalaenje maksimuma i ovdje se moe koristiti pravilo nalaenja minimuma negativne funkcije (kao i u klasiinim optimizacijama) tj. . Funkcija u .m datoteci sada ima oblik:

Pa kao rezultat izvoenja algoritma dobijamo

Slika 3.4 Maksimum funkcije sa negativnim predznakom

Na ovaj nain smo dobili da je u taki (0;-1) minimum odnosno da je maksimum u taki (0;1).

4. Zakljuak

Iz priloenog se moe zakljuiti da Optimization Toolbox omoguava nalaenje minimuma (optimuma) sloenih funkcija koristei genetski algoritam. Meutim ovaj algoritam je ponekad nesiguran, posebno za globalni minimum, jer prilikom izvoenja alogritma vie puta dobijaju se razliite take minimuma (to je takoer prikazano u ovom radu). SHAPE \* MERGEFORMAT

1