13.07.2015 Views

Föreläsning 14

Föreläsning 14

Föreläsning 14

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Föreläsning <strong>14</strong>• Trädsökning– Grundidé trädsökning• Förenkling (Relaxation)• Förgrening• Förkasta (Kapning)• Fortsätt (Avsökningsstrategier)– Land-Doig-Dakins algorithm (LDD)• Exempel linjärt heltalsproblem• Lagrangedualitet– Duala funktionen– Svag dualitet– Dualt problemFöreläsning 15• Lite mer om Lagrangedualitet (ett exempel)• Summering av kursenTrädsökningskomponenter• Förenkling (Relaxation)– T.ex LP-relaxation• Förgrening– Uppdelning i delproblem så att vissa variablersvärden förbjuds (t.ex dess fraktionella värden)• Förkasta (Kapning)– Sluta undersöka förgreningar för detta delproblem• Fortsätt avsökningen– Undersök nästa delproblem. Vilket delproblem somavsöks beror på avsökningsstrateginTNK041 Optimeringslära, 5pTNK041 Optimeringslära, 5pFörenkling (Relaxation)Relaxering: get ett mer lättlöst optimeringsproblem och enoptimistisk uppskattning av optimalvärdet.• Exempel:– Kontinuerlig relaxering (LP-relaxation)– Relaxering (strykning) av komplicerande bivillkor• Optimallösningen till det relaxerade problemet är oftastotillåten i det ursprungliga problemet.– Om den är tillåten (uppfyller alla krav) så erhålls en pessimistiskuppskattning av optimalvärdet.– Om den är otillåten (något heltalskrav uppfylls ej) görs enförgrening (utom då beskärning sker [se nedan]).FörgreningFörgrening: förbjuder det relaxerade problemetsoptimallösning och partitionerar det tillåtna området i två(eller flera) delar; härigenom skapas två (eller flera)grenar med delproblem.• Syftar till att delvis upphäva effekten av relaxeringen ochdärigenom minska graden av otillåtenhet.• Förgreningen bör göras så att varje tillåten lösningåterfinns i exakt en av de skapade grenarna.TNK041 Optimeringslära, 5pTNK041 Optimeringslära, 5p


Relaxation/FörgreningUrsprungligt problem Relaxation Förgrening(LP-relaxation) (Variabelbegränsingar)Exempel:Exempel: förgreningar— x 3 heltalig och x LP3 =3, 4→ förgrening: x 3 ≤ 3 eller x 3 ≥ 4.LP-optimumOptimumx 2x 1x 1 ≤ 2x 1 ≥ 3— x 3 =0/1 ochx LP3 =0, 4→ förgrening: fixera x 3 =0eller x 3 =1.<strong>14</strong> )T— x 1 , x 2 , x 3 , x 4 =0/1 ochx 1 + x 2 + x 3 + x 4 = 1, samt x LP =( 1 2 0 1 4→ förgrening: x 1 + x 2 =1eller x 3 + x 4 = 1 (kallas bivillkorsförgrening)— (Handelsresandeproblemet) subtursförbjudande villkor har relaxerats ochbågarna e 1 , e 2 och e 3 bildar en subtur.→ förgrening: x e1 =0eller x e1 =1ochx e2 =0eller x e1 =1, x e2 =1och x e3 = 0. (kallas subtursbrytande förgrening)Observera att i varje delproblem görs en restriktion av det relaxerade problemet.TNK041 Optimeringslära, 5pTNK041 Optimeringslära, 5pFörkasta (Kapning)Avsökning0Förkasta (Kapning): innebär att en gren inte studerasytterligare på grund att den med säkerhet inte kan ge entillåten lösning till ursprungliga problemet som är bättreän den som redan finns tillhanda.• Kapning sked då delproblemet– saknar tillåten lösning– har en optimallösning som är tillåten i ursprungliga problemet– ger en optimistisk uppskattning som inte är bättre än denpessimistiska.• Genom beskärning ignoreras heltalslösningar somsäkert är sämre än den bästa kända tillåtna lösningen.Avsökningsordning: definierar denordning i vilken de, genom förgrening,skapade delproblemen ska studeras.• Principer:– Djup-först-sökning: fortsätt alltid direktned i trädet och avsök resterandedelproblem på återvägen.– Bäst-först-sökning: välj den ickeavsöktagren som har bäst optimistiskuppskattning.– Bredd-först-sökning: undersök först alladelproblem som finns på samma nivå isökträdet.• Dessutom måste det specificeras vilkenav de skapade grenarna som ska lösasförst.6135 401 23 4 5 6Djup-först27 8TNK041 Optimeringslära, 5pTNK041 Optimeringslära, 5pBredd-först


Land-Doig-Dakins algoritm(en version av trädsökning)Exempel: Land-Doig-Dakins algoritm• Relaxation– LP-relaxering• Förgreningsstrategi– Skapa två delproblem genom att införa enklabegränsningar på enskilda variabler• Avsökningstrategi– Djup-, bredd- eller bäst-först, mindre-ängeneren eller större-än grenen först21zHP ∗ =maxz = 9x 1 + 10x 22x 1 + 3x 2 ≤ 6X x HP1 ≤ 2x 1 , x 2 ≥ 0, heltalP6P5P0P3P1P4P2TNK041 Optimeringslära, 5p1 2 3TNK041 Optimeringslära, 5pPlansnittning Trädsökning• Metodprincip för attlösa heltalsproblemgenom att försökaåterskapa problemetskonvexa hölje inärheten av optimum.• Baseras på:– Lösning av en (LP-)relaxation– Generering av tillåtnaolikheter som ”skär bort”lösningen tillrelaxationen.• Metodprincip för”smart” ofullständiguppräkning av tillåtnapunkter förheltalsproblem.• Baseras påkomponenterna:– Relaxation (förenkling)– Förgrening– Kapning (förkasta)– Fortsätt avsökningenPlansnittning Trädsökningx 2 Optimumx 1x 2 Optimumx 1x 2LPoptimumLPoptimumTNK041 Optimeringslära, 5pTNK041 Optimeringslära, 5p


Lagrangedualitet och Lagrangerelaxation• En dualitetsteori som fungerar även förheltalsproblem (och olinjära problem)• Lagrangerelaxation bygger på att:– bivillkor relaxeras (bortses från), samtidigtsom att målfunktionsvärdet ”straffas” omdessa villkor inte uppfylls.– ett Lagrangedualt problem skapas– optimum till det Lagrangeduala problemet geross en optimistisk skattning av det optimalamålfunktionsvärdet till det ursprungligaproblemet.TNK041 Optimeringslära, 5p• Baserat på Lagrangerelaxation kannXj=1nXmXcjx (1)j + vij=1i=1nXj=1cjx (2)j + ...nXj=1c jx (3)j + ...⎛⎞nX⎝bi − aijx (1) ⎠jj=1Duala funktionenLåt X definieras av P stycken diskreta punkter X = {x (1) ,x (2) ,...,x (P ) },t.ex.P stycken heltalspunkter. Då är⎧⎛⎞⎫⎨ nXmXnX ⎬h(v) = min c j x j + v i⎝b i − a ij x j⎠x∈X ⎩⎭j=1 i=1j=1⎧⎛⎞⎫⎨ nXmXnX ⎬= min c j x (p)j+ v i⎝b i − a ij x (p) ⎠jp=1,...,P ⎩⎭cjx (4)j + ...j=1i=1h(v)TNK041 Optimeringslära, 5pj=1dvs h är punktvis minimum av P stycken linjära funktioner.vh(v) konkav!Duala problemetLösningsstrategi: Lagrangerelaxation(s. 545)(HP)(LD)maxv≥0min z =nXc j x jj=1nXa ij x j ≥ b i , i =1, ..., mj=1j=1x ∈ Xh(v)⎧⎨ nXmXh(v) = min c j x j +x∈X ⎩i=1v i⎛⎝b i −⎞⎫nX ⎬a ij x j⎠⎭j=1Steg 0 Bestäm vilka villkor som ska relaxeras och välj initiala värden på v (0) .Sätt k =0,LBD = −∞ och UBD =+∞.Steg 1 Lös Lagrangesubproblemet för givet v (k) ⇒ en lösning x (k) samt en optimistiskskattning.Steg 2 Om x (k) är tillåten ⇒ pessimistisk skattning.Steg 3 Kontrollera avbrottskriterierSteg 4 Uppdatera dualvariablerna enligt v (k+1) = v (k) + t (k) d (k) där d (k) är ensökriktning och t ( k)är en steglängd. Sätt k = k +1ochgåtillSteg1.Om d (k) och t (k) väljs rimligt så leder proceduren till att en punkt v ∗ som löserlagrangeduala problemet hittas. Tyvärr hittar vi oftast inte någon optimallösning, x ∗ , till det ursprungliga heltalsproblemet.TNK041 Optimeringslära, 5pTNK041 Optimeringslära, 5p

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!