INF-MAT-5380

Like dokumenter
INF-MAT Geir Hasle - Leksjon 3 2

!"!#$ INF-MAT Geir Hasle - Leksjon 2 2

INF-MAT-5380

INF-MAT-5380

INF-MAT-5380

Hybrid med lokalsøk: Memetic algorithms

INF-MAT-5380

Del A: Diskret optimering og heuristiske metoder Leksjon 7

INF-MAT

Del A: Diskret optimering og heuristiske metoder Leksjon 4. Sjefsforsker Geir Hasle SINTEF Anvendt matematikk, Oslo

Tilfeldig søk Simulert størkning Terskelakseptanseteknikker. INF-MAT Geir Hasle - Leksjon 4 2

!"# $%&' P NP NP \ P. Finnes overalt. Er som regel ikke effektivt løsbare. Eksempler på NP-harde problemer

Heuristisk søk 1. Prinsipper og metoder

Oversikt. Heuristisk søk 1. Kombinatorisk optimering Lokalt søk og simulert størkning Populasjonsbasert søk. Prinsipper og metoder

Styrt lokalsøk (Guided Local Search, GLS)

INF-MAT-5380

Del A: Diskret optimering og heuristiske metoder Leksjon 3

Epost: Tlf. SINTEF Mob

Styrt lokalsøk (Guided Local Search, GLS)

Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2001, ordinær eksamen

!!!" " # $ Leksjon 1

Overview. Heuristic search 1. Target function and optimization. Minimum vertex cover

Heuristiske søkemetoder II

Løsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, ordinær eksamen

Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, kontinuasjonseksamen

INF-MAT Lokalsøk og meta-heuristikker i kombinatorisk optimering

Løsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, kontinuasjonseksamen

Heuristiske søkemetoder I: Simulert størkning og tabu-søk

Oversikt. Branch-and-bound. Hvordan løse NP-hard kombinatorisk optimering? Eks: Eksakt Min Vertex cover. Mulige løsninger representert som søketre

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel

MAT1030 Diskret Matematikk

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

NP-komplett, hva nå?

Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, ordinær eksamen

MAT1030 Diskret matematikk

MAT Oblig 1. Halvard Sutterud. 22. september 2016

MAT1030 Plenumsregning 1

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030

Kapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process

LP. Leksjon 9: Kapittel 13: Nettverk strøm problemer, forts.2

Oppgaver til INF 5110, kapittel 4, med svarforslag Gjennomgått torsdag 14. febr Disse foilene er justert 15/2, kl. 11

MAT1030 Diskret matematikk

Hvordan løse problemer med programmering?

MAT1030 Diskret matematikk

Heuristiske søkemetoder III

4.9 Anvendelser: Markovkjeder

Mer om Markov modeller

A study of different matching heuristics. Hovedfagspresentasjon Jan Kasper Martinsen

Biseksjonsmetoden. biseksjonsmetode. Den første og enkleste iterativ metode for ikke lineære likninger er den så kalt

Oppgaver til INF 5110, kapittel 4, med svarforslag Gjennomgås tirsdag 21. febr. 2012

Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF /2-2011

Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk

Rekursiv blokkoppdatering av Isingmodellen

4.4 Koordinatsystemer

Introduksjon til operasjonsanalyse

Søking i strenger. Prefiks-søking Naiv algoritme Knuth-Morris-Pratt-algoritmen Suffiks-søking Boyer-Moore-algoritmen Hash-basert Karp-Rabin-algoritmen

LO118D Forelesning 12 (DM)

LP. Leksjon 2. Kapittel 2: simpleksmetoden, forts. initialisering to faser ubegrenset løsning geometri

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

INF3430/4430. Kombinatoriske og sekvensielle byggeblokker implementert i VHDL :57

Læreplan i Programmering og modellering - programfag i studiespesialiserende utdanningsprogram

EKSAMEN I TMA4300 BEREGNINGSKREVENDE STATISTIKK Torsdag 16 Mai, 2013

Discrete Optimization Methods in Maritime and Road-based Transportation

Kontinuasjonseksamen i tdt4125 Algoritmekonstruksjon, videregående kurs

Turingmaskiner.

Kap. 5, Del 2: INF / (og 2/3 og 3/3)

UNIVERSITETET I OSLO

Matematikk Øvingsoppgaver i numerikk leksjon 7 Løsningsforslag

Hjemmeeksamen 2 i INF3110/4110

Sensitivitet og kondisjonering

INF2820 Datalingvistikk V Gang Jan Tore Lønning

Data-avhengige trianguleringer

INF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel )

INF2810: Funksjonell Programmering

TDT4105 Informasjonsteknologi, grunnkurs. Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer

Kap. 4: Ovenfra-ned (top-down) parsering

Ikke lineære likninger

Kap. 4 del I Top Down Parsering INF5110 v2006. Stein Krogdahl Ifi, UiO

Søk i tilstandsrom. Backtracking (Kap. 10) Branch-and-bound (Kap. 10) Iterativ fordypning. Dijkstras korteste sti-algoritme A*-søk (Kap.

C# (.Net) Tema: Loops (Løkker) Leksjon 7 Kap 18

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme

INF2820 Datalingvistikk V Gang 4.5 Jan Tore Lønning

Løsningsforslag for eksamen i fag TDT4120 Algoritmer og datastrukturer Tirsdag 9. desember 2003, kl

UNIVERSITETET I OSLO

MAT1030 Plenumsregning 3

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF3430. VHDL byggeblokker og testbenker forts.

Dijkstras algoritme. Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert.

INF-MAT5370. Delaunay-trianguleringer og Voronoi-diagram

INF oktober Stein Krogdahl. Kap 23.5: Trær og strategier for spill med to spillere

MAT1030 Diskret matematikk

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme

Dynamisk programmering

INF2810: Funksjonell Programmering. Køer, tabeller, og (litt om) parallelitet

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

Kap. 6.1: Fordelingen til en observator og stok. simulering

Øvingsforelesning 5 Python (TDT4110)

Øving 1 - Gjennomgang

INF oktober Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet

Transkript:

INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 3

Leksjon 2 - Oppsummering Eksempler på DOP Alternative formuleringer Definisjon nabolag, -operator Lokalsøk Definisjon lokalt optimum Eksakt nabolag Prosedyre for lokalsøk Traversering av nabolagsgraf Kommentarer, ulemper, hovedutfordring INF-MAT 5380 - Geir Hasle - Leksjon 3 2

Forenklet variant av Local_Search (S,f,N,strategy) */ strategy is First Accept or Best Accept current=init_solution(s) */ incumbent:=current unødvendig i rent LS local_optimum:=false while not local_optimum do (current,local_optimum):= Search_the_Neighborhood (current,n(current),f,strategy) if local_optimum return current od INF-MAT 5380 - Geir Hasle - Leksjon 3 3

Search_the_Neighborhood (current,neighbors,f,strategy) best_neighbor:=current for s in Neighbors do od if f(s) < f(best_neighbor) then fi if strategy= First Accept then fi return (s,false) else best_neighbor:=s */ strategy is Best Accept return (best_neighbor,best_neighbor=current) */ (current,local_optimum) INF-MAT 5380 - Geir Hasle - Leksjon 3 4

Leksjon 3 - Oversikt Tilfeldig søk Simulert størkning Terskelakseptanseteknikker INF-MAT 5380 - Geir Hasle - Leksjon 3 5

Lokale og globale optima Kostnad Løsningsrom INF-MAT 5380 - Geir Hasle - Leksjon 3 6

Unnslippe lokale optima i LS - noen mulige strategier Restart av lokalsøk fra andre løsninger Tillate flytt til dårligere løsninger deterministisk probabilistisk Minne hvilke løsninger er besøkt før? unngå å besøke dem igjen Variere mellom ulike nabolag INF-MAT 5380 - Geir Hasle - Leksjon 3 7

Metaheuristikker (Generelle heuristikker) søkestrategier for å unnslippe lokale optima introdusert tidlig 80-tallet betydelig suksess i løsning av DOP analogier fra fysikk, biologi, menneskelige hjerne, menneskelig problemløsning mange varianter INF-MAT 5380 - Geir Hasle - Leksjon 3 8

Noen metaheuristikker Simulated Annealing (SA, simulert størkning) Threshold Accepting (TA, terskelakseptanse) Genetic Algorithms (GA, genetiske algoritmer) Memetic Algorithms (MA, memetiske algoritmer) Evolutionary Algorithms (EA, Evolusjonære algoritmer) Differential Evolution (DE, differensiell evolusjon) Ant Colony Optimization (ACO, maurkolonioptimering) Scatter Search (SS, spredningssøk) Path Relinking (PR,?) Tabu Search (TS, tabusøk) Guided Local Search (GLS, styrt lokalsøk) Greedy Randomized Adaptive Search (GRASP,?) Iterated Local Search (ILS, iterert lokalsøk) Variable Neighborhood Descent / Search (VND/VNS, variabelt nabolagsnedstigning / søk) Neural Networks (NN, nevrale nett) INF-MAT 5380 - Geir Hasle - Leksjon 3 9

Definisjon av metaheuristikk (a la Osman & Kelly) En metaheuristikk er en iterativ genereringsprosess som styrer en underliggende heuristikk ved å kombinere (på en intelligent måte) ulike strategier for å utforske og utnytte søkerom (og læringsstrategier) for å finne nær-optimale løsninger på en effektiv måte INF-MAT 5380 - Geir Hasle - Leksjon 3 10

Definisjon av metaheuristikk (a la Glover & Kochenberger) Løsningsmetoder som benytter interaksjon mellom lokale forbedringsprosedyrer (lokalsøk) og strategier på høyere nivå for å unnslippe lokale optima og sørge for et robust søk i et søkerom INF-MAT 5380 - Geir Hasle - Leksjon 3 11

Variant av lokalsøk: Tilfeldig søk ( Random Search ) Procedure Random_Search(f,N,Stop,initial) begin current:=incumbent:=initial; while not Stop() do begin current:=random_solution(n(current)) if f(current) < f(incumbent) then begin incumbent:=current; end end return incumbent; end Stoppkriterier? INF-MAT 5380 - Geir Hasle - Leksjon 3 12

Variant av lokalsøk: Tilfeldig nedstigning ( Random Descent ) Procedure Random_Descent(f,N,Stop,initial) begin new_solution:=current:=incumbent:=initial while not Stop() do begin Neighbors:=N(current) while not Stop() and f(new_solution) >=f(current) do begin new_solution:=random_solution(neighbors) end current:=new_solution if f(current) < f(incumbent) then incumbent:=current end return incumbent end INF-MAT 5380 - Geir Hasle - Leksjon 3 13

Problemer med lokalsøk - Mulige strategier Mål unnslippe lokale optima unngå løkker Akseptere dårligere løsning Tilfeldighet Metaheuristikken simulert størkning bruker disse strategiene INF-MAT 5380 - Geir Hasle - Leksjon 3 14

Metaheuristikken Simulert størkning (Simulated Annealing, SA) Inspirert av statistisk termodynamikk (nedkjøling av smeltet materiale) Brukt i optimering i 20 år (Kirkpatrick et al 1983) Bygget på lokalsøk (variant av Random Search/Random Descent) Enkel å implementere Mye litteratur Konvergerer mot globalt optimum under svake antakelser Men som oftest sakte... INF-MAT 5380 - Geir Hasle - Leksjon 3 15

Simulert størkning Metropolis et al (1953) algoritme for å simulere energiendringer av fysiske systemer under nedkjøling Kirkpatrick et al (1983) foreslo å bruke samme type simulering til å søke i brukbare løsninger for DOP INF-MAT 5380 - Geir Hasle - Leksjon 3 16

SA - Analogi Termodynamikk Systemtilstand Energi Tilstandsendring Temperatur Slutt-tilstand Diskret optimering Tillatt løsning Kostnad Flytt til naboløsning Kontrollparameter Slutt-løsning INF-MAT 5380 - Geir Hasle - Leksjon 3 17

Simulert størkning (SA) Kan uttrykkes som strategi for valg i nabolag i basalt lokalsøk: Procedure Local_Search(Init_Sol,N,f,Strategy,Stop_Criterion) */ Strategy = SA incumbent:=current:= Init_Sol Repeat current:=select_sa_neighbor(f,current,n(current),stop_criterion) if f(current)< f(incumbent) then incumbent :=current Until Stop_Criterion() return incumbent INF-MAT 5380 - Geir Hasle - Leksjon 3 18

Valg av flytt i SA Modifisert Random Descent Velger tilfeldig løsning i nabolag Aksepterer denne ubetinget, hvis bedre løsning enn nåværende med viss, endelig sannsynlighet hvis dårligere Sannsynlighet styres av kontrollparameter (temperatur) Unngår å sitte fast i lokalt optimum INF-MAT 5380 - Geir Hasle - Leksjon 3 19

Valg av flytt i SA Procedure Select_SA_Neighbor (f,current,neighbors,stop_criterion) */ Strategy is Simulated Annealing while not Stop_Criterion() do begin end i:=random_element(neighbors) delta := f(i) - f(current) if delta < 0 or Random(0,1) < exp(-delta/t) then return i INF-MAT 5380 - Geir Hasle - Leksjon 3 20

Akseptanse av dårligere løsning e t Tilfeldig nabolagssøk Lokalsøk (Random Descent) t = t 0 INF-MAT 5380 - Geir Hasle - Leksjon 3 21

SA - overordnet struktur initiell kontrollvariabel t 0 (høy verdi) et antall iterasjoner med samme kontrollvariabel så reduksjon ti+ 1 = α( ti) nedkjølingsplan ( cooling schedule ) stoppkriterier f.eks minimumstemperatur gjentakelse løsningskvalitet og hastighet avhengig av valg nabolagsstruktur viktig INF-MAT 5380 - Geir Hasle - Leksjon 3 22

SA overordnet prosedyre Procedure Simulated_Annealing (f,n,stop_criterion,t0,nrep,alpha) incumbent:=current:= Find_Initial_Solution() T:=T0 Repeat for i:=1 to Nrep do begin end */ Several iterations with one T value current :=Select_SA_Neighbor(f, current,n(sol),incumbent,t) if f(current) < f(incumbent) then incumbent:= current T:=Alpha(T) Until Stop_Criterion() return incumbent */ Cooling INF-MAT 5380 - Geir Hasle - Leksjon 3 23

Statistisk analyse av SA Modell: tilstandsoverganger i søkerommet Overgangssannsynligheter [p ij ] mellom løsninger Kun avhengig av i og j: homogen Markovkjede Når alle overgangssannsynligheter er endelige, vil SA-lokalsøket konvergere mot en stasjonær fordeling som er uavhengig av startløsningen. Når temperaturen går mot null vil denne fordelingen gå mot en uniform fordeling over de globale optima. Statistisk garanti for at SA finner globalt optimum I praksis: eksponensiell kjøretid for å garantere optimum INF-MAT 5380 - Geir Hasle - Leksjon 3 24

SA i praksis heuristisk approksimasjonsalgoritme oppførsel sterkt avhengig av nedkjølingsplan teori: ønskelig med eksponensielt antall iterasjoner ved hver temperatur i praksis: stort antall iterasjoner, få temperaturer lite antall iterasjoner, mange temperaturer INF-MAT 5380 - Geir Hasle - Leksjon 3 25

SA i praksis heksekunst geometrisk rekke ti+ 1 = ati, i = 0, K, K a< 1 (0.8 0.99) antall repetisjoner kan varieres adaptivitet: variabelt antall trekk før temperaturreduksjon eksperimentering nødvendig INF-MAT 5380 - Geir Hasle - Leksjon 3 26

SA Generelle beslutninger Nedkjølingsplan basert på maksimal forskjell mellom løsninger i nabolag antall repetisjoner ved hver temperatur reduksjonsraten Adaptivt antall repetisjoner flere repetisjoner for lavere temperaturer antall aksepterte flytt, men maksimalgrense Svært lave temperaturer er unødvendig Nedkjølingsrate er viktigere enn nedkjølingsmetode INF-MAT 5380 - Geir Hasle - Leksjon 3 27

SA Problemspesifikke beslutninger Viktige mål Responstid Kvalitet på løsning Viktige valg Løsningsrom hva med ikke-tillatte løsninger? Nabolagsstruktur Kostnadsfunksjon straff for brudd på føringer approksimasjon Nedkjølingsplan INF-MAT 5380 - Geir Hasle - Leksjon 3 28

SA Valg av nabolag Størrelse Variasjon i størrelse Topologi Symmetri Sammenheng: Enhver løsning kan nås fra enhver annen Topografi Spikre Platåer Dype lokale optima Nabolag og kostnadsfunksjon INF-MAT 5380 - Geir Hasle - Leksjon 3 29

SA - Hastighet Tilfeldig valg av nabo reduksjon av nabolag Kostnad av kandidatløsning differanse uten full beregning approksimasjon Akseptansebeslutning forenklinger INF-MAT 5380 - Geir Hasle - Leksjon 3 30

SA Eksempel: STSP Søkerom (n-1)!/2 Nabolag: 2-opt n(n-1)/2 Sammenhengende Enkel representasjon av flytt Naturlig kostnadsfunksjon Differanse enkel å beregne Generalisering: k-opt INF-MAT 5380 - Geir Hasle - Leksjon 3 31

SA Finjustering Testproblemer Testbenk Visualisering av løsning Verdier på kostnad / straff temperatur antall / andel aksepterte flytt iterasjon / CPU Sammenheng med SA-parametre Fare for overtilpasning INF-MAT 5380 - Geir Hasle - Leksjon 3 32

SA Modifikasjoner og utvidelser Probabilistisk Endret akseptansesannsynlighet Forenklet kostnadsfunksjon Approksimasjon av eksponensialfunksjon / tabell Få temperaturer Omstart Deterministisk Terskelakseptanse (Threshold Accepting, TA) Record-to-Record Travel Nedkjølingsplan Omstart INF-MAT 5380 - Geir Hasle - Leksjon 3 33

Valg av flytt - Threshold Accepting (TA) Procedure Select_TA_Neighbor (f,current,neighbors,incumbent,theta1) */ Strategy is Threshold Accepting while true do begin i:=random_element(neighbors) delta := f(i) - f(current) */ SA: if delta < 0 or Random(0,1) < exp(-delta/t) if delta < theta1 */ Positive Threshold w.r.t. current then return i end Problem med denne prosedyren? INF-MAT 5380 - Geir Hasle - Leksjon 3 34

Valg av flytt - Record-to-Record Travel Procedure Select_RRT_Neighbor (f,current,neighbors,incumbent,theta2) */ Strategy is Record-to-Record Travel whiletruedo begin end i:=random_element(neighbors) */ SA, TA: delta := f(i) - f(current) */ SA: if delta < 0 or Random(0,1) < exp(-delta/t) if f(i) < theta2*incumbent */ theta2 > 1 then return i INF-MAT 5380 - Geir Hasle - Leksjon 3 35

SA/TA Nedkjølingsplan e t Tilfeldig nabolagssøk Lokalsøk (Random Descent) t = t 0 Remedier: godt valg av starttemperatur godt stoppkriterium hurtigere nedkjøling først og sist testkjøring INF-MAT 5380 - Geir Hasle - Leksjon 3 36

SA Valg av flytt Standard: Tilfeldig trekk i nabolag Problematisk rundt lokale optima Remedie: Syklisk valg av nabo Standard: Lav akseptanserate ved lave temperaturer mye unødig beregning mulige remedier: Akseptansesannsynlighet Valg av nabo basert på veiet trekning Deterministisk akseptanse INF-MAT 5380 - Geir Hasle - Leksjon 3 37

SA Kombinasjon med andre metoder Preprossesering god startløsning Standard lokalsøk underveis hvert aksepterte flytt hver forbedrende flytt SA i konstruksjonsheuristikker INF-MAT 5380 - Geir Hasle - Leksjon 3 38

SA - Oppsummering Inspirert av statistisk mekanikk - nedkjøling Metaheuristikk lokalsøk tilfeldig nedstigning tilfeldighet for å unngå lokalt optimum Enkel og robust metode, raskt å komme i gang Bevis for konvergens til globalt optimum verre enn komplett søk I praksis: beregningskrevende finjustering kan gi gode resultater god der det er vanskelig å lage robuste heuristikker som baseres på problemstruktur INF-MAT 5380 - Geir Hasle - Leksjon 3 39

Leksjon 3 - Oppsummering Lokalsøk hovedutfordring Mulige strategier for å unnslippe lokale optima Definisjon metaheuristikk Tilfeldig lokalsøk Simulert størkning (Simulated Annealing, SA) Terskelakseptanse (Threshold Accepting, TA) Record-to-Record Travel (?, RRT) INF-MAT 5380 - Geir Hasle - Leksjon 3 40

Leksjon 4 - Oversikt Tabusøk INF-MAT 5380 - Geir Hasle - Leksjon 3 41