Operationsanalyse Obligatorisk opgave Anders Bongo Bjerg Pedersen. juni Opgave (i) Vi tilføjer først slack-variable til (P ): Minimize Z = x + x + x subject to x + x + x x 4 = x x + x x 5 = x + x x x = x i, i =,...,. Og opskriver så det duale problem (D): Maximize W = y y + y subject to y + y + y y y + y y + y y y y y Vi ser umiddelbart, at en dual feasible basis kunne være B = {4, 5, } (slackvariablene fra (P )). I denne er vores dual basic solution y B = (,, ), og vores basic solution til (P ) bliver så x B = (,,,,, ), som er infeasible! Vi skulle så gerne bevæge os hen mod en feasible solution i stedet, når vi optimerer. (ii) Da y B = (,, ), er s B = (,,,,, ), dvs. B er dual feasible iflg. Definition, Lecture. For at løse (P ) med dual simplex opskriver vi vores simplextableau som i noterne, idet vi anvender koefficienterne fra (P ) og ganger
alle koefficienter med - (hvilket medfører, at vi får nogle negative RHS og enhedsvektorer under vores basisvektorer fra (D)): B Z x x x x 4 x 5 x RHS R Z R x 4 R x 5 R4 x Vi identificerer nu største negative RHS, som bliver den variabel, det bedst kan betale sig at tage ud af basis og ser, at dette er x 4 med -. Vi skal så finde mindste δ som følgende: δ = min }, sb, sb ā, ā, { sb ā, { = min,, } =, dvs. vi pivoterer x 4 ud af basen og x ind i stedet for og får så vores nye basis B = {, 5, } med y B = (,, ), x B = (,,,,, ). Vores nye simplextableau fremkommer så ved følgende rækkeoperationer, der udføres for at skaffe og en enhedsvektor under x : R, R R, R R, R R4 : B Z x x x x 4 x 5 x RHS R Z R x R x 5 4 R4 x 5 Vi identificerer nu største negative RHS, som bliver den variabel, det bedst kan betale sig at tage ud af basis og ser, at dette er x 5 med -. Vi skal så finde mindste δ som følgende: δ = min { sb ā, ā,, sb } { = min 4, } = 5, dvs. vi pivoterer x 5 ud af basen og x ind i stedet for og får så vores nye basis B = {,, } med = (5, 5, ), x B = (, /, /,,, /). Vores nye simplextableau fremkommer så ved følgende rækkeoperationer, der udføres for at skaffe og en enhedsvektor under x : / R, R R, R R, R R4 : B Z x x x x 4 x 5 x RHS R Z 5 5 5 R x / / / R x / / / R4 x / / / Vi ser nu, at da vi ingen negative RHS har tilbage, er vores basis B = {,, } optimal med x B = (, /, /,,, /), = (5, 5, ) og W (x B ) = Z(x B ) = 5. Dette gælder både for (P ) og (D), da løsningen er feasible for både (P ) og (D) (jævnfør svag dualitet). (???)
(iii) Sensitivitetsanalyse - Ændringer i right hand sides: Vi anvender metoden fra noterne (Lecture 7, Example ) og opstiller nogle nødvendige størrelser (mht. (P )): A B = A B = / / / / / /, b = Vi ser nu på ændringer på RHS en af gangen fra toppen ved at tilføje et δ (en vilkårlig ændring) til værdien i RHS og skal løse j B a j x j = b, hvor b er de ændrede RHS, for at finde vores nye basic solution, som vi derefter skal tjekke, om stadig er feasible: δ x δ x δ x : Vi regner: A B x x x x B x B x B = b + = δ x / / / x B x B x B + δ x / / / = A = B b + δ x A B / + δ x / / + δ x / / + δ x /., dvs. når δ x (δ x [ ; [), er vores basis B stadig optimal. : Samme fremgangsmåde (derfor viser vi blot resultatet): x B x B x B = A B b + δ x A B = / δ x / / + δ x / / δ x / dvs. når δ x, er vores basis B stadig optimal. : Igen samme fremgangsmåde: x B x B x B = A B b + δ x A B = / + / + / δ x,, dvs. når δ x / (δ x ] ; /]), er vores basis B stadig optimal. - Ændringer i objektfunktionens koefficienter: Vi skynder os her at bemærke, at objektfunktionens værdier i (P ) svarer til RHS i (D), derfor kan vi uden videre anvende ovenstående på (D) s RHS med følgende størrelser (hentet fra (D)): Ã B = Ã B = / / / / / /, c =.
δ y : Vi regner: δ y à B y y y = = c + / 7/ / δ y + δ y / / / = à = dvs. når 55 δ y, er vores basis B stadig optimal. : Samme fremgangsmåde (derfor viser vi blot resultatet): B c + δ y à B / + δ y / 7/ + δ y /, / δ y / = à B c + δ y à B = / δ y / 7/ + δ y / / + δ y /, δ y dvs. når δ y, er vores basis B stadig optimal. : Igen samme fremgangsmåde: = à B c + δ y à B = / + 7/ + / + δ y, dvs. når δ y / (δ y [ /; [), er vores basis B stadig optimal. - Ændringer i ikke-basiskoefficienter: Vi følger igen et eksempel fra noterne (Lecture 7, Example ), dog vil vi se generelt på ændringer i ikke-basisvariable én for én i stedet for en konkret ændring. Vi vil anvende følgende notation: j (ændring af objektfunktionskoefficient c j for variabel j), δ i,j (ændring af variabel j, koefficient i i søjlen a j). Altså skal vi jævnfør eksemplet opstille udtrykkene a j + δ,j δ,j δ,j c i + j, j N = {, 4, 5}. Ud fra disse udtryk kan man så ændre en eller flere δ/ -variable (og sætte de andre til ) og se, om udtrykket på venstresiden er mindre end eller lig højresiden. I bekræftende fald forbliver x B optimal, i afkræftende fald kan det betale sig at skifte basis, hvorved løsningen kan optimeres. x : + δ, + δ, + δ, (5, 5, ) + 5δ, + 5δ,. x 4 : + δ,4 + δ,4 + δ,4 (5, 5, ) + 4 5δ, + 5δ, 4 5. 4
x 5 : + δ,5 + δ,5 + δ,5 (5, 5, ) + 5 5δ, + 5δ, 5 5. Opgave (a) Vi formulerer transportproblemet (P ): Minimize (, 7, 45, 55,,...,, 47)(x,, x,,..., x,5 ) T = Z subject to x, x, x, =. x,5 med x i,j, i {,, }, j {,..., 5}. Og dets duale (D): 5 5 9, Maximize (5,, 5,,, 9,, )(u, u, u, v, v, v, v 4, v 5 ) T = W subject to 7 u 45 u 55 u =,. v 5. 47 med u i, v j, i {,, }, j {,..., 5}. (b) For at identificere en dual basic solution, anvender vi North-West -reglen: 5
B 4 5 Supply: 4 5 9 7 5 Demand: 9 Z = 7 Ud fra dette tableau får vi vores initiale basis og basic feasible solution: B = {(, ), (, ), (, ), (, ), (, 4), (, 4), (, 5)} x B = (, 4,,,,,, 9,,,,,, 7, ). (c) Nedenstående er en tegning af vores initiale basic solution (dens spanning tree): s s 4 9 7 d d Figur : Spanning tree hørende til initial basis B (d)-(h) For at finde den tilhørende dual basic solution, sætter vi de korresponderende uligheder i det duale problem til ligheder, og eftersom det er et transportproblem, vi har med at gøre, kan vi sætte én af variablene til og så løse mht. de andre. I vores tilfælde vælger vi u =. Dette giver følgende ligninger: u + v = u + v = 7 u + v = 7 u + v = u + v 4 = 49 u + v 4 = u + v 5 = 47 u B = (,, ) og v B = (7, 7,, 49, 5). Vores reduced costs er givet ved ri,j B nedenfor: = c i,j u B i v B j B 4 5 u i 9 7-4 9 v j 7 7 49 5 og kan ses i tabellen
Vi ser nu, at variablen x, har største negative reduced cost (-4), altså tages denne ind i basis. For at finde ud af, hvilken vi skal have ud, tegner vi den cykel, der nu er opstået (se Figur ): s δ δ d d s 4 9 d d s + δ 7 δ s 7 Figur : Pivoteringscykel til B Figur : Spanning tree til B Vi ser nu, at for at få størst mulige δ, vælger vi δ = 7 og sender variablen x,4 ud af basis. Med de rette opdateringer får vi vores nye basis B og basic solution x B : B = {(, ), (, ), (, ), (, ), (, 4), (, ), (, 5)} x B = (, 4,,,,,, 9,,,, 7,,, ), som er illustreret i Figur, hvilket giver følgende tableau: B 4 5 Supply: 4 5 9 7 5 Demand: 9 Z = 95 For at finde den tilhørende dual basic solution, sætter vi igen de korresponderende uligheder i det duale problem til ligheder, sætter én af variablene til og løser mht. de andre. Vi vælger igen u = : u + v = u + v = 7 u + v = 7 u + v = u + v 4 = 49 u + v = u + v 5 = 47 u B = (,, ) og v B = (7, 7,, 49, 59). Vores reduced costs er givet ved ri,j B nedenfor: = c i,j u B i v B j og kan ses i tabellen B 4 5 u i -9 4 5 4 v j 7 7 49 59 7
Vi ser nu, at variablen x, har største negative reduced cost (-9), altså tages denne ind i basis. For at finde ud af, hvilken vi skal have ud, tegner vi den cykel, der nu er opstået (se Figur 4): s 4 δ + δ δ 9 δ d d s 5 4 5 d d s s 7 Figur 4: Pivoteringscykel til B Figur 5: Spanning tree til B Vi ser nu, at for at få størst mulige δ, vælger vi δ = 4 og sender variablen x, ud af basis. Med de rette opdateringer får vi vores nye basis B og basic solution x B : B = {(, ), (, ), (, ), (, ), (, 4), (, ), (, 5)} x B = (,, 4,,,, 5, 5,,,, 7,,, ), som er illustreret i Figur 5, hvilket giver følgende tableau: B 4 5 Supply: 4 5 5 5 7 5 Demand: 9 Z = 9 For at finde den tilhørende dual basic solution, sætter vi igen de korresponderende uligheder i det duale problem til ligheder, sætter én af variablene til og løser mht. de andre. Vi vælger igen u = : u + v = u + v = 45 u + v = 7 u + v = u + v 4 = 49 u + v = u + v 5 = 47 u B = ( 5,, ) og v B = (7, 7,, 49, 59). Vores reduced costs er givet ved ri,j B nedenfor: = c i,j u B i v B j og kan ses i tabellen B 4 5 u i 9 5-7 5 5 4 v j 7 7 49 59
Vi ser nu, at variablen x, har største negative reduced cost (-7), altså tages denne ind i basis. For at finde ud af, hvilken vi skal have ud, tegner vi den cykel, der nu er opstået (se Figur ): s δ δ 4 + δ 5 δ d d s 5 5 9 d d s s 7 Figur : Pivoteringscykel til B Figur 7: Spanning tree til B 4 Vi ser nu, at for at få størst mulige δ, vælger vi δ = 5 og sender variablen x, ud af basis. Med de rette opdateringer får vi vores nye basis B 4 og basic solution x B4 : B 4 = {(, ), (, ), (, ), (, ), (, 4), (, ), (, 5)} x B4 = (,, 9,,, 5, 5,,,,, 7,,, ), som er illustreret i Figur 7, hvilket giver følgende tableau: B 4 4 5 Supply: 9 5 5 5 7 5 Demand: 9 Z = 4 For at finde den tilhørende dual basic solution, sætter vi igen de korresponderende uligheder i det duale problem til ligheder, sætter én af variablene til og løser mht. de andre. Vi vælger igen u = : u + v = u + v = 45 u + v = 7 u + v = 9 u + v 4 = 49 u + v = u + v 5 = 47 u B4 = (,, ) og v B4 = (9, 7, 5, 49, 59). Vores reduced costs er givet ved ri,j B4 nedenfor: = c i,j u B4 i v B4 j og kan ses i tabellen B 4 4 5 u i 4 5 7-4 v j 9 7 5 49 59 9
Vi ser nu, at variablen x,5 har største negative reduced cost (-), altså tages denne ind i basis. For at finde ud af, hvilken vi skal have ud, tegner vi den cykel, der nu er opstået (se Figur ): s s 5 δ 7 + δ δ δ d d s s 5 9 5 d d Figur : Pivoteringscykel til B 4 Figur 9: Spanning tree til B 5 Vi ser nu, at for at få størst mulige δ, vælger vi δ = 5 og sender variablen x, ud af basis. Med de rette opdateringer får vi vores nye basis B 5 og basic solution x B5 : B 5 = {(, ), (, ), (, ), (, 4), (, 5), (, ), (, 5)} x B5 = (,, 9,,, 5,,,, 5,,,,, ), som er illustreret i Figur 9, hvilket giver følgende tableau: B 5 4 5 Supply: 9 5 5 5 5 Demand: 9 Z = 9 For at finde den tilhørende dual basic solution, sætter vi igen de korresponderende uligheder i det duale problem til ligheder, sætter én af variablene til og løser mht. de andre. Vi vælger igen u = : u + v = u + v = 45 u + v 5 = 5 u + v = 9 u + v 4 = 49 u + v = u + v 5 = 47 u B5 = (,, 9) og v B5 = (9, 75, 5, 49, 5). Vores reduced costs er givet ved ri,j B5 nedenfor: = c i,j u B5 i v B5 j og kan ses i tabellen B 5 4 5 u i 5 4 7-9 9 v j 9 75 5 49 5
Vi ser nu, at variablen x, har største negative reduced cost (-), altså tages denne ind i basis. For at finde ud af, hvilken vi skal have ud, tegner vi den cykel, der nu er opstået (se Figur ): s s 5 δ δ 5 + δ d d s s 9 d d δ Figur : Pivoteringscykel til B 5 Figur : Spanning tree til B Vi ser nu, at for at få størst mulige δ, vælger vi δ = og sender variablen x,5 ud af basis. Med de rette opdateringer får vi vores nye basis B og basic solution x B : B = {(, ), (, ), (, ), (, 4), (, 5), (, ), (, )} x B = (,, 9,,,,,,,,,,,, ), som er illustreret i Figur, hvilket giver følgende tableau: B 4 5 Supply: 9 5 5 Demand: 9 Z = For at finde den tilhørende dual basic solution, sætter vi igen de korresponderende uligheder i det duale problem til ligheder, sætter én af variablene til og løser mht. de andre. Vi vælger igen u = : u + v = u + v = 45 u + v 5 = 5 u + v = 9 u + v 4 = 49 u + v = u + v = 59 u B = (,, ) og v B = (9, 7, 5, 49, 5). Vores reduced costs er givet ved ri,j B nedenfor: = c i,j u B i v B j og kan ses i tabellen B 4 5 u i 4 4 7 v j 9 7 5 49 5
Vi ser nu, at da vi ingen negative reduced costs har tilbage, er B optimal med optimal løsning x B og Z(x B ) =.