TNK49 Optmerngslära Clas Rydergren ITN Föreläsnng 8 Nätverksoptmerng: Nodprser och dualtet för bllgaste väg Mnkostnadsflödesproblemets egenskaper Nätverkssmple
Agenda Varanter på bllgaste väg kap 8.4.4 Proektnätverk Mnkostnadsflödesproblemet Formulerng kap 8.6.2 Heltalsegenskaper kap 8.6.3 llgaste väg-problemet som mnkostnadsflödesproblem Optmaltetsvllkor kap 8.7.1 Smplemetoden för nätverk kap 8.7.2 8.7.3 2
Alternatv tll bllgaste väg kap 8.4.4 Sök dyraste väg från startnod tll slutnod Proektnätverk Uppgft 8.23 Multplkatv målfunkton Tllförltlghet Uppgft 8.18 Målfunkton av mamn-typ Vägar av mamal kapactet Uppgft 8.15b 3
Eempel: Proektnätverk 1 2 Stora proekt nnehåller ofta flera aktvteter som måste koordneras. Flera aktvteter har företrädesrelatoner. Frågeställnngar: Hur lång td tar hela proektet att genomföra? När kan v starta med en gven aktvtet? Vlka aktvteter är mest krtska vad gäller försenng? Eempel krav på proektgenomförande Aktvtet D ska utföras efter aktvtet A Aktvtet E ska utföras efter aktvteterna A och D Aktvtet F ska utföras efter aktvteterna C och D Aktvtet G ska utföras efter aktvteterna E och F Aktvtet Td Aktvtet Td A 3 E 3 5 F 4 C 6 G 2 D 4 Td som krävs för respektve aktvtet 4
Eempel: Proektnätverk 2 2 åge = aktvtet Nod = händelse/tdpunkt pt Aktvtet td där p är föregångare t är dyraste väg tll noden 2 A3 D4 Optmallösnng: 13 2 A3 D4-1 411 513 5 E3 G2 3 5 6 27 C6 - F4 4 1 5 3 E3 5 G2 6 37 C6 - F4 4 5
Flödesnätverk flow network Defnera = flödet på båge från nod tll nod Nodstyrka node strength b = b k b k k = nflöde utflöde Om b < är en källa source Om b > är en sänka snk Om b = är en mellannod ntermedate node Mnkostnadsflöde: Gvet ett nätverk fnn ett flöde med mnmal kostnad så att gvna källoch sänkstyrkor uppfylls vd alla noder. V läser ut bb som alla sådana att det fnns en båge från tll bågmängden. 6
Mnkostnadsflödesproblemet Mnmum-Cost Flow Problem. för alla för alla då mn u N b c b k k b b k Nodbalans Kapactet 7
Mnkostnadsflödesproblemet flera varuslag mult-commodty mn då b b pp p c p k b p k p k pp b p p u för alla N p P för alla. Nodbalans för vare varuslag Kapactet gemensam resurs Obs! Utan gemensam resurs får v förstås ett separat problem för vare varuslag. 8
Heltalsegenskap nteger propertes etrakta problemet mn då T z c A b l u heltal Om A är fullständgt unmodulär t e en anslutnngsmatrs och alla begränsnngar b l u är heltalga är också alla etrempunkter tll det tllåtna området heltalga llgaste väg-problemet kan formuleras som ett LP-problem Dvs utan heltalskrav! Smplemetoden kan alltså användas. Dock fnns bättre metoder som utnyttar strukturen. 9
llgaste väg som mnkostnadsflöde 14 etrakta fölande bllgaste väg-problem från Le 7 V vll modellera detta som ett mnkostnadsflödesproblem AMPL. 1
llgaste väg som mnkostnadsflöde 24 Modellfl: Mnmera kostnaden gvet nodbalans. set ARCS; set NODES; param c{arcs}; #bågkostnader param a{nodes ARCS}; #anslutnngsmatrsen param flow{nodes}; #flödesstyrkor var {ARCS}>=; #flödet på båge #MÅLFUNKTION Mnmera kostnad mnmze z : sum{ n ARCS} c[]*[]; #IVILLKOR Nodbalans subect to y{ n NODES}: sum{ n ARCS} a[]*[]=flow[]; 11
llgaste väg som mnkostnadsflöde 34 Indata: bågar noder bågkostnader anslutnngsmatrs nodstyrkor. set ARCS := 12 13 14 25 32 34 36 46 53 56; set NODES := 1 2 3 4 5 6; param c:= 12 4 13 5 14 3 25-1 32 4 34 1 36 2 46-1 53-2 56 2; param a: 12 13 14 25 32 34 36 46 53 56:= 1-1 -1-1 2 1-1 1 3 1-1 -1-1 1 4 1 1-1 5 1-1 -1 6 1 1 1; param flow := 1-1 2 3 4 5 6 1; 12
z = 1 llgaste väg som mnkostnadsflöde 44 Utdata från AMPL [*] := 12 1 13 14 25 1 32 34 1 36 46 1 53 1 56 ; y 1 = y 4 = 2 y 2 = 4 y 3 = 1 y 5 = 3 13 y.dual [*] := 1 2 4 3 1 4 2 5 3 6 1 ; Dualvarablerna är här nodprs! y 6 = 1
Repetton: Optmaltetsvllkor för LP-problem Låt P och D vara gvna enlgt ovan. Antag att är tllåten P dvs A b och. Antag att v är tllåten D dvs A T v c och v. Antag att komplementartet gäller dvs v T b A = och T A T v c =. Prmal tllåtenhet Dual tllåtenhet Komplementartet Då är och v optmallösnngar tll respektve problem och z = c T = b T v = w! Sats 6.5 14
Optmaltetsvllkor för mnkostnadsflödesproblem 1 2 u c z mn u N b k k k P y N u y b w ma c y y D Prmal tllåtenhet Dual tllåtenhet Komplementartet då då 15
Optmaltetsvllkor för mnkostnadsflödesproblem 2 2 Defnera reducerad kostnad som c = c + y y = c y y. Jämför vanlga LP c = c v T N. Duala vllkoren y y + α β = c ger α β = c +y y och kan därför skrvas c = α β. Dual tllåtenhet och komplementartet ger gvet att är optmalt: Om te = l < u ger komplementvllkor β = och det duala lkhets- vllkoret blr c = α. Eftersom α för dual tllåtenhet ger det att c för optmum. Lknande resonemang för = u och l < < u se kap 8.7.1. Sammanfattnng: c c u c c u u c c u
Nätverkssmple ämförelse Steg Allmänt Smple Utgå från en tllåten lösnng 1 estäm tllåten och förbättrande sökrktnng Tllåten baslösnng Inkommande varabel 2 estäm steglängd Utgående varabel 3 Uppdatera och upprepa Uppdatera smpletablå upprepa Smple nätverk Tllåtet basflöde basträd Inkommande basbåge Utgående basbåge Uppdatera flöden upprepa 17
Smple för nätverk algortmbeskrvnng Antag tllåtet flöde & basträd Ev. fas 1; se boken kap 8.7.4 Identfera basbågar l < < u båge basbåge Ev. komplettera tll ett basträd 1 eräkna reducerad kostnad öra med att beräkna nodprser Utnytta att c = c + y y = för basbågarna y = c + y. Sätt t e y 1 =. eräkna c = c + y y för cke-basbågar. Håll ordnng på bågrktnngarna! 2 Kontrollera avbrottskrterum Optmum om alla bågar: = l c = u c l < < u c = 3 estäm nkommande basbåge cpq = ma I c Där I är mängden av cke-basbågar som e uppfyller optmumvllkor. Om cpq < vll man öka flödet den bågen om cpq > vll man mnska flödet. 4 estäm utgående basbåge θ = mn θ + θ där θ + = mn u är framåtbåge cykeln θ = mn l är bakåtbåge cykeln Den båge som först begränsar blr utgående r s. 5 Ersätt basbåge r s med p q. 6 Uppdatera nätverksflödet ; gå tll 1. 18
Eempel: Nätverkssmple Sök mnkostnadsflöde nedanstående nätverk Starta med nedanstående tllåtna flöde -5 1 4 1 3 1 3 1 6 4 1 3 1 1 M 5 5 3 2 c u b +5 2 3 4 3 4 5 3 3 19
1-5 1 1 6 4 2 Eempel: Nätverkssmple asträd Nodprser från nod 1 Reducerad kostnad cke-basbågar 4 4 1 3 1 Optmal båge. 3-1 3 1 2 1 M 3 4 3 +2 2 4 3 4 3 5 3 2 Flödet bör ökas! 4 5 3 3 Flödet bör mnskas! c u b Optmaltets-check! Cykel med rktnng och gränser. Nytt basträd Uppdatera flöde! +1 3 3 5 5 +5 Inkommande basbåge.. 2 Utgående basbåge.. Ny Iteraton! 2
Känslghetsanalys Hur mycket får en ny båge kosta för att vara ntressant? Antag att ny båge är från böran cke-bas = l =. Tas n basen om c = c + y y < dvs om c < y y. Hur mycket tänar v på att kapacteten en båge ökas? Ges av bågens reducerade kostnad Hur mycket kostar det om flödet mellan en källa och en sänka stger med 1 Ges av dfferensen nodprs Hur mycket kostar det om flödeskravet på en båge stger med 1 Ges av bågens reducerade kostnad Hur kan bågkostnad förändras utan att uppsättnngen använda basbågar ändras? Ges av bbehållna optmala reducerade kostnader Glöm e kontrollera att förändrng är nom ntervallet! 21
Varanter av mnkostnadsflödesproblem Specalfall av mnkostnadsflöde Transportproblemet kap 8.6.2 Genomskeppnngsproblemet kap 3.3.2 Tllordnngsproblemet kap 8.6.2 Tdsdynamsk nätverksmodell kap 8.6.1 llgaste väg-problemet kap 8.4 Specalfallen har specalalgortmer Försök att utnytta strukturen vare problemtyp Utvdgnng mnkostnadsflöde Flera varutyper Mult-commodty se ovan Vnster/Förluster kap 8.6.4 22
Inför Mnproekt 2 Samma karaktär som mnproekt 1 Modellerng av mnkostnadsflödesnätverk. Vare grupp arbetar med ett eget scenaro se kurshemsdan. Innan det schemalagda tllfället Läs genom problembeskrvnng. Klara ut ev otydlgheter formulerngen fråga Sara eller Zhuangwe. Rta nätverk på papper! På det schemalagda tllfället Försök att förstå programvaran. Hembygge men enklare än AMPL. 23 Efter det schemalagda tllfället: Handlednng vd behov.
Uppgft 8.2: Inför Lekton 7 Uppgften är nte med lektonsplanen men är en bra förberedelse nför mnproekt 2. Uppgft 8.3: Nätverkssmple. Gamla uppgfter: Problemformulerngar? LP-problem? Smplemetoden? Dualtet? 24
www.lu.se