Lösningar till SF86/SF85 Optimeringslära, 4/5 03 Uppgift (a) Inför de 3 variablerna x ij = kvantitet (i sorten ton) som fabrik nr i åläggs att tillverka av produkt nr j, samt t = tiden (i sorten timmar) tills alla fabrikerna är färdiga med sina ålägganden 3 Kravet att uppfylla kundens beställning kan då formuleras x ij = b j, för j =,, 3, 4 De tre fabrikerna drivs förstås parallellt, så om t i betecknar tiden då fabrik nr i är färdig med sitt åläggande så är t = max{t i } = det största av de tre talen t, t och t 3 i Återstår att uttrycka t i i variablerna x ij Det finns två tänkbara modeller: Modell I: Om det, vid varje fabrik, förhåller sig på det viset att de fyra produkterna tillverkas 4 en i taget, efter varandra, så är t i = T ij x ij, för i =,, 3, och då kan det aktuella j= planeringsproblemet formuleras som följande LP-problem: minimera då t 4 t T ij x ij 0, för,, 3, j= 3 x ij = b j, för j =,, 3, 4, x ij 0, för,, 3 och j =,, 3, 4 Modell II: Om det i stället, vid varje fabrik, förhåller sig på det viset att de fyra produkterna tillverkar parallellt, oberoende av varandra, så är t i = max{t ij x ij }, varvid j t = max {T ijx ij } = det största av de talen T x,, T 34 x 34, och då kan det aktuella i,j planeringsproblemet formuleras som följande LP-problem: minimera t då t T ij x ij 0, för,, 3 och j =,, 3, 4 3 x ij = b j, för j =,, 3, 4, x ij 0, för,, 3 och j =,, 3, 4 Det framgår inte av problemformuleringen vilken av dessa båda modeller som bäst avbildar verkligheten, så båda ger full poäng på uppgiften
Uppgift (b) För att avgöra om H är positivt definit, eller positivt semidefinit, eller ingetdera, försöker vi LDL T -faktorisera H H = 3 3 a Addera först + gånger rad till rad och gånger rad till rad 3 Addera sedan + gånger kolonn till kolonn och gånger kolonn till kolonn 3 Det ger E = 0 0 0 0 och E HE T = 0 0 0 0 a 4 Addera nu + gånger rad till rad 3 och addera sedan + gånger kolonn till kolonn 3 Det ger 0 0 0 0 E = 0 0 och E E HE T E T = 0 0 0 0 0 a 5 Därmed är LDL T -faktoriseringen klar, och man har att 0 0 0 0 H = LDL T = 0 0 0 0 0 a 5 0 0 0 Matrisen H är positivt definit om och endast om diagonalmatrisen D är positivt definit, om och endast om samtliga diagonalelement i D är > 0, om och endast om a > 5 Om a = 5 så är D positivt semidefinit, men inte positivt definit, vilket då gäller även för H Om a < 5 så är D indefinit, vilket då gäller även för H Alltså: H är positivt definit för a > 5 och positivt semidefinit för a 5
Uppgift (a) Det givna LP-problemet är på standardformen där A = [ minimera c T x då Ax = b, x 0, ] ( ) 0, b = och c = (4, 3, 6, ) T I startlösningen ska enligt uppgiftslydelsen x och x vara basvariabler, β = (, ) och ν = (3, 4) [ ] Motsvarande basmatris ges av A β = Basvariablernas värden i baslösningen ges av x β = b, där vektorn b beräknas ur ekvationssystemet A β b = b, ( ) ( ) b 0 b 05 =, med lösningen b = = b b 05 Vektorn y med simplexmultiplikatorerna värden erhålls ur systemet A T β y = c β, ( ) ( ) y 4 y 05 =, med lösningen y = = 3 35 y Reducerade kostnaderna icke-basvariablerna ( ) ges av r3 T = c 3 y T a 3 = 6 (05, 35) = 5 ( ) r4 T = c 4 y T a 4 = (05, 35) = 5 Eftersom r 4 = 5 är minst och < 0 ska vi låta x 4 bli ny basvariabel Då behöver vi beräkna vektorn ā 4 ur systemet A β ā 4 = a 4, ā4 =, med lösningen ā 4 = ā 4 y ( ā4 ā 4 ) = Det största värde som den nya basvariabeln x 4 kan ökas till ges av { } { bi t max = min ā i4 > 0 = min, 05 } i ā i4 5 Minimerande index är i =, varför x β = x ska lämna basen Nu är alltså β = (, 4) och ν = (3, ) Motsvarande basmatris ges av A β = [ ] ( ) 05 5 Basvariablernas värden i baslösningen ges av x β = b, där vektorn b beräknas ur ekvationssystemet A β b = b, ( ) ( ) b 0 =, med lösningen b b b /3 = = b /3 3
Vektorn y med simplexmultiplikatorernas värden erhålls ur systemet A T β y = c β, ( ) ( ) y 4 y =, med lösningen y = = 3 y Reducerade kostnaderna icke-basvariablerna ( ) ges nu av ( ) r 3 = c 3 y T a 3 = 6 (, 3) = och r = c y T a = 3 (, 3) = Eftersom både r 3 0 och r 0 är den aktuella baslösningen optimal Alltså är punkten ˆx = (/3, 0, 0, /3) T en optimal lösning till problemet Optimalvärdet ges av c Tˆx = 8/3 + /3 = 3 Uppgift (b) Om primala problemet är på standardformen så är det duala problemet som utskrivet blir: minimera c T x y då Ax = b, x 0, maximera b T y då A T y c, maximera y då y + y 4, y + y 3, y + y 6, y + y För att underlätta figurritandet kan man skriva om detta duala problem på formen maximera y då y 4 y, y 3 + y, y 6 y, y + y Uppgift (c) Ur sin figur ser man att optimal lösning till duala problemet ges av skärningspunkten mellan de bägge linjerna y = 4 y och y = + y, ŷ = och ŷ = 3 Det är också välkänt att en optimal lösning till det duala problem ges av vektorn y med simplexmultiplikatorerna till den optimala baslösningen i (a)-uppgiften, vilket stämmer utmärkt med ovanstående ŷ = (, 3) T Man kontrollerar snabbt att detta är en tillåten lösning till det duala problemet Vidare ges optimalvärdet av b T ŷ = ŷ = 3 = optimalvärdet för det primala problemet ovan 4
Uppgift 3(a) För att utreda huruvida det linjära ekvationssystemet Ax = b har någon lösning eller ej utför vi radoperationer på matrisen [ A b ] 0 = 0 0 0 Addition av (+) gånger första raden till andra raden ger 0 0 0 Addition av (+) gånger andra raden till tredje raden ger 0 0 0 0 Tredje raden motsvarar nu ekvationen 0 x + 0 x + 0 x 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 Vi utför därför radoperationer på matrisen [ A T A A T b ] 0 = Addition av (+05) gånger första raden till andra raden, samt 0 addition av (+05) gånger första raden till tredje raden, ger 0 5 5 0 5 5 Addition av (+) gånger andra raden till tredje raden, samt 0 4/3 addition av (+/3) gånger andra raden till första raden, ger 0 5 5 0 0 0 0 0 /3 Multiplikation av första raden med och av andra raden med 3 ger 0 4/3 0 0 0 0 Den allmänna lösningen till normalekvationerna ges alltså av x(t) = (/3 + t, 4/3 + t, t) T, där t är ett godtyckligt reellt tal För samtliga dessa är Ax(t) = (/3, /3, 4/3) T En lösning till normalekvationerna är alltså x = (/3, 4/3, 0) T, med A x = (/3, /3, 4/3) T Då gäller ekvivalensen A T Ax = A T b Ax = A x Vi ska nu minimera x då Ax = A x Optimal lösning till detta ges av ˆx = A T ū, där AA T ū = A x (Ty enligt Lagrangemetoden är ˆx IR n en optimal lösning om och endast om ˆx, tillsammans med en vektor ū, uppfyller I ˆx A T ū = 0 och Aˆx = A x De första ekvationerna ger att ˆx = A T ū, som insatt i de senare ekvationerna ger att AA T ū = A x) 5
Vi utför därför radoperationer på matrisen [ AA T A x ] /3 = /3 4/3 Addition av (+05) gånger första raden till andra raden, samt /3 addition av (+05) gånger första raden till tredje raden, ger 0 5 5 0 5 5 Addition av (+) gånger andra raden till tredje raden, samt 0 4/3 addition av (+/3) gånger andra raden till första raden, ger 0 5 5 0 0 0 0 0 /3 Multiplikation av första raden med och av andra raden med 3 ger 0 /3 0 0 0 0 Den allmänna lösningen till detta system ges alltså av u(t) = (/3 + t, /3 + t, t) T, där t är ett godtyckligt reellt tal För samtliga dessa är A T u(t) = (0, /3, /3) T En lösning (av flera) till systemet AA T u = A x är alltså ū = (/3, /3, 0) T Då är ˆx = A T ū = (0, /3, /3) T minsta-normlösningen till minsta-kvadratproblemet Uppgift 3(c) Om x är en lösning till normalekvationerna så gäller dels att A x tillhör bildrummet för A (förstås!), dels att felvektorn b A x tillhör nollrummet för A T (ty normalekvationerna säger just att A T (b A x) = 0), dels att A x + (b A x) = b Låt alltså v = A x = (/3, /3, 4/3) T och w = b A x = (/3, /3, /3) T 6
Uppgift 4(a) Betrakta ekvationssystemet x x = 0, x + x = 0, x x = 0, x + x = 0 Addition av de två första ekvationerna ger att x = 0, x = 0 Addition av de två sista ekvationerna ger att x = 04, x = 0 Men (x, x ) = (0, 0) är inte en lösning till ekvationssystemet, som därmed saknar lösning Uppgift 4(b) x x 0 x + x Vi har här att h(x) = 0 x x 0 Deriveringar ger att x + x 0 h (x) = ( x, ), h (x) = (x, ), h 3 (x) = (, x ), h 4 (x) = (, x ) x 0 0 Därmed är h(x) = x x, så att h(x() ) = 0 0 och h(x() ) = 0 0 x 0 0 I Gauss-Newtons metod ska man lösa ekvationssystemet h(x () ) T h(x () ) d = h(x () ) T h(x () ) [ ] 0 I vårt fall är h(x () ) T h(x () ) = 0 [ ] ( ) 0 d så ekvationssystemet blir = 0 Vi prövar t =, så att x () = x () + t d () = x () + d () = h (x () ) = 0 004 0 = 004, h (x () ) = 0 + 004 0 = 004, h 3 (x () ) = 0 00 0 = 00, h 4 (x () ) = 0 + 00 0 = 00, d ( 04 och h(x () ) T h(x () ) = 0 ( ) ( 04 0, med lösningen d 0 () = 0 ( ) 0 Då blir 0 så att f(x () ) = (0006 + 0006 + 0000 + 0000) = 0007, medan f(x () ) = (00 + 00 + 004 + 004) = 005 Steget t = gick alltså bra Därmed har vi utfört en fullständig iteration med Gauss-Newtons metod och hamnat i punkten x () = (0, 0) T ), ) 7
Uppgift 4(c) Vid Newtons metod ska man i stället lösa ekvationssystemet F(x () ) d = f(x () ) T För ickelinjära minsta-kvadratproblem kan detta system skrivas ( ) m h(x () ) T h(x () ) + h i (x () )H i (x () ) d = h(x () ) T h(x () ) I vårt fall är funktionerna h i kvadratiska, så andraderivatsmatriserna är oberoende av x och ges av [ ] [ ] [ ] [ ] 0 0 0 0 0 0 H (x) =, H 0 0 (x) =, H 0 0 3 (x) =, H 0 4 (x) = 0 m Med h(x () ) enligt ovan blir h i (x () )H i (x () ) = [ 0 0 0 0 ], så vi råkar få exakt samma ekvationssystem, och därmed exakt samma nya iterationspunkt x () = (0, 0) T, som vi fick med Gauss-Newtons metod i förra deluppgiften Uppgift 4(d) Andraderivatsmatrisen till målfunktionen f(x) ges av m F(x) = h(x) T h(x) + h i (x)h i (x), som efter insättning och förenklingar ger att [ ] [ ] 4x F(x) = + 0 4x 0 4x + + 0 0 4x = som är positivt definit för alla x IR Därmed är f(x) en (strikt) konvex funktion på hela IR [ ] 8x + 0 0 8x +, (Detta är dock inte alltid fallet för ickelinjära minsta-kvadratproblem) 8
Uppgift 5(a) Lagrangefunktionen kan skrivas L(x, y) = f(x) + y g (x) + y g (x) = = (x a ) 4 + (x a ) 4 + y ((x 3) 4 + (x ) 4 6) + y ((x ) 4 + (x 3) 4 6) KKT-villkoren kan delas upp i fyra grupper enligt följande (KKT ) L/ x j = 0 för j =, : 4(x a ) 3 + 4y (x 3) 3 + 4y (x ) 3 = 0, 4(x a ) 3 + 4y (x ) 3 + 4y (x 3) 3 = 0 (KKT ) Tillåten punkt, g i (x) 0 för i =, : (x 3) 4 + (x ) 4 6 0, (x ) 4 + (x 3) 4 6 0 (KKT 3) Lagrangemultiplikatorerna icke-negativa: y 0, y 0 (KKT 4) Komplementaritetsvillkor, y i g i (x) = 0 för i =, : y ((x 3) 4 + (x ) 4 6) = 0, y ((x ) 4 + (x 3) 4 6) = 0 Uppgift 5(b) Andraderivatsmatriserna till målfunktionen och bivillkorsfunktionerna är [ (x a ) ] [ 0 (x 3) 0 (x a ), ] [ 0 (x ) 0 (x ) och 0 0 (x 3) Eftersom samtliga diagonalelement är 0 i dessa tre diagonalmatriser så är de tre matriserna positivt semidefinita för alla x IR Därmed är såväl målfunktion som bivillkorsfunktioner konvexa, vilket enligt en känd sats medför att varje KKT-punkt är en globalt optimal lösning till problemet Uppgift 5(c) Antag att x = (3, 3) T Då är både g (x) = 0 och g (x) = 0, så (KKT ) och (KKT 4) är uppfyllda (KKT ) förenklas till 4(3 a ) 3 + 4y (3 ) 3 = 0 och 4(3 a ) 3 + 4y (3 ) 3 = 0, som är uppfyllt om och endast om y = ((a 3) 3 )/8 och y = ((a 3) 3 )/8 Då blir (KKT 3) uppfyllt om och endast om både a 3 och a 3 Alltså: x = (3, 3) T är en KKT-punkt om och endast om både a 3 och a 3 Uppgift 5(d) Antag nu att x = (3 3/4, + 3/4 ) T Då är g (x) = 0 och g (x) < 0, så (KKT 4) medför att y = 0, varvid både (KKT ) och (KKT 4) blir uppfyllda (KKT ) förenklas nu till 4(3 3/4 a ) 3 + 4y ( 3/4 ) 3 = 0 och 4(+ 3/4 a ) 3 + 4y ( 3/4 ) 3 = 0, Addition av dessa villkor ger att 4(3 3/4 a ) 3 = 4(+ 3/4 a ) 3, vilket är uppfyllt om och endast om a + a = 4 Vi sätter därför a = t och a = +t Då blir y = ( 3/4 +t) 3 /( 3/4 ) 3, så (KKT 3) blir uppfyllt om och endast om t 3/4 Alltså: x = (3 3/4, + 3/4 ) T är en KKT-punkt om och endast om a = t och a = +t, där t 3/4 ] 9