220 likes | 368 Views
Seminar Optimizacija rada semafora genetskim algoritmima. Andrija Čajić Voditelj: Doc. dr. sc. Domagoj Jakobović. Uvod. ??. Uvod u genetske algoritme. Algoritmi koji imitiraju evoluciju. Optimizacija semafora. Model cestovne mreže.
E N D
Seminar Optimizacija rada semafora genetskim algoritmima Andrija ČajićVoditelj: Doc. dr. sc. Domagoj Jakobović
Uvod ??
Uvod u genetske algoritme • Algoritmi koji imitiraju evoluciju
Optimizacija semafora Model cestovne mreže Pojednostavljeni model skupa ulica i križanja na kojem ćemo pokušati optimizirati promet
Optimizacija semafora • Cilj: podesiti rad svih semafora prema zadanim rutama f1 = 140; f1a = 90; f1b = 50; f2 = 100; f3 = 50;
Optimizacija semafora Stanja semafora: Na svakom križanju postoji skup semafora koji dozvoljavaju odnosno zabranjuju promet u nekim pravcima. Zato pod pojmom “stanje semafora”, zapravo podrazumjevamo trenutno dopuštene smjerove kretanja na nekom križanju.
Rad semafora • Svi semafori rade na istom principu: Genetski algoritam zapravo optimizira vremenska trajanja ovih stanja da bi se postigla što bolja protočnost. Odnosno… Ili…
Rad semafora • Kružni tok stanja možemo napisati u brojčanom obliku koji će sadržavati informaciju o radu semafora • p = (t1, t2, t3, t4) … “propusnost semafora” • Proizvoljno odabiremo fiksnu vrijednost zbroja svih propusnosti semafora -> t1+t2+t3+t4 = 120 • p = (30, 30, 30, 30) – uređena četvorka koja opisuje neutralni rad semafora
Jedinka • Tek definiran rad svih semafora za zadani model cestovne mreže predstavlja jedno potencijalno rješenje odnosno JEDINKU • Npr:
Genetski operatori • Mutacija i križanje • Mutacija je unarni operator • Stvara novu jedinku koja je kopija neke već postojeće jedinke iz populacije te izmjeni neki njezin slučajno odabrani dio • Križanje je binarni operator • Stvara novu jedinku uz pomoć dvije već postojeće jedinke iz populacije
Mutacija • mutacija povećanja - jedan od elemenata u ćeliji povećamo za 3 a ostala 3 svakog smanjimo za 1 • mutacija smanjenja - jedan od elemenata u ćeliji smanjimo za 3 a ostala 3 svakog povećamo za 1 Npr: (30-30-30-30)–mutacijom povećanja->(29-33-29-29) -mutacijom smanjenja->(30-34-30-26)
Križanje Roditelj A Roditelj B Nova jedinka:
Funkcija cilja • način određivanja dobrote jedinke • U smjeru 1 auti prolaze frekvencijom f1, u smjeru 2 frekvencijom f2, u smjeru 3 frekvencijom f3 a smjeru 4 frekvencijom f4 • U propusnosti semafora p = (t1, t2, t3, t4), t1 predstavlja propusnost u smjeru 1, t2 u smjeru 2, itd.
Funkcija cilja Gdje je propusnost odabranog semafora primjerice p=(33,23,24,40) Iz ovoga je lako zaključiti sljedeće:
Funkcija cilja • Bilo bi idealno kada bi propusnost u svim smjerovima bila što veća ali to je nemoguće zbog ograničenja t1+t2+t3+t4 = 120 • Zbog toga je poželjno da propusnosti semafora budu proporcionalne intenzitetu prometa po smjerovimat1~f1, t2~f2, t3~f3, t4~f4 • U kojoj mjeri neka jedinka ispunjava ovo svojstvo?
Funkcija cilja Ako za neki semafor k nađemo parametar (gdje su fi inteziteti prometa po smjeru i, a ti propusnost prometa u smjeru i), uočavamo da padom vrijednosti x-a, raste kvaliteta rada semafora. Funkcija dobrote jedinke biti će upravo suma x-eva za sve semafore:
Primjer određivanja dobrote Gdje je propusnost odabranog semafora primjerice p=(33,23,24,40) Ako se propusnost semafora izmjeni... Npr: p=(62,9,39,10) Vrijednost paramtra x za ovaj semafor je: x = (100/33)^2 + (0/23)^2 + (50/24)^2 + (0/40)^2 = 13,522 Vrijednost parametra x za takav semafor je: x = (100/62)^2 + (0/9)^2 + (50/39)^2 + (0/10)^2 = 4,24 Iz ovoga vidimo da je nova propusnost bolja. Zašto je to tako?
Dobrota jedinke • Pri postupcima odabira (selekcije) odabiru se kvalitetne jedinke koje je poželjno propagirati u sljedeće generacije, ondnosno nekvalitetne jedinke koje je nužno eliminirati iz populacije • Dobrota jedinke daje nam direktnu informaciju o toj kvaliteti
Simulacija rješenja Za zadanu sliku i intezitete ruta: f1 = 140; f1a = 90; f1b = 50; f2 = 100; f3 = 50; Nakon niza generacija nastalih radom genetskog algoritma… Jedna jedinka iz populacije izgledala bi primjerice ovako:
Nastavak rada • Daljnjim radom, populacija se kontinuirano usavršava • Za uvjet zaustavljanja genetskog algoritma možemo odabrati više kriterija: broj generacija, broj generacija bez poboljšanja, vremensko ograničenje…
Zaključak • Moguće su i potrebne mnoge modifikacije • Npr: posebni kopije rada za razna doba u danu (jutro, dan, večer, noć) ili za doba u godini • Optimiziranje rada semafora genetskim algoritmom rezultiralo boljom protočnosti prometa • Vrijeme je najvrijedniji resurs, a kvalitetniji promet znači uštedu vremena za sve