Transcript Document
Managerial Decision Modeling Cliff Ragsdale 6. edition Chapter 4 Sensitivity Analysis and the Simplex Method BØK350 OPERASJONSANALYSE Rasmus Rasmussen 1 Innledning Når vi løser en LP modell antar vi at alle relevante faktorer er kjent med sikkerhet. Slik sikkerhet eksisterer sjelden. Sensitivitetsanalysen hjelper med å besvare hvor følsom den optimale løsningen er for endringer i forskjellige koeffisienter i LP modellen. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 2 Generell form på et Lineært Programmeringsproblem (LP) MAX (eller MIN): c1X1 + c2X2 + … + cnXn Slik at: a11X1 + a12X2 + … + a1nXn <= b1 : ak1X1 + ak2X2 + … + aknXn >= bk : am1X1 + am2X2 + … + amnXn = bm Hvor følsom er løsningen overfor endringer i ci , aij , og bi? BØK350 OPERASJONSANALYSE Rasmus Rasmussen 3 Sensitivitetsanalyse Endre dataene og løs modellen på nytt! Noen ganger er dette den eneste praktiske måten. Solver lager også sensitivitetsrapporter som kan svare på spørsmål om: Hvor mye koeffisientene i målfunksjonen kan endres uten å endre den optimale løsningen. (endre cj) Hvor mye målfunksjonen endres ved endringer i de begrensende ressursene. (endre bi) Hvor mye målfunksjonen endres ved nye endringer i beslutningsvariablene. (endre xj) Hvordan optimal løsning vil påvirkes av endringer i koeffisientene i restriksjonene. (endre aij) BØK350 OPERASJONSANALYSE Rasmus Rasmussen 4 LP Modellen for Blue Ridge Hot Tubs Max 350X1 + 300X2 S.T.: Dekningsbidrag 1X1 + 1X2 <= 200 Pumper 9X1 + 6X2 <= 1566 Arbeid 12X1 16X2 <= 2880 Rør X1 Analyse av koeffisientene i målfunksjonen BØK350 OPERASJONSANALYSE >= 0 X2 >= 0 Analyse av koeffisientene i restriksjonene Rasmus Rasmussen 5 Risk Solver Platform Aktiver Engine Tab i Task Pane Velg Lineær Solver Eller kryss av for Automatically Select Engine BØK350 OPERASJONSANALYSE Rasmus Rasmussen 6 Ribbon Du kan ”styre alt” i Solver fra Risk Solver Platform Ribbon (båndet). Du kan spesifisere problemet: Angi målfunksjonen - Objective Angi beslutningsvariablene – Decisions Angi restriksjonene – Constraints Du kan løse problemet – Optimize Du kan lage rapporter - Reports BØK350 OPERASJONSANALYSE Rasmus Rasmussen 7 Solver på 3 måter 1. Du kan bruke menyene i ”Ribbon” 2. Du kan bruke Task Pane 3. Du kan bruke Add-In Premium Solver BØK350 OPERASJONSANALYSE Rasmus Rasmussen 8 Litt om Task Pane BØK350 OPERASJONSANALYSE Rasmus Rasmussen 9 Løst i regneark BØK350 OPERASJONSANALYSE Rasmus Rasmussen 10 Rapporter Etter å ha kjørt Solver og løst problemet, kan du be om rapporter. Merk: Rapportene er knyttet til det arket der modellen er, og er tilgjengelig helt til ny kjøring av Solver, eller til du avslutter Excel. Rapportene du velger blir skrevet ut på egne ark i Excel-filen. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 11 Answer Report Målfunksjon Beslutningsvariabler Restriksjoner Ny info BØK350 OPERASJONSANALYSE Rasmus Rasmussen 12 Sensitivity Report Formatet i cellene er hentet fra formatet i modellen. Du kan fritt endre format. Målfunksjon Beslutningsvariabler Restriksjoner BØK350 OPERASJONSANALYSE Rasmus Rasmussen 13 Koeffisientene i målfunksjonen X2 Bruk av arbeid: 9X1 + 6X2 = 1566 Endringer i koeffisientene i målfunksjonen endrer helningen på nivåkurven. Opprinnelig nivåkurve DB =350X1 + 300X2 120 Økning c1 eller reduksjon c2. Bruk av pumper: 1·X1 + 1·X2 = 200 78 80 BØK350 OPERASJONSANALYSE 122 200 Sensitivitetsanalysen viser hvor store X1 endringene kan være uten at opprinnelig optimal løsning endres. Rasmus Rasmussen 14 Tillatt endring i målfunksjonen Optimal løsning uendret inntil målfunksjonen blir parallell med de bindende restriksjonene (pumper eller arbeid), ny hjørneløsning. Linjene er parallelle når de har samme stigningsforhold: Max: 350X1 + 300X2 X2 = – (350/300) X1 Pumper: 1X1 + 1X2 200 X2 = 200 – (1/1) X1 Arbeid: 9X1 + 6X2 1566 X2 = 261 – (9/6) X1 12X1 + 16X2 2880 X2 = 180 – (12/16) X1 Rør: = – (c1/c2) X1 Hvor mye må koeffisientene i målfunksjonen endres for at den skal bli parallell med pumpe-restriksjonen? Hvor mye må koeffisientene i målfunksjonen endres for at den skal bli parallell med arbeids-restriksjonen? BØK350 OPERASJONSANALYSE Rasmus Rasmussen 15 Tillatt endring i målfunksjonen = endring verdi slik at: gammel verdi + = ny verdi = ny - gammel Max: 350X1 + 300X2 X2 = – (350/300) X1 Pumper: 1X1 + 1X2 200 X2 = 200 – (1/1) X1 Arbeid: 9X1 + 6X2 1566 X2 = 261 – (9/6) X1 = – (c1/c2) X1 Hvor mye må koeffisientene i målfunksjonen endres for at den skal bli parallell med pumpe-restriksjonen? Har stigningskoeffisient -(1/1) Ny verdi c1: -(c1/300) = -(1/1) -c1=-1300 c1= 300 c1= 300-350 = -50 Ny verdi c2: -(350/c2) = -(1/1) -350=-1c2 c2= 350 c2= 350-300 = +50 Hvor mye må koeffisientene i målfunksjonen endres for at den skal bli parallell med arbeids-restriksjonen? Har stigningskoeffisient -(9/6) Ny verdi c1: -(c1/300) = -(9/6) -c1=-(9/6)300 c1= 450 c1= 450-350 = +100 Ny verdi c2: -(350/c2) = -(9/6) -350=-(9/6)c2 c2= 233 1/3 c2= 233 1/3-300 = -66 2/3 BØK350 OPERASJONSANALYSE Rasmus Rasmussen 16 Tillatt endring i målfunksjonen Endringene må ligge innenfor alle ytterpunktene: Pumper: Arbeid: Rør: c1= -50 c1= +100 c1= -150 -50 c1 100 Pumper: c2= +50 Arbeid: c2= -66 2/3 -66 2/3 c2 50 Rør: c2= +166 2/3 Har tatt med rør for å illustrere poenget. Trenger bare vurdere bindende restriksjoner. BØK350 OPERASJONSANALYSE Optimal løsning uendret så lenge endringene i koeffisientene ligger innenfor disse grensene. Rasmus Rasmussen 17 Endringer i ”Objective Coefficient” Disse koeffisientene kan endres: innenfor disse grensene, uten at disse verdiene endres. BØK350 OPERASJONSANALYSE Men målfunksjonen og skyggeprisene endres! Rasmus Rasmussen 18 Endringer i koeffisientene i målfunksjonen I tabellen for beslutningsvariablene (”Decision Variable Cells ”) angir verdiene i kolonnene “Allowable Increase” og “Allowable Decrease” hvor mye en koeffisient i målfunksjonen (”Objective Coefficient”) kan endres uten å endre den optimale løsningen (i kolonnen ”Final Value”), under forutsetning av at alle andre koeffisienter forblir uendret. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 19 Alternative Optimale Løsninger Hvis målfunksjonen er parallell med en av de bindende restriksjonene har vi alternative optimale løsninger. Verdier på null (0) i “Allowable Increase” eller “Allowable Decrease” kolonnene for tabellen ”Decision variable Cells” indikerer at en alternativ optimal løsning eksisterer. OBS! Da er sensitivitetsanalysen ufullstendig!! BØK350 OPERASJONSANALYSE Rasmus Rasmussen 20 Alternative optimale løsninger Hvis noen av disse er lik 0, så finnes alternative verdier til disse. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 21 X2 Sensitivitetsanalyse restriksjonene 261 Bruk av arbeid: 9X1 + 6X2 = 1566 200 180 Sensitivitetsanalysen viser hvor store endringene i høyresidene på restriksjonene kan være før vi får andre bindende restriksjoner. 120 99 78 Bruk av pumper: 1·X1 + 1·X2 = 200 Bruk av rør: 12X1 + 16X2 = 2880 80 108 122 BØK350 OPERASJONSANALYSE 174 200 240 X1 Rasmus Rasmussen 22 X2 Tillatt endring i restriksjonene 261 Bruk av arbeid: 9X1 + 6X2 = 1566 200 180 Bruk av pumper: 1·X1 + 1·X2 = 200 Kan endre restriksjonene inntil vi får et nytt sett av bindende restriksjoner. Slik vil skyggeprisene forbli uendret. Økning pumper: 1·X1 + 1·X2 = 207 En større økning vil gjøre at pumper ikke lenger er bindende, men arbeid og rør. Reduksjon pumper: 1·X1 + 1·X2 = 174 78 En større reduksjon vil gjøre at arbeid ikke lenger er bindende, men pumper og ikke-negativitet. Pumper kan økes til 207 eller 122 BØK350 OPERASJONSANALYSE 174 200 240 X1 Bruk av rør: 12X1 + 16X2 = 2880 reduseres til 174 uten at andre restriksjoner enn arbeid og pumper er bindende. Rasmus Rasmussen 23 Sensitivitetsanalyse pumper: b1 Hvor mye kan tilgang pumper (b1) endres, uten at andre restriksjoner blir bindende? Økning: Helt til bare arbeid og rør er bindende. Reduksjon: Helt til bare arbeid og x2 ≥ 0 er bindende. Økning: Arbeid: Rør: 9X1 12X1 + 6X2 = 1566 |(-4/3) -12X1 + 16X2 = 2880 12X1 - 8X2 = -2088 + 16X2 = 2880 8X2 = 792 X2 = 792/8 = 99. 9X1 + 699 = 1566 9X1 = 1566 – 594 = 972 X1 = 972/9 = 108 Behov pumper: 1 99 + 1108 = 207 b1 = 207 – 200 = +7 Reduksjon: Arbeid: 9X1 + 6X2 = 1566 9X1 + 60 = 1566 X1 = 1566/9 = 174 X2 = 0 Behov pumper: 1 174 + 10 = 174 b1 = 174 – 200 = -26 BØK350 OPERASJONSANALYSE -26 ≤ b1 ≤+7 Rasmus Rasmussen 24 X2 Tillatt endring i restriksjonene 261 Bruk av arbeid: 9X1 + 6X2 = 1566 200 180 Bruk av pumper: 1·X1 + 1·X2 = 200 Kan endre restriksjonene inntil vi får et nytt sett av bindende restriksjoner. Slik vil skyggeprisene forbli uendret. Reduksjon arbeid: 9X1 + 6X2 = 1440 En større reduksjon vil gjøre at rør blir en bindende restriksjon istedenfor pumper. 78 Økning arbeid: 9X1 + 6X2 = 1800 122 BØK350 OPERASJONSANALYSE 174 200 240 X1 Bruk av rør: 12X1 + 16X2 = 2880 En større økning vil gjøre at arbeid ikke lenger er bindende, men pumper og ikke-negativitet. Arbeid kan økes til 1800 eller reduseres til 1440 uten at andre restriksjoner enn arbeid og pumper er bindende. Rasmus Rasmussen 25 Sensitivitetsanalyse arbeid: b2 Hvor mye kan tilgang arbeid (b2) endres, uten at andre restriksjoner blir bindende? Reduksjon: Helt til bare pumper og rør er bindende. Økning: Helt til bare pumper og x2 ≥ 0 er bindende. Reduksjon: Pumper: Rør: 1X1 12X1 + 1X2 = 200 |(-12) -12X1 - 12X2 = -2400 + 16X2 = 2880 12X1 + 16X2 = 2880 4X2 = 480 X2 = 480/4 = 120. 1X1 + 1120 = 200 1X1 = 200 – 120 = 80 X1 = 80/1 = 80 Behov arbeid: 980 + 6120 = 1440 b2 = 1440 – 1566 = -126 Økning: Pumper: 1X1 + 1X2 = 200 1X1 + 10 = 200 X1 = 200/1 = 200 X2 = 0 Behov arbeid: 9 200 + 60 = 1800 b2 = 1800 – 1566 = +234 BØK350 OPERASJONSANALYSE -126 ≤ b2 ≤+234 Rasmus Rasmussen 26 X2 Tillatt endring i restriksjonene 261 Bruk av arbeid: 9X1 + 6X2 = 1566 200 180 Bruk av pumper: 1·X1 + 1·X2 = 200 Kan endre restriksjonene inntil vi får et nytt sett av bindende restriksjoner. Slik vil skyggeprisene forbli uendret. Økning rør: 12X1 + 16X2 = ? Kan øke tilgang på rør uendelig uten at andre restriksjoner blir bindende. 78 Reduksjon rør: 12X1 + 16X2 = 2712 122 BØK350 OPERASJONSANALYSE 174 200 240 X1 Bruk av rør: 12X1 + 16X2 = 2880 En større reduksjon vil gjøre at pumper ikke lenger er bindende, men arbeid og rør. Rør kan reduseres til 2712 eller økes uendelig uten at andre restriksjoner enn arbeid og pumper er bindende. Rasmus Rasmussen 27 Sensitivitetsanalyse rør: b3 Hvor mye kan tilgang rør (b3) endres, uten at andre restriksjoner blir bindende? Reduksjon: Helt til pumper og arbeid er bindende. Økning: Ubegrenset, restriksjonen er ikke bindende i utgangspunktet. Reduksjon: Pumper: 1X1 + 1X2 = 200 Arbeid: 9X1 + 6X2 = 1566 X1 = 200 - X2 9(200 -X2) + 6X2 = 1566 -3X2 = 1566 - 1800 X2 = -234/(-3) = 78 X1 = 200 - X2 X1 = 200 – 78 = 122 Behov rør: 12122 + 1678 = 2712 b3 = 2712 – 2880 = -168 Økning: Ubegrenset b3 = + -168 ≤ b3 ≤ + BØK350 OPERASJONSANALYSE Rasmus Rasmussen 28 Endringer i Contstraint R.H. Side Men optimale verdier på målfunksjonen og beslutningsvariablene endres ! Så lenge disse endres innenfor disse grensene, forblir skyggeprisene konstante. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 29 Skyggepriser X2 261 Bruk av arbeid: 9X1 + 6X2 = 1566 200 180 Bruk av pumper: 1·X1 + 1·X2 = 200 Hvor mye målfunksjonen endres ved å øke kapasiteten for en restriksjon med en enhet. 78 Økning arbeid: 9X1 + 6X2 = 1800 122 BØK350 OPERASJONSANALYSE 174 200 240 X1 Bruk av rør: 12X1 + 16X2 = 2880 Når tilgang på arbeid økes med 1 enhet, vil ny tilpassing skje langs restriksjonen for bruk av pumper. Samme skyggepriser (med motsatt fortegn) gjelder ved reduksjoner. Unntatt degenererte løsninger. Rasmus Rasmussen 30 Skyggepris arbeid Hvor mye endres målfunksjonen når tilgang på arbeid økes med en enhet? Når vi endrer kapasiteten for arbeid, vil ny tilpasning skje langs kapasitetsgrensen til pumper. Pumper: 1X1 + 1X2 = 0 Uendret kapasitet Arbeid: 9X1 + 6X2 = 1 1 ekstra enhet X1 = -X2 & 9X1 + 6X2 = 1 9(-X2) + 6X2 = 1 -3X2 = 1 X2 = 1/(-3) = -1/3 X1 = -X2 =-(-1/3) = 1/3. En ekstra arbeidstime vil gi: X1 =1/3 og X2 = -1/3. Endring i målfunksjonen: 350(1/3) + 300(-1/3) = 16,67 Skyggeprisen for en ekstra time arbeid er 16,67 og viser verdien (økt dekningsbidrag) pr. arbeidstime. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 31 Skyggepris arbeid Hvor mye endres målfunksjonen når tilgang på arbeid økes maksimalt? Maksimal tillatt økning arbeid er 234 timer (uten andre bindende restriksjoner). Da vil ny optimal produksjon være 200 stk. X1 og 0 stk. X2. Ny verdi på målfunksjonen blir: 350200 + 3000 = 70.000,Opprinnelig optimal verdi på målfunksjonen: 66.100,Økt verdi av økt tilgang arbeidstid: 3.900,Økt verdi pr. arbeidstime: 3.900,-/234 timer = 16,67 pr. time. Hver ny arbeidstime er verd 16,67, som er skyggeprisen på restriksjonen for arbeidstid. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 32 Skyggepriser X2 261 Bruk av arbeid: 9X1 + 6X2 = 1566 200 180 Bruk av pumper: 1·X1 + 1·X2 = 200 Hvor mye målfunksjonen endres ved å øke kapasiteten for en restriksjon med en enhet. Når tilgang på pumper økes med 1 enhet, vil ny tilpassing skje langs restriksjonen for bruk av arbeid. Økning pumper: 1X1 + 1X2 = 207 99 78 108 122 BØK350 OPERASJONSANALYSE 174 200 240 X1 Bruk av rør: 12X1 + 16X2 = 2880 Samme skyggepriser (med motsatt fortegn) gjelder ved reduksjoner. Unntatt degenererte løsninger. Rasmus Rasmussen 33 Skyggepris pumper Hvor mye endres målfunksjonen når tilgang på pumper økes med en enhet? Når vi endrer kapasiteten for pumper, vil ny tilpasning skje langs kapasitetsgrensen til arbeid. Pumper: 1X1 + 1X2 = 1 1 ekstra enhet Arbeid: 9X1 + 6X2 = 0 Uendret kapasitet X1 = 1 – X2 & 9X1 + 6X2 = 0 9(1-X2) + 6X2 = 0 -3X2 = -9 X2 = -9/(-3) = 3 X1 = 1-X2 =1-3 = -2. En ekstra pumpe vil gi: X1 =-2 og X2 = +3. Endring i målfunksjonen: 350(-2) + 300(+3) = 200 Skyggeprisen for en ekstra pumpe er 200,- og viser verdien (økt dekningsbidrag) pr. pumpe. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 34 Skyggepris pumper Hvor mye endres målfunksjonen når tilgang på pumper økes maksimalt? Maksimal tillatt økning pumper er 7 stk. (uten andre bindende restriksjoner). Da vil ny optimal produksjon være 108 stk. X1 og 99 stk. X2. Ny verdi på målfunksjonen blir: 350108 + 30099 = 67.500,Opprinnelig optimal verdi på målfunksjonen: 66.100,Økt verdi av økt tilgang pumper: 1.400,Økt verdi pr. pumpe: 1.400,-/7 stk. = 200,- pr. stk. Hver ny pumpe er verd 200,-, som er skyggeprisen på restriksjonen for pumper. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 35 Skyggepriser Disse angir endringen i målfunksjonen, ved én enhets økning i denne verdien, hvis endringen er innenfor disse verdiene. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 36 Skyggepriser Skyggeprisen til en restriksjon indikerer hvor mye målfunksjonen endres som følge av en enhets økning i restriksjonens RHS verdi, hvis alle andre koeffisienter forblir konstante. Skyggeprisene er kun gyldige ved endringer av restriksjonens RHS verdi innenfor verdiene i kolonnene “Allowable Increase” og “Allowable Decrease”. Skyggepriser for ikke-bindende restriksjoner er alltid null. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 37 Endringer i restriksjonens RHS verdi Skyggeprisene viser kun endringen i mål-funksjonen ved endringer i restriksjonsgrensene. Endringer av grensen for en bindende restriksjon endrer også mulighetsområdet og de optimale verdiene på beslutningsvariablene. For å finne de nye optimale verdiene på beslutningsvariablene etter endring av en bindende restriksjonsgrense, må en løse problemet på nytt. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 38 Økt arbeidskapasitet X2 261 Bruk av arbeid: 9X1 + 6X2 = 1566 200 180 Opprinnelig mulighetsområde Flere arbeidstimer: 9X1 + 6X2 = 1728 Bruk av pumper: 1·X1 + 1·X2 = 200 Bruk av rør: 12X1 + 16X2 = 2880 Ny optimal løsning 174 200 240 X1 Utvidet mulighetsområde BØK350 OPERASJONSANALYSE Rasmus Rasmussen 39 Praktisk bruk av skyggepriser Anta at en ny varmtvannsbereder (Typhoon-Lagoon) vurderes. Den har et dekningsbidrag på $320 pr. stk. og krever: 1 pumpe (skyggepris = $200) 8 timer arbeid (skyggepris = $16,67) 13 dm rør (skyggepris = $0) Q: Er det lønnsomt å produsere noen ? A: $320 - $200*1 - $16,67*8 - $0*13 = -$13,33 = Nei! Merk at vi nå har beregnet Reduced Cost. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 40 Nytt produkt BØK350 OPERASJONSANALYSE Rasmus Rasmussen 41 Reduced Cost Reduced Cost er lik profitten pr. enhet (verdien i målfunksjonen) minus verdien av ressursene som forbrukes (priset til skyggeprisene) BØK350 OPERASJONSANALYSE Rasmus Rasmussen 42 Praktisk bruk av skyggepriser Skyggeprisen for en ekstra time arbeid er lik $16,67. Den er gyldig for økninger i arbeidstiden på opp til 234 nye timer. Hvis arbeid er en variabel kostnad, så er lønnskostnaden inkludert i db/stk., og skyggeprisen angir ekstraverdien av arbeid utover ordinær lønnskostnad. Vi er da villig til å betale en timepris som er $16,67 mer enn ordinær timepris. Hvis arbeid er en fast kostnad som ikke er inkludert i målfunksjonen, så er vi kun villig til å betale $16,67 pr. ekstra time. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 43 Reduced Cost ved standard LP formulering Reduced Cost til en beslutningsvariabel angir hvor mye koeffisienten i målfunksjonen må endres for at variabelen skal komme med i optimal løsning. For variabler som inngår i den optimale løsningen er følgelig Reduced Cost = 0. Reduced Cost for hvert produkt er lik profitten pr. enhet minus verdien av ressursene som forbrukes (priset til skyggeprisene). BØK350 OPERASJONSANALYSE Rasmus Rasmussen 44 Reduced Cost i Solver Optimal verdi på Type av problem beslutningsvariablene Optimal verdi på Reduced Cost Maksimering lik enkel nedre grense mellom øvre og nedre grenser lik enkel øvre grense ≤0 =0 ≥ 0 (skyggepris) Minimering lik enkel nedre grense mellom øvre og nedre grenser lik enkel øvre grense ≥ 0 (skyggepris) =0 ≤0 BØK350 OPERASJONSANALYSE Rasmus Rasmussen 45 Reduced Cost i Solver For variabler som ikke inngår i den optimale løsningen angir Reduced Cost hvor mye koeffisienten i målfunksjonen må endres for at variabelen skal komme med i optimal løsning. (samme som ved standard LP). For variabler som inngår i optimal løsning, og med verdi lik sin direkte nedre elle øvre grense, angir Reduced Cost skyggeprisen for denne bindende restriksjonen. (Variabler med Bounds.) Øvrige variabler som inngår i optimal løsning har Reduced Cost lik 0. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 46 Viktige poenger Totalverdien av ressursene vurdert til skyggeprisene er lik totalverdien av produktene som produseres (dvs. optimal verdi av målfunksjonen). Ressurser som ikke brukes fullt ut har en skyggepris (marginalverdi) lik null. Et produkts Reduced Cost er lik differansen mellom produktets fortjeneste og alternativkostnaden for de ressurser det forbruker. Produkter med en fortjeneste som er mindre enn alternativkostnaden til de ressurser det forbruker vil ikke inngå i den optimale løsningen. (Reduced Cost er negativ.) BØK350 OPERASJONSANALYSE Rasmus Rasmussen 47 Verdi ressurser = Verdi produksjon Ressurs Mengde Verdi Total verdi Pumper 200 200,00 40.000,- Arbeid 1566 16,67 26.100,- Rør 2880 0,00 0,- Total verdi ressurser Produkt 66.100,Mengde Verdi Total verdi Aqua Spa 122 350,00 42.700,- Hydro Lux 78 300,00 23.400,- Total verdi produksjon 66.100,- Totalverdien av ressursene vurdert til skyggeprisene er lik totalverdien av produktene som produseres (dvs. optimal verdi av målfunksjonen). BØK350 OPERASJONSANALYSE Rasmus Rasmussen 48 Endringer i restriksjonskoeffisienter Q: Anta at en Typhoon-Lagoon kun trenger 7 arbeidstimer isteden for 8. Er det nå lønnsomt å produsere noen? A: $320 - $200*1 - $16,67*7 - $0*13 = $3,31 = Ja! Q: Hva er den største arbeidstiden Typhoon-Lagoons kan bruke og likevel være lønnsom? A: Da må $320 - $200*1 - $16,67*L3 - $0*13 >=0 Det holder så lenge L3 <= $120/$16,67 pr. time = 7,20 timer. Vi har nå analysert aij, dvs. restriksjonskoeffisienten. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 49 Simultane endringer i målfunksjonen 100% Regelen kan brukes til å avgjøre om optimal løsning endres når mer enn én koeffisient i målfunksjonen endres. Vi kan ha to situasjoner: Tilfelle 1: Alle variablene med endret koeffisient har Reduced Cost forskjellig fra null. (Ingen av variablene inngår i optimal løsning.) Tilfelle 2: Minst en variabel med endret koeffisient har en Reduced Cost lik null. (Minst en av variablene inngår i optimal løsning.) I Tilfelle 1 forblir optimal løsning uendret så lenge alle endringene ligger innenfor sine Allowable Increase eller Allowable Decrease. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 50 Simultane endringer i målfunksjonen I Tilfelle 2, beregn for hver variabel: c j I j ,hvis c j 0 rj c j ,hvis c j < 0 D j Beregn økningen eller reduksjonen i forhold til tillatt økning eller reduksjon. Hvis summen av alle %-vise endringer er ≤ 100%, vil optimal løsning forbli uendret. Hvis mer enn en koeffisient i målfunksjonen endres, vil optimal løsning forbli uendret sålenge alle rj summers til 1. (Merk at hvis alle rj summeres til > 1, kan løsningen også forbli uendret, men det er ikke garantert.) BØK350 OPERASJONSANALYSE Rasmus Rasmussen 51 Simultane endringer i restriksjonsgrensene. 100% regelen kan også brukes til å avgjøre om skyggeprisene og Reduced Cost endres når mer enn én høyreside av restriksjonene endres: Vi kan ha to situasjoner: Tilfelle 1: Ingen restriksjoner med endret høyreside er bindende. Tilfelle 2: Minst en restriksjon med endret høyreside er bindende. I Tilfelle 1 forblir optimal verdien på målfunksjon, beslutningsvariabler og skyggepriser uforandret, sålenge hver høyreside forblir innenfor tillatte endringer. I Tilfelle 2: Beregn %vis endring for hver restriksjon i forhold til tillatt reduksjon eller økning. Hvis sum %vis endring ≤ 100%, så forblir skyggeprisene og Reduced Cost uendret. (Men optimale verdier på beslutningsvariablene vil endres.) BØK350 OPERASJONSANALYSE Rasmus Rasmussen 52 Degenererte løsninger; Vær obs! Løsningen til et LP problem er degenerert hvis Allowable Increase eller Decrease er lik null (0) for noen restriksjoner (tabellen ”Constraints”). Når en løsning er degenerert: 1. 2. Da kan vi ikke finne ut om det eksisterer alternative optimale løsninger på samme måte som vi beskrev tidligere. Reduced Costs for beslutningsvariablene vil ikke lenger være unike. Koeffisientene i målfunksjonen må nå endres minst så mye som (sannsynligvis mye mer enn) Reduced Cost for at optimal løsning skal endres. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 53 Degenererte løsninger Når en løsning er degenerert (forts.) 3) Kolonnene Allowable Increase og Allowable Decrease for koeffisientene i målfunksjonen vil som regel angi for små verdier. 4) Skyggeprisene er ikke lenger unike: Ett sett skyggepriser gjelder for økninger i restriksjonsgrensene. Et annen sett av skyggepriser gjelder for reduksjoner av restriksjonsgrensene. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 54 Degenerert løsning Hvis noen av disse er lik 0 så er løsningen degenerert. BØK350 OPERASJONSANALYSE Sensitivitetsanalysen er da villedende ! Rasmus Rasmussen 55 X2 Degenerert problem grafisk 261 Bruk av arbeid: 9X1 + 6X2 = 1566 207 180 Degenerert løsning fordi mer enn to restriksjoner bestemmer optimalpunktet. Bruk av pumper: 1·X1 + 1·X2 = 207 78 Bruk av rør: 12X1 + 16X2 = 2880 122 BØK350 OPERASJONSANALYSE 174 207 240 X1 Nivåkurve: DB =350X1 + 300X2 Rasmus Rasmussen 56 Årsak til vansker ved degenererte problem Når et LP-problem er degenerert kan optimal løsning bestemmes på flere måter: det er flere bindende restriksjoner enn det er ukjente variabler, vi har et overbestemt ligningssystem. Hvilke bindende restriksjoner som utelates for å bestemme optimal løsning påvirker hvilke skyggepriser som blir beregnet. Bindende restriksjoner som utelates får en skyggepris på 0, men er likefullt bindende. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 57 Degenerert problem i regneark Det er umulig å oppdage fra løsningen at problemet er degenerert. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 58 Her ser vi at det er degenerert BØK350 OPERASJONSANALYSE Rasmus Rasmussen 59 Sensitivitetsanalysen er villedende ! Og disse verdiene er ofte feil. Disse grensene er ofte for små. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 60 Mangelfull sensitivitetsanalyse Skyggeprisen gjelder: BØK350 OPERASJONSANALYSE Rasmus Rasmussen 61 X2 Multiple optimale løsninger grafisk 261 200 180 Bruk av arbeid: 9X1 + 6X2 = 1566 Multiple optimale løsninger når nivåkurven til målfunksjonen blir parallell med en bindende restriksjon Bruk av pumper: 1·X1 + 1·X2 = 200 78 Bruk av rør: 12X1 + 16X2 = 2880 122 BØK350 OPERASJONSANALYSE 174 200 240 X1 Nivåkurve: DB =350X1 + 350X2 Rasmus Rasmussen 62 Multiple løsninger i regneark Vi kan se at problemet har alternative optimale løsninger : Koeffisientene i målfunksjonen (Dekningsbidrag) er 350 ganger koeffisientene i restriksjonen for pumper; dvs. den er parallell med en restriksjon som er bindende. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 63 Sensitivitetsanalysen er mangelfull Da finnes det flere alternative løsninger for disse: Alternative løsninger hvis noen av disse er lik 0. Og disse grensene er ofte for små. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 64 Finne alternative løsninger Løs problemet på vanlig måte. Hvis Allowable Increase/Decrease=0 for noen koeffisienter i målfunksjonen: Kopier regnearket til et nytt ark, og reformuler Solveroppsettet: Endre målfunksjonen: Maksimer eller minimer verdien på en av beslutningsvariablene. Ny restriksjon: Verdi gammel målfunksjon lik optimal verdi opprinnelig problem. Løs den nye modellen. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 65 Finne alternativ optimal løsning BØK350 OPERASJONSANALYSE Rasmus Rasmussen 66 Bounds: restriksjoner direkte på beslutningsvariablene BØK350 OPERASJONSANALYSE Rasmus Rasmussen 67 Sensitivitetsanalyse av Bounds mangler Restriksjoner direkte på beslutningsvariablene (Decision variable cells) er utelatt! Skyggeprisen angitt under Reduced Cost. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 68 Alternativ formulering I: Lag en ny dummy-variabel: Antall solgt (= Antall produsert) Flytt leveringsrestriksjonen til den nye dummy-variabelen. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 69 Full sensitivitetsanalyse Sensitivitetsanalyse også av restriksjonene på leveringsbetingelsene BØK350 OPERASJONSANALYSE Rasmus Rasmussen 70 Alternativ formulering II: Standard LP-modell: En linje for hver restriksjon BØK350 OPERASJONSANALYSE Rasmus Rasmussen 71 Full sensitivitetsanalyse Sensitivitetsanalyse på alle restriksjonene BØK350 OPERASJONSANALYSE Rasmus Rasmussen 72 Ad Hoc sensitivitetsanalyse Vi kan benytte RSP’s mulighet til å kjøre multiple optimiseringer for ulike parameterverdier, for å utføre ad hoc sensitivitetsanalyse, slik som: Spider Tables & Plots Sammendrag av optimal verdi for én output celle ved individuelle endringer i flere input celler. Solver Tables Sammendrag av optimal verdi for flere output celler ved endringer i én input celle. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 73 Spider Tables & Plots For å variere hver av p forskjellige parametere med v ulike verdier krever totalt p*v optimeringer (Fig 4-12) PsiCurrentOpt( ) - returnerer gjeldende optimering # (O#) Celle B27 INT( (O# -1)/v )+1 - returnerer gjeldende parameter # (P#) Celle B28 O# - v *(P# -1) - returnerer gjeldende iterasjon # Celle B29 BØK350 OPERASJONSANALYSE Rasmus Rasmussen 74 Spider Table BØK350 OPERASJONSANALYSE Rasmus Rasmussen 75 Solver Tables Finne optimale verdier for p forskjellige verdier av en parameterstørrelse. (Pumper tilgjengelig) PsiOptParam( ) brukes til å angi ulike verdier for en input celle ved ulike optimeringer. PsiOptValue( ) returnerer verdien for en output-celle ved de ulike optimeringene. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 76 Solver Table BØK350 OPERASJONSANALYSE Rasmus Rasmussen 77 X2 Sensitivitetsanalyse restriksjonene Bruk av arbeid: 9X1 + 6X2 = 1566 261 200 180 Sensitivitetsanalysen viser hvor store endringene i høyresidene på restriksjonene kan være før vi får andre bindende restriksjoner. Bruk av pumper: 1·X1 + 1·X2 = 200 Bruk av rør: 12X1 + 16X2 = 2880 78 122 BØK350 OPERASJONSANALYSE 174 200 240 X1 Ad-hoc sensitivitetsanalysen endrer verdiene i vilkårlige gitte trinn. Disse vil bare tilfeldigvis sammenfalle med tillatte økninger og reduksjoner. Rasmus Rasmussen 78 Robust optimering Tradisjonell sensitivitetsanalyse antar at alle koeffisientene i en modell er kjent med sikkerhet. Optimale løsninger på randen av mulighetsområdet gjør løsningene sårbare for endringer. En “robust” løsning av et LP problem finnes inne i mulighetsområdet, og forblir mulig og rimelig god for moderate endringer i koeffisientene. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 79 Chance Constraints For LP problemer har RSP støtte for usikkerhet i restriksjonskoeffisienter via “uncertainty set (USet) chance constraints” For eksempel, anta… Arbeidsbehovet for hver varmtvannstank varierer likt fra +/- 15 minutter (0,25 timer) fra de opprinnelige estimatene Mengden av rør pr varmtvannstank varierer likt fra +/- 6 inches (0,5 feet) fra opprinnelige estimater. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 80 Robust optimering BØK350 OPERASJONSANALYSE Rasmus Rasmussen 81 LP på generell form MAX (eller MIN): c1X1 + c2X2 + … + cnXn Slik at: a11X1 + a12X2 + … + a1nXn <= b1 : ak1X1 + ak2X2 + … + aknXn >= bk : am1X1 + am2X2 + … + amnXn = bm BØK350 OPERASJONSANALYSE Rasmus Rasmussen 82 Simplex metoden Ved simplex metoden må alle ulikheter konverteres til likheter ved å legge til slakk-variabler til <= restriksjoner, og trekke fra overskuddsvariabler fra >= restriksjoner. Eksempelvis: ak1X1 + ak2X2 + … + aknXn <= bk konverteres til: ak1X1 + ak2X2 + … + aknXn + Sk = bk Og: ak1X1 + ak2X2 + … + aknXn >= bk konverteres til: ak1X1 + ak2X2 + … + aknXn – Sk = bk BØK350 OPERASJONSANALYSE Rasmus Rasmussen 83 For vårt eksempel... Max 350X1 + 300X2 S.T.: 1X1 + 1X2 9X1 + 6X2 12X1 16X2 Dekningsbidrag +1S1 +1S2 +1S3 X1 X2 S1 S2 S3 = 200 Pumper = 1566 Arbeid = 2880 Rør >= 0 >= 0 >= 0 >= 0 >= 0 Hvis det er n variabler i en modell med m restriksjoner, (der n>=m) kan vi velge vilkårlig m variabler og så løse ligningene (ved å sette de gjenværende n-m variablene lik 0.) BØK350 OPERASJONSANALYSE Rasmus Rasmussen 84 Ligningene for Simplex-metoden Ordne ligningene på tabell-form. (Simplex-tabell) 350X1 + 300X2 + 0S1 + 0S2 + 0S3 Max 1X1 + 1X2 + 1S1 + 0S2 + 0S3 = 200 9X1 + 6X2 + 0S1 + 1S2 + 0S3 = 1566 12X1 +16X2 + 0S1 + 0S2 + 1S3 = 2880 • Velg som basisvariabler de som har koeffisienten 1 i en kolonne og øvrige koeffisienter i kolonnen lik 0. • Sett alle andre variabler lik 0. Ligningsystemet er løst ! • Velg som ny basisvariabel den som har størst koeffisient i målfunksjonen. • Utgående variabel bestemmes slik at ny løsning forblir mulig, samtidig som ny variabel får størst mulig verdi. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 85 Forskjellige basisløsninger Basis Ikkebasis Variabler Variabler Løsning 1 S1, S2, S3 X1, X2 2 X1, S1, S3 X2, S2 3 X1, X2, S3 S1, S2 4 X1, X2, S2 S1, S3 5 X2, S1, S2 X1, S3 6* X1, X2, S1 S2, S3 7* X1, S1, S2 X2, S3 8* X1, S2, S3 X2, S1 9* X2, S2, S3 X1, S1 10* X2, S1, S3 X1, S2 * angir umulig løsning BØK350 OPERASJONSANALYSE X1=0, X2=0, S1=200, S2=1566, S3=2880 X1=174, X2=0, S1=26, S2=0, S3=792 X1=122, X2=78, S1=0, S2=0, S3=168 X1=80, X2=120, S1=0, S2=126, S3=0 X1=0, X2=180, S1=20, S2=486, S3=0 X1=108, X2=99, S1=-7, S2=0, S3=0 X1=240, X2=0, S1=-40, S2=-594, S3=0 X1=200, X2=0, S1=0, S2=-234, S3=480 X1=0, X2=200, S1=0, S2=366, S3=-320 X1=0, X2=261, S1=-61, S2=0, S3=-1296 Verdi Målfunksjon 0 60,900 66,100 64,000 54,000 67,500 84,000 70,000 60,000 78,300 Rasmus Rasmussen 86 X2 Mulige basisløsninger & ekstremalpunkter Mulige basisløsninger 1 X1=0, X2=0, S1=200, S2=1566, S3=2880 2 X1=174, X2=0, S1=26, S2=0, S3=792 3 X1=122, X2=78, S1=0, S2=0, S3=168 4 X1=80, X2=120, S1=0, S2=126, S3=0 5 X1=0, X2=180, S1=20, S2=486, S3=0 X1 BØK350 OPERASJONSANALYSE Rasmus Rasmussen 87 Sammendrag Simplex-metoden Simplex metoden starter med å finne en mulig basisløsning til LP problemet, og beveger seg så til et tilgrensende ekstremalpunkt, såfremt dette forbedrer målfunksjonen. Når ingen tilgrensende hjørneløsninger har en bedre verdi på målfunksjonen er den eksisterende basisløsningen optimal, og simplex-metoden stanser. Bevegelsen fra en hjørneløsning til en tilgrensende utføres ved å bytte en av basisvariablene med en ikkebasisvariabel, for å skape en ny basisløsning som tilsvarer den tilgrensende hjørneløsningen. BØK350 OPERASJONSANALYSE Rasmus Rasmussen 88 Slutt på kapittel 4 BØK350 OPERASJONSANALYSE Rasmus Rasmussen 89