INF-MAT-5380

Like dokumenter
INF-MAT-5380

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

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

INF-MAT Geir Hasle - Leksjon 3 2

INF-MAT-5380

INF-MAT-5380

Styrt lokalsøk (Guided Local Search, GLS)

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

INF-MAT-5380

Styrt lokalsøk (Guided Local Search, GLS)

Hybrid med lokalsøk: Memetic algorithms

INF-MAT

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

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

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

Kompleksitet. IN algoritmer og datastrukturer Plenumstime / repetisjon

!!!" " # $ Leksjon 1

Heuristiske søkemetoder II

Epost: Tlf. SINTEF Mob

INF2820 Datalingvistikk V gang, Jan Tore Lønning

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

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

INF2820 Datalingvistikk V Gang 4.5 Jan Tore Lønning

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

MAT1030 Diskret matematikk

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

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

Dynamisk programmering

MAT1030 Plenumsregning 1

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

3/1/2011. I dag. Recursive descent parser. Problem for RD-parser: Top Down Space. Jan Tore Lønning & Stephan Oepen

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

MAT1030 Diskret matematikk

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

MAT1030 Diskret matematikk

MAT1030 Diskret Matematikk

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

3/8/2011. I dag. Dynamic Programming. Example. Example FORMELLE EGENSKAPER VED SPRÅK (KAP. 16) Jan Tore Lønning & Stephan Oepen

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

TMA4240 Statistikk 2014

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

Kapittel 4: effektivitet av simpleksmetoden

LP. Leksjon 4. Kapittel 4: effektivitet av simpleksmetoden

INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

SVM and Complementary Slackness

INF Algoritmer og datastrukturer

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

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

Kapittel 2: simpleksmetoden, forts.

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

3/5/2012. Chart alternativ datastruktur. Fundamentalregelen. Chart-parsing. Bottom-up FORMELL SPRÅKTEORI. Jan Tore Lønning

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

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

KORTESTE STI. Vektede Grafer. Korteste Sti. Dijkstra s Algoritme. Vektet Urettet Graf

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

INF Algoritmer og datastrukturer

INF2820 Datalingvistikk V2012. Jan Tore Lønning

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

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

7) Radix-sortering sekvensielt kode og effekten av cache

INF 4130 Svarforslag til «Midterm», 01/

UNIVERSITETET I OSLO

Kapittel 5: dualitetsteori

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

Oppgave 1 - Linux kommandolinje (%)

Turingmaskiner.

Dynamisk programmering

Kontinuasjonseksamen i tdt4125 Algoritmekonstruksjon, videregående kurs

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

Matematikk Øvingsoppgaver i numerikk leksjon 7 Løsningsforslag

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

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

MAT Oblig 1. Halvard Sutterud. 22. september 2016

INF2810: Funksjonell Programmering

Øvingsforelesning 5 Python (TDT4110)

Stein Krogdahl, Dino Karabeg, Petter Kristiansen. Kenneth A. Berman and Jerome L. Paul.

INF2820 Datalingvistikk V2016. Jan Tore Lønning

Hva er en algoritme? Har allerede sett på mange algoritmer til nå i IT1101. Forholdet mellom en algoritme og et program. Algoritme program prosess

Object [] element. array. int [] tall

IN Algoritmer og datastrukturer

45011 Algoritmer og datastrukturer Løsningsforslag eksamen 13. januar 1992

MAT1030 Plenumsregning 3

Øvingsforelesning 5 Python (TDT4110)

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

Løse reelle problemer

2/24/2012. Dynamic Programming. I dag. Example. Example PARSING. Jan Tore Lønning

INF2810: Funksjonell Programmering

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Quicksort. Fra idé til algoritme.

UNIVERSITETET I OSLO

LØSNINGSFORSLAG ØVING 2 - APPROKSIMERING AV TSP

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

Kapittel 6 - modell seleksjon og regularisering

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

Numerisk lineær algebra

INF Repetisjon: Hvordan bygge treet og analysere? 8. september Typisk situasjon. De problematiske syntaks-diagrammene

Transkript:

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

Leksjon 4 - Oversikt Tabusøk INF-MAT 5380 - Geir Hasle - Leksjon 5 2

Tabusøk - Sammendrag Inspirert fra matematisk optimering og kunstig intelligens/kognitiv vitenskap Fokus på bruk av minne fremfor bruk av tilfeldighet Basert på aggressivt lokalsøk, aksepterer flytt til dårligere løsning Kandidatliste-strategier etc. for billigere evaluering av nabolag Bruk av korttidsminne attributter unngå reversering og repetisjon tabukriterier, tabuliste Aspirasjonskriterier - tabuer er til for å brytes... Diversifisering og intensifisering Path relinking Strategisk oscillering Gode resultater for mange, harde DOP INF-MAT 5380 - Geir Hasle - Leksjon 5 3

Leksjon 5 - Oversikt Styrt lokalsøk (Guided Local Search, GLS) Martin Stølevik, SINTEF INF-MAT 5380 - Geir Hasle - Leksjon 5 4

Guided Local Search (GLS) - Bakgrunn GENET (neural network) Prosjekt for løsing av Constraint Satisfaction Problemer (CSP) Fra tidlig på 90-tallet Tsang, Voudouris m.fl. (Davenport) Edward Tsang og Chris Voudouris 1994 videreutvikling av GENET fra CSP til Partial CSP (nesten-løsninger når problemet er overbeskranket): satisfaction optimering ledet til the Tunnelling Algorithm (94) som igjen ledet til GLS (95) INF-MAT 5380 - Geir Hasle - Leksjon 5 5

Hovedidé Generell strategi, metaheuristikk, for å styre nabolagssøk/ indre heuristikker Straffer uønskede egenskaper ( features ) i løsninger Fokuserer på lovende deler av søkerommet Søker å unngå lokal optima ved å jobbe med en utvidet objektivfunksjon (original + straffeledd) Kjører lokalsøk til (lokalt) minimum, straffer egenskaper, lokalsøk til minimum, straffer,. INF-MAT 5380 - Geir Hasle - Leksjon 5 6

Egenskaper GLS fokuserer på karakteristiske (ikke-trivielle) egenskaper (features) ved løsninger Problemavhengige Egenskaper har en kostnad. Kostbare egenskaper prøver en å unngå. Representerer direkte eller indirekte innvirkning fra en løsning på (utvidet) objektivfunksjon Konstant eller variabel Indikatorfunksjon: 1, hvis løsning shar feature i I() s =, i s S 0, hvis løsning sikke har feature i INF-MAT 5380 - Geir Hasle - Leksjon 5 7

Egenskap - eksempel: TSP En løsning (tur) er et antall kanter En kant er godt valg som egenskap: Er enten med i en løsning eller ikke egenskap-kostnad = kantlengden La f.eks. settet av alle kanter e ij være egenskapene: 4 2 1 5 7 3 E = { e }, i= 1... N, j = i+ 1... N, i j ij Kostnad for en egenskap e ij er gitt av d ij i distansematrisen: C = [d ], i=1...n, j=1...n ij 6 INF-MAT 5380 - Geir Hasle - Leksjon 5 8

Utvidet objektivfunksjon Sett av egenskaper E={ e i Indikatorfunksjon: }, i=1 G 1, hvis løsning s inneholder ei Ii () s =, s S 0, hvis løsning s ikke inneholder ei Straffevektor p=[p i ], i=1 G, antall ganger egenskap e i er straffet til nå Straffefaktor eller reguleringsparameter λ f '( s) = f( s) + λ I ( s) p i G i= 1 i Kostnadsvektor c=[c i ], c i > 0, i=1 G, gir kostnad for e i INF-MAT 5380 - Geir Hasle - Leksjon 5 9

Utvidet objektivfunksjon - kommentarer f '( s) = f( s) + λ I ( s) p i G i= 1 i Reguleringsparameteren λ gir straffens innflytelse på den utvidede objektivfunksjonen. Lav verdi: intensifisering Høy verdi: diversifisering Initielt er p i =0 i I lokale minima velges den (de) e i som har høyest verdi ( utility ), u i (s min, e i ) = I i * c i /(1+p i ). Denne egenskapen straffes ved å sette p i = p i +1. Diversifisering: ulike egenskaper straffes egenskaper med høy kostnad straffes oftere enn de med lav kostnad Merk: Bare egenskaper i lokale minima, straffes INF-MAT 5380 - Geir Hasle - Leksjon 5 10

Search_the_Neighborhood (current,n,f,strategy,incumbent) best_neighbor:=current neighbors=n(current) for i in neighbors do if f(i) < f(best_neighbor) then best_neighbor:=i if f(i) < f(incumbent) then if strategy= First Accept then return (i,i,false) else incumbent:=i */ strategy is Best Accept fi fi od return (best_neighbor,incumbent,best_neighbor=current) INF-MAT 5380 - Geir Hasle - Leksjon 5 11

Local_Search (S,f,N,strategy) i=init_solution(s) incumbent:=i local_optimum:=false while not local_optimum do od (i,incumbent,local_optimum):= Search_the_Neighborhood (i,n(i),f,strategy,incumbent) */ best solution until now if local_optimum return incumbent INF-MAT 5380 - Geir Hasle - Leksjon 5 12

GLS(S, f, λ, I, c, G, stopcriterion, N) { } int k := 0; // number of GLS-iterations s* := s k := InitialSolution(S); // get initial solution set all p i := 0; // set all penalties to zero while (stopcriterion not satisfied) do { f = f + λ* (I i *p i ); s k+1 = Local_Search (s k, f, N, best accept ); // local minimum for (i=1 to G) u i = I i (s k+1 )* c i /(1+p i ); for each i such that u i is maximum do p i := p i + 1; k = k+1; if (f(s k+1 ) < f(s*)) s* = s k+1 ; // save best solution found until now } return s*; INF-MAT 5380 - Geir Hasle - Leksjon 5 13

Kommentarer Bruker utvidet objektivfunksjon i lokalsøket: s k+1 := Local_Search (s k, f, N, best accept ); Lokalsøk-strategien kan også være first accept,.. Funksjonen Local_Search kan velges for å løse problemet best mulig. Benytter den vanlige objektivfunksjonen til å finne beste løsning (naturlig nok!): if (f(s k+1 ) < f(s*)) Delta-evaluering av flytt må ta hensyn til egenskaper som endrer status Hvis alle egenskaper er straffet like mye, beskriver f (s) samme landskap som f(s) INF-MAT 5380 - Geir Hasle - Leksjon 5 14

Verdier på λ Kan være problematisk å finne verdier for λ selv om metoden er robust for dens verdi Generelt: brøkdel av lokalt minimum. Tsang og Voudouris: TSP : λ = a*f(s min )/n, a [0,1] er problemavhengig QAP: λ = a*f(s min )/n 2, a [0.2,1] er problemavhengig For andre problemer rapporterer de absolutte verdier avhengig av problemstørrelse. Eks: Minimering av brudd på føringer (PCSP): λ = straffen for å bryte en føring. INF-MAT 5380 - Geir Hasle - Leksjon 5 15

GLS - eksempel : TSP Egenskap: kant Kostnad på egenskap: lengden 2 5 7 3 Egenskap en assosiert med e 26 vil bli straffet i løsningen til høyre: I neste runde med lokalsøk er objektivverdien som før (f(s)) bortsett fra hvis e 26 er med, da er verdien f(s)+λ 6 1 4 1 2 3 4 5 6 7 1 0 0 0 0 0 0 2 0 0 0 1 0 3 0 0 0 0 4 0 0 0 5 0 0 6 0 INF-MAT 5380 - Geir Hasle - Leksjon 5 16

GLS - eksempel : TSP 5 Etter neste lokalsøk blir e 34 straffet. Deretter er objektivverdien som før (f(s)) bortsett fra hvis e 26 eller e 34 er med f () s, både e og e s 26 34 f '( s) = f(s)+ λ, e eller e s 26 34 f(s)+2 λ, både e og e s 26 34 6 2 3 7 1 4 1 2 3 4 5 6 7 1 0 0 0 0 0 0 2 0 0 0 1 0 3 1 0 0 0 4 0 0 0 5 0 0 6 0 INF-MAT 5380 - Geir Hasle - Leksjon 5 17

GLS vs. SA I SA er det vanskelig å finne riktig nedkjølingsskjema (problem-avhengig) Høy temperatur gir dårlige løsninger Lav temperatur gir konvergens til lokalt minimum SA er ikke-deterministisk GLS besøker lokale minima, men kan komme unna. Ikke tilfeldige oppover -flytt som i SA GLS er deterministisk Konvergerer ikke i lokalt minimum; straff tillegges helt til man unnslipper INF-MAT 5380 - Geir Hasle - Leksjon 5 18

Minne - GLS vs. Tabusøk I tabusøk benyttes frekvensbasert (langtids)minne til å straffe egenskaper som opptrer ofte. GLS bruker sitt minne (p i ) gjennom hele søket, ikke bare i egne faser som i tabusøk. GLS straffer på bakgrunn av både kostnad og frekvens av en løsning. Tabusøk straffer bare på bakgrunn av frekvens og kan dermed søke å fjerne gode egenskaper. GLS unngår dette ved å benytte domenekunnskap (c i ) I GLS synker sannsynligheten for senere å bli straffet jo mer en egenskap er blitt straffet (c i /[1+p i ]) INF-MAT 5380 - Geir Hasle - Leksjon 5 19

GLS vs. Tabusøk Informasjon som brukes Minne Når? Tabusøk Modifisert nabolag Tabu liste, frekvensbasert minne Hver iterasjon eller hver N'te iterasjon. GLS Modifisert objektivfunksjon Straff av egenskaper I lokalt minimum i utvidet objektivfunksjon Søkets "natur" Intensifisering / diversifisering Reduksjon av nabolag - Unngå stopp i lokale minima og reverserende flytt - Diversifisering; straffe flytt som gjøres ofte eller attributter som opptrer ofte i løsninger < > Parameteren λ Kandidatliste - Unnslippe lokale minima - Distribuere søke-innsatsen avhengig av kostnad på egenskaper Fast Local Search - FLS INF-MAT 5380 - Geir Hasle - Leksjon 5 20

Fast Local Search Begrensning av søkerommet Ligner på kandidatliste-strategien i Tabusøk Idé oppdeling av nabolaget (eg. søkerommet) i sub-nabolag Status sub-nabolag: aktivt eller ikke aktivt (bit: 1 / 0 ) Søk bare i de aktive sub-nabolagene Assosiere egenskaper til sub-nabolag egenskap nabolag som endrer status for denne egenskapen Ved flytt beholder man bit ene og søker videre i aktive subnabolag Kan brukes for alle lokalsøk-algoritmer, men egner seg spesielt bra kombinert med GLS INF-MAT 5380 - Geir Hasle - Leksjon 5 21

GLS - bruksområder Workforce scheduling at BT (Tsang, Voudouris 97) TSP (Voudouris, Tsang 98) VRP (Kilby et. al. 97) Funksjonsoptimering (Voudouris 98) FAP (Voudouris, Tsang 98) INF-MAT 5380 - Geir Hasle - Leksjon 5 22

Muligheter og utvidelser 1 0.5+( sin(sqrt(x*x))*sin(sqrt(x*x)) -0.5)/((1+0.001*(x*x)) * (1+0.001*(x*x))) Begrenset varighet på straff Avtakende straff Belønning, i tillegg til straff Automatisk regulering av λ Nye utility-funksjoner for å finne egenskaper å straffe 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0-100 -50 0 50 100 Har vært benyttet til funksjonsoptimering, gode resultater på: 2 2 2 sin x + y 0.5 F6( x, y) = 0.5 + 2 2 1 + 0.001( x + y ) 2 INF-MAT 5380 - Geir Hasle - Leksjon 5 23

Leksjon 5 - Oppsummering Styrt lokalsøk (Guided Local Search, GLS) Martin Stølevik, SINTEF INF-MAT 5380 - Geir Hasle - Leksjon 5 24

Leksjon 6 - Oversikt Genetiske algoritmer (GA) Øvrige populasjonsbaserte metoder Memetiske algoritmer Maurkolonioptimering INF-MAT 5380 - Geir Hasle - Leksjon 5 25