Lösningar till 5B76 Optimeringslära för T, 4/5-7 Uppgift (a) Först använder vi Gauss Jordans metod på den givna matrisen A = Addition av gånger första raden till andra raden ger till resultat matrisen Addition av gånger andra raden till första raden, samt addition av gånger andra raden till tredje raden, ger till resultat matrisen = U Nu är A överförd till trappstegsform med två trappstegsettor En bas till R(A) erhålls genom att som basvektorer välja de kolonner i A som svarar mot trappstegsettor i U, kolonnerna och i A De två vektorerna och utgör alltså en bas till R(A) En bas till N (A) kan bestämmas enligt följande: Sätt x 3 = (den enda variabel som inte svarar mot en trappstegsetta) och bestäm sedan x och x (variablerna svarande mot trappstegsettor) så att Ux = Det ger den första och enda basvektorn till N (A) Fortsättning på nästa sida
Nu använder vi Gauss Jordans metod på matrisen A T = Addition av gånger första raden till andra raden ger till resultat matrisen Addition av gånger andra raden till första raden, samt addition av gånger andra raden till tredje raden, ger till resultat matrisen = Ũ Nu är A T överförd till trappstegsform med två trappstegsettor En bas till R(A T ) erhålls genom att som basvektorer välja de kolonner i A T som svarar mot trappstegsettor i Ũ, kolonnerna och i A T De två vektorerna och utgör alltså en bas till R(A T ) En bas till N (A T ) kan bestämmas enligt följande: Sätt y 3 = (den enda variabel som inte svarar mot en trappstegsetta) och bestäm sedan y och y (variablerna svarande mot trappstegsettor) så att Ũy = Det ger den första och enda basvektorn till N (A T )
Uppgift (b) Inför följande beslutsvariabler: x j = antal kg av produkten P j som blandas till per vecka y i = antal kg av råvaran R i som köps in per vecka Då kan företagets frågeställning formuleras som följande LP-problem i variablerna x j och y i : maximera då n m c j x j b i y i j= i= n a ij x j y i, j= x j d j, j =,, n i =,, m y i e i, i =,, m Kommentar: n j= a ijx j anger hur mycket som går åt av råvaran R i per vecka, och man måste köpa in minst så mycket Å andra sidan är det bortkastat att köpa in mer än man behöver, så vi kan utgå från att y i = n j= a ijx j i varje optimal lösning Med hjälp av detta samband kan variablerna y i elimineras ur problemet, varvid följande LP-problem i enbart variablerna x j erhålls: maximera då n k j x j j= n a ij x j e i, j= i =,, m x j d j, j =,, n, där konstanterna k j i målfunktionen ges av k j = c j m b i a ij Den första formuleringen är nog att föredra Det finns ingen anledning att välja en formulering med så få variabler som möjligt i= 3
Uppgift (a) Eftersom alla c j = 3 så är töjningsenergiminimeringsproblemet ekvivalent med QP-problemet minimera f T H f då R f = p, där H = 3, R = 3, p = 8 Matrisen H är positivt definit, ty för varje vektor z IR 4 med z är z T Hz = 3 (z + z + z 3 + z 4 ) > Därmed är QP-problemet ekvivalent med det linjära ekvationssystemet H f R T u =, R f = p Ur H f R T u = erhålls att f = 3 R T u, som insatt i R f = p ger ekvationssystemet 3 RR T u = p, u 3 3 3 u =, med lösningen u = 3 u 3 8 4 Normalkrafterna i stängerna ges sedan av ˆf = 3 R T u = 3 = 4 Med den givna lastvektorn blev det alltså dragkraft i alla fyra stängerna Uppgift (b) p x 7 6 Om p = p y så blir enligt ovan u = u y = 3 p z u z u x p x p y p z / Vidare blir ˆf ˆf + ˆf 3 ˆf 4 = (,,, )ˆf = 3 (,,, ) R T u = = (,,, ) u x u x u y = (,, ) u y = u z u z 4
Uppgift 3(a) Om vi inför slackvariabler x 5 och x 6, för att överföra olikhetsbivillkoren till likhetsbivillkor, så får vi ett LP-problem på standardformen där A = minimera [ ], b = c T x då Ax = b, x, ( ) 8 och c 4 T = ( 3, 4,, 5,, ) 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 8 ( b =, med lösningen b 4 b 8 = = b 4 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 δ = ( 3, 4,, 5) (, ) = ( 3, 4,, 5) Eftersom r δ = r = 3 ä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 8 t max = min ā i > = min i ā i, 4 } = 4 = 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 8 ( b =, med lösningen b 4 b 4 = = b 4 5
Vektorn y med simplexmultiplikatorerna värden erhålls ur systemet A [ ] ( ) ( ) ( ) ( ) T β y = c β, y y =, med lösningen y = = 3 3 y Reducerade kostnaderna för icke-basvariablerna [ ges av ] r T δ = ct δ yt A δ = (, 4,, 5) (, 3) = (3,,, ) Eftersom r δ så är den aktuella baslösningen optimal Därmed är punkten x = 4, x =, x 3 =, x 4 = optimal till det ursprungliga problemet Optimalvärdet är z = Uppgift 3(b) Antag nu att c T = ( 3, 4,,,, ) i stället för ( 3, 4,, 5,, ) Om vi startar från slutlösningen ovan, med β = (5, ) och δ = (6,, 3, 4), så gäller fortfarande att [ ] [ ] ( ) ( ) 4 A β =, A δ =, b = och y = 4 3 Men reducerade kostnaderna för icke-basvariablerna ges nu av [ ] r T δ = ct δ yt A δ = (, 4,, ) (, 3) = (3,,, ) 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 ( ) Eftersom ā 4 så kan x 4 öka obegränsat, varvid målfunktionsvärdet går mot Därmed saknar problemet ändligt optimalvärde och algoritmen avbryts Extra kommentar (som inte krävs): Om man 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 = t, medan basvariablernas ( ) ( ) ( ) värden påverkas enligt x β = b x5 4 ā 4 t, = t x 4 x (t) 4 x (t) Detta kan skrivas x(t) = x 3 (t) x 4 (t) = + t = x + t d x 5 (t) 4 x 6 (t) Då är Ax(t) = b och x(t) för alla t, x(t) är en tillåten lösning för varje t, medan c T x(t) = c T x + t c T d = t då t + 6
Uppgift 3(c) 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, som här blir: maximera 8y + 4y då y + y 3, y y 4, y + y, y y 5, 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 femhörning med hörnen i koordinaterna ( 5, 5), (, 3), (, 4), ( 5, 45) och ( 5, 35) Uppgift 3(d) I figuren ovan ska vi nu byta ut bivillkoret y y 5 mot bivillkoret y y Men då ser man direkt att det inte finns något y som uppfyller både y + y 3 och y y (Vilket även inses om man adderar dessa båda olikheter) Alltså saknar det duala problemet tillåtna lösningar, vilket är vad vi väntade oss eftersom det primala problemet hade tillåtna lösningar men saknade (ändlig) optimallösning 7
Uppgift 4 Vi har ett kvadratiska optimeringsproblem med linjära olikhetsbivillkor på formen där H = minimera xt Hx + c T x då Ax b, 5, c = 4, A = och b = Vi ska lösa problemet med den metod som finns kortfattat sammanfattad på formelbladet (i form av ett antal Steg ) I den givna startpunkten x = (,, ) T är all tre bivillkoret uppfyllda med likhet Därför startar vi med α = (,, 3) och γ tom 5 Då är H x + c = 4 och A α =, och därmed A T α = Vi får svaret JA i Steg, ty H x + c = A T αū med ū = ( 5, 4, ) T, så vi går till Steg Här konstateras att ū < (och minst), varför α = flyttas över till γ vektorn [ ] Sedan går vi till Steg 3 med α = (, 3), γ = () och A α = I Steg 3 ska vi minimera dt Hd + (H x + c) T d under bivillkoret A α d =, minimera d + d + d 3 + d d + d d 3 + d d 3 5d 4d d 3 då d = och d 3 = Insättning av d = d 3 = i målfunktionen leder till att vi ska minimera d 5d med avseende på d Detta enkla envariabelproblem har den optimala lösningen ˆd = 5 5 5 Vi får alltså att ˆd = Eftersom x + ˆd = uppfyller alla bivillkor låter vi denna punkt bli nästa iterationspunkt x och går till Steg Nu är α = (, 3) och γ = () Vidare är 5 [ x =, H x + c = 5, A α = 5 ], A T α = Vi får svaret JA i Steg, ty H x + c = A T αū med ū = ( 5, 5) T, så vi går till Steg Här konstateras att ū < (och minst), varför α = flyttas över till γ vektorn Sedan går vi till Steg 3 med α = (3), γ = (, ) och A α = [ ] 8
I Steg 3 ska vi minimera dt Hd + (H x + c) T d under bivillkoret A α d =, minimera d + d + d 3 + d d + d d 3 + d d 3 5d + 5d 3 då d 3 = Insättning av d 3 = i målfunktionen leder till att vi ska minimera d + d + d d 5d med avseende på d och d, utan några bivillkor Detta konvexa kvadratiska tvåvariabelproblem är ekvivalent med ekvationssystemet [ ] ( ) ( ) d =, med lösningen d 5 = 5, ˆd = 5 Vi får alltså att ˆd = Eftersom x + ˆd = uppfyller alla bivillkor låter vi denna punkt bli nästa iterationspunkt x och går till Steg Nu är α = (3) och γ = (, ) Vidare är x =, H x + c =, A α = [ ], A T α = Vi får svaret JA i Steg, ty H x + c = A T αū med ū =, så vi går till Steg Här konstateras att ū, varför den aktuella iterationspunkten x =, tillsammans med vektorn ŷ =, uppfyller optimalitetsvillkoren, H x + c = A T ŷ, A x b, ŷ och ŷ T (A x b) = Vi stannar därför här 9
Uppgift 5(a) Problemet kan skrivas på formen: minimera f(x) då g i (x), i =,, 3, där f(x) = c x 4x x 3, g (x) = x + x, g (x) = x + x 3, g 3(x) = x + x 3 Målfunktionen är linjär, och därmed även konvex De kvadratiska bivillkorsfunktionerna har andraderivatsmatriserna, och, som samtliga är positivt semidefinita Därmed är även bivillkorsfunktionerna konvexa, varför det betraktade problemet är ett konvext optimeringsproblem Vidare uppfyller exempelvis x = (,, ) T samtliga bivillkor med strikt olikhet, så det betraktade problemet är ett regulärt konvext problem Det betyder att en punkt ˆx är en globalt optimal lösning till problemet om och endast om ˆx är en KKT-punkt Uppgift 5(b) Lagrangefunktionen kan skrivas L(x, y) = f(x) + 3 i= y ig i (x) = = c x 4x x 3 + y (x + x ) + y (x + x 3 ) + y 3(x + x 3 ) KKT-villkoren kan delas upp i fyra grupper enligt följande (KKT ) L/ x j = för j =,, 3 : c + x (y + y ) =, 4 + x (y + y 3 ) =, + x 3 (y + y 3 ) = (KKT ) Tillåten punkt, g i (x) för i =,, 3 : x + x, x + x 3, x + x 3 (KKT 3) Lagrangemultiplikatorerna icke-negativa: y, y, y 3 (KKT 4) Komplementaritetsvillkor, y i g i (x) = för i =,, 3 : y (x + x ) =, y (x + x 3 ) =, y 3 (x + x 3 ) = Uppgift 5(c) Antag först att x = (4,, ) T Då är x + x =, x + x 3 =, x + x 3 < Komplementaritetsvillkoren ger då att y 3 =, varefter villkoren KKT kan skrivas c + 8(y + y ) =, 4 + 4(y + ) =, + 4(y + ) = Vi ser att detta system saknar lösning om c 4 Om c = 4 så uppfyller x = (4,, ) T, tillsammans med y = (, 5, ) T, samtliga KKT-villkor, varvid x är en global optimallösning till problemet
Uppgift 5(d) Antag nu att x = (,, ) T Då är x + x =, x + x 3 =, x + x 3 = Villkoren KKT kan nu skrivas y + y = 5 c, y + y 3 =, y + y 3 = Lösningen till detta ekvationssystem i y blir, med utnyttjande av den givna räknehjälpen, y 5 c y = = 5 c = c + 4 c y 3 c + 6 Vi ser att villkoren KKT 3 blir uppfyllda om och endast om 6 c För dessa värden på konstanten c så uppfyller x = (,, ) T, tillsammans med ( c y =, c, 6 + c ) T, samtliga KKT-villkor, varvid x är en global optimallösning 4 4 4