Hybrid med lokalsøk: Memetic algorithms

Like dokumenter
INF-MAT-5380

Del A: Diskret optimering og heuristiske metoder Leksjon 7

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

INF-MAT Geir Hasle - Leksjon 3 2

INF-MAT-5380

Styrt lokalsøk (Guided Local Search, GLS)

INF-MAT-5380

INF-MAT-5380

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

Styrt lokalsøk (Guided Local Search, GLS)

INF-MAT

INF-MAT-5380

INF-MAT-5380

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

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

Heuristisk søk 1. Prinsipper og metoder

Epost: Tlf. SINTEF Mob

!!!" " # $ Leksjon 1

Heuristiske søkemetoder II

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

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

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

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

LØSNINGSFORSLAG ØVING 2 - APPROKSIMERING AV TSP

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

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

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

Trust region methods: global/local convergence, approximate January methods 24, / 15

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

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

LP. Leksjon 3. Kapittel 3: degenerasjon.

A study of different matching heuristics. Hovedfagspresentasjon Jan Kasper Martinsen

MAT1030 Plenumsregning 1

Longest. increasing. subsequence. Betingelser. Matrise- common. Grådig vs. DP. Forside. Intro. Fibonacci-tall. Memoisering DP

Kapittel 3: degenerasjon.

Læringsmål og pensum. Algoritmeeffektivitet

TDT4110 Informasjonsteknologi grunnkurs: Tema: Algoritmer i praksis. Professor Alf Inge Wang

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

MAT1030 Diskret Matematikk

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

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

Dynamisk programmering

Discrete Optimization Methods in Maritime and Road-based Transportation

Sensitivitet og kondisjonering

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

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

LP. Leksjon 4. Kapittel 4: effektivitet av simpleksmetoden

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

INF5110 V2013 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker

MAT1030 Diskret matematikk

INF5110 V2012 Kapittel 4: Parsering ovenfra-ned

Del A: Diskret optimering og heuristiske metoder Leksjon 3

MAT1030 Diskret matematikk

Grådige algoritmer. Lars Vidar Magnusson Kapittel 16. Aktivitetvelgingsproblemet Huffmankoder

Del 4 Noen spesielle C-elementer

MAT1030 Diskret matematikk

INF 4130 / / Dagens foiler hovedsakelig laget av Petter Kristiansen Foreleser Stein Krogdahl Obliger:

INF Algoritmer og datastrukturer

Velkommen til MAT1030!

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

MAT1030 Diskret Matematikk

INF2820 Datalingvistikk V2015. Jan Tore Lønning

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

Live life and be merry

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

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

MAT1030 Forelesning 25

Dagens tema: Kjøresystemer II

Forelesning 25. MAT1030 Diskret Matematikk. Litt repetisjon. Litt repetisjon. Forelesning 25: Trær. Roger Antonsen

INF2820 Datalingvistikk V2016. Jan Tore Lønning

Newtons metode er en iterativ metode. Det vil si, vi lager en funksjon. F x = x K f x f' x. , x 2

INF2820 Datalingvistikk V2016. Jan Tore Lønning

Hjemmeeksamen 2 i INF3110/4110

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer

INF2820 Datalingvistikk V2012. Jan Tore Lønning

Forelesning 1. Algoritmer, pseudokoder og kontrollstrukturer. Dag Normann januar Vi som skal undervise. Hva er diskret matematikk?

Hashing: Håndtering av kollisjoner

Propabilistisk Analyse og Randomiserte Algoritmer

Longest increasing. subsequence Betingelser. Longest. common subsequence. Knapsack Grådig vs. DP Moro: 2D-Nim Spørsmål. Forside. Repetisjon.

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

Løkker og arrayer. Løse problemer med programmering. INF1000, uke3 Geir Kjetil Sandve

NP-komplett, hva nå?

Stoff som i boka står i kap 4, men som er. 10. Februar Ifi, UiO

Typer. 1 Type: boolean. 2 Verdimengde: {true, false} 3 Operatorer: NOT, AND, OR... 1/19. Forelesning Forelesning

INF3110 Programmeringsspråk. Dagens tema. Typer (Kapittel 3 frem til ) Innføring i ML (Kapittel & ML-kompendiet.) 1/19

Kapittel 4: effektivitet av simpleksmetoden

Python: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer

Vi som skal undervise. MAT1030 Diskret matematikk. Hva er diskret matematikk? Hva er innholdet i MAT1030?

Stoff som i boka står i kap 4, men som er

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

INF2810: Funksjonell programmering: Mer om Scheme. Rekursjon og iterasjon.

Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015

KJM Molekylmodellering. Korrelerte metoder - repetisjon. Korrelerte metoder

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2810: Funksjonell Programmering. Strømmer og utsatt evaluering

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

Spesifikasjon av Lag emne

Fra krav til objektdesign

Transkript:

Leksjon 7

! Viktige karakteristika populasjon av løsninger domeneuavhengighet enkoding mangel på utnyttelse av struktur iboende parallellitet skjema, vokabular robusthet gode mekanismer for intensifisering mangler noe diversifisering Hybrid med lokalsøk: Memetic algorithms INF-MAT 5380 - Geir Hasle - Leksjon 7 2

" #$%& Mer direkte representasjon av løsninger mer naturlig enkoding av løsning spesielle krysnings- og mutasjonsoperatorer Mer intensifisering lokalsøk til lokalt optimum (spesielle mutasjonsoperatorer) Memetiske algoritmer INF-MAT 5380 - Geir Hasle - Leksjon 7 3

'%!( ) *%" +,* - Introdusert av Dorigo, Maniezzo & Colorni 1992 Populasjonsbasert metaheuristikk Hver maur i populasjonen konstruerer en løsning Når alle er ferdige oppdateres et minne (kunstig feromon) Løsningskonstruksjon og minneoppdatering repeteres inntil stoppkriterium er oppfylt INF-MAT 5380 - Geir Hasle - Leksjon 7 4

",- Virker bare sånn passe... Biologisk analogi delvis forlatt 3 videreutviklinger Ant Colony System (ACS, Maurkolonioptimering) Max-Min Ant System Rank Based Ant System Alle inkluderer lokalsøk for å forbedre løsning Ant Colony System Modifisert global og lokal oppdatering Globalt og lokalt feromon Elitisme: kun beste maur får oppdatere globalt feromon Endret randomisering, sannsynlighet i to trinn velge grådig velge probabilistisk blant alle tillatte alternativer INF-MAT 5380 - Geir Hasle - Leksjon 7 5

.'&/! Genetiske algoritmer (GA) inspirert av biologisk evolusjon populasjon av løsninger (kromosomer) rekombinering ved krysning mutasjon, seleksjon Øvrige populasjonsbaserte metoder Memetiske algoritmer ( GA+lokalsøk ) Maurkolonioptimering INF-MAT 5380 - Geir Hasle - Leksjon 7 6

.'&0 $' Kategorisering av metaheuristikker Konstruktive heuristikker Multi-start baserte metaheuristikker Variabelt nabolagssøk (VND/VNS) Grådig Adaptivt Randomisert Søk (Greedy Randomized Adaptive Search, GRASP) Iterert lokalsøk (Iterated Local Search, ILS) GUT (Grand Unifying Theory)? Hyperheuristikker INF-MAT 5380 - Geir Hasle - Leksjon 7 7

1!!$'' Individ vs. populasjon Probabilistiske vs. deterministiske Minneløse vs. minnerike Modifikasjon av kostnadsfunksjon Nabolagsbaserte vs. Multi-start baserte INF-MAT 5380 - Geir Hasle - Leksjon 7 8

2%!2$ %2'' Nabolagsbaserte Essensielt varianter av lokalsøk SA, TA (grunnleggende), GLS Multi-start baserte Iterativ generering av startløsninger for lokalsøk Startløsningene tas videre med lokalsøk GA, Evolusjonsalgoritmer, Memetic Algorithms Maurkolonialgoritmer, ACO GRASP Variabelt nabolagssøk Iterert lokalsøk INF-MAT 5380 - Geir Hasle - Leksjon 7 9

1'$'' Grådig konstruksjon grad av lokalitet i beslutningene informerte valg vs. regnetid Rekkefølge-basert konstruksjon Kritikalitet Statisk vs. dynamisk evaluering Parallell vs. sekvensiell konstruksjon Sæd (seeds) Kombinasjon med søk lokalsøk systematisk Squeaky Wheel optimering INF-MAT 5380 - Geir Hasle - Leksjon 7 10

#'%% Tilfeldig restart (Random Restart, RR) Lokalsøk (f. eks. med Steepest Descent) Iterasjon Tilfeldig startløsning Når virker RR bra? INF-MAT 5380 - Geir Hasle - Leksjon 7 11

%$'.'%3'45(64 Procedure Local_Search_SD(init_sol,N,f) current:=init_sol new_current:=best_neighbor(current,n,f) while not f(new_current)=f(current) do current:=new_current new_current:= Best_Neighbor(current,N,f) od return current ; Local optimum INF-MAT 5380 - Geir Hasle - Leksjon 7 12

%%!,77877- Procedure Random_Restart (S,N,f,Stop_Criterion) current=init_solution(s) incumbent:=current */ best solution until now while not Stop_Criterion() do local_optimum:=local_search_sd(current,n,f) if f(local_optimum) < f(incumbent) then incumbent:= local_optimum fi current:=random_init_solution(s) od return incumbent */ best solution until now INF-MAT 5380 - Geir Hasle - Leksjon 7 13

75) Variant av Tilfeldig restart Konstruksjon med tilfeldighet Ligner ACO Begrenset kandidatliste for utvidelse INF-MAT 5380 - Geir Hasle - Leksjon 7 14

75) Procedure GRASP (Max_Iterations) incumbent:=bad_solution() for k:=1 to Max_Iterations do current:=local_search( Greedy_Randomized_Construction()) if f(current) < f(incumbent) then incumbent:= current fi od return incumbent */ best solution until now INF-MAT 5380 - Geir Hasle - Leksjon 7 15

75)87+*6 Procedure Greedy_Randomized_Construction() solution := Empty_Solution() while not Complete(solution ) do od Restricted_Candidate_List :=Evaluate_Incremental_Costs(solution) partial_solution:=extend_solution(solution,random_elem ent(restricted_candidate_list)) return solution INF-MAT 5380 - Geir Hasle - Leksjon 7 16

75)876 *. Restriksjon kan være Kardinalitetsbasert Verdibasert ( ) c(e) c,c + α c c min min max min Reaktiv GRASP: automatisk justering Perturbasjon av kostnadsfunksjon (noising) Utvidelse med Path Relinking Preprosessor til GA INF-MAT 5380 - Geir Hasle - Leksjon 7 17

459'":% +4 I en pipende maskin smøres først de deler som piper Basert på konstruktiv heuristikk der Løsning bygges opp ved suksessiv utvidelse med elementer Sekvens av elementer er viktig (prioritet av elementer) Mål på hvor fornøyd et element er i den endelige løsning Endring av rekkefølgen av elementer Repetisjon INF-MAT 5380 - Geir Hasle - Leksjon 7 18

59'":% + Procedure Squeaky_Wheel_Optimization(f) Element_Priority_List :=Determine_Element_Priorities() ; Static prioritization incumbent:=some_feasible_solution() while not Stop_Criterion() do solution:= Empty_Solution() while not Complete(solution) do solution:=augment_solution(solution, Element_Priority_List) od if f(solution) < f(incumbent) then incumbent:=solution Element_Priority_List :=Update_Element_Priorities(Element_Priority_List,solution) od return solution INF-MAT 5380 - Geir Hasle - Leksjon 7 19

;2%2%!3',;5- Lokalt optimum er relativt til nabolag Et lokalt optimum m.h.t. ett nabolag er ikke nødvendigvis lokalt optimum m.h.t et annet Et globalt optimum er et lokalt optimum for alle nabolag Lokale optima er ofte nær hverandre Grunnleggende idé i VNS: Systematisk variasjon av nabolag Nabolagsstruktur N, k = 1, k k max INF-MAT 5380 - Geir Hasle - Leksjon 7 20

;2%!2(6,;(- Procedure VND (N[1..kmax]) incumbent:=initial_solution() while not Stop() do restart: for k:=1 to kmax do local_optimum:=local_search(n(k),incumbent) ; Variants: Just pick better or best neighbor if f(local_optimum) < f(incumbent) then incumbent:= local_optimum if not Stop() goto restart fi fi od return incumbent */ best solution until now INF-MAT 5380 - Geir Hasle - Leksjon 7 21

;2%!256,;5- Procedure VNS (N[1..kmax]) incumbent:=current:=initial_solution() while not Stop() do restart: for k:=1 to kmax do current:=random_element(n(k)) local_optimum:=local_search(n(k),current) ; Variants: Just pick better or best neighbor if f(local_optimum) < f(incumbent) then incumbent:= local_optimum if not Stop() goto restart fi od return incumbent */ best solution until now INF-MAT 5380 - Geir Hasle - Leksjon 7 22

;5 Lokalsøk i VNS kan byttes ut med VND VNS er beregningskrevende for store instanser Redusert lokalsøk: VNDS Hybridisering Tabusøk GRASP INF-MAT 5380 - Geir Hasle - Leksjon 7 23

%'%3' Basert på (variant av) lokalsøk Lokalsøk gir avbildning LS:S S * Iterasjon med ulike startløsninger gir ulike lokale optima Tilfeldig restart Hvorfor ikke rekursjon LS:S * S ** INF-MAT 5380 - Geir Hasle - Leksjon 7 24

%'%3' Prøver å iterere slik at vi unngår å restarte i samme Basin of attraction Gjør dette ved perturbasjon av beste løsning Diversifisering INF-MAT 5380 - Geir Hasle - Leksjon 7 25

%'%3' Procedure Iterated_Local_Search(N,f) current:=incumbent:=local_search(initial_solution(),n,f) while not Stop_Criterion() do new_start:=perturbation(current,history) new_local:= Local_Search(new_start,N,f) if f(new_local) < f(incumbent) then incumbent:=new_local fi if Accept(new_local,current,history) then current:= new_local fi od return incumbent INF-MAT 5380 - Geir Hasle - Leksjon 7 26

%'%3' Hvor stor skal perturbasjonen være? for liten perturbasjon: fare for å havne i samme Basin of attraction for mye perturbasjon: Random restart variabel perturbasjon Ruin and Recreate Very Large Neighborhood Search Distansemål kan være nyttig Måle distanse til lokale optima underveis INF-MAT 5380 - Geir Hasle - Leksjon 7 27

%'%3' Perturbasjon ved trekk i høyordens nabolag Perturbasjon ved fjerning og gjenoppbygging Ruin and Recreate Tilfeldig perturbasjon Fokusert perturbasjon Distansemål sjekke distanse til lokale optima underveis INF-MAT 5380 - Geir Hasle - Leksjon 7 28

4<46= Hvilke mekanismer virker? lokalsøk restart tilfeldighet oppoverflytt minne straff diversifisering populasjon... Hva med å lage en universell metaheuristikk? No free lunch -teoremet INF-MAT 5380 - Geir Hasle - Leksjon 7 29

4.64,:%>67"?@AA- Uformell beskrivelse: Når vi midler over alle probleminstanser i et gitt søkerom så har alle søkealgoritmer samme gjennomsnittlige ytelse. For enhver algoritme, så betales enhver fordel m.h.t. løsning av en klasse av problemer med tilsvarende ulempe for en annen klasse. INF-MAT 5380 - Geir Hasle - Leksjon 7 30

<'' Det er liten vits i å sause sammen alle metaheuristikker til en metode Opportunistisk resonnering analyse av problemet/problemløsningsstatus valg av aktuell teknikk læring styring av søkeprosess etter kjølvannet INF-MAT 5380 - Geir Hasle - Leksjon 7 31

B"'' Metaheuristikker er ikke generelle Det fins ingen beste metaheuristikk No free lunch -teoremet Hyperheuristikker Generelle søketeknikker Basert på (meta)heuristikker Bruk av (meta)heuristikker for å velge (meta)heuristikk under søk bruker ikke domenekunnskap INF-MAT 5380 - Geir Hasle - Leksjon 7 32

B"'' Hyperheuristikk Domenebarrière h1 h2 h3 h4 h5 h6 Evalueringsfunksjon INF-MAT 5380 - Geir Hasle - Leksjon 7 33

B"'' Informasjon til hyperheuristikk Hver (meta)heuristikk CPU-tid brukt Endring i objektfunksjon Effektivitet Hvor lenge siden er det siden heuristikken sist ble kalt INF-MAT 5380 - Geir Hasle - Leksjon 7 34

B"'' Kvalifisert valg av heuristikk for å løse delproblem Læring under søk Probabilistisk valg av heuristikk Rulett-seleksjon INF-MAT 5380 - Geir Hasle - Leksjon 7 35