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

Like dokumenter
INF-MAT-5380

INF-MAT-5380

INF-MAT-5380

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

INF-MAT Geir Hasle - Leksjon 3 2

INF-MAT-5380

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

INF-MAT

INF-MAT-5380

!!!" " # $ Leksjon 1

Hybrid med lokalsøk: Memetic algorithms

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

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

Del A: Diskret optimering og heuristiske metoder Leksjon 7

Epost: Tlf. SINTEF Mob

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

Heuristiske søkemetoder II

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

UNIVERSITETET I OSLO

Del A: Diskret optimering og heuristiske metoder Leksjon 2

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

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

Dynamisk programmering

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

LP. Leksjon 4. Kapittel 4: effektivitet av simpleksmetoden

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

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

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

LP. Leksjon 8: Kapittel 13: Nettverk strøm problemer, forts.1

INF Algoritmer og datastrukturer

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

MAT1030 Diskret matematikk

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

MAT1030 Plenumsregning 1

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

INF Algoritmer og datastrukturer

LP. Leksjon 5. Kapittel 5: dualitetsteori. motivasjon det duale problemet svak og sterk dualitet det duale til LP problemer på andre former

Heuristiske søkemetoder III

Dagens plan. INF Algoritmer og datastrukturer. Koding av tegn. Huffman-koding

MAT1030 Diskret Matematikk

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

INF Algoritmer og datastrukturer

LP. Leksjon 6: Kap. 6: simpleksmetoden i matriseform, og Seksjon 7.1: følsomhetsanalyse

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

IN2010: Forelesning 11. Kombinatorisk søking Beregnbarhet og kompleksitet

MAT1030 Diskret matematikk

Innledning. MAT1030 Diskret matematikk. Kapittel 11. Kapittel 11. Forelesning 33: Repetisjon

Dynamisk programmering

INF5110, onsdag 19. februar, Dagens tema: Parsering ovenfra-ned (top-down)

Dagens plan: INF Algoritmer og datastrukturer. Grafer vi har sett allerede. Det første grafteoretiske problem: Broene i Königsberg

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

INF5110 V2012 Kapittel 4: Parsering ovenfra-ned

Forelesning 33. Repetisjon. Dag Normann mai Innledning. Kapittel 11

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

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

EKSAMEN med løsningsforslag

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

UNIVERSITETET I OSLO

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

INF-MAT5370. Trianguleringer i planet (Preliminaries)

UNIVERSITETET I OSLO

INF 3/ oktober : Avslutte Branch and Bound 23.6: Trær og strategier for spill med to spillere

Mer kodegenerering: Tilleggsnotat fra AHU Om Javas Byte-kode INF april 2009

LP. Leksjon 7. Kapittel 13: Nettverk strøm problemer

Kap.4 del 2 Top Down Parsering INF5110 v2005. Arne Maus Ifi, UiO

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

Kapittel 1 og 2: eksempel og simpleksmetoden

MAT Oblig 1. Halvard Sutterud. 22. september 2016

IN2010: Algoritmer og Datastrukturer Series 2

Datastrukturer. Stakker (Stacks) Hva er en datastruktur? Fordeler / Ulemper. Generelt om Datastrukturer. Stakker (Stacks) Elementære Datastrukturer

LP. Kap. 17: indrepunktsmetoder

MAT1030 Plenumsregning 3

UNIVERSITETET I OSLO

Notat for oblig 2, INF3/4130 h07

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

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

Grunnleggende Grafteori

LP. Leksjon Spillteori

Heuristiske søkemetoder I

LP. Leksjon 1. Kapittel 1 og 2: eksempel og simpleksmetoden

UNIVERSITETET I OSLO

Kontinuasjonseksamen i tdt4125 Algoritmekonstruksjon, videregående kurs

Kapittel 4: effektivitet av simpleksmetoden

Kodegenerering, del 2: Resten av Kap. 8 pluss tilleggsnotat (fra kap. 9 i ASU ) INF5110 V2007

Kapittel 5: dualitetsteori

6. oktober Dagens program: Første time: Andre time, gjesteforelesning: Uavgjørbarhet. Stein Krogdahl. (Ikke pensum, egne foiler legges ut)

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

Trianguleringer i planet.

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

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2

Dagens stoff er hentet fra kapittel 9 i læreboka, samt kapittel 20.5 (som vi «hoppet over» sist)

INF1020 Algoritmer og datastrukturer GRAFER

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2

Korteste vei problemet (seksjon 15.3)

Introduksjon til operasjonsanalyse

UNIVERSITETET I OSLO

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

MAT1030 Diskret Matematikk

Norsk informatikkolympiade runde

Transkript:

Leksjon 2

!"!#$ Kursinformasjon Motivasjon Operasjonsanalyse Kunstig intelligens Optimeringsproblemer (diskrete) Matematisk program COP Definisjon DOP Anvendelser Kompleksitetsteori Eksakte metoder, approksimasjonsmetoder Heuristikker Skisse av lokalsøk INF-MAT 5380 - Geir Hasle - Leksjon 2 2

!% Eksempler på DOP Mer om lokalsøk Begrepsdefinisjoner Hovedproblem i lokalsøk INF-MAT 5380 - Geir Hasle - Leksjon 2 3

&'!(!)#*!+*, Handelsreisende-problemet med tidsvinduer (TSPTW) Komplett graf med n noder (byer) {,, n} Kjent reisekostnad mellom byer c ij Hver by har åpningstid og betjeningstid [ e,l ] i i s i Handelsreisende skal foreta rundtur Løsning kan representeres ved permutasjon S er mengden av alle (lovlige) permutasjoner f er summen av reisekostnader ( ) n f π = c + c i= π(i), π (i+ ) π(n), π() π INF-MAT 5380 - Geir Hasle - Leksjon 2 4

'-!)#*!!$ min f (x) slik at g (x) = 0, i =,, m i h (x) 0, j =,,n j x vektor av diskrete beslutningsvariable INF-MAT 5380 - Geir Hasle - Leksjon 2 5

'-!)#*.#/*0'!.#*2 Gitt x = x,, x ( ) n ( ) ( ) { } { } n = k n nk D = D,,D v, v,, v, v f : D D R n { } i = = (k) (k) (k) C c,,c, k, n c D ( k ) D ( k ) j πj min f (x v) slik at v c, j =, i, k (k) j π () (k) (k) j k k n INF-MAT 5380 - Geir Hasle - Leksjon 2 6

)#*!&'! '$0' n personer n oppgaver c i, j det koster å la person i utføre oppgave j finn minimal kost tilordning: x i, j hvis person i utfører oppgave j = 0 ellers hvordan gis en probleminstans? hvordan kan løsning representeres? hva er mengden S? dårlig case for lokalsøk... INF-MAT 5380 - Geir Hasle - Leksjon 2 7 n j= n i= n n min c x s.a. i= j= i,j i,j i,j i,j x = i =,,n x = j =,,n

)#*!&'!+*,! x i, j ai hvis by j følger rett etter by i = 0 ellers ankomsttid node i n j= n i= n n min c x s.a. i= j= i,j i,j i i i i,j i,j x = i =,,n x = j =,,n e a l i =,,n ( ) a x a + s + c j i,j i i i,j Hvordan gis en probleminstans? Hvordan kan løsning representeres? Hva er mengden S? Er modellen riktig? INF-MAT 5380 - Geir Hasle - Leksjon 2 8

)#*!&'!34$$0' n artikler {,...,n} tilgjengelig, vekt c i verdi v i et utvalg skal pakkes i ryggsekk med kapasitet C bestem utvalg av artikler som maksimerer verdi x i n j= hvis artikkel i er med i ryggsekken = 0 ellers i n max v x s.a. c x i= i i i C hvordan gis en probleminstans? hvordan kan løsning representeres? hva er mengden S? INF-MAT 5380 - Geir Hasle - Leksjon 2 9

5-!!'6$7 Eksakte metoder Systematisk generering (Eksplisitt enumrering, generer og test) Implisitt enumrering dele opp i enklere problemer løse enklere problem eksakt Triviell løsning Inspeksjon av probleminstansen Konstruktiv, metode gradvis oppbygging ved grådig heuristikk Løse enklere problem fjerne/modifisere føringer modifisere objektfunksjon INF-MAT 5380 - Geir Hasle - Leksjon 2 0

&'!+* Tidligere løsning: 2 7 3 4 5 6 (84) Triviell løsning: 2 3 4 5 6 7 (288) Grådig konstruksjon: 3 5 7 6 4 2 (60) 2 3 4 5 0 2 7 33 9 2 8 0 33 73 65 3 7 88 0 4 6 4 23 23 23 0 65 5 23 8 7 9 0 6 23 7 43 23 54 7 23 32 23 9 23 6 25 99 2 5 23 0 3 7 83 40 23 43 77 23 0 INF-MAT 5380 - Geir Hasle - Leksjon 2

&'!34$$0' 2 3 4 5 6 7 8 9 0 Verdi 79 32 47 8 26 85 33 40 45 59 Størrelse 85 26 48 2 22 95 43 45 55 52 Ryggsekk med kapasitet 0 0 artikler (prosjekter,...),...,0 Triviell løsning: tom ryggsekk, verdi 0 Grådig løsning, prøv artiklene etter verdi: (000000000), verdi 85 bedre forslag? INF-MAT 5380 - Geir Hasle - Leksjon 2 2

8!!'6$9!-!!0!'6$7 Modifikasjon av gitt løsning gir naboløsning En viss type operasjon på løsningen gir et sett med naboer, et nabolag Evaluering av naboer objektfunksjon tillatt? INF-MAT 5380 - Geir Hasle - Leksjon 2 3

&'!+* Operator: 2-opt Hvor mange naboer? INF-MAT 5380 - Geir Hasle - Leksjon 2 4

&'!34$$ 2 3 4 5 6 7 8 9 0 Verdi 79 32 47 8 26 85 33 40 45 59 Størrelse 85 26 48 2 22 95 43 45 55 52 0 0 0 0 0 0 0 0 Anta vi ser på løsning 00000000 verdi 73 Naturlig operator: Flip en bit, dvs. hvis artikkelen er i ryggsekken, ta den ut hvis artikkelen ikke er i ryggsekken, ta den med Noen naboer: 0000000 verdi 05 0000000 verdi 52, ikke tillatt 000000000 verdi 47 INF-MAT 5380 - Geir Hasle - Leksjon 2 5

)!0'$ La (S,f) være en DOP-instans. En nabolagsfunksjon er en avbildning N : S 2 S som for gitt løsning s S definerer et nabolag av løsninger N( s) som på et vis er i nærheten av t N( s) sies å være nabo til s S s INF-MAT 5380 - Geir Hasle - Leksjon 2 6

0'$ Oftest defineres nabolagene ved en gitt type operasjon på løsningen Oftest enkle operasjoner fjerning av element tillegg av element bytte av to eller flere elementer i løsning Flere nabolag - kvalifiseres med operator N σ ( s), σ Σ INF-MAT 5380 - Geir Hasle - Leksjon 2 7

'60'$62 Utgangspunkt i initiell løsning Iterativt søk i nabolag etter bedre løsning Sekvens av løsninger sk + Nσ( sk ), k = 0, Strategi for hvilken løsning i nabolaget som aksepteres som neste løsning Stoppkriterier Hva skjer når nabolaget ikke inneholder bedre løsning? INF-MAT 5380 - Geir Hasle - Leksjon 2 8

)!'! La (S,f) være en DOP-instans og la N være en nabolagsfunksjon. En løsning er lokalt optimal (minimal) med hensyn på N dersom: f ( sˆ ) f ( t), t N( sˆ ) ŝ Vi betegner mengden av lokalt optimale løsninger med Ŝ NB! Lokal optimalitet er relativt til nabolag INF-MAT 5380 - Geir Hasle - Leksjon 2 9

&'!+* Operator/Nabolag: 2-opt Lokalt optimal (2-optimal) løsning INF-MAT 5380 - Geir Hasle - Leksjon 2 20

)!&!0'$ La (S,f) være en DOP-instans og la N være en nabolagsfunksjon. N er eksakt dersom: Ŝ S * Med flere ord: N er eksakt dersom lokale optima for nabolaget N også er globale optima. INF-MAT 5380 - Geir Hasle - Leksjon 2 2

'60'$62 Alternative søkestrategier Aksepter første forbedrende løsning ( First Accept ) Søk hele nabolag gå til beste forbedrende løsning ( Steepest Descent, Hill Climbing Iterative Improvement ) alltid gå til beste løsning i nabolag ( Best Neighbor ) Andre strategier? INF-MAT 5380 - Geir Hasle - Leksjon 2 22

:';+:+999$42 */ strategy is First Accept or Best Accept current=init_solution(s) incumbent:=current local_optimum:=false while not local_optimum do od */ best solution until now (current,incumbent,local_optimum):= Search_the_Neighborhood (current,n(s),f,strategy,incumbent) if local_optimum return incumbent INF-MAT 5380 - Geir Hasle - Leksjon 2 23

+:;;$0 :9$099$49:02 best_neighbor:=current for t in Neighbors do if f(t) < f(best_neighbor) then best_neighbor:=t if f(t) < f(incumbent) then if strategy= First Accept then return (t,t,false) else incumbent:=t */ strategy is Best Accept fi fi od return (best_neighbor,incumbent,best_neighbor=current) INF-MAT 5380 - Geir Hasle - Leksjon 2 24

#0- First Accept og Steepest Descent stopper i lokale optima Dersom nabolaget N er eksakt, er lokalsøk med disse strategiene (eksakte) optimeringsalgoritmer Lokalsøk kan betraktes som traversering i en rettet graf ( nabolagsgrafen ), der nodene er medlemmene i S og N definerer topologien (nodene merket med kostnad) og f definerer topografien INF-MAT 5380 - Geir Hasle - Leksjon 2 25

'6!-$!-! 0'$$! sk + Nσ( sk ), k = 0, N σ ( s ) 0 N σ ( s ) s s s 0 s 0 s s 2 Et flytt er prosessen å velge en gitt løsning i nabolaget til nåværende løsning som nåværende løsning for neste iterasjon INF-MAT 5380 - Geir Hasle - Leksjon 2 26

'6!'!! Nσ( s k ) s k + s k s k INF-MAT 5380 - Geir Hasle - Leksjon 2 27

'!$!$'0'! Kostnad Løsningsrom INF-MAT 5380 - Geir Hasle - Leksjon 2 28

&'!(!''6 Simpleksalgoritmen for Lineærprogrammering (LP) Simpleks Fase I gir initiell (brukbar) løsning Fase II gir iterativ forbedring mot optimal løsning (hvis slik finnes) Nabolaget defineres av simpleks-polytopen Strategien er Iterative Improvement Flyttene bestemmes av pivoteringsregler Nabolaget er eksakt, dvs. Simpleks er en optimeringsalgoritme (for visse pivoteringsregler) INF-MAT 5380 - Geir Hasle - Leksjon 2 29

'6 Gammel idé, utvikling siste par tiår Populær metode for praktisk problemløsning av harde problemer Generell metode, tilpasningsvennlig Anytime -metode, kan avbrytes når som helst etter at initiell løsning er funnet Ofte effektive Effektivitet avhengig av initiell løsning og nabolag Nabolag bør velges ut fra problemstruktur Eksakte metoder er å foretrekke dersom de er effektive nok INF-MAT 5380 - Geir Hasle - Leksjon 2 30

'6 Hovedutfordring: finne gode nabolag størrelse vs. kvalitet Andre utfordringer initiell(e) løsning(er) effektiv evaluering av flytt (inkrementell evaluering) håndtering av føringer søkestrategi stoppkriterier ytelse Ytelse ofte bedre enn enkle, grådige heuristikker og heuristikker med ytelsesgaranti Hvordan evaluerer vi ytelsen? INF-MAT 5380 - Geir Hasle - Leksjon 2 3

'6<' Lokalt optimum kan være langt fra globalt optimum Grådig metode (Iterative improvement) Blind metode, ingen bruk av informasjon under søk Ofte sterkt avhengig av initiell løsning og nabolag Manglende ytelsesgaranti INF-MAT 5380 - Geir Hasle - Leksjon 2 32

&-'$!-! 6-!$!!$!-!$2 Øvre grenser Heuristikker Optimal verdi Nedre grenser Relaksasjoner LP Lagrange INF-MAT 5380 - Geir Hasle - Leksjon 2 33

5-$!!''6 Hva skal vi gjøre for å unngå at lokalsøk stopper i lokalt optimum? INF-MAT 5380 - Geir Hasle - Leksjon 2 34

%!#$ Eksempler på DOP Alternative representasjoner 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 2 35

!!#- Tilfeldig søk Simulert størkning Terskelakseptanseteknikker INF-MAT 5380 - Geir Hasle - Leksjon 2 36

Leksjon 2