Lösningar till tentan i SF86 Optimeringslära, juni 7 Lösningarna är på svenska, utom lösningen av (a som är på engelska (a The considered network is illustrated in FIGURE below, where the supply at the nodes are written in the figure Negative supply means demand The arc från Node to Node 3 is directed from left to right All other arc are directed downwards in the figure The cost per unit flow is equal to for all arcs The basic solution x corresponding to the spanning tree T = {(,, (, 3, (, 4} is illustrated in FIGURE It has been calculated as follows: x = 7, due to the flow balance requirement in Node, x 3 = 4, due to the flow balance requirement in Node 3, x 34 = 6, due to the flow balance requirement in Node Then the flow balance requirement in Node 4 is also fulfilled, Thus, the basic solution corresponding to T is x = (7,, 4, 6, T, which is a BFS since x The objective value is c T x = 7 + 4 + 6 = 7 Node Node Node 7 7 7 o o o / \ / \ / \ / \ / \ 7 7 / \ / \ Node / \ Node3 Node / Node3 Node \ Node3 3 o---------->o -4 3 o--- 4 --->o -4 3 o o -4 \ / \ \ / \ / \ \ / \ / 6 3 3 \ / \ \ / \ / \ \ / o o o -6-6 -6 Node4 Node4 Node4 FIGURE FIGURE FIGURE 3 The basic solution x corresponding to the spanning tree T = {(, 3, (, 4, (3, 4} is illustrated in FIGURE 3 It has been calculated as follows: x 3 = 7, due to the flow balance requirement in Node, x 4 = 3, due to the flow balance requirement in Node, x 34 = 3, due to the flow balance requirement in Node 3 Then the flow balance requirement in Node 4 is also fulfilled Thus, the basic solution corresponding to T is x = (, 7,, 3, 3 T, which is a BFS since x The objective value is c T x = 7 + 3 + 3 = 3
Since the objective value for the BFS corresponding to T is larger than the the objective value for the BFS corresponding to T, the former can not be optimal It remains to investigate if the latter is optimal: The simplex multipliers y i for the nodes are calculated by y 4 = and y i y j = c ij for all arcs (i, j in the spanning tree Using that c ij = for all arcs, the y i are calculated in the order y 4 =, y 3 = y 4 + c 34 =, y = y 4 + c 4 =, y = y 3 + c 3 = Then the reduced cost for the two non-basic variables are calculated by r ij = c ij y i + y j, which give that r = c y + y = + = and r 3 = c 3 y + y 3 = + = Since both r and r 34, the BFS corresponding to T is an optimal solution The matrix A and the vector b in the LP formulation are: 7 A = and b = 3 4 6 where the flow balance equation for Node 4 (ie row 4 in A and b can be removed (b Vektorn w tillhör bildrummet R(A om och endast om ekvationssystemet Ax = w har minst en lösning x Därför använder vi Gauss Jordans metod på matrisen 3 [A w] = 3 5 b 3 4 7 Addition av ( gånger rad till rad och ( gånger rad till rad 3 ger matrisen 3 b 4 Addition av ( gånger rad till rad och ( gånger rad till rad 3 ger matrisen b b 3 b Den tredje raden svarar mot ekvationen x + x + x 3 + x 4 = 3 b, som saknar lösning om b 3/ Men om b = 3/ så har ekvationssystemet exempelvis lösningen x = b = /, x = b = /, x 3 = x 4 = Slutsats: w R(A om och endast om b = 3/ Vektorn w tillhör nollrummet för A T, w N (A T, om och endast om A T w = 3+b Men A T w = 3 3 4 b = 7+b +3b för varje värde på b 3 5 7 7+5b (Ty 3+b = endast om b = 3, men då är 7+b = Slutsats: Det finns inget värde på b som gör att w N (A T
Uppgift (a Vi har ett LP-problem på standardformen där A = minimera [ ], b = c T x då Ax = b, x, ( och c T = ( 8, 8, 4,,, Startlösningen ska ha basvariablerna x 5 och x 6, β = (5, 6 och δ = (,, 3, 4 [ ] [ ] Motsvarande basmatris ges av A β =, medan A δ = Basvariablernas värden i baslösningen ges av x β = b, där vektorn b beräknas ur ekvationssystemet A β b = b, [ ] ( ( ( b ( b =, med lösningen b = = b b Vektorn y med simplexmultiplikatorerna värden erhålls ur systemet A [ ] ( ( ( ( T β y = c β, y y =, med lösningen y = = y Reducerade kostnaderna för icke-basvariablerna [ ges av ] r T δ = ct δ yt A δ = ( 8, 8, 4, (, = ( 6, 8, 4, Eftersom r δ = r = 6 är minst, och <, ska vi låta x bli ny basvariabel Då behöver vi beräkna vektorn ā ur systemet A β ā = a, [ ] ( (ā (ā =, med lösningen ā = = ā y ā ( Det största värde som den nya basvariabeln x kan ökas till ges av { } { bi t max = min ā i > = min i ā i, } = = b ā Minimerande index är i =, varför x β = x 6 inte längre får vara kvar som basvariabel Dess plats tas av x Nu är alltså β = (5, och δ = (6,, 3, 4 Motsvarande basmatris ges av A β = [ ] [ ], medan A δ = Basvariablernas värden i baslösningen ges av x β = b, där vektorn b beräknas ur ekvationssystemet A β b = b, [ ] ( ( ( b ( b =, med lösningen b = = b b 3
Vektorn y med simplexmultiplikatorerna värden erhålls ur systemet A [ ] ( ( ( ( T β y = c β, y y =, med lösningen y = = 8 7 y Reducerade kostnaderna för icke-basvariablerna [ ges av ] r T δ = ct δ yt A δ = (, 8, 4, (, 7 = (6,,, 4 Eftersom r δ så är den aktuella baslösningen optimal Därmed är punkten x =, x =, x 3 =, x 4 =, x 5 =, x 6 = optimal till det betraktade problemet Optimalvärdet är z = 9 Uppgift (b Antag nu att c T = ( 8, 8, 4, 6,, i stället för c T = ( 8, 8, 4,,, Om vi startar med β = (5, 6 och δ = (,, 3, 4, så blir första iteration nästan identisk med första iterationen i (a-uppgiften, endast skillnaden är att reducerade kostnaden för variabeln x 4 nu blir 4 i stället för, men det påverkar inte iterationen som även nu leder fram till den nya baslösningen med β = (5, och δ = (6,, 3, 4 Men här blir det en väsentlig förändring jämfört [ med i (a, ty reducerade ] kostnaderna blir nu r T δ = ct δ yt A δ = (, 8, 4, 6 (, 7 = (6,,, Eftersom r δ4 = r 4 = är minst, och <, ska vi låta x 4 bli ny basvariabel Då behöver vi beräkna vektorn ā 4 ur systemet A β ā 4 = a 4, [ ] ( (ā4 (ā4 =, med lösningen ā 4 = = ā 4 y ā 4 ( Men eftersom ā 4 så kan x 4 öka obegränsat, varvid målfunktionsvärdet går mot Därför avbryts algoritmen med konstaterandet att det inte finns någon optimal lösning till problemet Uppgift (c Om man i (b-uppgiften ovan, med β = (5, och δ = (6,, 3, 4, sätter x 4 = t och låter t öka från, medan de övriga ickebasvariablerna ligger kvar vid, så påverkas målfunktionen enligt z = z + r 4 t = 9 t, medan basvariablernas värden påverkas enligt x β = b ā 4 t, ( x5 x = ( ( t = ( +t Speciellt om man sätter t = 45 så blir z = z + r 4 t = 9 45 = 9, Motsvarande lösningsvektor är x = (+ t,,, t,, T = (45,,, 45,, T Då är A x = b och x, så x är en tillåten lösning till P Vidare är c T x = 8 45 + 6 45 = 9, där vektorn c är den som hör till P 4
Uppgift (d Om primala problemet är på standardformen minimera c T x då Ax = b, x, så är det duala problemet på formen: maximera b T y då A T y c Speciellt är det duala problemet till P följande: maximera y + y då y + y 8, y y 8, y + y 4, y y, y, y Om man ritar upp det tillåtna området till detta problem i en figur med y och y på axlarna så ser man att det blir en konvex femhörning med hörnen i koordinaterna (, 6, (, 7, (, 9, (, och ( 4, 8 Den enda skillnaden mellan de duala problemen D och D till repektive P och P är att bivillkoret y y, som ingår i D, ska bytas ut mot bivillkoret y y 6 i D Men i ovannämnda figur ser man direkt att det inte finns någon punkt y som uppfyller både y + y 8 och y y 6, vilket även inses om man adderar dessa båda olikheter Alltså saknar det duala problemet D tillåtna lösningar, vilket är vad vi väntade oss eftersom det primala problemet P hade tillåtna lösningar men saknade ändligt optimalvärde 5
Uppgift 3(a För att utreda om Ax = b har någon lösning eller ej utför vi enkla radoperationer, i enlighet med Gauss-Jordans metod, på matrisen [ A b ] 3 = 3 3 3 Addition av (+ gånger rad till rad 3 ger matrisen 3 6 3 Addition av (+ gånger rad till rad 3 ger matrisen 3 3 Tredje raden motsvarar nu ekvationen x + x + x 3 = 3 som saknar lösning Alltså saknar det ursprungliga systemet Ax = b lösning Uppgift 3(b Att minimera Ax b är ekvivalent med att lösa normalekvationerna A T Ax = A T b 3 A = och b = 3 = A T A = och A T b = 6 3 6 Vi utför därför enkla radoperationer på matrisen [ A T A A T b ] = 6 6 Addition av (+5 gånger rad till rad, samt addition av (+5 gånger rad till rad 3, ger matrisen 5 5 6 5 5 6 Addition av (+ gånger rad till rad 3, samt 4 addition av (+/3 gånger rad till rad, ger matrisen 5 5 6 Multiplikation av rad med 5 och rad med /3 ger matrisen 4 Den allmänna lösningen till normalekvationerna ges alltså av +t x(t = 4+t = 4 + t = x + z t, där t är ett godtyckligt reellt tal t Man kan notera att Ax(t = A x = 4 för alla t IR 6
Uppgift 3(c Vi ska nu minimera x då A T Ax = A T b Enligt (b-uppgiften är x = (, 4, T en lösning till normalekvationerna Då gäller ekvivalensen A T Ax = A T b Ax = A x, så problemet ovan kan ekvivalent skrivas: minimera x då Ax = A x Enligt Lagrangemetoden är ˆx IR n en optimal lösning till detta konvexa QP-problem om och endast om ˆx, tillsammans med en vektor ū, uppfyller I ˆx A T ū = och Aˆx = A x De första ekvationerna ger att ˆx = A T ū, som insatt i de senare ger att AA T ū = A x Optimal lösning till problemet ges alltså av ˆx = A T ū, där AA T ū = A x Vi tillämpar därför Gauss-Jordans metod på matrisen [ AA T A x ] = 4 Samma enkla radoperationer som i 3(b ger matrisen En lösning (bland flera till systemet AA T u = A x är alltså ū = (,, T Då är ˆx = A T ū = (,, T optimal lösning till problemet i denna (c-uppgift Kommentar: Det går också bra att lösa problemet med en nollrumsmetod, som på just detta problem blir extra enkel eftersom nollrummet till A T A har dimensionen och vi redan i (b ovan härlett ekvivalensen A T Ax = A T b x = x + z t Ekvationssystemet som ska lösas i nollrumsmetoden förenklas här till z T z t = z T x, 3t = 6, med lösningen ˆt =, varefter ˆx = x + z ˆt = (,, T som ovan Denna nollrumsmetod är ekvivalent med att minimera x(t med avseende på t, där x(t = (+t, 4+t, t T från (b-uppgiften Då blir x(t = ( (+t +(4+t + t = 3 t + 6t + = 3 (t+ + 4, som minimeras av ˆt =, vilket ger x(ˆt = (,, T som ovan Uppgift 3(d Vi ska nu lösa problemet att minimera y b då y R(A Men att y R(A är ekvivalent med att y = Ax för någon vektor x IR, så vårt problem i denna (d-uppgift är ekvivalent med MK-problemet i (b-uppgiften ovan! Där konstaterades att varje vektor på formen x(t = (+t, 4+t, t T, med t IR, är en optimal lösning till MK-problemet Men för samtliga dessa är Ax(t = (, 4, T Därför är ŷ = (, 4, T den unika optimala lösningen till problemet i denna (d-uppgift 7
[ ] a b Uppgift 4(a Vi använder oss av att en symmetrisk matris H = b c * är positivt definit (pd om och endast om a >, c > och ac b >, * är positivt semidefinit (psd om och endast om a, c och ac b, vilket kan verifieras med exempelvis en LDL T faktorisering Målfunktionen är f(x = x 3 + x3 x x ( 3x [ Gradient och Hessian till f ges av f(x T = x 6x 3x x och F(x = 6x ( ( Startpunkten ges av x ( =, med f(x ( T = och F(x ( = ] [ ] 6 6 Eftersom F(x ( är positivt definit (6 >, 6 > och 6 6 ( > så bestäms Newtonriktningen d ( ur ekvationssystemet F(x ( d = f(x ( T, som här blir [ ] ( ( 6 /5 d =, med lösningen d 6 ( = /5 ( 3/5 Vi prövar först steget t =, så att x ( = x ( + t d ( = x ( + d ( = 3/5 Då blir f(x ( = 9/5 < = f(x (, så steget t = accepteras Därmed har vi utfört en fullständig ( iteration med Newtons metod och erhållit 3/5 iterationspunkten x ( = med f(x 3/5 ( = 9/5 Uppgift 4(b Eftersom bivillkor saknas måste varje lokal minpunkt till f(x uppfylla att ( ( 3x f(x T = x 3x x =, x = 3x och x = 3x, vilket medför att x = 7x 4, x (7x 3 =, med de två lösningarna x = och x = /3 Om x = så är x = och om x = /3 så är x = /3 ( ( ( /3 De enda lösningarna till f(x T = är alltså x = och ˆx = /3 [ ] Men F( x = är inte positivt semidefinit, så x är inte a lokalt minpunkt [ ] Däremot är F(ˆx = positivt definit, så ˆx är en lokal minpunkt till f(x ( /3 Den enda lokala minpunkten till f(x är alltså ˆx =, med f(ˆx = /7 /3 (Men det finns ingen global minpunkt till f(x på IR, ty om exempelvis x(t = ( t, T så gäller att f(x(t = t 3 då t 8
Uppgift 4(c Antag att x C, att x > och x > [ ] 6x Då är Hessianen F(x = positivt definit, ty 6x 6x >, 6x > och (6x (6x ( = 36x x > 36 4 > Det betyder att F(x är positivt definit för alla x C, vilket i sin tur, eftersom C är en konvex mängd, betyder att f är en konvex funktion på den konvexa mängden C Men då är f(x f(ˆx + f(ˆx(x ˆx för alla x C och ˆx C ( /3 Speciellt, om vi låter ˆx = från (b-uppiften ovan så är ˆx C och f(ˆx = /3 T, vilket betyder att f(x f(ˆx + T (x ˆx = f(ˆx för alla x C 9
Uppgift 5(a Problemet kan skrivas på formen: minimera f(x då g i (x, i =,, 3, 4, där f(x = ((x + +(x +4 + (x 3 +6, g (x = x, g (x = x, g 3 (x = x 3, g 4 (x = 3 x x x 3 KKT-villkoren kan delas upp i fyra grupper enligt följande (KKT f x j (x + y g x j (x + y g x j (x + y 3 g 3 x j (x + y 4 g 4 x j (x =, för j =,, 3 : x + y y 4 =, x + 4 y y 4 =, x 3 + 6 y 3 y 4 = (KKT Tillåten punkt, g i (x för i =,, 3, 4 : (KKT3 x, x, x 3, x +x +x 3 3 Lagrangemultiplikatorerna icke-negativa: y, y, y 3, y 4 (KKT4 Komplementaritetsvillkor, y i g i (x = för i =,, 3, 4 : y x =, y x =, y 3 x 3 =, y 4 (3 x x x 3 =
Uppgift 5(b Vi söker en lösning till (KKT (KKT4 sådan att x > och x > De två första (KKT4-kraven medför då att y = och y =, varefter (KKT övergår till: (kkt-: x = y 4, (kkt-: x = y 4 4, (kkt-3: x 3 = y 3 + y 4 6 Av (kkt- och (kkt- följer att y 4 inte kan vara noll, ty då blir x och x negativa Alltså måste y 4 >, vilket tillsammans med det fjärde (KKT4-kravet medför att (kkt4-4: x + x + x 3 = 3 Insättning av (kkt-, (kkt- och (kkt-3 i (kkt4-4 ger att 3y 4 + y 3 = 3, y 4 = 5 y 3 /3 Insättning av detta i (kkt-, (kkt- och (kkt-3 ger att x = 3 y 3 /3, x = y 3 /3, x 3 = y 3 /3 Det tredje (KKT4-kravet att x 3 y 3 = ger då att (y 3 /3 y 3 =, y 3 = 3/ eller y 3 = Men y 3 = medför enligt ovan att x 3 = y 3 /3 =, vilket bryter mot (KKT Återstår fallet att y 3 = 3/ Då blir enligt ovan y 4 = 5 y 3 /3 = 45, x = 3 y 3 /3 = 5, x = y 3 /3 = 5, x 3 = y 3 /3 = Nu är samtliga KKT-villkor uppfyllda, så slutsatsen är att ˆx = (5, 5, T, tillsammans med ŷ = (,, 5, 45 T, uppfyller KKT-villkoren för P ˆx = (5, 5, T är alltså en KKT-punkt till P med ˆx > och ˆx >, vilket var det som söktes Uppgift 5(c Bivillkorsfunktionerna g i är linjära, och således även konvexa Målfunktionen f är en kvadratisk funktion med Hessianen H = I = enhetsmatrisen (3 3 som är en diagonalmatris med strikt positiva diagonalelement, och därför positivt definit, vilket medför att f är en konvex funktion på IR 3 P är alltså ett konvext optimeringsproblem Därmed är (enligt känd sats varje KKT-punkt till P även en globalt optimal lösning till P Speciellt är ˆx = (5, 5, T en globalt optimal lösning till P, vilket medför att varje tillåten lösning x till P uppfyller f(x f(ˆx = (45 +45 +6 = 385 Med (exempelvis K = 38 > 38 så är alltså f(x K för alla tillåtna lösningar x till P