Seminar Optimizacija rada semafora genetskim algoritmima
description
Transcript of Seminar Optimizacija rada semafora genetskim algoritmima
Seminar Optimizacija rada semafora
genetskim algoritmima
Andrija ČajićVoditelj: Doc. dr. sc. Domagoj Jakobović
Uvod
??
Uvod u genetske algoritme
• Algoritmi koji imitiraju evoluciju
Optimizacija semaforaModel 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 semaforaStanja 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:
Odnosno…
Ili…
Genetski algoritam zapravo optimizira vremenska trajanja ovih stanja da bi se postigla što bolja protočnost.
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: (29-29-33-29)1 (30-30-30-30)2 (30-30-30-30)3 (31-31-31-27)4
(30-30-30-30)5 (30-30-30-30)6 (26-34-30-30)7 (30-30-30-30)8
(30-30-30-30)9 (36-28-28-28)10 (30-30-30-30)11 (32-28-28-32)12
(30-30-30-30)13 (29-33-29-29)14 (30-30-30-30)15 (30-30-30-30)16
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
p1 p2 p3 p4
p5 p6 p7 p8
p9 p10 p11 p12
p13 p14 p15 p16
p1 p2 p3 p4
p5 p6 p7 p8
p9 p10 p11 p12
p13 p14 p15 p16
p1 p2 p3 p4
p5 p6 p7 p8
p9 p10 p11 p12
p13 p14 p15 p16
Nova jedinka:
Roditelj A Roditelj B
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
Iz ovoga je lako zaključiti sljedeće:
Gdje je propusnost odabranog semafora primjerice p=(33,23,24,40)
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)
Vrijednost paramtra x za ovaj semafor je: x = (100/33)^2 + (0/23)^2 + (50/24)^2 + (0/40)^2 = 13,522
Ako se propusnost semafora izmjeni... Npr: p=(62,9,39,10)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šenjaZa 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
Hvala na pozornosti