Chapter 6: Følsomhedsanalyse og dualitet i LP ) Følsomhedsanalyse -> kriteriekoeffricienter -> RHSs ) Dualitet -> økonomisk fortolkning af dualvariable -> anvendelse af dual løsning til identifikation af primal løsning -> dualisering af LP
Initialt og optimalt tableau for standard eksempel: ã x x s s s3 Basis cb 0 40 0 0 0 s 0 3 0 0 0 s 0 0 0 0 0 s3 0 0 0 300 z 4 0 0 0 0 0 0 c z 0 40 0 0 0 x x s s s3 Basis c 0 40 0 0 0 B x 40 0 0 3 3 4 6 4 6 s 0 0 0 x 0 0 0 30 z 0 40 0 90 4 c z 0 0 0 Tableauet er optimalt så længe ethvert element i - z rækken er ikke-positivt. Men disse elementer er beregnet som 3 c! c ā 4 B 3 34 3œ hvor a - 34 er elementet i den 3'te basisrække i søjlen hørende til den 4'te variabel.
Følsomhedsanalyse for c kan derfor udføres ved at bestemme det range for c, der sikrer at ethvert element i - z rækken forbliver ikke-positivt: x x s s s3 Basis c c 40 0 0 0 B 3 3 64 c z c 40 c 0 4 4 40 30c c 6 c c4 z 4 0 0 0 x 40 0 0 s 0 0 0 x c 0 0 30 Dette tableau er optimalt for eller c 6 c Ÿ 0 og Ÿ 0 4 Ÿ c Ÿ 64 Bemærk: - 4 z 4 for alle ikke-basis variable påvirkes -> en ulighed etableres for hver ikke-basis variabel Tilsvarende procedure for kriteriekoefficienter til alle andre basis variable, d.v.s. x og s.
Følsomhedsanalyse for kriteriekoefficient til ikke-basis variabel endnu lettere, fordi pågældende koefficient kun indgår i søjlen for den modsvarende ikke-basis variabel. Betragt f.eks. s : x x s s s3 Basis c 0 40 c 0 0 B x 40 0 0 s 0 0 0 x 0 0 s 3 3 4 6 4 6 0 30 z 0 40 0 90 4 c z 0 0 c 0 s Aktuel basis optimal så længe 4 cs Ÿ 0 Bemærk: Kun - 4 z 4 for pågældende ikke-basis variabel selv påvirkes -> Indgangen i - 4 z 4 rækken for en ikkebasis variabel angiver den maximale tilvækst i pågældende variabels kriteriekoefficient, der opretholder optimalitet for aktuel optimal basisløsning. En reduktion i kriteriekoefficienten for en p.t. ikke basis variabel kan aldrig gøre det fordelagtigt at introducere denne i basis. Nedre endepunkt for range er derfor _Þ
Ændring i RHSs: Hvor meget kan den første RHS, d.v.s. b œ 0, ændres, så den optimale basis forbliver optimal? x x s s s3 Basis c 0 40 0 0 0 B x 40 0 0 3 3 4 6 4 6 s 0 0 0 x 0 0 0 30 z 0 40 0 90 4 c z 0 0 0 Tallene i det optimale simplextableau i s-søjlen fortæller, at en tilvækst i s på en enhed vil reducere x med, øge s med, og øge x med. Men en tilvækst i s på en enhed svarer til at reducere b med en enhed fra 0 til 49. En tilvækst i b med en enhed har præcis den modsatte effekt. Den indebærer derfor en tilvækst i x med, en reduktion i s med, og en reduktion i x med. Den aktuelle basis forbliver derfor optimal, så længe ændringen i b ikke indebærer, at en aktuel basis variabel bliver negativ. Vi kan derfor beregne det tilladte range for b ved følgende system af uligheder:
Îx Ñ ÎÑ Î Ñ Î0Ñ s Ð Ó œ? b 0 Ïx Ò Ï30Ò Ï Ò Ï0Ò Ì?b 37.?b Ÿ?b Ÿ 0 Ì 37. Ÿ b Ÿ? hvilket indebærer 0 37. Ÿ b Ÿ 0 Undersøg hvad der sker, hvis b øges med netop : Îx Ñ ÎÑ Î Ñ Î0 Ñ -> s Ð Ó œ œ 0 Ïx Ò Ï30Ò Ï Ò Ï Ò hvilket indebærer en ny objektivfunktionsværdi på 0 40 0 0 0 œ 00 og en degenereret basisløsning, idet en basis variabel antager værdi 0. Tilsvarende for b og b. 3
Generelt: Îā3 Ñ ā3 Lad Ð Óbetegne søjlen for den 3'te slack variabel i ã Ïā Ò m3 Îb - b - Ñ et optimalt tableau og lad Ð Óbetegne de optimale Ïb - ã m Ò RHSs, d.v.s. værdierne af basis variablene i det optimale simplextableau. Så er range for ændringen i den 3'te RHS b, 3 som indebærer at aktuel optimal basis forbliver optimal, givet ved sættet af uligheder Îb - b - Ð Ïb - ã m Ñ Îā3 Ñ Î! Ñ ā3 ÓÐ! Ó? b 3 Ð ÓÐ Ó ã ã Ò Ïa- Ò Ï0Ò m3 Hvis den 3 'te ulighed er af typen, så er range for ændringen i b3 tilsvarende givet ved Îb - b - Ñ Îā3 Ñ Î! Ñ ā3 ÓÐ! Ð Ó? b Ð ÓÐ Ó Ïb - ã 3 ã ã Ò Ïa- Ò Ï0Ò m m3 Range for lighedsbetingelser kan også bestemmes, men det problem diskuteres ikke i lærebogen!
Dualpriser: Udgangspunkt: Dualpriserne indikerer forbedringen i den optimale kriteriefunktionsværdi ved en tilvækst på en enhed i korresponderende RHS. Dualpriserne aflæses i z rækken under 4 slack variablene. x x s s s3 Basis c 0 40 0 0 0 B x 40 0 0 3 3 4 6 s 0 0 0 x 0 0 0 30 z4 0 40 0 90 c z 0 0 4 0 6 En tilvækst i b på en enhed indebærer en tilvækst i objektivfunktionsværdien z på 4 enheder, en tilvækst i b på en enhed indebærer en tilvækst i z på 0 enheder, og en tilvækst i b 3 på en enhed indebærer en tilvækst i objektivfunktionsværdien på enheder. Men disse fortolkninger er kun valide, så længe aktuel basis forbliver optimal. Vi så ovenfor, at der vil ske et basisskift, hvis b vokser med mere end enheder. En tilvækst på netop enheder vil indebære en tilvækst på 4 œ 70 svarende til resultatet ovenfor. Men en effekten af en tilvækst på en yderligere enhed kendes 6
ikke.
s er aktuel basis variabel. Og dualprisen for begrænsning er følgelig 0, fordi vi allerede har ledig kapacitet af den ressource. s er aktuel ikke-basis variabel, d.v.s. lig med 0. c4 z4 værdien for den variabel er 4. Det betyder jvf. ovenfor, at s skal have en kriteriekoefficient på mindst 4 for at skulle indgå i en optimal basis. En enheds ledig kapacitet er altså $. værd. Marginalværdien af den første ressource er derfor $.. Fortegnet for dualpriserne i et maximeringsproblem afhænger af begrænsningstypen: Ÿ b3 Ê tilvækst i b 3 udvider mulighedsområdet Ê z Å b3 Ê tilvækst i b 3 reducerer mulighedsområdet Ê z Æ œ b Ê tilvækst i b ændrer mulighedsområdet Ê z Å Æ 3 3 Derfor fås dualpris for uligheder af typen Ÿ er ikke-negativ dualpris for uligheder af typen er ikke-positiv dualpris for ligheder er fri m.h.t. fortegn dualpris for uligheder af typen Ÿ -> z 4 i associeret slack søjle dualpris for uligheder af typen -> z 4 i associeret surplus søjle dualpris for ligheder -> z 4 i associeret kunst søjle
Dualitet i LP: max 0x 40x (P) s.t. 3x x Ÿ 0 x Ÿ 0 x x Ÿ 300 x, x 0 Dette LP betegnet (P) er et maximeringsproblem i såkaldt kanonisk form. Dets duale betegnet (D) min 0u 0u 300u 3 (D) s.t. 3u u3 0 u u u3 40 u, u, u 0 3 Dette LP er et minimeringsproblem i såkaldt kanonisk form. er
En økonomisk fortolkning af det duale problem: Hvis det primale problem er et produktionsplanlægningsproblem, så er det duale et prisfastsættelsesproblem. Vi leder efter priser, der bestemmer den mindste værdi af den aktuelle beholdning af ressourcer, se den duale objektivfunktion. Produktion af en enhed af. produkt (x ) kræver 3 enheder af den første ressource, ingen af den anden og af den tredie. Det betyder, at hvis vi har 3 enheder af ressource # og enheder af #3, så kan vi producere enhed af produkt. Profitbidraget herved er 0 (kriteriekoefficienten til x ). Når vi skal bestemme priser for vore ressourcer, insisterer vi derfor på, at værdien af 3 enheder af ressource # og enheder af #3 mindst skal være 0, for det kan vi selv få ud af dem. Dette er den første duale bibetingelse. Produktion af en enhed af. produkt (x ) kræver enheder af den første ressource, enhed af den anden og af den tredie. Det betyder, at hvis vi har enheder af ressource #, enhed af # og enheder af #3, så kan vi producere enhed af produkt. Profitbidraget herved er 40 (kriteriekoefficienten til x). Når vi skal bestemme priser for vore ressourcer, insisterer vi derfor også på, at værdien af enheder af ressource #, enhed af # og enheder af #3 mindst skal være 40, for det kan vi selv få ud af dem. Dette er den anden duale bibetingelse. Endelig insisterer vi på, at priserne skal være ikkenegative, fordi ressourcerne har karakter af goder, som kan bortskaffes uden omkostninger.
Observationer: ) Til enhver variabel i (P) svarer en begrænsning i (D). (P) ) Til enhver begrænsning i svarer en variabel (D) i. 3) RHSs i (P) er kriteriekoefficienter i (D). 4) Kriteriekoefficienter i (P) er RHSs i (D). ) Begrænsningskoefficienter for 'te variabel i er begrænsningskoefficienter i 4'te begrænsning i (D). 4 (P)
Lad os løse det duale problem: u u u 3 s s a a Basis c B 0 0 300 0 0 M M a M 3 0 0 0 0 a M 0 0 40 z 4 M M 3M M M M M 90M c4 z 4 0 M 0 M 300 M M M 0 0 u u u 3 s s a# Basis c 0 0 300 0 0 M B u 300 0! 0 3 3 " ) & ) *!! #& 300 & #"!! ) #& ) 300 & ) a M 0 z4 ) ) M M 300 ) M M M ) c z M 0 M 0 M M 0 "&!!! u u u 3 s s Basis c 0 0 300 0 0 B u 300 0 3 3 3 6 4 u 0 " 0 z4 0 300 30 90 c z 0 0 30 4 6 Tableauet er optimalt med (u, u, u 3) œ (, 0, ) og z œ 90. Men da vi har maximeret den negative kriterieværdi, er sand z lig med 90. Begge surplusvariable antager i optimum værdien 0, d.v.s. begge duale begrænsninger bindende.
Lad os sammenholde optimaltableauerne for (D): (P) og x x s s s3 Basis c 0 40 0 0 0 x 40 0 0 s 0 0 0 x 0 0 0 30 z 4 B 3 3 4 6 4 6 0 40 0 90 c z 0 0 0 u u u 3 s s Basis c 0 0 300 0 0 B u 300 0 3 3 3 6 4 u 0 " 0 z4 0 300 30 90 c z 0 0 30
Observationer: (P) (D) ) Den optimale objektværdi i er identisk med den optimale objektværdi i fortegn). (bortset fra skiftet i ) De optimale værdier af de duale variable u kan aflæses i z rækken under slack variable i. 4 (P) 3) De optimale værdier af de duale surplus variable kan aflæses i c z rækken under x-variablene i. 4) De optimale værdier af de primale variable kan (P) aflæses i z rækken under surplus variable i. 4 (D) ) De optimale værdier af de primale slack variable kan aflæses i c4 z 4 rækken under u-variablene i (bortset fra skiftet i fortegn). (D)
6) Indgangen i c4 z 4 for en basis variabel er 0. Hvis en slack/surplus variabel er i basis, er dualprisen for den korresponderende begrænsning derfor 0. Ikkebindende begrænsninger tilordnes derfor dualprisen 0. Det følger af 3) og ), at hvis en x/u variabel er i basis, er surplus/slack variablen i den modsvarende duale begrænsning lig 0. En primal/dual basisvariabel korresponderer derfor til en bindende dual/primal begrænsning. Disse relationer sammenfattes ofte i den såkaldte komplementaritetssætning: Lad u3 ß3œ,..., 7, betegne de optimale duale priser for et LP, og lad s 3, 3œ,..., 7, betegne de optimale slack/surplus variable. Så gælder 7! s u œ 0 3œ" 3 3 Disse observationer indikerer en meget snæver relation mellem et LP og det korresponderende duale: Hvis et primalt problem har en endelig optimalløsning, så har dets duale også en endelig optimalløsning. De to problemer har samme optimale objektivfunktionsværdi, og den optimale løsning for det ene kan aflæses i det optimale tableau for det andet og vice versa. Hvis et LP dualiseres, så er det duale for det dualiserede problem identisk med det oprindelige problem.
Lad os illustrere det sidste resultat med udgangspunkt i ovenstående eksempel: max 0x 40x (P) s.t. 3x x Ÿ 0 -> u x Ÿ 0 ->u x x Ÿ 300 ->u 3 x, x 0 Dualisering af (P): min 0u 0u 300u 3 (D) s.t. 3u u3 0 u u u3 40 u, u, u 0 3
Omskriv (D) til maximeringsproblem i kanonisk form: max 0u 0u 300u (D) 3 s.t. 3u u3 Ÿ 0 ->x Dualisering af (D'): u u u3 Ÿ 40 ->x u, u, u 0 3 min 0x 40x (P ) s.t. 3x x 0 x 0 x x 300 x, x 0 Omskriv endelig (P w) til maximeringsproblem i kanonisk form: max 0x 40x (P) s.t. 3x x Ÿ 0 x Ÿ 0 x x Ÿ 300 x, x 0 w w
Hermed er samtidig illustreret ideen bag dualisering af et vilkårligt LP-problem: Et vilkårligt LP kan dualiseres på standard måde efter konvertering til maximeringsproblem i kanonisk form. Evt. lighedsbetingelser kan opsplittes i to uligheder:! + B œ, 4œ" 3 3 -> Ú Ý Û Ý Ü! + B Ÿ, 3 3 4œ"! + B Ÿ, 4œ" 3 3 Bemærk: Opsplitningen i uligheder indebærer introduktion af duale variable. Men de variable vil i det duale problem i enhver begrænsning have identiske koefficienter, men med modsat fortegn. Dette svarer jvf. diskussionen af frie variable i Chap. til introduktion af en enkelt variabel, der ikke er restringeret m.h.t. fortegn.