Del A: Dskret optmerng og heurstske metoder Leksjon 3 Sjefsforsker Ger Hasle SINTEF Anvendt matematkk, Oslo!"# Eksempler på DOP Alternatve formulernger Defnsjon nabolag, -operator Lokalsøk Defnsjon lokalt optmum Eksakt nabolag Prosedyre for lokalsøk Traverserng av nabolagsgraf Kommentarer, ulemper, hovedutfordrng TMA 498 - Ger Hasle - Leksjon 3 2
$%&'( x, j a hvs by j følger rett etter by = 0 ellers ankomsttd node n j= n = n n mn c x s.a. = j=,j,j,j,j x = =,,n x = j =,,n e a l =,,n ( ) a x a + s + c j,j,j Hvordan gs en problemnstans? Hvordan kan løsnng representeres? Hva er mengden S? Er modellen rktg? Subtur-elmnerng mangler! TMA 498 - Ger Hasle - Leksjon 3 3 )% *%+&*,&$-./ */ strategy s Frst Accept or Best Accept current=int_soluton(s) */ ncumbent:=current unødvendg rent LS local_optmum:=false whle not local_optmum do (current,local_optmum):= Search_the_Neghborhood (current,n(current),f,strategy) f local_optmum return current od TMA 498 - Ger Hasle - Leksjon 3 4 2
&*++-0,*-0$./ best_neghbor:=current for n n Neghbors do f f(n) < f(best_neghbor) then assumng mn f strategy= Frst Accept then return (n,false) else best_neghbor:=n */ strategy s Best Accept f f od return (best_neghbor,best_neghbor=current) */ Returns structure (current,local_optmum) TMA 498 - Ger Hasle - Leksjon 3 5 ) Implementer lokalsøk dn favorttomgvelse ntalløsnng operator, nabolag søkestrateg stoppkrterum loggng Ryggsekkproblemet Instanser fns på web-sdene (se neste slde) Foreta ekspermenter! ulke startløsnnger hvor mange lokale optma? kvaltet på lokale optma? TMA 498 - Ger Hasle - Leksjon 3 6 3
.#2"3 n j= n max v x s.a. x = c x C { 0,} Idaho20 n 20 C 2.5 f* 5.949363 s* 00000000000 (slakk 0.02) v 0.7523 0.056273 0.586932 0.69599 0.0468 0.242555 0.832725 0.0069687 0.828839 0.53085 0.704328 0.63044 0.55693 0.507427 0.59593 0.30589 0.573253 0.0657 0.5895 0.320655 c 0.703562 0.65802 0.9459 0.50693 0.37245 0.0674343 0.467352 0.3205 0.336674 0.790007 0.03906 0.295304 0.530008 0.80224 0.6737 0.740043 0.440325 0.52295 0.089656 0.725904 680 lokale optma, verd fra 0.732882() tl 4.976(76) bassengstørrelse, størrelse på nedslagsområde fra tl 464 TMA 498 - Ger Hasle - Leksjon 3 7 &4%$2"3 LO Value 7 6 5 4 3 LO Value 2 0 272 543 84 085 356 627 898 269 2440 27 2982 3253 3524 3795 4066 4337 4608 4879 550 542 5692 5963 6234 6505 6776 Frequency 500 450 400 350 300 250 200 50 00 50 0 278 555 832 09 386 663 940 227 2494 277 3048 3325 3602 3879 456 4433 470 4987 5264 554 588 6095 6372 6649 TMA 498 - Ger Hasle - Leksjon 3 8 Frequency 4
.#2"35 n j= n max v x s.a. x = c x C { 0,} Idaho20ex n 20 C 2.5 f* 4.976 s* 00000000000 (slakk 0.03) v 0.703562 0.65802 0.9459 0.50693 0.37245 0.0674343 0.467352 0.3205 0.336674 0.790007 0.03906 0.295304 0.530008 0.80224 0.6737 0.740043 0.440325 0.52295 0.089656 0.725904 c 0.7523 0.056273 0.586932 0.69599 0.0468 0.242555 0.832725 0.0069687 0.828839 0.53085 0.704328 0.63044 0.55693 0.507427 0.59593 0.30589 0.573253 0.0657 0.5895 0.320655 2644 lokale optma, verd fra 0.7458() tl 4.976(288) bassengstørrelse, størrelse på nedslagsområde fra tl 024 TMA 498 - Ger Hasle - Leksjon 3 9 &4%2"35 LO Value 6 5 4 3 2 0 4 227 340 453 566 679 792 905 08 3 244 357 470 583 696 809 922 2035 248 226 2374 2487 2600 Frequency 200 000 800 600 400 200 0 TMA 498 - Ger Hasle - Leksjon 3 0 08 25 322 429 536 643 750 857 964 07 78 285 392 499 606 73 820 927 2034 24 2248 2355 2462 2569 5
!6# Tlfeldg søk Smulert herdng Terskelakseptanse TMA 498 - Ger Hasle - Leksjon 3 78.# n n max v x s.a. j= x = c x C { 0,} Idaho20 n 20 C 2.5 f* 5.949363 s* 00000000000 (slakk 0.06) v 0.7523 0.056273 0.586932 0.69599 0.0468 0.242555 0.832725 0.0069687 0.828839 0.53085 0.704328 0.63044 0.55693 0.507427 0.59593 0.30589 0.573253 0.0657 0.5895 0.320655 c 0.703562 0.65802 0.9459 0.50693 0.37245 0.0674343 0.467352 0.3205 0.336674 0.790007 0.03906 0.295304 0.530008 0.80224 0.6737 0.740043 0.440325 0.52295 0.089656 0.725904 680 lokale optma, verd fra 0.732882() tl 5.949363(76) bassengstørrelse, størrelse på nedslagsområde fra tl 464 TMA 498 - Ger Hasle - Leksjon 3 2 6
&4% %%0% Kostnad Løsnngsrom TMA 498 - Ger Hasle - Leksjon 3 3 9%%% & # % Restart av lokalsøk fra andre løsnnger Tlfeldg valg av neste løsnng Tllate flytt tl dårlgere løsnnger determnstsk probablstsk Mnne hvlke løsnnger er besøkt før? unngå å besøke dem gjen Varere mellom ulke nabolag Endre søkelandskapet TMA 498 - Ger Hasle - Leksjon 3 4 7
,:% / søkestrateger for å unnslppe lokale optma ntrodusert tdlg 80-tallet betydelg suksess løsnng av DOP analoger fra fyskk, bolog, menneskelge hjerne, menneskelg problemløsnng mange varanter TMA 498 - Ger Hasle - Leksjon 3 5 - Smulated Annealng (SA, smulert herdng) Threshold Acceptng (TA, terskelakseptanse) Genetc Algorthms (GA, genetske algortmer) Memetc Algorthms (MA, memetske algortmer) Evolutonary Algorthms (EA, Evolusjonære algortmer) Dfferental Evoluton (DE, dfferensell evolusjon) Ant Colony Optmzaton (ACO, maurkolonoptmerng) Scatter Search (SS, sprednngssøk) Path Relnkng (PR,?) Tabu Search (TS, tabusøk) Guded Local Search (GLS, styrt lokalsøk) Greedy Randomzed Adaptve Search (GRASP,?) Iterated Local Search (ILS, terert lokalsøk) Varable Neghborhood Descent / Search (VND/VNS, varabelt nabolagsnedstgnng / søk) Neural Networks (NN, nevrale nett) TMA 498 - Ger Hasle - Leksjon 3 6 8
;<$!;,% =>%./ En metaheurstkk er en teratv genererngsprosess som styrer en underlggende heurstkk ved å kombnere (på en ntellgent måte) ulke strateger for å utforske og utnytte søkerom (og lærngsstrateger) for å fnne nær-optmale løsnnger på en effektv måte TMA 498 - Ger Hasle - Leksjon 3 7 ;<$!;,%:%=>*0/ Løsnngsmetoder som benytter nteraksjon mellom lokale forbedrngsprosedyrer (lokalsøk) og strateger på høyere nvå for å unnslppe lokale optma og sørge for et robust søk et søkerom TMA 498 - Ger Hasle - Leksjon 3 8 9
?%%4 %$%4,;&*;/ Procedure Random_Search(f,N,Stop,ntal) begn current:=ncumbent:=ntal; whle not Stop() do begn current:=random_soluton(n(current)) f f(current) < f(ncumbent) then begn ncumbent:=current; end end return ncumbent; end Stoppkrterer? TMA 498 - Ger Hasle - Leksjon 3 9?%%4 %$%,; <*;/ Procedure Random_Descent(f,N,Stop,ntal) begn new_soluton:=current:=ncumbent:=ntal whle not Stop() do begn Neghbors:=N(current) whle not Stop() and f(new_soluton) >=f(current) do end begn end new_soluton:=random_soluton(neghbors) current:=new_soluton f f(current) < f(ncumbent) then ncumbent:=current return ncumbent end TMA 498 - Ger Hasle - Leksjon 3 20 0
'0%%%4 # % Mål unnslppe lokale optma unngå løkker Akseptere dårlgere løsnng Tlfeldghet Metaheurstkken Smulert herdng (Smulated Annealng, SA) bruker dsse strategene TMA 498 - Ger Hasle - Leksjon 3 2 &%,&%%&/ Insprert av statstsk termodynamkk (nedkjølng av smeltet materale) Brukt optmerng 20 år (Krkpatrck et al 983) Bygget på lokalsøk (varant av Random Search/Random Descent) Enkel å mplementere Mye ltteratur Konvergerer mot globalt optmum under svake antakelser Men som oftest sakte... TMA 498 - Ger Hasle - Leksjon 3 22
&% Metropols et al (953) algortme for å smulere energendrnger av fysske systemer under nedkjølng Krkpatrck et al (983) foreslo å bruke samme type smulerng tl å søke brukbare løsnnger for DOP TMA 498 - Ger Hasle - Leksjon 3 23 &# % Termodynamkk Systemtlstand Energ Tlstandsendrng Temperatur Slutt-tlstand Dskret optmerng Tllatt løsnng Kostnad Flytt tl naboløsnng Kontrollparameter Slutt-løsnng TMA 498 - Ger Hasle - Leksjon 3 24 2
&%,&/ Kan uttrykkes som strateg for valg nabolag basalt lokalsøk: Procedure Local_Search(Int_Sol,N,f,Strategy,Stop_Crteron) */ Strategy = SA ncumbent:=current:= Int_Sol() Repeat current:=select_sa_neghbor(f,current,n(current),stop_crteron) f f(current)< f(ncumbent) then ncumbent :=current Untl Stop_Crteron() return ncumbent TMA 498 - Ger Hasle - Leksjon 3 25?%$%.& Modfsert Random Descent Velger tlfeldg løsnng nabolag Aksepterer denne ubetnget, hvs bedre løsnng enn nåværende med vss, endelg sannsynlghet hvs dårlgere Sannsynlghet styres av kontrollparameter (temperatur) Unngår å stte fast lokalt optmum TMA 498 - Ger Hasle - Leksjon 3 26 3
?%$%.& Procedure Select_SA_Neghbor (f,current,neghbors,stop_crteron) */ Strategy s Smulated Annealng begn :=Random_Element(Neghbors) delta := f() - f(current) */ Her er det rom for forbedrng... f delta < 0 or Random(0,) < exp(-delta/t) then return else return current end TMA 498 - Ger Hasle - Leksjon 3 27 & %%4 e t Tlfeldg nabolagssøk Lokalsøk (Random Descent) t = t 0 TMA 498 - Ger Hasle - Leksjon 3 28 4
&# ntell kontrollvarabel t 0 (høy verd) ndre stoppkrterum: et antall terasjoner med samme kontrollvarabel så reduksjon t+ = α( t ) nedkjølngsplan ( coolng schedule ) stoppkrterer f.eks mnmumstemperatur gjentakelse løsnngskvaltet og hastghet avhengg av valg nabolagsstruktur vktg TMA 498 - Ger Hasle - Leksjon 3 29 &@. Procedure Smulated_Annealng (f,n,stop_crteron,t0,nrep,alpha) ncumbent:=current:= Fnd_Intal_Soluton() t:=t0 Repeat for := to Nrep do */ Several teratons wth one t value begn current :=Select_SA_Neghbor(f, current,n(sol),ncumbent,t) f f(current) < f(ncumbent) then ncumbent:= current end t:=alpha(t) Untl Stop_Crteron() return ncumbent */ Coolng TMA 498 - Ger Hasle - Leksjon 3 30 5
&%.& Modell: tlstandsoverganger søkerommet Overgangssannsynlgheter [p j ] mellom løsnnger Kun avhengg av og j: homogen Markovkjede Når alle overgangssannsynlgheter er endelge, vl SA-søket konvergere mot en stasjonær fordelng som er uavhengg av startløsnngen. Når temperaturen går mot null vl denne fordelngen gå mot en unform fordelng over de globale optma. Statstsk garant for at SA fnner globalt optmum I prakss: eksponensell kjøretd for å garantere optmum TMA 498 - Ger Hasle - Leksjon 3 3 & heurstsk approksmasjonsalgortme oppførsel sterkt avhengg av nedkjølngsplan teor: ønskelg med eksponenselt antall terasjoner ved hver temperatur prakss: stort antall terasjoner, få temperaturer lte antall terasjoner, mange temperaturer TMA 498 - Ger Hasle - Leksjon 3 32 6
&@;; geometrsk rekke t = at, = 0, +, K a < (0.8 0.99) antall repetsjoner kan vareres adaptvtet: varabelt antall trekk før temperaturreduksjon ekspermenterng nødvendg TMA 498 - Ger Hasle - Leksjon 3 33 &@:%0% Nedkjølngsplan basert på maksmal forskjell mellom løsnnger nabolag antall repetsjoner ved hver temperatur reduksjonsraten Adaptvt antall repetsjoner flere repetsjoner for lavere temperaturer antall aksepterte flytt, men maksmalgrense Svært lave temperaturer er unødvendg Nedkjølngsrate er vktgere enn nedkjølngsmetode TMA 498 - Ger Hasle - Leksjon 3 34 7
&@'0%$0% Vktge mål Responstd Kvaltet på løsnng Vktge valg Løsnngsrom hva med kke-tllatte løsnnger? Nabolagsstruktur Kostnadsfunksjon straff for brudd på førnger approksmasjon Ovenstående vktg for alle lokalsøk-baserte metaheurstkker! Nedkjølngsplan TMA 498 - Ger Hasle - Leksjon 3 35 &@?%0% Størrelse Varasjon størrelse Topolog Symmetr Sammenheng: Enhver løsnng kan nås fra enhver annen Topograf Spkre Platåer Dype lokale optma Nabolag og kostnadsfunksjon TMA 498 - Ger Hasle - Leksjon 3 36 8
&# A Tlfeldg valg av nabo reduksjon av nabolag Evaluerng av objektv dfferanse uten full beregnng approksmasjon Akseptansebeslutnng forenklnger TMA 498 - Ger Hasle - Leksjon 3 37 B%&.&' Søkerom (n-)!/2 Nabolag: 2-opt n(n-)/2 Sammenhengende Enkel representasjon av flytt Naturlg kostnadsfunksjon Dfferanse (delta-verd) enkel å beregne Generalserng: k-opt TMA 498 - Ger Hasle - Leksjon 3 38 9
&@)! Testproblemer Testbenk Vsualserng av løsnng Verder på kostnad / straff temperatur antall / andel aksepterte flytt terasjon / CPU Sammenheng med SA-parametre Fare for overtlpasnng Gjelder kke bare SA TMA 498 - Ger Hasle - Leksjon 3 39 &@ $!% Probablstsk Endret akseptansesannsynlghet Forenklet kostnadsfunksjon Approksmasjon av eksponensalfunksjon / tabell Få temperaturer Omstart Determnstsk Terskelakseptanse (Threshold Acceptng, TA) Record-to-Record Travel Nedkjølngsplan Omstart TMA 498 - Ger Hasle - Leksjon 3 40 20
?%$%. # %**,/ Procedure Select_TA_Neghbor (f,current,neghbors,ncumbent,theta) */ Strategy s Threshold Acceptng begn :=Random_Element(Neghbors) delta := f() - f(current) */ SA: f delta < 0 or Random(0,) < exp(-delta/t) f delta < theta */ Postve Threshold w.r.t. current then return end TMA 498 - Ger Hasle - Leksjon 3 4?%$%. # *##*% Procedure Select_RRT_Neghbor (f,current,neghbors,ncumbent,theta2) */ Strategy s Record-to-Record Travel begn :=Random_Element(Neghbors) */ SA, TA: delta := f() - f(current) */ SA: f delta < 0 or Random(0,) < exp(-delta/t) f f() < theta2*f(ncumbent) */ theta2 > then return end TMA 498 - Ger Hasle - Leksjon 3 42 2
&@;-!4%%; e t Tlfeldg nabolagssøk Lokalsøk (Random Descent) t = t 0 Remeder: godt valg av starttemperatur godt stoppkrterum hurtgere nedkjølng først og sst testkjørng TMA 498 - Ger Hasle - Leksjon 3 43 &@?%$%. Standard: Tlfeldg flytt nabolag Problematsk rundt lokale optma Remede: Syklsk valg av nabo Standard: Lav akseptanserate ved lave temperaturer mye unødg beregnng mulge remeder: Akseptansesannsynlghet Valg av nabo basert på veet treknng Determnstsk akseptanse Vanlg lokalsøk TMA 498 - Ger Hasle - Leksjon 3 44 22
&@ >0! Preprosseserng god startløsnng Standard lokalsøk underves hvert aksepterte flytt hver forbedrende flytt SA konstruksjonsheurstkker TMA 498 - Ger Hasle - Leksjon 3 45 &# Insprert av statstsk mekankk - nedkjølng Metaheurstkk lokalsøk tlfeldg nedstgnng tlfeldghet for å unngå lokalt optmum Enkel og robust metode, raskt å komme gang Bevs for konvergens tl globalt optmum verre enn komplett søk I prakss: beregnngskrevende fnjusterng kan g gode resultater god der det er vanskelg å lage robuste heurstkker som baseres på problemstruktur TMA 498 - Ger Hasle - Leksjon 3 46 23
!6# Lokalsøk hovedutfordrng Mulge strateger for å unnslppe lokale optma Defnsjon metaheurstkk Tlfeldg lokalsøk Smulert herdng (Smulated Annealng, SA) Terskelakseptanse (Threshold Acceptng, TA) Record-to-Record Travel (?, RRT) TMA 498 - Ger Hasle - Leksjon 3 47!# Tabusøk TMA 498 - Ger Hasle - Leksjon 3 48 24
Del A: Dskret optmerng og heurstske metoder Leksjon 3 Sjefsforsker Ger Hasle SINTEF Anvendt matematkk, Oslo 25