Optimizacija prometnih procesa Heuristike P4 Prof. dr. sc. Tonči Carić Juraj Fosin, dipl. ing.
Sadržaj Heuristike Heuristike Strategije pretrage Lokalnom optimum Pohlepna greedy heuristika Lokalna pretraga Local search Diversifikacija i intenzifikacija Simulirano kaljenje SA (oponašanje prirode) Diversifikacija i intenzifikacija Algoritam simuliranog kaljenja Mravlje kolonije Primjer pronalaženja minimalnog puta Feromon traga Algoritam Metoda mravlje kolonije
Što je dobro, što loše, a što još gore? George Pólya (1887-1985) u poznatoj knjizi How to Solve It (1945) Mađarski matematičar 1914-1940 ETH Zürich 1940-1953 Stanford University Heurističko mišljenje je dobro po sebi. Loša je mješavina heurističkog mišljenja i rigoroznog dokaza. Još je gore prodavati heurističko mišljenje kao rigorozan dokaz. 3
Heuristike Heuristike su u općem smislu tehnike rješavanja problema koje se temelje na iskustvu. Obilježja heurističkih metoda: u pravilu nije moguće odrediti koliko su rješenja dobivena heurističkim metodama, udaljena od optimalnih rješenja problema često pronalaze prihvatljiva rješenja problema upotrebljiva u praksi rješavaju problem u vremenski kratkom roku u odnosu na egzaktna rješenja
Pristupi rješavanju problema kombinatorne optimizacije (za npr. VRP) 5
Problemi za koje možemo dokazati da su NP teški problemi, danas se u pravilu rješavaju heuristikama jer trenutno ne postoji bolji pristup. 6
Heuristike Neka je A algoritam koji daje dopustiva rješenja za bilo koji primjerak I optimizacijskog problema P Neka je F*(I) vrijednost funkcije cilja za optimalno rješenje od I Neka je F(I) vrijednost funkcije cilja za dopustivo rješenje od I koje daje A Kažemo da je A heuristika ukoliko nam nije poznata nikakva teoretska granica dobrote (relativna ili apsolutna pogreška) od A znači nije nam poznata nikakva gornja ograda za razliku ili kvocijent od F(I) i F*(I) koja bi vrijedila za svaki I najčešće postoje rezultati eksperimenta koji pokazuju da za mnoge primjerke I heuristika daje F(I) koji je blizu F*(I)
Strategije Pretrage Heuristike su obično zasnovane na nekoj intuitivno prihvatljivoj strategiji za koju je lako provjeriti da u većini slučajeva daje dobre rezultate Dvije jednostavne strategiju su: pohlepni pristup lokalno traženje
Pohlepna greedy heuristika Pohlepni pristup konstruira rješenja u nizu koraka (faza) u svakom koraku biramo mogućnost koja je lokalno optimalna u nekom smislu nadamo se da ćemo doći do globalnog optimuma Kada pohlepni pristup primijenimo na NP teški problem ponekad je moguće dobiti približni algoritam
10
Lokalna pretraga Local search Lokalna pretraga (traženje) je heuristička strategija za rješavanje problema zahtijeva da u svakom trenutku raspolažemo jednim dopustivim rješenjem problema tekuće rješenje nastoji se poboljšati promatramo okolinu (susjedstvo) tekućeg rješenja skup dopustivih rješenja koja su blizu tekućem u smislu da se mogu dobiti jednostavnom transformacijom tekućeg biramo najbolje rješenje iz okoline ili bar rješenje koje je bolje od tekućeg izabrano rješenje proglašava se novim tekućim postupak se nastavlja dok god je moguće, tj. sve dok ne dobijemo tekuće rješenje u čijoj okolini nema boljeg rješenja
Lokalnom optimum Glavni nedostatak lokalne pretrage je što može zastati u lokalnom optimumu lokalni optimum globalni optimum Za vođenje lokalne pretrage nužno je osigurati mehanizam bijega iz lokalnog optimuma
Metaheuristički pristup rješavanju problema na grafu Ne garantiraju pronalazak optimalnog rješenja Pronalaze prihvatljivo rješenje u kratkom vremenu Generalno primjenjive Glavne značajke Mehanizam diversifikacije Mehanizam intenzifikacije 13
Diversifikacija Diversifikacija i intenzifikacija Nastoji se istražiti što veći prostor rješenja Intenzifikacija Iskoristiti pojedino područje u potrazi za lokalnim optimumima Glavni problem metahuristika upravo je u balansu ova dva mehanizma (metode traže podešavanja) Nije dobro previše se zadržavati u pojedinom području pretrage, a s druge strane nije dobro ni prebrzo napuštati pojedino područje bez da se pronađe najmanji lokalni ekstrem 14
Simulirano kaljenje Algoritam simuliranog kaljenja, baziran je na analogiji između simulacije kaljenja metala i problema kombinatoričke optimizacije Kaljenje predstavlja proces u kojemu se materija zagrije do maksimalne temperature (temp.taljenja) Na visokim temperaturama unutarnja struktura metala je stohastički organizirana
16 Simulirano kaljenja
Simulirano kaljenja Što je veća temperatura, veće je i gibanja atoma Brzim spuštanjem temperature atomi ostaju zarobljeni u položaju u kojem su se zatekli Formiraju nestabilne strukture koje predstavljaju energetski lokalni optimum Sporim hlađenjem moguće je dobiti Savršenu kristalnu strukturu metala bez nepravilnosti kada atomi imaju dovoljno vremena da strukturu formiraju energetski globalni optimum 17
18 Usporedba
Diversifikacija i intenzifikacija Temperatura se koristi kao parametar za reguliranje mehanizama Diversifikacija Veća temperatura znači bolje istraživanje cjelokupnog prostora rješenja prihvaćanje i lošijih rješenja koji udaljuju pretragu od postojećeg susjedstva Intenzifikacija Manja temperatura znači bolje pretraga lokalnog susjedstva rijetko se prihvaćaju lošija rješenja i teži se lokalnom optimumu 19
SA (oponašanje prirode) Proces zagrijavanja dopušta slučajno gibanje atoma Naglo hlađenje sprječava proces dosezanja potpune termalne ravnoteže atoma. Ako se krutina hladi polagano, daje se atomima dovoljno vremena da oni postignu minimalno energetsko stanje formirajući pravilnu kristalnu rešetku Simulirano kaljenje koristi stohastički pristup vođenja pretrage Ova metoda dopušta da se pretraga nastavi u smjeru susjednih rješenja, iako funkcija cilja u tom smjeru daje lošije rezultate.
SA (vjerojatnost prihvaćanje rješenja) U iteraciji t simuliranog kaljenja, rješenje x se odabire nasumce u okolini N(x t ). Ako je f(x) f(x t ) tada se x t+1 postavlja na vrijednost x ; inače : 4.2.1 p t je padajuća funkcija argumenata [t, f(x)-f(x t )]. Često se p t definira kao: p t = e f ( x) f Θ t ( x t ) 4.2.2 Θ t je temperatura pri iteraciji t.
SA (raspored hlađenja) Zakonitost po kojoj se mijenja Θ t naziva se raspored hlađenja Uobičajeno je da je Θ t ima padajući trend u svakoj slijedećoj iteraciji Temperatura Θ t se u početku postavlja na neku početnu vrijednost Θ 1 >0 ovisno o početnom rješenju tako da u početku izvršavanja algoritma vjerojatnost prihvaćanja lošijeg rješenja bude visoka, a na kraju izvršavanja jaka niska Jedan od rasporeda hlađenja je geometrijsko pravilo Svakih T slijedećih koraka Θ t se množi sa faktorom α (0<α<1) tako da se vjerojatnost prihvaćanja lošijeg rješenja smanjuje s vremenom
SA (kriterij zaustavljanja pretrage) Kriteriji zaustavljanja najčešće su: promjena ciljne funkcije f 1 ispod ϖ 1 % nakon k 1 uzastopnih ciklusa od T iteracija broj pomaka koji se prihvaćaju manji je od ϖ 1 % od T za k 2 uzastopnih ciklusa ukupno je izvršeno k 3 ciklusa od T iteracija
Algoritam simuliranog kaljenja p t = e f ( x) f ( Θ t x t ) 24
25 Mravlje kolonije
Primjer pronalaženja minimalnog puta Ant Algorithms (L. Gamberdella - www.idsia.ch)
Stigmergija temelji se na principima STIGMERGIJE mehanizam neizravne komunikacije između jedinki iste vrste putem tragova koji ostavljaju u svojoj okolini takav oblik komunikacije omogućava postizanje kompleksnih, samoorganiziranih ponašanja unatoč nedostatku sposobnosti planiranja, inteligencije i pamćenja kod samih jedinki 27
Feromon Mravi, termiti, pčele (insekti) komuniciraju neizravno putem kemijske supstance feromona Insekti su sposobni otpuštati i detektirati različite vrste feromona Feromon traga mrave potiče da slijede označeni put 28
Feromon traga Prvi mravi kojim samostalno pronađu hranu, pri povratku u gnijezdo ostavljat će jači feromonski trag ovisno o kvaliteti i količini hrane koju su pronašli Kada ostali mravi naiđu na jaku koncentraciju feromona postoji velika vjerojatnost da će započeti slijediti trag Budući da se kraćim putem hrana brže transportira, na njemu će se vremenom pojaviti veća koncentracija feromona Velika većina mravi će u konačnici prometovati istim najkraćim putem 29
Algoritam mravlje kolonije umjetni mravi (softverski agenti) za razliku od mravlje jedinke u prirodi ima mogućnost: pamćenja i odlučivanja na temelju viđenja okoline mogu određivati udaljenosti između lokacija mogu na kraju putovanja rekonstruirati cijeli put feromonski trag se pamti u matrici 30 Pronalazak hrane i vraćanje u gnijezdo predstavljaju konstruiranje izvedivog rješenja uspostavljanje najkraćeg puta predstavlja pronalazak optimalnog rješenja
Algoritam Metoda mravlje kolonije skica algoritma za TSP inicijalizacija n umjetnih mrava izračun matrice udaljenosti i vremena udaljenosti između gradova konstruiranje n različitih inicijalnih rješenja pomoću neke heurističke metode konstruirana rješenja koriste se za inicijalizaciju matrice feromona umjetni mravi konstruiraju svoja rješenja oslanjajući na feromon i viđenje situacije i prethodnih rješenja ukoliko mrav pronađene globalno najbolje rješenje, rješenje se sprema u varijablu s min 31
Algoritam Metoda mravlje kolonije simulira isparavanje feromona u cijeloj matrici 32 dodavanje feromona na bridovima koji su korišteni u konstruiranim novim rješenjima
Akumuliranje feromona TSP problem R112 1. iteracija 50. iteracija 100. iteracija Korišteni materijali iz magistarskog rada Metaheurističke metode rješavanja problema usmjeravanja vozila s vremenskim prozorima, kolege Ante Galića 2012 godina. 33