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=-1300  c1= 300  c1= 300-350 = -50
Ny verdi c2: -(350/c2) = -(1/1)  -350=-1c2  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 + 699 = 1566  9X1 = 1566 – 594 = 972  X1 = 972/9 = 108
Behov pumper: 1 99 + 1108 = 207  b1 = 207 – 200 = +7
Reduksjon:
Arbeid:
9X1
+
6X2
=
1566
9X1 + 60 = 1566
 X1 = 1566/9 = 174
X2 =
0
Behov pumper: 1 174 + 10 = 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 + 1120 = 200  1X1 = 200 – 120 = 80  X1 = 80/1 = 80
Behov arbeid: 980 + 6120 = 1440  b2 = 1440 – 1566 = -126
Økning:
Pumper:
1X1
+
1X2
=
200
1X1 + 10 = 200
 X1 = 200/1 = 200
X2 =
0
Behov arbeid: 9 200 + 60 = 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: 12122 + 1678 = 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:
1X1
+ 1X2
=
0
Uendret kapasitet
Arbeid:
9X1
+ 6X2
=
1
1 ekstra enhet
 X1 = -X2 & 9X1 + 6X2 = 1  9(-X2) + 6X2 = 1  -3X2 = 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: 350200 + 3000 =
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:
1X1
+ 1X2
=
1
1 ekstra enhet
Arbeid:
9X1
+ 6X2
=
0
Uendret kapasitet
 X1 = 1 – X2 & 9X1 + 6X2 = 0
 9(1-X2) + 6X2 = 0  -3X2 = -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: 350108 + 30099 =
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