Föreläsning 2: Simplexmetoden. Repetition av geometriska simplexmetoden. 2. Linjärprogrammeringsproblem på standardform. 3. Simplexalgoritmen. 4. Hur bestämmer man tillåtna startbaslösningar? Föreläsning 2 Simplexmetoden - Ulf Jönsson & Per Enqvist
Repetition av den geometriska Simplexmetoden Produktplaneringsproblemet maximera 200x + 400x 2 då 40 x + x 2 x + x 2 x k 0, k =, 2 x 2 40 c 30 20 0 x 2 = 0.5x + 25 0 20 30 40 x Föreläsning 2 2 Simplexmetoden - Ulf Jönsson & Per Enqvist
Idén bakom Simplexmetoden är att söka iterativt utefter kanter till hörn med allt bättre målfunktionsvärde. Bestäm initial hörnpunkt Är hörnpunkten optimal? Ja KLART Nej Finn bättre intilliggande hörnpunkt Föreläsning 2 3 Simplexmetoden - Ulf Jönsson & Per Enqvist
Sökning med den geometriska simplexmetoden c x2 x2 c x2 40 30 20 0 d d 2 c 40 30 20 0 d 2 40 30 d d 20 0 d 2 0 20 30 40 x 0 20 30 40 x 0 20 30 40 x c T d < 0 c T d < 0 c T d 2 > 0 c T d 2 > 0 välj riktning d 2 välj riktning d 2 c T d < 0 c T d 2 < 0 optimal HP Föreläsning 2 4 Simplexmetoden - Ulf Jönsson & Per Enqvist
Standardformen för produktplaneringsexemplet. maximera 200x + 400x 2 då 40 x + x 2 x + x 2 x k 0, k =, 2 = minimera 200x 400x 2 då 40 x + x 2 + x 3 = x + x 2 + x 4 = x k 0, k =, 2, 3, 4. Hur är hörnpunkter representerade i standardformen? Föreläsning 2 5 Simplexmetoden - Ulf Jönsson & Per Enqvist
Geometrisk tolkning för LP på standardform: 2D x 2 x 2 α α x β x Bivillkor: a x + a 2 x 2 = b. F är ett halv-oändligt (blått) eller ändligt linjesegment (rött) Det optimala ˆx = (0,α), (β, 0), eller så har problemet ingen ändlig lösning. Föreläsning 2 6 Simplexmetoden - Ulf Jönsson & Per Enqvist
Geometrisk tolkning för LP på standardform: 3D γ x 3 x α β x 2 Bivillkor: a x + a 2 x 2 + a 3 x 3 = b. F är skärningen av ett plan och den första kvadranten. (grönt) Det finns tre hörnpunkter x () = (α, 0, 0), x (2) = (0,β, 0), x (3) = (0, 0,γ), Föreläsning 2 7 Simplexmetoden - Ulf Jönsson & Per Enqvist
Geometrisk tolkning för LP på standardform: 3D x 3 γ β x α α2 x 2 Bivillkor: a x + a 2 x 2 + a 3 x 3 = b. a 2 x + a 22 x 2 + a 23 x 3 = b 2. F är skärningen av en linje och den första kvadranten (grön) Det finns två hörnpunkter x () = (α,β, 0), x (2) = (α 2, 0,γ), Notera: # nollskilda element i x (k) = # bivillkor, i dessa exempel. Föreläsning 2 8 Simplexmetoden - Ulf Jönsson & Per Enqvist
Produktionsplaneringsexemplet Bivillkoret i standardform är Ax = b där A = [a a 2 a 3 a 4 = 0 40 b = 0 Detta kan skrivas som 4 a k x k = a x + a 2 x 2 + a 3 x 3 + a 4 x 4 = b k=0 Om vi sätter t.ex. x 2 = x 3 = 0 så har vi att a x + a 4 x 4 = A β x β = b, där A β = [a a 4 = 0 40, x β = x x 4 Föreläsning 2 9 Simplexmetoden - Ulf Jönsson & Per Enqvist
Vi beräknar därefter x β = x x 4 = A β b = 40 5 Dessa värden på x och x 4, tillsammans med x 2 = x 3 = 0, ger en tillåten lösning, d.v.s., Ax = b, där (x,x 2 ) = (40, 0). Detta är en hörnpunkt. Övriga lösningar motsvarande kombinationer av två kolumner i A finns representerade i tabellen på nästa sida. Föreläsning 2 0 Simplexmetoden - Ulf Jönsson & Per Enqvist
Geometrisk illustration av baslösningarna 40 30 20 0 x 2 (2,4) (2,3) (3,4) 0 (,2) (,4) (,3) 20 30 40 x β A 2 β 3 x 2 β 3 (x, x 2 ) 2 3 (3,4) 4 0 5 4 5 4 0 5 0 0 2 3 2 3 2 3 (2,4) 4 0 5 4 5 4 0 5 2 3 2 53 2 3 (,4) 4 0 40 5 4 40 5 4 40 5 0 2 3 2 5 3 2 3 (2,3) (,3) (,2) 4 0 2 4 40 0 2 4 40 5 3 5 3 5 4 5 2 6 3 4 5 4 2 3 4 20 5 30 4 0 5 2 3 4 5 0 2 3 4 20 5 30 Det gäller allmänt att hörnpunkter svarar mot så kallade baslösningar. Föreläsning 2 Simplexmetoden - Ulf Jönsson & Per Enqvist
LP-problem på standardform minimera då n c j x j j= n a ij x j = b i, i =,...,m j= x j 0, j =,...,n = minimera c T x då Ax = b x 0 där A = a.... a n. [ = a... a n,b = b.,c = c.,x = x. a m... a mn b m c n x n Föreläsning 2 2 Simplexmetoden - Ulf Jönsson & Per Enqvist
Simplexalgoritmen För given basindexvektor och icke-basindexvektor β = (β,...,β m ) ν = (ν,...,ν l ), l = n m definierar vi A β = [a β... a βm, A ν = [a ν... a νl, c β = c β., x β = x β. c ν = c ν., x β = x ν. c βm x βm c νl x νl Föreläsning 2 3 Simplexmetoden - Ulf Jönsson & Per Enqvist
Definition. Baslösningen svarande mot β ges av A β x β = b x β = A β x β baslösningen är tillåten (TBL) om x β 0 En tillåten baslösning kallas icke-degenererad om x β > 0 En tillåten baslösning kallas degenererad om x βk = 0 för något index β k. Föreläsning 2 4 Simplexmetoden - Ulf Jönsson & Per Enqvist
Produktplaneringsexemplet 40 30 20 0 x 2 (2,4) (2,3) (3,4) 0 (,2) (,4) (,3) 20 30 40 x β A β x β ν x 2 3 2 3 ν (3,4) 4 0 5 4 5 (, 2) 0 0 2 3 2 3 (2,4) 4 0 5 4 5 (, 3) 0 (,4) (2,3) (,3) (,2) 2 2 3 4 0 40 5 2 3 4 5 0 2 3 4 40 5 4 40 0 3 5 5 2 3 4 40 5 (2, 3) 0 5 2 3 4 5 (, 4) 0 6 2 3 4 5 (2, 4) 0 4 2 3 4 20 5 (3, 4) 0 30 Villka baslösningar är tillåtna? Jämför med den geometriska tolkningen. Föreläsning 2 5 Simplexmetoden - Ulf Jönsson & Per Enqvist
Sats. Om det finns en optimal lösning så finns det en optimal tillåten baslösning. Satsen motiverar följande simplexalgoritm Bestäm initial TBL TBL optimal? Ja KLART Nej Byt bas De olika blocken kan implementeras med linjär algebraoperationer. Föreläsning 2 6 Simplexmetoden - Ulf Jönsson & Per Enqvist
Initial TBL β = β,..., β m ) ν = (ν,..., ν l ) Beräkna (y,r ν, b) A T β y = c β r ν = c ν A T ν y A β b = b r ν 0 Nej Ja Optimal lösning x = b, x ν = 0 z = y T b Tag ν q så att r ν q < 0 Lös A β ā k = a k ; k = ν q ā k 0 Obegränsat problem Lösning saknas ( ) b t max i = min ā ik > 0 ā ik ν = ν q, ν q = β p, β p = ν = b p ā pk Föreläsning 2 7 Simplexmetoden - Ulf Jönsson & Per Enqvist
Simplex för produktionsplaneringsexemplet Standardformen för produktplaneringsexemplet. minimera c T x då Ax = b x 0 där A = c T = 40 [ 200 400 0 0, 0 0 b = Vi vill lösa detta med simplex. När man har infört slackvariabler kan man visa att om man väljer dessa som startbasvariabler så bildar det en TBL. (Givet att b 0) Föreläsning 2 8 Simplexmetoden - Ulf Jönsson & Per Enqvist
Låt β = {3, 4} och ν = {, 2}, Simplex A β = 0 /40 /, A ν = 0 / / [ [ c T β = 0 0, c T ν = 200 400 Då blir baslösningen x β = b = A β b = [ tillåten. Simplexmultiplikatorerna ges av ekvationen A T β y = c β och reducerade kostnader ges av r T ν = c T ν y T A ν, d.v.s. y = 0 [ T [ [, och r T 0 /40 / ν = [ 200 400 = 0 / / 200 400 0. Föreläsning 2 9 Simplexmetoden - Ulf Jönsson & Per Enqvist
Simplex Eftersom de reducerade kostnaderna är negativa så är den aktuella TBL inte optimal. r ν2 är minst, så låt x ν2 = x 2 bli ny basvariabel. Vilken variabel ska ut ur basen? [ b bestäms från A β b = b, d.v.s. b = A β b = ā 2 bestäms från A β ā 2 = a 2, d.v.s. ā 2 = A β a 2 = Nu ska x 2 väljas så stor som möjligt då x β är icke-negativ: [ / / x β = b ā 2 x 2 = / / x 2 0 Det största möjliga värdet på x 2 är, varvid x β2 = x 4 = 0. Alltså ska x 4 ersattas av x 2 i nästa baslösning. Föreläsning 2 20 Simplexmetoden - Ulf Jönsson & Per Enqvist
Simplex: Iteration 2 Låt β = {3, 2} och ν = {, 4}, A β = /, A ν = /40 0 0 / / [ [ c T β = 0 400, c T ν = 200 0 [ Då blir baslösningen x β = b = A β b = tillåten. 5/6 0 [ [ = /6 Simplexmultiplikatorerna ges av ekvationen A T β y = c β y = A T β c β = 5/6 0 T 0 400 = 0 20000. Föreläsning 2 2 Simplexmetoden - Ulf Jönsson & Per Enqvist
Simplex: Iteration 2 Reducerade kostnader ges av r T ν = c T ν y T A ν, d.v.s. T [ 0 r T ν = 200 0 /40 0 = 20000 / [ 200 20000. Eftersom de reducerade kostnaderna är positiva så är den aktuella TBL optimal. 40 30 20 0 x 2 (2,4) (2,3) (3,4) 0 (,2) (,4) (,3) 20 30 40 x Vi startade i origo med basvariabler (3,4) och bytte sedan till basvariablerna (3,2), dvs punkten (0,), vilken vi geometriskt motiverade är optimal. Föreläsning 2 22 Simplexmetoden - Ulf Jönsson & Per Enqvist
Initial tillåten baslösning Ibland kan det vara icke-trivialt att hitta en initial TBL. Då kan man lösa problemet i två faser. Här antar vi att b 0. Fas Lös LP-problemet minimera e T v då Ax + Iv = b x 0, v 0 [ T. där I är enhetsmatrisen och e =... Låt initial TBL svara mot variablerna i v. Om optimallösningen är ˆv = 0 så har man hittat en initial TBL till fas 2. Fas 2 Lös ursprungliga problemet på standardform med basvariabler från Fas. Föreläsning 2 23 Simplexmetoden - Ulf Jönsson & Per Enqvist
Läsanvisningar I Optimeringskompendiet kap. 4 och 5. Gamla Materialet: Linjär Optimering, Gröna häftet, sidan 3-22. Linjar Algebra för optimerare, Gula häfte, sidan 9-23. Föreläsning 2 24 Simplexmetoden - Ulf Jönsson & Per Enqvist