TNK049 Optimeringslära Clas Rydergren, ITN Föreläsning 6 Det duala problemet Relationer primal dual Optimalitetsvillkor Nätverksoptimering (introduktion)
Agenda Motivering av det duala problemet (kap 6.) Formulering av det duala problemet (kap 6.) Dualitetsteori/Optimalitetsvillkor (kap 6.3) Svag och stark dualitet Komplementaritet Introduktion till nätverksoptimering (kap 8.)
Dualitet (Duality) Till varje LP-problem (som vi kallar primalen) hör ett annat LP-problem (som vi kallar dualen) Intressanta och viktiga kopplingar mellan problemen Känslighetsanalys Lösningsmetoder för svåra optimeringsproblem 3
Duala problemet: Ekonomisk tolkning () Teknologen Lisa har kommit på att pannkakor och sockerkakor säljer bra i Linghem. En pannkaka ger 6 kr i intäkt och en sockerkaka 5 kr. En pannkaka tar 4 min att göra, medan en sockerkaka tar 0 min. Eftersom Lisa pluggar flitigt har hon högst 0 min varje dag till sin verksamhet. Hemligheten i de båda recepten är äggen, som hon köper av en bonde i Askeby, och saltet från Gullmarsfjorden. Bonden kan bara sälja 0 ägg per dag till Lisa. Varje sockerkaka kräver ägg och varje pannkaka /3 ägg. Det nordliga klimatet gör att hon bara kan få fram 30 kryddmått salt per dag. Varje pannkaka innehåller ett kryddmått salt. Formulera Lisas (intäktsmaximerings-) problem! x x Antal pannkakor/dag Antal sockerkakor/dag (P) max då z 6x 5x 4x 3 x x 0x x 0 0 30 x, x 0 4
Duala problemet: Ekonomisk tolkning () Närbelägna Johnnys jourlivs och Pizzeria Rhodos har märkt att försäljningen gått ned. De vill köpa ut Lisa från verksamheten. Pizzerian vill att hon börjar jobba där istället för att driva sin firma, och de vill dessutom använda hennes salt i pizzadegen, medan Johnnys gärna vill köpa upp äggen. Pizzerian och Johnnys vill naturligtvis betala så lite som möjligt. Antag att de erbjuder v kr för varje minut, kr för varje ägg och v kr för varje kryddmått salt. v 3 Formulera deras (prissättnings-) problem! (D) min då w 0v 4v 0v 0v 30 3 v v v 3 v v, v, v3 3 6 5 0 5
Uppskattning av z* genom giltiga olikheter (valid inequalities) () Betrakta (P) igen: Vi multiplicerar () med 8: 6x + 36x 360 Detta kan användas för att överskatta alla z, särskilt z : z = 6x + 5x 6x + 36x 360 då max z 6x 5x 4x 3 x x 0x x 0 Alternativt kan vi överskatta z med 7,5 () +3,5 (3): z = 6x + 5x = 7,5 3 x + 3,5x + 7,5 x 7,5 0 + 3,5 30 = 55 x 0 30, x 0 () () (3) I allmänhet kan vi använda en valfri icke-negativ blandning v, v, v 3 0 av bivillkor (), () och (3) för att överskatta målfunktionen. Följande måste dock gälla för att vi ska veta att vi får minst 6x och 5x : 4v + 3 v + v 3 6 0v + v 5 v, v, v 3 0 6
Uppskattning av z* genom giltiga olikheter (valid inequalities) () För varje enhetsökning av v, v, v 3 ökar värdet av vår överskattning av z med 0, 0, respektive 30. Vi vill naturligtvis ha en så snäv överskattning som möjligt, och därför vill vi: min 0v + 0v + 30v 3 Sammanfattningsvis kan vårt problem att välja rätt vikter v, v, v 3 0 formuleras som följande LP-problem: min w då 0v 0v 0v 30 4v 3 v v v 3 v 3 v, v, v3 6 5 0 Detta är precis dualen till (P)! Vilken koppling finns mellan dualvariablernas värden och skuggpriserna? 7
Formuleringsprinciper: Normalform Normalform Maxproblem: -villkor, 0-variabler Minproblem: -villkor, 0-variabler Normalform ger normalform. Normalform i primal ger normalform i dual. Omvänd normalform i primal ger omvänd normalform i dual. Gäller för hela eller delar av ett problem. Normalform är någonting annat än standardform. 8
Relationer primal dual Primal Dual st variabler st bivillkor st bivillkor st variabler Maxproblem Minproblem Villkor: Variabel: Variabel: Villkor: Dual Primal fri 0 0 fri 0 0 m m n n Exempel! 9
LP-problemet på algebraisk form Allmänt LP-problem, komponentform: n max z = c j x j j= n då a ij x j b i, i =,, m j= x j 0, j =,, n Allmänt LP-problem, matrisform: max z = c T x då Ax b x 0 där: c = c c n, A = a a n, b = a m a mn b b m 0
(P) T max z c x då Ax b x 0 Svag dualitet Dualitetsteori Om x är tillåtet i (P) och v är tillåtet i (D), då gäller: c T x b T v Tillåten lösning i ena problemet ger optimistisk uppskattning till det andra. Bevis! Stark dualitet Om (P) eller (D) har en begränsad optimallösning, har även det andra problemet en begränsad optimallösning, och de optimala målfunktionsvärdena är lika, dvs: z = c T x = b T v = w (D) min då w T b v A T v c v 0
Möjliga lösningar på ett LP-problem Primalens optimallösning Dualens optimallösning är unik och ej degenererad. är obegränsad. saknas. är ej unik. är degenererad. är unik och ej degenererad. saknas. är obegränsad eller saknas. är degenererad. Kan ha multipla optima.
Komplementaritet Om det är (strikt) slack i ett primalt/dualt bivillkor, måste motsvarande duala/primala variabel vara noll. Om det inte är slack i ett primalt/dualt bivillkor, får motsvarande duala/primala variabel vara noll ändå. vˆ i ( b i A A i x ˆ b i ˆ) i x 0 xˆ j ( A T j A T j vˆ c v ˆ c j j ) 0 vˆ i 0 xˆ 0 j A i a i a ij a in 3 I boken används notationen a k, för att beteckna rad eller kolumn k i matrisen A (vilket som avses ges av sammanhanget).
Optimalitetsvillkor Låt (P) och (D) vara givna enligt ovan. Antag att x är tillåten i (P), dvs Ax b och x 0. Antag att v är tillåten i (D), dvs A T v c och v 0. Antag att komplementaritet gäller, dvs v T b Ax = 0 och x T A T v c = 0. Primal tillåtenhet Dual tillåtenhet Komplementaritet Då är x och v optimallösningar till respektive problem, och z = c T x = b T v = w! (Sats 6.5) 4
Nätverksoptimering: Introduktion Associationer? 5
Nätverksoptimering: Exempel Flöden i nätverk Billigaste/Kortaste/Snabbaste väg Maxflöde Minkostnadsflöde Projektnätverk Handelsresandeproblem (TSP) Ruttplaneringsproblem (VRP) Design av nätverk Kommunikationsnätverk Träd Anläggningslokalisering 6
Exempel: Ett skogsföretags problem (3) Givna indata: Efterfrågan av bränsle vid värmeverk Tillgång skogsråvara vid avverkningsområden Tillgång biprodukter från sågverk Terminaler med given kapacitet Begränsad flisningskapacitet 7
Exempel: Ett skogsföretags problem (3) Skogsavverkning Sågverk Terminal/ lager Värmeverk Värmeverk 8
Exempel: Ett skogsföretags problem 3 (3) Beslut När skall skogsråvaran tas om hand Var och när skall flisning ske Hur skall transporterna utföras Vilka terminallager skall användas Kostnader Transporter Flisning Lagring Terminaler 9
Inför Lektion 6 Uppgift 6.6 a) Arbetsgång för a)-uppgiften: Verifiera primal tillåtenhet för x. Bestäm alla v som tillsammans med x uppfyller komplementaritet. Undersök vilka av dessa v som dessutom är dualt tillåtna. Teorin i b)-uppgiften är viktig för datorlektion. Uppgift 6.0 LP-problem med undre och övre gränser (vanligt). Teckna dualen först! Det går att låta dualvariablerna för likhetsvillkoren vara noll och bestämma värdet på övriga dualvariabler. 0
www.liu.se