TNSL05 Optimering, Modellering och Planering Föreläsning 9
Agenda Kursens status Dualitet Billigaste väg problem
208-2- Kursens status Föreläsning (), 2-5: Modellering Föreläsning 6-0, () Lösningsmetod/känslighetsanalys Gruppuppgifter: Gruppuppgift : Rättning pågår, vissa har fått feedback Gruppuppgift 2: Muntlig redovisning den här veckan, skriftlig inlämning pågår Gruppuppgift : Uppgiften kommer ut idag, efter sista redovisning av gruppuppgift 2 Laborationen Moment och 2 är avslutade Moment +: Inlämning rapport fredag v. 5
Agenda Kursens status Dualitet Billigaste väg problem
208-2- 5 Repetition: Föreläsning 8 Simplex: Redundans, degenerering Relaxation/restriktion Känslighetsanalys Skuggpris (marginalpris, dualvärde) Anger hur målfunktionsvärdet påverkas av en marginell relaxation/restriktion i högerledet Vad är ytterligare en enhet av en resurs värd?
208-2- 6 Dualitet: Ekonomisk tolkning Linus säler pannkakor och sockerkakor, igen. Tillgången till resurserna tid, ägg, salt är begränsad Han vill maximera vinsten x = Antal pannkakor, x 2 = Antal sockerkakor då maxz = 6x + 5x 4x x x + 0x + 2x x 2 2 0 2 20, x2 ³ 20 0 (Maximera vinsten) (Max tidsåtgång/dag, minuter) (Max antal ägg/dag) (Max krm salt/dag) (Ickenegativitet)
208-2- 7 Dualitet: Ekonomisk tolkning Mias matbutik är intresserad att köpa ut Linus från hans verksamhet Vill köpa hans arbetskraft och ägg, salt Hon vill betala så lite som möligt för resurserna men tillräckligt för att Linus ska gå med på det då min w = 20v + + 20v2 0 4v + v 0v + 2v 2 2 v + v ³, v2 ³ v 6 ³ 5 0 (minimera kostnaden) (Linus f.d. vinst för pannkakor) (Linus f.d. vinst för sockerkakor) (Ickenegativitet)
208-2- 8 Dualitet Till vare LP finns ett dualt problem Primalen : Originalproblemet Dualen : Duala problemet Kopplingar mellan problemen som kan utnyttas Känslighetsanalys Lösningsmetoder Lös dualen istället för primalen om det är lättare och få ut information om primalen
208-2- 9 Primal-duala relationer Primal n m st variabler st villkor Maxproblem Dual n m st villkor st variabler Minproblem
208-2- 0 Primal-duala relationer Primal n m st variabler st villkor Maxproblem Villkor: Variabel: ì ï í³ ï î= ì³ 0 ï í 0 ï î fri Dual n m st villkor st variabler Minproblem Variabel: Villkor: ì³ 0 ï í 0 ï î fri ì³ ï í ï î=
208-2- Exempel: Dualitet Uppgift 6. b
208-2- 2 Dualitetsteori (P) T max z = c x då A x b x ³ 0 D är duala problemet till P. P är duala problemet till D. (D) min då w T = b v T A v ³ c v ³ 0 Svag dualitet T T xˆ tillåten i (P), vˆ tillåten i (D). Då gäller c xˆ b vˆ Tillåten lösningi ena problemet ger optimistisk uppskattning till detandra Stark dualitet Om P eller D har en begränsad optimallösning x*/v* så har även det duala det T * T * med samma målfunktionsvärde: c x = b v
Agenda Kursens status Dualitet Billigaste väg problem
208-2- 4 Billigaste väg problem (BVP) Givet: Nätverk (noder + bågar) Mål: Hitta billigaste väg från A till B snabbaste vackraste roligaste
208-2- 5 Exempel (BVP) i c i Sök billigaste väg från nod till nod 5! 2 4 4 5
208-2- 6 Billigaste väg problem (BVP) Givet: Nätverk (noder + bågar) Mål: Hitta billigaste väg från A till B snabbaste vackraste roligaste Specialfall av minkostnadsflödesproblemet (MKF) Definiera x i = om båge i- används, 0 annars Kan lösas som ett vanligt LP problem Potentiellt problem: Vad om vi får lösning med x i = 0.5? Dock: MKF har heltalsegenskap (minst en lösning är heltalig!)
208-2- 7 Bellmans ekvationer (Nodpris) Det finns bättre sätt att lösa kortaste väg problem än via LP utnyttnar problemstrukturen Bellmans ekvationer beskriver optimalitetsvillkoren i ett BVP s = startnod, c i = bågkostnad Nodpris startnod Nodpris övriga noder Exempel Billigaste väg = 0 i i Uppgift 8. y s Dyraste väg y s = 0 i i Uppgift 8.22 Max kapacitet = i i Bok sid 20; Uppg. 8.5b y s min { y = y + c i ( i, ) ÎB max { y = y + c y i ( i, ) ÎB = max {min( y i ( i, ) ÎB } }, c )}
208-2- 8 Dikstras algoritm (959) (Fords algoritm*). Initialisering: A = avsökta noder, D = e avsökta. Märk startnoden s med (p s,y s ) = 0) (föregående nod, nodpris), övriga noder med i Î D 2. Väl med lägst nodpris.. Avsök nod i: För alla utgående bågar i-: Om i i har billigare väg hittats. Märk nod med ( p, y ) = ( i, yi + ci) (Om Î A flytta till D) * 4. Flytta nod i från D till A. 5. Om D tomt, avbryt! Annars går till 2. y + c < y * Om nätverket har negativa bågkostnader Mer detalerad beskrivning sidor 92-9 i boken
Exempel (Dikstra) Sök billigaste väg från nod till nod 5! D={,2,,4,5} A={} 2 4 i c i 208-2- 9 ( p, y ) 0) 4 5
Exempel (Dikstra) Sök billigaste väg från nod till nod 5! D={,2,,4,5} A={ } (,) 2 4 i c i 208-2- 20 ( p, y ) 0) 4 5 (,)
Exempel (Dikstra) Sök billigaste väg från nod till nod 5! D={2,,4,5} D={2,4,5} A={} A={,} (,) (,2) 2 4 i c i 208-2- 2 ( p, y ) 0) 4 5 (,) (,5)
Exempel (Dikstra) Sök billigaste väg från nod till nod 5! D={4,5} D={2,4,5} A={,2,} A={,} (,) (,2) 2 4 i c i (2,) 208-2- 22 ( p, y ) 0) 4 5 (,) (,5)
Exempel (Dikstra) Sök billigaste väg från nod till nod 5! D={5} D={4,5} A={,2,,4} A={,2,} (,) (,2) 2 4 i c i (2,) 208-2- 2 ( p, y ) 0) 4 5 (,) (,5) (4,4)
Exempel (Dikstra) Sök billigaste väg från nod till nod 5! D={5} D={} A={,2,,4} A={,2,,4,5} (,) (,2) 2 4 i c i (2,) 208-2- 24 ( p, y ) 0) 4 5 (,) (,5) (4,4)
Exempel (Dikstra) Sök billigaste väg från nod till nod 5! D={} A={,2,,4,5} (,) (,2) 2 4 i c i (2,) 208-2- 25 ( p, y ) 0) 4 5 (4,4) (,) (,5)
208-2- 26 Dikstras algoritm för max kapacitet. Initialisering: A = avsökta noder, D = e avsökta. Märk startnoden s med (p s,y s ) =, (föregående nod, nodpris), övriga noder med 0) i Î D 2. Väl med högst nodpris.. Avsök nod i: För alla utgående bågar i-: Om min ' (, ) (* > ' * har väg med högre kapacitet hittats. Märk nod med (p,y ) = min ' (, ) (* ) 4. Flytta nod i från D till A. 5. Om D tomt, avbryt! Annars går till 2.
208-2- 27 Praktiska exempel och alternativa målfunktioner Proektnätverk Hur lång tid tar proektet? Kostnad för dyraste väg! Vad är den kritiska linen? Dyraste väg! När kan vi starta med en viss aktivitet? Nodpris! Maximera tillförlitlighet Multiplikativ målfunktion
Trevlig helg! www.liu.se