Del A: Dskret optmerg og heurstske metoder Lekso 8 Sefsforsker Ger Hasle SINTEF Avedt matematkk, Oslo!"# Kategorserg av metaheurstkker Kostruktve heurstkker Mult-start baserte metaheurstkker Tlfeldg Restart (Radom Restart, RR) Varabelt abolagssøk (VND/VNS) Grådg Adaptvt Radomsert Søk (Greedy Radomzed Adaptve Search, GRASP) Iterert lokalsøk (Iterated Local Search, ILS) GUT (Grad Ufyg Theory)? Hyperheurstkker TMA 498 - Ger Hasle - Lekso 8 2
!# Prosektoppgave Eksakte metoder Brach ad Boud Dyamsk programmerg Lagrage-relakserg TMA 498 - Ger Hasle - Lekso 8 3 $! 2
%&' ('!') max v x s.a. = =, C =,,m x, =,, Implemetere metaheurstkk Udersøkelse på testeksempler Rapport ca. 4 sder -3 studeter pr. besvarelse Frst. mars, epost Ger.Hasle@stef.o På vterfere 7.2-27.2... TMA 498 - Ger Hasle - Lekso 8 5 Sett beståede av 9 klasser,25,5 obekter 5,,3 dmesoer 3 staser hver Ikke ødvedg å bruke alle! m a le wth the ob.fuc. coeffcets a le for each m; coeffcets for <= costrats a le wth rhs of <= costrats TMA 498 - Ger Hasle - Lekso 8 6 3
* ka være kortfattet, me skal stå på ege håd og g e beskrvelse av: problemstllg de valg som ble tatt algortmebeskrvelser plaleggg og geomførg av ekspermetell udersøkelse resultater, kokluso og mulg vdere arbed kode for optmergsalgortme som vedlegg TMA 498 - Ger Hasle - Lekso 8 7 +,-'.'',/$./$ Mage oppgaver de vrkelge verde ka modelleres som LP med heltallghetsførger LP med talkostader, stykkevs leære kostadsfuksoer Dskrete valg, sekveserg, kombatorkk, logkk Tds- og ressursplaleggg, operasosaalyseproblemer LP med heltallsførger kalles Leære heltallsprogrammer Leære heltallsprogrammer er geerelt lagt vaskelgere å løse bereggsmessg e ordære LP Eksempler Eksakte metoder TMA 498 - Ger Hasle - Lekso 8 8 4
+'' = max ζ = slk at = a x b =,,m x =,, = { } TMA 498 - Ger Hasle - Lekso 8 9 max ζ = slk at = a x b =,,m x =,, x Z I,, Bladete heltallsprogrammer (Mxed Iteger Programs MIP) I {,,} Ree heltallsprogrammer (Pure Iteger Programs IP, PIP) I = {,,} - programmer x {,} LP-relakserge: Assosert problem tl leært heltallsproblem der heltallsførgee er gorert,. Øvre greser Relakserger - LP - Lagrage Optmal verd Nedre greser Heurstkker Ehver tllatt løsg gr e edre (prmal) grese på optmal verd TMA 498 - Ger Hasle - Lekso 8 5
*''' Det motsatte av restrkso Mål: fe øvre greser for optmal verd øke megde av brukbare løsger (ved å fere førger) edre fuksoe som skal maksmeres tl e fukso som har større eller lk verd overalt { ( ) } Gtt IP: ζ = max : x S R R da ses RP: ζ = max d ( x ) : x T R å være e relakserg av IP dersom S T d(x) c(x), x S TMA 498 - Ger Hasle - Lekso 8,'. Hvs RP er e relakserg av IP (maksmerg), R så er ζ ζ Prmal og dual grese gr garat Hvorda fer v teressate relakserger? LP-relakserge: fere heltallghetsførgee Lagrage-relakserg: brge vaskelge førger obektvet TMA 498 - Ger Hasle - Lekso 8 2 6
'' # '' Hadelsresedeproblemet (TSP) Ruteplalegggsproblemet (Vehcle Routg Problem, VRP) Produksosplaleggg verksted (Job Shop Schedulg, JSS) Fly- og maskapsplaleggg flyselskap (Arplae ad crew rotato) TMA 498 - Ger Hasle - Lekso 8 3 (')# '',. Flyselskap øsker god ressursutyttelse Gtt rutetabell med flyvger (legs) ploter og kabasatte - maskap flyee som flyselskapet dspoerer - flåte Oppgave Lage turer, dvs. sekveser av flyvger som starter og stopper på base For flyee, slk at hver flyvg får ett fly For maskapee slk at hver flyvg får ett maskap (plot- og kab) Sette samme turer for fly og maskap tl pla (for e uke) Tlfredsstller lover, avtaler, ressurstlgag Mmere kostader for plae Buss, tog,... TMA 498 - Ger Hasle - Lekso 8 4 7
(')# '',2. Rotasospla for fly/maskap Deler opp problemet. Lager et stort utvalg (alle) lovlge turer 2. Setter samme alteratve turer tl lovlg pla med mmal kostad TMA 498 - Ger Hasle - Lekso 8 5 (')# '',3. 4555') m flyvger skal dekkes,,m Har laget alteratve tllatte flyturer,, Tlhørede kostad for hver tur c Koeffseter som ser om flyvg dekkes av tur Megdedelgsproblemet (Set Parttog Problem) hvs flyvg er med rute a = ellers Beslutgsvarable hvs rute brukes plae x = ellers m x {,} = TMA 498 - Ger Hasle - Lekso 8 6 = a x =, =,, m 8
(')# '',. 455 6 ' m flyvger skal dekkes,, m Har laget mulge tllatte flyturer,, Tlhørede kostad for hver tur c Koeffseter som ser om flyvg dekkes av tur Megdedekgsproblemet (Set Coverg Problem) hvs flyvg er med rute a = ellers Beslutgsvarable hvs rute brukes plae x = ellers m = TMA 498 - Ger Hasle - Lekso 8 7 = a x, =,, m x, (')# '',7. Megdedelgs- og Megdedekgsproblemee er bereggsmessg harde Lkevel ka gaske store staser løses eksakt Approksmasosmetoder og heurstkker Verktøyleveradører tl flyselskap TMA 498 - Ger Hasle - Lekso 8 8 9
8'-'# 4$ Hadelsresede byer mmal rudtur der hver by besøkes e og ku e gag kete resekostader NP-hardt problem Lar seg uttrykke som (ret) heltallsprogram 5 2 3 6 4 TMA 498 - Ger Hasle - Lekso 8 9 4$ '',. byer {,, } ket resekostad ( avstad ) mellom byer c, =,,, =,,, tur fullstedg bestemt ved permutaso: ( s ) ( s s s ) = =,,, = atall mulge turer: ( )! TMA 498 - Ger Hasle - Lekso 8 2
9-'! # '5&' 36288! 6 24329287664 2! 9 3449327337843626866647688443776456896652 5! 64! 933262544394452686992388856266749759682643862468592963895275999932299568944639765658286253697928272237582585296864 6 TMA 498 - Ger Hasle - Lekso 8 2 4$ '',2. Beslutgsvarable (- varable): x, =,,, =,, x dersom by r. følger rett etter by ture = ellers Obektfukso: m = = TMA 498 - Ger Hasle - Lekso 8 22
4$ '',3. Førger må skre rudtur der alle byer besøkes e og ku e gag: = = x = =,, x = =,, For hver by skal det være e og ku e utgåede kat For hver by skal det være e og ku e gåede kat TMA 498 - Ger Hasle - Lekso 8 23 4$ '',. Formulerg: m = = = = x = =,, x = =,, Har v sett e lgede formulerg før? m = = slk at x,,, x x TMA 498 - Ger Hasle - Lekso 8 24 Tlordgsproblemet, som o er bereggsmessg ekelt! Noe er galt... 2
4$ '',. Formulerg: m = = = = x = =,, x = =,, Førgee hdrer kke dsukte subturer! 5 2 3 6 4 Er førgee tlstrekkelge for å skre e rudtur der alle byer besøkes e og ku e gag (Hamlto-tur)? TMA 498 - Ger Hasle - Lekso 8 25 4$ '',7. Må legge tl subtur-ødeleggede førger m = = = = x = =,, x = =,, La ( t ) = ( t =, t,, t ) = 3 2 5 x =, x =, x =, 3 3 x =, x =, x =, x = 25 54 46 62 ( s ) 6 = ( ) = 4 6,3,, 2,5, 4,6 g possoe tl by r. (vers permutaso tl s) t = s = s t ( t ) 6 = ( ) =, 2,3,,5, 4,6 TMA 498 - Ger Hasle - Lekso 8 26 3
4$ '',:. Possoe tl by r. ( t ) = ( t =, t,, t ) = 3 2 4 For e lovlg tur må v ha: x = t = t + t t + x = t t + Dette ka sammefattes tl: t t + ( x ) Nødvedg betgelse for å ugå subturer. Tlstrekkelg? 5 6 TMA 498 - Ger Hasle - Lekso 8 27 m = = 4$ '',". = = x = =,, 5 = =,, t t + ( x ),, =,,, x 3 2 6 4 Ata det fs subturer. Se på e av subturee. La r> være atall kater subture. Summerer sste førg over alle kater subture. V får, ved å subtrahere t for alle odee subture: r TMA 498 - Ger Hasle - Lekso 8 28 4
4$ '',. m = = = = x = =,, x = =,, t t + ( x ),, =,,, + t =, t Z, x, 3 2 5 2 + varable 2 +2 førger 6 4 TMA 498 - Ger Hasle - Lekso 8 29 (;5/$,;<=;;=;. max T Ax b slk at x, x har heltallge kompoeter Geerell, eksakt metode for løsg av leære (bladede) heltallsprogram Geererer LP på e systematsk måte, dekker alle mulgheter Løser LP-relaksaso vl g øvre greser håper på løsg som tlfredsstller heltallsførger hvs kke, forgreg med utgagspukt e fraksoell varabel Forgreer to gesdg utelukkede tlfeller Bært Eumerergstre, 2 oder Ka ta laaag td å fe optmal, heltallg løsg Avskærger: øvre og edre greser, ubrukbarhet Ka også brukes heurstsk, gr garat TMA 498 - Ger Hasle - Lekso 8 3 5
' max 7x + 2x slk at 2 2 2 2 2 x + 7x 4 x + x 5 x, x x, x N LP-relaksasoe har optmal løsg 25 Verd 3 5, 3 3 Avrudet løsg Nærmeste tllatte løsg Optmal løsg ( 2,3) (,4) (,3) TMA 498 - Ger Hasle - Lekso 8 3 (=; Forgreg på fraksoell var. x x = x 2 =4 ζ=65 Bladode LP MIP MIP x MIP LP x =.67 x 2 =3.33 ζ=68.33 MIP2 MIP x 2 LP2 x =2 x 2 =2.86 ζ=68.29 x =2.6 x 2 =2 ζ=63.89 LP3 MIP3 MIP2 x 2 2 MIP4 MIP2 x 2 3 LP4 Ikosstet! Begresg TMA 498 - Ger Hasle - Lekso 8 32 6
(# - Geerell, eksakt metode for løsg av leære MIP Geererer LP på e systematsk måte et tre - eumerergstreet Løser LP-relaksasoe (LPR) av et MIP hver ode LPR-løsg (hvs kosstet) gr øvre grese for optmal verd for uderlggede tre Hvs LPR-løsge er heltallg, har v e brukbar løsg og uderestmat (ved maksmerg) for optmal løsg Hvs kke heltallg løsg, velges e kke-heltallg varabel og v forgreer to ved å legge på gesdg utelukkede ulkhetsførger Hvs v får dårlgere verd på LP-relaksasoe e beste heltallge løsg fuet httl, ka v foreta begresg (boud) (avskærg, prug) Ikke-tllatt løsg e ode gr også avskærg Eumerergstreet ka utforskes på mage måter bredde først dybde først (stort sett bedre, gr ) Det fes heurstkker for hvlke varabler det ka løe seg å forgree på TMA 498 - Ger Hasle - Lekso 8 33 (=- Ka ta svært lag td (ekspoeselt atall oder) Vktg å få fram god, brukbar (heltallg) løsg tdlg søket Tdlg brukbar løsg ka g tdlgere avskærg LPee treet fra rote og edover er svært lke tllegg/edrg av spesell type førg: grese på varabel Ka bruke løsg fra LPe overlggede ode tl å løse LPe eværede ode raskere Kommerselle verktøy for å løse MIP CPLEX fra ILOG (F) XPRESS-MP fra Dash Optmzato (GB)... Algebraske modellergsspråk (AMPL) TMA 498 - Ger Hasle - Lekso 8 34 7
>)$,>$. Ofte er det slk at deler av optmale løsger må selv være optmale Bellma s Optmaltetsprspp (957) dyamsk makro-økoom, beslutgsteor spesaltlfelle av Potryag s maksmumprspp kotrollteor A optmal polcy has the property that whatever the tal state ad tal decso are, the remag decso must costtute a optmal polcy wth regard to the state followg from the frst decso Illustraso: Korteste-ve problemet (SPP) TMA 498 - Ger Hasle - Lekso 8 35 9#-',4-'4$$. Oppgave: fe korteste (raskeste, bllgste,...) ve fra A tl B gtt ettverk (rettet graf) Postv legde (td, kostad) på hver leke er gtt Respektere eveskørg, fe bllgste rettede st Eksempel: korteste rettede st fra a tl b ettverket tl høyre (a,e,b) kostad 7 Mage avedelser a 28 48 56 c 8 f e 5 d 7 7 38 9 65 b 48 33 24 g TMA 498 - Ger Hasle - Lekso 8 36 8
4$$# '5' F korteste ve fra alle oder dgraf tl gtt ode r (rotode) Ka formuleres som mmum kostad ettverksflytproblem Hvorda? TMA 498 - Ger Hasle - Lekso 8 37?5')#-' Beslutgsvarable: Flyt hver kat { x } (, ) Målfukso: m Førger, flytbalase: (, ) x x = b, k k k k :(, k ) :( k, ) Førger, postv flyt: x, (, ) 9 f a 56 48 8 28-6 c -6 d TMA 498 - Ger Hasle - Lekso 8 38 7 48 65 24 38 b 5 7 33 5-2 e 9 g 9
?5')#-' m (, ) slk at x x = b, k k k k :(, k ) :( k, ) x, (, ) m Ax = b x T slk at Node-kat sdesmatrse TMA 498 - Ger Hasle - Lekso 8 39 9#-' #?5')#5', $. Tlgag lk på alle oder utatt rotode Behov lk summe av tlgag (egert) rotode Kostad lk legde (eller resetd, - kostad) på hver kat Korteste ve fra vlkårlg ode lgger lags et optmalt spetre Legde på korteste ve fra e gtt ode er forskelle dual verd mellom rotode og dee ode -5 a 56 f -24 48 8 28 c -98 48 7 24 65 d 38 5-55 b -33 33-4 e 7 9 g -6 TMA 498 - Ger Hasle - Lekso 8 4 2
9#-' Nettverksflyt-formulerg og løsg med Nettverks Smpleksmetode er kke de mest effektve bereggsmessg Merkelapp (label)-baserte algortmer merkelapp-settg merkelapp-korrgerg TMA 498 - Ger Hasle - Lekso 8 4 9#-' # '>)$ Merkelapp på hver ode (verdfukso) avstad for korteste ve tl rotode: v, V må ha, for vlkårlg merkelapp: v = r v = m c + v : (, ) r Bellma s lgg for SPP Prsppet om Dyamsk Programmerg Rekurso! v f v a a 56 f TMA 498 - Ger Hasle - Lekso 8 42 48 8 c 28 v c 48 v d 7 24 65 d 38 5 b 33 7 v b v e e 9 g v g 2
9#-' # ' v = r v = m c + v : (, ) r Korteste ve fra ode tl rotode er karaktersert ved: {(, ) : v c v } = = + Ikke alltd tre f a 56 28 48 8 c d 5 7 7 38 65 b 48 33 24 e 9 g TMA 498 - Ger Hasle - Lekso 8 43 9#-' # '#4! vr = a v = m { c + v : (, ) } { r} 28 5 d 48 Getter på løsg: 7 v () r () = v =, r Itererer fram bedre tlærmger, helt tl ge edrg sker: v ( k+ ) r = ( k+ ) ( ) 24 56 k v = m c + v : (, ) r f 8 c b 33 TMA 498 - Ger Hasle - Lekso 8 44 48 7 24 65 38 33 Atall terasoer: O( ) e 9 g 22
9#-' # >!@' Vktge datastrukturer: v, oder som har fått rktg merkelapp ( ferdge ) h, Italserg: v () r () merkelapper este ode korteste ve = v =, r f a 56 48 8 c 28 d 7 65 48 24 5 7 38 b 33 e 9 g TMA 498 - Ger Hasle - Lekso 8 45 9#-' # >!@' Så lege ås { k } { } arg m v : k for alle : (, ) rof hvs c + v < v så shv v c + v h 24 f a 56 48 8 c 28 48 d 7 24 65 38 O( log ( )) 5 b 33 7 33 e 9 g TMA 498 - Ger Hasle - Lekso 8 46 23
A#*)-' x hvs artkkel er med ryggsekke = ellers = max v x s.a. = C x, ( ) f λ = max v x s.a. r = r = f ( ) r λ x, C gr optmal verd Bellma's lgg for -- Kapsack: ( λ ) = ( λ ) + ( λ ) ( ) = f max f,v f c r r r r r f r Ekel, rekursv algortme O( C) TMA 498 - Ger Hasle - Lekso 8 47!5 '&5> $ Komplekstetsteor, NP-komplette problemer Komplekstetsteor ser på beslutgsproblemer Nær sammeheg mellom beslutgsproblem og optmergsproblem Optmerg mst lke hardt som beslutg NP-komplett beslutgsproblem -> NP-hardt optmergsproblem For NP-harde DOP fs atakelg kke eksakt metode der regetde er begreset av polyom For oe NP-harde DOP fs pseudo-polyomelle, eksakte algortmer Ulke valg eksakt metode (eumeratv) approksmasosmetode (polyomsk td) heurstsk metode (ge a pror garat) NB! Ikke alle DOP er NP-harde! TMA 498 - Ger Hasle - Lekso 8 48 24
' I prakss er det slk for tall-oreterte problemer at det er begresg på størrelse av de tall som ka gå staser Pseudo-polyomell algortme for problem π: Algortme som, gtt begresg størrelse på tallee som ka gå staser av π, vl ha polyomell regetd. Svakt NP-Komplett problem: NP-komplett problem der det fs e pseudo-polyomell algortme. Sterkt NP-Komplett problem: NP-komplett problem der det kke fs e pseudo-polyomell algortme. TMA 498 - Ger Hasle - Lekso 8 49 B*)-' (Edmesoal) - Ryggsekk = Flerdmesoal - Ryggsekk = max v x s.a. max v x s.a. = =, C =,, m x, =,, C x, =,, (Edmesoal) Heltalls Ryggsekk = max v x s.a. = C x N =,, Flerdmesoal Heltalls Ryggsekk = max v x s.a. =, C =,, m x N =,, TMA 498 - Ger Hasle - Lekso 8 5 25
>C'*)-' Geeralsert Ryggsekk = max v x s.a. =, C =,,m x u =,, x,u N =,, TMA 498 - Ger Hasle - Lekso 8 5 *)-' #;' DP-algortme for - Ryggsekk er O(C ) DP er e pseudo-polyomell algortme for - Ryggsekk Hvs C er begreset løses - Ryggsekk effektvt med DP Beslutgsvarate av - Ryggsekk er Svakt NP-komplett Geeralserer tl Helltalls Ryggsekk, Geeralsert Ryggsekk Flerdmesoal Ryggsekk er Sterkt NP-komplett TSP er Sterkt NP-komplett selv med Eukldsk topolog selv dersom alle katlegder ete er eller 2 TMA 498 - Ger Hasle - Lekso 8 52 26
#' Ata at v har leært heltallsprogram Noe førger er gree Noe er ugree TSP: m = = = = x = =,, t t + ( x ),, =,,, x = =,, + t =, t Z, x, max cx Ax Dx x N b d TMA 498 - Ger Hasle - Lekso 8 53 #' IP : ζ = max cx Ax b Dx d x N LRIP( λ) : LR ζ λ = Ax b x N ( ) max cx LRIP(λ) er klart e relakserg av IP LRIP(λ) vl g øvre (dual) grese for IP [ + λ(d Dx) ] λ gr prser/duale varable/lagrage-multplkatorer assosert med de relakserte førgee, λ TMA 498 - Ger Hasle - Lekso 8 54 27
#' V øsker å fe de beste (mste) øvre grese over alle mulge RP(λ) Dette problemet kalles Lagrage-duale LRIP( λ) : LR ζ λ = Ax x N ( ) max cx b, λ λ LR { ζ λ } LDIP : m ( ) [ + λ(d Dx) ] TMA 498 - Ger Hasle - Lekso 8 55 #' Lagrage-relakserg ka g meget gode greser med begreset regekraft Ikke alltd ødvedg å løse LDIP tl optmum Hvor gode greser vl Lagrage-dual løsge g? Uder vsse forutsetger gr LDIP optmal løsg (komplemetartet, brukbarhet) I vsse tlfeller gr kke LDIP bedre grese e LP-relakserge Løsg av LDIP subgradet-metoder multplkatorusterg Budle-metoder TMA 498 - Ger Hasle - Lekso 8 56 28
8)-6 ' Varabelfkserg ka brukes som del av B&B Heurstsk metode for å starte B&B B&B e stud, så meta-heurstsk metode Parallelserg B & B prosess(er) Metaheurstkk-prosess(er) utvekslg av løsgsformaso TMA 498 - Ger Hasle - Lekso 8 57 B-'5# D>5ED Ata v har problem π (- MIP) = Løs LPR(π ) Så lege det fs bære varable med fraksoelle verder =+ velg de mst fraksoelle varabel, sett de tl / Sett π tl det reduserte problem Løs LPR(π ) Ka brukes fra vlkårlg ode B&B-eumrergstreet Lykkes av og tl! TMA 498 - Ger Hasle - Lekso 8 58 29
' >' Deltakere skal etter kurset ha e gruleggede forståelse av hvorda modere heurstske metoder basert på lokalsøk og metaheurstkker ka brukes for å fe approksmerte løsger for bereggsmessg harde kombatorske optmergsproblemer. TMA 498 - Ger Hasle - Lekso 8 59 Del A: Dskret optmerg og heurstske metoder Lekso 8 TAKK FOR MEG! 3