Del A: Dskret optmerg og heurstske metoder Leksjo 2 Sjefsforsker Ger Hasle SINTEF Avedt matematkk, Oslo! Kursformasjo Motvasjo Operasjosaalyse Kustg tellges Optmergsproblemer (dskrete) Matematsk program Defsjo DOP Komplekstetsteor Eksempler: TSP, Ryggsekk, Tlordg Eksakte metoder, approksmasjosmetoder Heurstkker Sksse av lokalsøk TMA 498 - Ger Hasle - Leksjo 2 2
!" Eksempler på DOP Represetasjo Lokalsøk Begrepsdefsjoer Hovedproblem lokalsøk TMA 498 - Ger Hasle - Leksjo 2 3 #$% & m f (x) slk at g (x) =, =,,m h (x), j =,, j vektor av dskrete beslutgsvarable x Hva er S? TMA 498 - Ger Hasle - Leksjo 2 4 2
'$$ j= j max ζ = c x slk at j= j j j j a x b =,,m x j =,, j= j max ζ = c x slk at x j= j j j j a x b =,,m j =,, { } + x I,, Bladete heltallsprogrammer (Mxed Iteger Programs MIP) Ree heltallsprogrammer (Pure Iteger Programs IP, PIP) - programmer { } I,, { } I =,, { } x, TMA 498 - Ger Hasle - Leksjo 2 5 % &($ $)$ persoer oppgaver det koster c, j å la perso utføre oppgave j f mmal kost tlordg: x, j hvs perso utfører oppgave j = ellers hvorda gs e problemstas? hvorda ka løsg represeteres? hva er megde S? dårlg case for lokalsøk... TMA 498 - Ger Hasle - Leksjo 2 6 j= = m c x s.a. = j=,j,j,j,j x = =,, x = j =,, 3
($% &*&+ Hadelsresede-problemet med tdsvduer (TSPTW) Komplett graf med oder (byer) {,,} Kjet resekostad mellom byer c j Hver by har åpgstd og betjegstd [ e,l ] s Hadelsresede skal foreta rudtur Løsg ka represeteres ved permutasjo S er megde av alle (lovlge) permutasjoer f er summe av resekostader ( ) f π = c + c = π(), π (+ ) π(), π() { π } ( ) p! p = TMA 498 - Ger Hasle - Leksjo 2 7,$*&+ x, j a hvs by j følger rett etter by = ellers akomsttd ode j= = m c x s.a. = j=,j,j,j,j x = =,, x = j =,, e a l =,, ( ) a x a + s + c j,j,j Hvorda gs e problemstas? Hvorda ka løsg represeteres? Hva er megde S? Er modelle rktg? TMA 498 - Ger Hasle - Leksjo 2 8 4
% &($-.)$ artkler {,...,} tlgjegelg, vekt c verd v et utvalg skal pakkes ryggsekk med kapastet C bestem utvalg av artkler som maksmerer verd x j= hvs artkkel er med ryggsekke = ellers max v x s.a. c x = hvorda gs e problemstas? hvorda ka løsg represeteres? hva er megde S? C TMA 498 - Ger Hasle - Leksjo 2 9 $% &/! &)$2 &3 Setrale problemformulerger AI Costrat Satsfacto Problem (CSP) Costraed Optmzato Problem (COP) Alteratv tl Matematsk programmerg Eksempel: Kryptoartmetkk, drogoppgave, SAT... S E N D + M O R E = M O N E Y ( ) { } D, E, M, N, O, R, S, Y,,9 D + E mod = Y TMA 498 - Ger Hasle - Leksjo 2 5
$% &/! &)$2 &3 24$*,5 &)$2*&33 Gtt x = x,,x ( ) ( ) ( ) { k } { } k = { } = D = D,, D = v, v,, v, v (k) (k) (k) C c,,c, k, c D D (k) j π () (k) (k) j ( k ) ( k ) j π j f : D D R m f (x v) slk at v c, j =,, k k k TMA 498 - Ger Hasle - Leksjo 2 ($*& *,.)$./)$2*3 Fe modell utsagslogkk Gtt boolske varable x,,x og e formel utsagslogkk F e modell for F, dvs. tlordg av boolske verder tl varablee som gjør F sa ( ) F x,,x ( x x2 ) ( x2 x) ( x x2 x3 ) ( x x2 ) ( ) ( ) x x x x x = x = true, x = x = x = false 4 3 5 3 2 3 4 5 TMA 498 - Ger Hasle - Leksjo 2 2 6
6,$78 Eksakte metoder Systematsk geererg (Eksplstt eumrerg, geerer og test) Implstt eumrerg dele opp eklere problemer løse eklere problem eksakt Trvell løsg Ispeksjo av problemstase Kostruktv, metode gradvs oppbyggg ved grådg heurstkk Løse eklere problem fjere/modfsere førger modfsere objektfuksjo TMA 498 - Ger Hasle - Leksjo 2 3 $7/ Opererer på e aturlg represetasjo av løsger Det kombatorske objektet Søkg etter løsg rommet av tllatte/teressate løsger TMA 498 - Ger Hasle - Leksjo 2 4 7
($*& Tdlgere løsg: 2 7 3 4 5 6 (84) Trvell løsg: 2 3 4 5 6 7 (288) Grådg kostruksjo: 3 5 7 6 4 2 (6) 2 3 4 5 2 7 33 9 2 8 33 73 65 3 7 88 4 6 4 65 5 8 7 9 6 7 43 54 7 32 9 6 25 99 2 5 3 7 83 4 43 77 TMA 498 - Ger Hasle - Leksjo 2 5 ($-.)$ 2 3 4 5 6 7 8 9 Verd 79 32 47 8 26 85 33 4 45 59 Størrelse 85 26 48 2 22 95 43 45 55 52 Ryggsekk med kapastet artkler (prosjekter,...),..., Trvell løsg: tom ryggsekk, verd Grådg løsg, prøv artklee etter verd: (), verd 85 bedre forslag tl grådg heurstkk? Verd/størrelse.93 2. 3.98 4.86 5.8 6.89 7.77 8.89 9.82.3 TMA 498 - Ger Hasle - Leksjo 2 6 8
9$7,)$78 Modfkasjo av gtt løsg gr aboløsg E vss type operasjo på løsge gr et sett med aboer, et abolag Evaluerg av aboer objektfuksjo tllatt? TMA 498 - Ger Hasle - Leksjo 2 7 ($*& Operator: 2-opt Hvor mage aboer? TMA 498 - Ger Hasle - Leksjo 2 8 9
($-./ 2 3 4 5 6 7 8 9 Verd 79 32 47 8 26 85 33 4 45 59 Størrelse 85 26 48 2 22 95 43 45 55 52 Ata v ser på løsg verd 73 Ekel operator: Bytte status på elemet, dvs. hvs artkkele er ryggsekke, ta de ut hvs artkkele kke er ryggsekke, ta de med Noe aboer: verd 5 verd 52, kke tllatt verd 47 TMA 498 - Ger Hasle - Leksjo 2 9 %,!:)$ La (S,f) være e DOP-stas. E abolagsfuksjo er e avbldg N : S 2 S som for gtt løsg s et abolag av løsger S deferer N( s) som på et vs er ærhete av t N( s) ses å være abo tl S s s TMA 498 - Ger Hasle - Leksjo 2 2
:)$ Oftest deferes abolagee ved e gtt type operasjo på løsge Oftest ekle operasjoer fjerg av elemet tllegg av elemet bytte av to eller flere elemeter løsg Flere abolag - kvalfseres med operator N σ ( s), σ Σ TMA 498 - Ger Hasle - Leksjo 2 2 $72)$73 Utgagspukt tell løsg Iteratvt søk abolag etter bedre løsg Sekves av løsger sk+ Nσ ( sk ), k =, Strateg for hvlke løsg abolaget som aksepteres som este løsg Stoppkrterer Hva skjer år abolaget kke eholder bedre løsg? Lokalt optmum TMA 498 - Ger Hasle - Leksjo 2 22
%,! $ La (S,f) være e DOP-stas og la N være e abolagsfuksjo. E løsg er lokalt optmal (mmal) med hesy på N dersom: ŝ f ( sˆ ) f ( t), t N( sˆ ) V beteger megde av lokalt optmale løsger med Ŝ NB! Lokal optmaltet er relatvt tl abolag TMA 498 - Ger Hasle - Leksjo 2 ($*& Operator/Nabolag: 2-opt Lokalt optmal (2-optmal) løsg TMA 498 - Ger Hasle - Leksjo 2 24 2
%,!()$ La (S,f) være e DOP-stas og la N være e abolagsfuksjo. N er eksakt dersom: Ŝ S * Med flere ord: N er eksakt dersom lokale optma for abolaget N også er globale optma. TMA 498 - Ger Hasle - Leksjo 2 25 $72)$73 Alteratve søkestrateger Aksepter første forbedrede løsg ( Frst Accept ) Søk hele abolag gå tl beste forbedrede løsg ( Steepest Descet, Hll Clmbg Iteratve Improvemet ) alltd gå tl beste løsg abolag ( Best Neghbor ) Adre strateger? TMA 498 - Ger Hasle - Leksjo 2 26 3
5$;*52*,:.3 */ strategy s Frst Accept or Best Accept curret:=it_soluto(s,f) cumbet:=curret */ best soluto utl ow local_optmum:=false whle ot local_optmum do (curret,cumbet,local_optmum):= Search_the_Neghborhood (curret,n(curret),f,strategy,cumbet) f local_optmum retur cumbet od TMA 498 - Ger Hasle - Leksjo 2 27 *5;;:) 25:),.5)3 best_eghbor:=curret for t Neghbors do f f(t) < f(best_eghbor) the best_eghbor:=t f f(t) < f(cumbet) the f strategy= Frst Accept the retur (t,t,false) else cumbet:=t */ strategy s Best Accept f f od retur (best_eghbor,cumbet,best_eghbor=curret) */ (curret,cumbet,local_optmum) TMA 498 - Ger Hasle - Leksjo 2 28 4
)! Frst Accept og Steepest Descet stopper lokale optma Dersom abolaget N er eksakt, er lokalsøk med dsse strategee (eksakte) optmergsalgortmer Lokalsøk ka betraktes som traverserg e rettet graf ( abolagsgrafe ), der odee er medlemmee S og N deferer topologe (odee merket med kostad) og f deferer topografe Søkeladskap (S,N,f) TMA 498 - Ger Hasle - Leksjo 2 29 $7 )$, sk + Nσ( sk ), k =, N ( s ) σ N ( s ) σ s s s s s s 2 Et flytt er prosesse å velge e gtt løsg abolaget tl åværede løsg som åværede løsg for este terasjo TMA 498 - Ger Hasle - Leksjo 2 3 5
$7 $ Nσ( s k ) s k s k + s k TMA 498 - Ger Hasle - Leksjo 2 3 *7$ / $$)$ Kostad Løsgsrom TMA 498 - Ger Hasle - Leksjo 2 32 6
($$$7 Smpleksalgortme for Leærprogrammerg (LP) Smpleks Fase I gr tell (brukbar) løsg Fase II gr teratv forbedrg mot optmal løsg (hvs slk fes) Nabolaget deferes av polyederet Stratege er Iteratve Improvemet Flyttee bestemmes av pvotergsregler Nabolaget er eksakt, dvs. Smpleks er e optmergsalgortme (for vsse pvotergsregler) TMA 498 - Ger Hasle - Leksjo 2 33 $7 Gammel dé, utvklg sste par tår Populær metode for praktsk problemløsg av harde problemer Geerell metode, tlpasgsvelg Aytme -metode, ka avbrytes år som helst etter at tell løsg er fuet Ofte effektvt, god løsg etter kort td Effektvtet avhegg av tell løsg og abolag Nabolag bør velges ut fra problemstruktur Eksakte metoder er å foretrekke dersom de er effektve ok TMA 498 - Ger Hasle - Leksjo 2 34 7
$7 Hovedutfordrg: fe gode abolag størrelse vs. kvaltet Adre utfordrger tell(e) løsg(er) effektv evaluerg av flytt (kremetell evaluerg) hådterg av førger søkestrateg stoppkrterer ytelse Ytelse ofte bedre e ekle, grådge heurstkker og heurstkker med ytelsesgarat Hvorda evaluerer v ytelse? TMA 498 - Ger Hasle - Leksjo 2 35 $7/ 4$ Søkeladskapet er ofte krevede, med mage lokale optma Lokale optma ka være lagt fra globalt optma Grådg metode (Iteratve mprovemet) Bld metode, ge bruk av formasjo uder søk Ofte sterkt avhegg av tell løsg og abolag Maglede geerelle ytelsesgarater TMA 498 - Ger Hasle - Leksjo 2 36 8
($ / 7 Øvre greser Heurstkker Optmal verd Nedre greser Relaksasjoer - LP - Lagrage TMA 498 - Ger Hasle - Leksjo 2 37 6,$$7 Hva skal v gjøre for å ugå at lokalsøk stopper lokalt optmum? TMA 498 - Ger Hasle - Leksjo 2 38 9
!"/ Eksempler på DOP Alteratve formulerger Defsjo abolag, -operator Lokalsøk Defsjo lokalt optmum Eksakt abolag Prosedyre for lokalsøk Traverserg av abolagsgraf Kommetarer, ulemper, hovedutfordrg TMA 498 - Ger Hasle - Leksjo 2 39 $ Implemeter lokalsøk d favorttomgvelse talløsg operator, abolag søkestrateg stoppkrterum loggg Ryggsekkproblemet Istaser fs på web-sdee (se este slde) Foreta ekspermeter! ulke startløsger hvor mage lokale optma? kvaltet på lokale optma? TMA 498 - Ger Hasle - Leksjo 2 4 2
-./ max v x s.a. j= c x = C Idaho2 2 C 2.5 f* 5.95 s* v.75.56273.586932.69599.468.242555.832725.69687.828839.5385.74328.6344.55693.57427.59593.3589.573253.657.5895.32655 c.73562.6582.9459.5693.37245.674343.467352.325.336674.797.396.29534.538.8224.6737.7443.44325.52295.89656.72594 TMA 498 - Ger Hasle - Leksjo 2 4!</ Tlfeldg søk Smulert herdg Terskelakseptase TMA 498 - Ger Hasle - Leksjo 2 42 2
Del A: Dskret optmerg og heurstske metoder Leksjo 2 Sjefsforsker Ger Hasle SINTEF Avedt matematkk, Oslo 22