heuristike zasnovane na lokalnom pretra živanju

38
Heuristike zasnovane na lokalnom pretraživanju MPIO MF, Beograd, 2013/14.

Upload: olga-watkins

Post on 02-Jan-2016

46 views

Category:

Documents


2 download

DESCRIPTION

Heuristike zasnovane na lokalnom pretra živanju. MPIO MF, Beograd, 201 3/14. Heurističke metode. Namenjene su za rešavanje raznih optimizacijskih problema prilagođene su svojstvima i specifičnostima problema koji se rešava Najpre je potrebno definisati prostor rešenja za dati problem - PowerPoint PPT Presentation

TRANSCRIPT

Heuristike zasnovane na lokalnom pretraivanju

Heuristike zasnovane na lokalnom pretraivanjuMPIO MF, Beograd, 2013/14.Heuristike metodeNamenjene su za reavanje raznih optimizacijskih problema

prilagoene su svojstvima i specifinostima problema koji se reava

Najpre je potrebno definisati prostor reenja za dati problem

Zatim se odabere poetno reenje, pa se nakon toga prostor reenja pretrauje u potrazi za to boljim reenjima

Razlika meu heuristikim algoritmima je u tome na koji nain obavljaju to pretraivanje.

Lokalno pretraivanjeopti heuristiki pristup

esto se primenjuje u kontinualnoj i diskretnoj optimizaciji.

lokalno pretraivanje nastoji pronai optimalno/najbolje reenje smanjujui prostor pretraivanja

Svakom elementu x iz prostora dopustivih reenja X pridruuje se neki podskup N(x) X koji se naziva okolina od x, a njeni lanovi y N(x) su susedi od x.

Lokalno pretraivanjeZa poetno reenje bira se proizvoljna taka iz prostora dopustivih reenja.

U svakoj iteraciji pretrauje se okolina trenutnog reenja i u njoj nalazi, sused koji je prema nekom kriterijumu bolji od tekueg reenja, i predstavlja sledee reenje.

Ukoliko se takav sused ne moe pronai, pretraivanje staje i za aproksimaciju optimalnog reenja uzima se ono za koje je vrednost funkcije cilja najmanja.

Osnovni nedostatak lokalnog pretraivanja je to se (obino) zaustavlja pri nailasku prvog lokalnog minimuma koji ne mora biti globalni minimum

Uspeh zavisi od poetnog reenja, strukture okoline i kako pretraujemo okolinuema lokalnog pretraivanjaInicijalizacija: Izabrati poetno reenje x1 X; x* = x1 , f* =f ( x1 )

Iterativni korak: n = 1, 2, 3, . . . U okolini N( xn ) trenutnog reenja nai sledee reenje xn+1 , prema zadatom kriterijumu Ako je f ( xn+1 ) < f* , tada x* = xn+1 i f* = f( xn+1 ) (ako je problem tipa min)

Kraj: Ako kriterijum izbora nije zadovoljan ni za jednog suseda iz okoline N( xn) ili je zadovoljen neki drugi kriterijum zaustavljanja metoda staje, a x* se uzima za aproksimaciju optimalnog reenja.

Efikasnost lokalnog pretraivanja zavisi od poetnog reenja, strukture okolina koje se koriste, kao i od kriterijuma koji se koristi u svakoj iteraciji za izbor sledeeg reenja.

Pri definisanju okoline treba teiti da budu zadovoljeni sledei uslovi:

Okolina svake take treba da bude simetrina

Okolina ne treba da bude ni suvie velika, ni suvie mala

Polazei od proizvoljne take prostora X, nizom uzastopnih pomaka moemo doi do bilo koje druge take ovog prostora

Pomak treba da obezbedi to jednostavnije i bre generisanje susednih reenjaIterirano lokalno pretraivanjeIterated Local Search (ILS)

Kvalitet reenja dobijenog LS izmeu ostalog zavisi od poetnog reenja u ijoj okolini traimo poboljanjeKako poboljati performanse LS?

Strategija 1: Multistart pristup (Multistart Local Search-MLS) Poetno reenje se bira na sluajan nain, a zatim vri LS u njegovoj okolini. Izbori poetnog reenja u svakoj iteraciji su meusobno nezavisni Iterirano lokalno pretraivanjeKako poboljati performanse LS?

Strategija 2: Unaprediti MLS Reenje dobijeno kao rezultat u jednoj MLS iteraciji uzeti kao poetno reenje za narednu iteraciju

ili

Perturbaciju reenja dobijenog kao rezultat u jednoj MLS iteraciji uzeti kao poetno reenje za narednu iteraciju Perturbacija se vri u skladu sa prethodnim iskustvom (istorijom pretraivanja)

Ovaj drugi pristup se naziva Iterated Local Search ILS

ema ILS

Princip ILS

Iterated Local Search Perturbacija reenjaZnaajne promene tekueg reenja (za razliku od standardne LS)Veliki sluajni pomaci od tekueg reenja, koji nas vode u udaljene regione pretraivakog prostora- Mogua strategija: jedan deo reenja se zadri a drugi znaajnije promeni

Kriterijum prihvatanja novog reenja - uslovi koje novo reenje (lokalni optimum) mora zadovoljiti da bi zamenio tekue reenje- Najee vrednost funkcije cilja

Iterated Local Search Za Local Seach u emi ILS moe se koristiti bilo koja deterministika ili stohastika S-heuristika (tabu seach, simulated annealing, VNS,...)

P-heuristike?

Tabu pretraivanjeTabu search se bazira na principu lokalnog pretraivanja

Vana komponenta je tzv. adaptivna memorija, tj. pamenje nekih podataka o prethodnim fazama procesa pretraivanja, koji utiu na izbor sledeih taaka u ovom procesu.

Kada pronaemo potencijalno reenje, oznaimo ga kao tabu (zabranjeno) kako se vie ne bi vraali na njega.

Sva reenja oznaena kao tabu pamte se u takozvanoj tabu listi TL

Tabu vreme TV je broj iteracija za vreme kojih je reenje sadrano u tabu listi zabranjeno.ema Tabu pretraivanjaInicijalizacija:odaberi poetno reenje postavi: x= x0, x*=x0 , f*= f( x0 ), TL= ;Pretraga:dok (uslov_zaustavljanja nije zadovoljen) radi{ odaberi najbolje dozvoljeno reenje x' iz N(x); postavi x= x'; ako je f(x) < f*, onda postavi f* = f(x), x* = x; stavi x u TL na TV iteracija;}vrati reenje x*;

Tabu pretraivanje U TL se smetaju potezi a ne i kontekst u kojem je taj potez zabranjen,

Mogu je gubitak dela pretraivakog prostora

Uvodi se aspiracijska funkcija pomou koje se ponitava tabu status nekog poteza

Klasina implementacija aspiracijske funkcije ponitava nekom potezu tabu status ukoliko taj potez vodi do reenja koje je bolje od do sada najboljeg pronaenog reenja.

Predloeno da aspiracijska funkcija ne poklanja uopte panju vrednosti funkcije cilja ve da vri ulogu diversifikacije reenja

(npr. potez zadovoljava aspiracijsku funkciju ukoliko vodi na lokaciju koja nije bila okupirana unutar zadnjih t iteracija)

Tabu pretraivanjeNajei uslovi zaustavljanja su:

nakon fiksnog broja iteracija (ili fiksnog vremena izvravanja),

nakon odreenog broja iteracija bez napretka u minimizaciji/maksimizaciji funkcije,

nakon to funkcija dostigne neku unapred definisanu (optimalnu) vrednost,

kombinacije gore navedenih kriterijuma.

Tabu pretraivanje Duina tabu liste?

Strategija 0: konstantna?

ukoliko je lista premala, moe doi do ciklikog ponavljanja poteza,

u sluaju da je ona prevelika, perspektivni potezi mogu biti odbaeni

Strategija 1: duina tabu liste je proporcionalna dimenziji problema koji se reava

Na nekim problemima eksperimentalnoje pokazano pojavljivanje ciklinih ponavljanja poteza nije nuno u direktnoj vezi sa veliinom tabu liste.

Strategija 2: duina tabu liste nije konstantna ve se sluajno menja unutar nekog intervala sa odreenom frekvencijom.

Strategija 3?

Tabu pretraivanjePrilikom definisanja liste zabranjenih poteza (tabu liste) najee se primenjuju dva pristupa.

1. pristup:Zabranjuju se potezi zamene dve jedinke koje su bile zamenjene tokom zadnjih s iteracija (s je duina tabu liste). Pogodniji za tabu liste fiksne duine

2. pristup:Za svaku jedinku i svaku poziciju (lokaciju) zapisuje zadnja iteracija kada je ta jedinka bila na toj poziciji. Potez se proglaava tabu potezom ukoliko se njime obe jedinke dodjeljuje na pozicije koje su zauzimale u ne vie od poslednjih s iteracija. Pogodniji za tabu liste koje su promenjive duine.

Reaktivno tabu pretraivanjeReactive tabu search

Modifikacija tabu pretraivanja

Predloena je da bi se izbegle prevelike zavisnosti tabu search algoritama od faktora/parametara (duina tabu liste, odabir aspiracijske funkcije, tabu vreme, itd)

Glavna osobina: automatski se obavljaju modifikacije parametara u potrazi za to boljim reenjem

Reaktivno tabu pretraivanjepored standardnih elemenata tabu pretraivanjadefinie se automatizovano prilagoavanje duine tabu liste zabranjenih poteza u skladu sa trenutnim stanjem pretraivanja.

definie se i nain diversifikacije pretraivanja kada standardni mehanizam tabu-search pretraivanja zakae.

ima ugraen mehanizam dugotrajne memorije (long term memory) koja se iskoriava za praenje napredovanja algoritma, uoavanje graninih sluajeva, ciklusa i stohastikih elemenata. Reaktivni tabu-search algoritam se u praksi pokazao superiornijim, iako su zahtevi za memorijske resurse znatno vei

Simulirano kaljenjeSimulated Annealing (SA)

(meta)heuristika za reavanje problema kombinatorne optimizacije

ime je dobila zbog analogije sa procesom kaljenja metala iz ije se simulacije i razvila

metoda pokuava pronai globalni optimum, ili mu se bar pribliiti, u zatom prostoru konfiguracija

dozvoljeni su potezi koji vode ka loijem reenju

ema simuliranog kaljenjaInicijalizacija: Izabrati poetno reenje x0 X, poetnu temp. T, emu hlaenja Tn, n=0,1,2,..(To=T) x* = x0 , f* =f(x0)

Iterativni korak: n = 0,1, 2, . . . Pri temperaturi Tn odreen broj puta realizujemo sledei ciklus: Na sluajan nain izabrati reenje x u okolini N( xn ) trenutnog reenja xn Ako je f (x) f(xn) , tada xn+1 = x (za problem tipa min) Ako je pritom f (x) < f*, tada x* = x , f* =f(x) Ako je f (x) > f(xn), izabrati na sluajan nain broj p uniformno na [0,1] Ako je p pn = pn (Tn, f), tada ostajemo u xn i pokuavamo ponovo sa pretragom u okolini N( xn ) Ako je p > pn (Tn, f) , tada xn+1 = x

Kraj: Ako je zadovoljen kriterijum zaustavljanja (npr. Tn