Analiza wrażliwości oraz dualność

Download Report

Transcript Analiza wrażliwości oraz dualność

Analiza wrażliwości oraz
dualność
Wykład z Badań Operacyjnych
Tropikalne błyszczyki do ust – Jessica
Simpson i Urban Chic Boutique
• Dear Students of DMBO class at WSE,
My name is Jessica Simpson. I have been going through some
tough times recently and am having a real problem with one of my
cosmetic lines. The info for the line is on the next page. Recently
though costs are changing based on market demand in addition to
highly fluctuating resource costs. My problem is this we currently
have an LP that we solve to find the optimal amount to produce of
each product. However, every time a parameter changes, I am
always forced to resolve the LP and this takes too long. I was
hoping you guys could find a better way. Lately I have just been out
of it. For example, Nick and I decided to split our Hummer in half,
and now I need to buy a new one. Oh yeah, about the LP it seems
to have been misplaced when I was moving out of my Malibu
house.
Please Help!
-Jessica
http://www.urbanchic-boutique.com/dhop/jessica-simpsondessert-treats/jessica-simpson-tropical-treats-kissable-lipshine/prod_89.html
Dane do problemu
•
•
•
•
•
Brzoskwinia
Ananas
Pomarańcza
Mango
Materiał
2
3
4
7
Godziny pracy
3
4
5
6
Cena ($)
4
6
7
8
Jessica sprzedaje 4 rodzaje błyszczyka do ust.
Dokładnie 950 sztuk wszystkich musi być wyprodukowane
Klienci domagają się przynajmniej 400 sztuk błyszczyka Mango
Dostępny materiał ≤ 4600
Dostępna praca ≤ 5000
Zadanie programowania Liniowego
• Ilość wyprodukowanego błyszczyka:
– X1: brzoskwiniowy
– X2: ananasowy
– X3: pomarańczowy
– X4: mango
max
Rezultat
Zmienne decyzyjne
Funkcja celu
0
400
150
400
6650
• Co może się zmienić w modelu?:
– Ceny produktów
– Koszty materiałów
– Ilość dostępnych materiałów
– Mogą zostać wprowadzone nowe produkty
• Pytanie: Jak mogę stwierdzić, czy moje rozwiązanie jest ciągle optymalne
po zmianie?
Raport wrażliwości
• Czy powinien wyglądać tak?
Microsoft Excel 14.1 Sensitivity Report
Worksheet: [Workbook2]Sheet1
Report Created: 10/31/2011 3:32:45 PM
Variable Cells
Final
Reduced
Cell
Name
Value
Gradient
$B$6 Zmienne decyzyjne Brzoskwinia
0 -1.000000238
$C$6 Zmienne decyzyjne Ananas
400
0
$D$6 Zmienne decyzyjne Pomarańcza
150
0
$E$6 Zmienne decyzyjne Mango
400
0
Constraints
Cell
$B$11
$B$12
$B$13
$B$14
Name
Materiały
Praca
Ilość łącznie
Ilość mango
Final
Value
4600
4750
950
400
Lagrange
Multiplier
1
0
3
-2
Główne błędy
• Brak zaznaczenia “model liniowy” (lub
“Simplex LP”)
• Brak zaznaczenia “przyjmij nieujemne”
• Zakładamy na razie, że nie mamy do czynienia
ze zdegenerowanym rozwiązaniem
Właściwy raport wrażliwości
0
Zmienne decyzyjne
Funkcja celu
400
150
400
6650
Microsoft Excel 14.1 Sensitivity Report
Worksheet: [Workbook2]Sheet1
Report Created: 10/31/2011 3:35:03 PM
Variable Cells
Final Reduced Objective
Allowable Allowable
Cell
Name
Value
Cost
Coefficient
Increase
Decrease
$B$6 Zmienne decyzyjne Brzoskwinia
0
-1
4
1
1E+30
$C$6 Zmienne decyzyjne Ananas
400
0
6 0.666666667
0.5
$D$6 Zmienne decyzyjne Pomarańcza
150
0
7
1
0.5
$E$6 Zmienne decyzyjne Mango
400
0
8
2
1E+30
Constraints
Cell
$B$11
$B$12
$B$13
$B$14
Name
Materiały
Praca
Ilość łącznie
Ilość mango
Final Shadow Constraint
Value Price
R.H. Side
4600
1
4600
4750
0
5000
950
3
950
400
-2
400
Allowable Allowable
Increase
Decrease
250
150
1E+30
250
50
100
37.5
125
Problem 1: zmiana współczynnika
funkcji celu przy zmiennej bazowej
• “Hi guys I was at the market and noticed the price of ananas went
up by 50 cents. That means if I raise the price of the ananas lip shine
by 50 cents I will make more money. Right?” Jessica
• Rozwiązanie:
– Sprawdź, czy zmiana współczynnika funkcji celu jest w zakresie
dopuszczalnej zmiany
• W naszym przykładzie mieści się: 50 c < 66.66 c (allowable increase)
– Jeśli tak, to optymalne rozwiązanie bazowe (optimal basic feasible
solution) się nie zmieni. Oblicz zmianę zysku.
• W naszym przykładzie zmiana zysku to 0.5*$400 = $200
• Ćwiczenie: Przypuśćmy, że cena brzoskwnini wzrosła o 60 c. Jakie
jest nowe rozwiązanie i zmiana zysku?
Microsoft Excel 14.1 Sensitivity Report
Worksheet: [Workbook2]Sheet1
Report Created: 10/31/2011 3:35:03 PM
Variable Cells
Final Reduced Objective
Allowable Allowable
Cell
Name
Value
Cost
Coefficient
Increase
Decrease
$B$6 Zmienne decyzyjne Brzoskwinia
0
-1
4
1
1E+30
$C$6 Zmienne decyzyjne Ananas
400
0
6 0.666666667
0.5
$D$6 Zmienne decyzyjne Pomarańcza
150
0
7
1
0.5
$E$6 Zmienne decyzyjne Mango
400
0
8
2
1E+30
Constraints
Cell
$B$11
$B$12
$B$13
$B$14
Name
Materiały
Praca
Ilość łącznie
Ilość mango
Final Shadow Constraint
Value Price
R.H. Side
4600
1
4600
4750
0
5000
950
3
950
400
-2
400
Allowable Allowable
Increase
Decrease
250
150
1E+30
250
50
100
37.5
125
Problem 2: Zmiana współczynnika
funkcji celu przy zmiennej niebazowej
• “Hello Class, I went to the store to buy some of my
peach gloss and found out none of it was being
produced because it wasn’t profitable. What should I
charge to make them in the optimal mix?”, Jessica
• Musimy spojrzeć na “reduced cost”:
– Jeśli “reduced cost” przy zmiennej xi wynosi –ri, znaczy to,
że zwiększenie “kosztu” przy tej zmiennej o ri doprowadzi
do optymalnej bazy, która będzie zawierać xi.
• W naszym przykładzie musimy zwiększyć cenę przynajmniej o $1
(do $5) zanim x1 znajdzie się w optymalnej bazie
Microsoft Excel 14.1 Sensitivity Report
Worksheet: [Workbook2]Sheet1
Report Created: 10/31/2011 3:35:03 PM
Variable Cells
Final Reduced Objective
Allowable Allowable
Cell
Name
Value
Cost
Coefficient
Increase
Decrease
$B$6 Zmienne decyzyjne Brzoskwinia
0
-1
4
1
1E+30
$C$6 Zmienne decyzyjne Ananas
400
0
6 0.666666667
0.5
$D$6 Zmienne decyzyjne Pomarańcza
150
0
7
1
0.5
$E$6 Zmienne decyzyjne Mango
400
0
8
2
1E+30
Constraints
Cell
$B$11
$B$12
$B$13
$B$14
Name
Materiały
Praca
Ilość łącznie
Ilość mango
Final Shadow Constraint
Value Price
R.H. Side
4600
1
4600
4750
0
5000
950
3
950
400
-2
400
Allowable Allowable
Increase
Decrease
250
150
1E+30
250
50
100
37.5
125
Problem 2 – pytania kontrolne
• Co się stanie jeśli podniesiemy cenę brzoskwiniowego błyszczyka do
$5?
– Bedziemy obojętni pomiędzy włączeniem tego błyszczyka do bazy –
będzie więc wiele rozwiązań optymalnych
• Co to jest “reduced cost” zmiennej bazowej?
– Dla problemów maksymalizacji koszty te są niedodatnie. Mówią nam,
jak mocno trzeba podnieść cenę produktu, aby się opłacało go
produkować.
• Poniżej jest tabelka simplex optymalnego rozwiązania. Jaki jest
“reduced cost” zmiennej c?
– “Reduced cost” przy zmiennej c wynosi -2.
Problem 3: Zmiana współczynnika
prawej strony ograniczenia
• “Uggh! You won’t believe this. After seeing me on
Newlyweds, MTV decided it would be profitable to
make a reality show where instead of having 4600
of raw materials, I have only 4499 .What should I
do (that is, what happens to the optimal
solution)?”, Jessica z pomocą doradcy
• Rozwiązanie:
– Sprawdź, czy zmiana współczynnika prawej strony
ograniczeń jest w zakresie dopuszczalnej zmiany
• W naszym przykładzie 101<150, więc się mieści
– Jeśli tak, optymalna baza się nie zmieni, ale
wartości zmiennych bazowych się zmienią.
Możemy wykorzystać “shadow price”
ograniczenia, aby policzyć zmianę optymlanej
wartości funkcji celu
• “Shadow price” przy ograniczeniu materiałowym wynosi
1. Zatem zmiana optymalnej wartości funkcji celu
wynosi -101*1=-101
Microsoft Excel 14.1 Sensitivity Report
Worksheet: [Workbook2]Sheet1
Report Created: 10/31/2011 3:35:03 PM
Variable Cells
Final Reduced Objective
Allowable Allowable
Cell
Name
Value
Cost
Coefficient
Increase
Decrease
$B$6 Zmienne decyzyjne Brzoskwinia
0
-1
4
1
1E+30
$C$6 Zmienne decyzyjne Ananas
400
0
6 0.666666667
0.5
$D$6 Zmienne decyzyjne Pomarańcza
150
0
7
1
0.5
$E$6 Zmienne decyzyjne Mango
400
0
8
2
1E+30
Constraints
Cell
$B$11
$B$12
$B$13
$B$14
Name
Materiały
Praca
Ilość łącznie
Ilość mango
Final Shadow Constraint
Value Price
R.H. Side
4600
1
4600
4750
0
5000
950
3
950
400
-2
400
Allowable Allowable
Increase
Decrease
250
150
1E+30
250
50
100
37.5
125
Pytania kontrolne
• Jaka jest zmiana optymalnej wartości funkcji celu
jeśli dostępna ilość godzin pracy wynosi 4800?
– Mieści się w dopuszczalnym zakresie zmiany, baza
pozostaje niezmieniona. “Shadow price” wynosi 0,
zatem zmiana wartości funkcji celu wynosi 0
• Co można powiedzieć o “shadow price”
ograniczenia “≥”? A co o ograniczeniu typu “=”?
– Ograniczenie “≥” zawsze ma niedodatnią “shadow
price”. Intuicyjnie, podniesienie prawej strony, bardziej
ogranicza zbiór dopuszczalny. O ograniczeniu “=” nic
nie można powiedzieć. “Shadow price” może być
dodatnia, ujemna lub zero.
Problem 4: Zakup nowych zasobów
• “Guys, My sister Ashlee just lost her
recording contract. I know, it’s shocking.
Anyway, she needs a job; she is willing to
work for 1 hour. She also said she could
convert her unit of talent into a unit of raw
material, whatever that means. What is
the most I should pay for the unit of raw
materials and for her?”, Jessica
• Rozwiązanie: Obie możliwe zmiany są w
zakresie dopuszczalnych zmian
– “Shadow price” ograniczenia
materiałowego wynosi 1, zatem zysk
wzrósłby o $1, gdybyśmy się zgodzili
– “Shadow price” ograniczenia pracy wynosi 0,
więc zatrudnienie Ashley nic nie da.
Microsoft Excel 14.1 Sensitivity Report
Worksheet: [Workbook2]Sheet1
Report Created: 10/31/2011 3:35:03 PM
Variable Cells
Final Reduced Objective
Allowable Allowable
Cell
Name
Value
Cost
Coefficient
Increase
Decrease
$B$6 Zmienne decyzyjne Brzoskwinia
0
-1
4
1
1E+30
$C$6 Zmienne decyzyjne Ananas
400
0
6 0.666666667
0.5
$D$6 Zmienne decyzyjne Pomarańcza
150
0
7
1
0.5
$E$6 Zmienne decyzyjne Mango
400
0
8
2
1E+30
Constraints
Cell
$B$11
$B$12
$B$13
$B$14
Name
Materiały
Praca
Ilość łącznie
Ilość mango
Final Shadow Constraint
Value Price
R.H. Side
4600
1
4600
4750
0
5000
950
3
950
400
-2
400
Allowable Allowable
Increase
Decrease
250
150
1E+30
250
50
100
37.5
125
Problem 5: wprowadzenie nowego
produktu
• “Hey Yall, I just got the best idea for a new flavor of Lip Gloss
called Limonette. To make some, 8 units of raw material are
needed and 7 hours of labor are needed. If I sell it for $7, will any
be produced?”, Jessica
• Rozwiązanie:
– Sprawdź, czy zmiana prawej strony jest w zakresie dopuszczalnej
zmiany.
– Oblicz “reduced cost” wg wzoru:
– Jeśli jest nieujemny, wtedy produkujemy
• W naszym przykładzie: 7-(3)(1)+(2)(0)-(1)(8)-(0)(7)=-4
• Problem kontrolny: Jaka musiałaby być cena, aby się opłacało
produkować? Odpowiedź: 11
Brzoskwinia Ananas Pomarańcza Mango
Limonett
e
Materiał
2
3
4
7
8
Godziny pracy
3
4
5
6
7
Cena ($)
4
6
7
8
7
Microsoft Excel 14.1 Sensitivity Report
Worksheet: [Workbook2]Sheet1
Report Created: 10/31/2011 3:35:03 PM
“reduced cost”: 7 - [ 3 * 1 – 2 * 0
+ 1 * 8 + 0 * 7 ] = -4
Variable Cells
Final Reduced Objective
Allowable Allowable
Cell
Name
Value
Cost
Coefficient
Increase
Decrease
$B$6 Zmienne decyzyjne Brzoskwinia
0
-1
4
1
1E+30
$C$6 Zmienne decyzyjne Ananas
400
0
6 0.666666667
0.5
$D$6 Zmienne decyzyjne Pomarańcza
150
0
7
1
0.5
$E$6 Zmienne decyzyjne Mango
400
0
8
2
1E+30
Constraints
Cell
$B$11
$B$12
$B$13
$B$14
Name
Materiały
Praca
Ilość łącznie
Ilość mango
Bo mango
nie chodzi
nam o
mango
Final Shadow Constraint
Value Price
R.H. Side
4600
1
4600
4750
0
5000
950
3
950
400
-2
400
Allowable Allowable
Increase
Decrease
250
150
1E+30
250
50
100
37.5
125
Bo chcemy
dodatkową
jednostkę
łącznie
Problem 6: Parametry
• “Guys, what would a graph of the optimal objective value look like
that used the amount of available raw materials as a parameter?”
Na pewno nie Jessica Simpson
• Rozwiązanie: W zakresie dopuszczalnej zmiany, tj. w przedziale
(4450,4850) zysk jest funkcją liniową zasobów materiałowych z
nachyleniem równym wysokości “shadow price”, czyli 1
• Następnie należy obliczyć ponownie problem dla zasobów
materiałowych równych np. 4449, dopuszczalny spadek wynosi
wówczas 549, a “shadow price” wynosi 2.
• Następnie obliczamy problem dla zasobów materiałowych równych
np. 3899. Nie ma rozwiązania dopuszczalnego.
• I na koniec liczymy dla 4851. Dopuszczalny wzrost wynosi 399 a
“shadow price” wynosi 0.
• W poszczególnych przedziałach funkcja jest liniowa, wg ogólnej
reguły będzie to funkcja wklęsła
3000
3050
3100
3150
3200
3250
3300
3350
3400
3450
3500
3550
3600
3650
3700
3750
3800
3850
3900
3940
3990
4040
4090
4140
4190
4240
4290
4340
4390
4440
4490
4540
4590
4640
4690
4740
4790
4840
4890
4940
4990
5040
5090
5140
5190
Funkcja zysku w zależności od zasobów
materiałowych
8000
7000
6000
5000
4000
3000
2000
1000
0
Problem pakowania plecaka –
ilustracja dualności
• Złodziej napada na magazyn z plecakiem.
• Plecak nie może być zbyt ciężki, bo złodziej go nie uniesie.
• W magazynie znajduje się dużo dobrze podzielnych
towarów np. złoto, srebro, pył diamentowy.
• Złodziej chce zapełnić plecak najbardziej cennymi
towarami. Jak zdecyduje co wziąć do plecaka?
Model
• Parametry:
•
W – maksymalna waga plecaka
N – ilość towarów w magazynie
wi – waga dobra i
vi – wartość dobra i
Zmienne decyzyjne:
xi – jak dużo towaru i włożyć do plecaka (udział całości tego co jest w magazynie)
• Funkcja celu:
Maksymalizuj wartość towarów
• Ograniczenia:
(a) Złodziej nie może wziąć więcej danego towaru niż jest w magazynie.
(b) Złodziej nie uniesie więcej niż plecak i siły pozwolą.
(c) Złodziej nie może ukraść ujemnej ilości towarów (jeśli jest złodziejem)
Model
• Problem można zatem sformułować jako ZPL:
Max
Przykład problemu prymalnego:
Problem złodzieja
• Podstawmy N=3, W=4, w=(2,3,4) i v=(5,20,3)
złoto, diamenty i srebro.
max
p.w.
Rozwiązanie problemu złodzieja: (x1,x2,x3)=(0.5, 1, 0)
Wartość funkcji celu: 22.5
Analiza
• Tylko jeden towar (złoto) jest wybrany w części
ułamkowej. Jest to ogólna zasada w problemach z
pakowaniem plecaka z N towarami.
• Intuicja:
– Optymalne rozwiązanie w tym przykładzie jest
jednoznaczne.
– Aby jednoznacznie wyznaczyć 3 niewiadome,
potrzebujemy 3 równania liniowe.
– Czyli przynajmniej 3 nasze ograniczenia muszą być
spełnione w postaci równości.
– Jedno ograniczenie to waga plecaka, ale pozostałe dwa
dotyczą ilości towarów 0≤xi≤1.
– Zatem tylko jeden towar może być wybrany w postaci
ułamkowej w optimum.
Syndyk wykupuje złodzieja
• Przypuśćmy, że syndykat przestępczy chce
wykupić skradzione towary od złodzieja.
• Proponują ceny y1 za złoto, y2 za diamenty,
y3 za srebro oraz y4 za kilogram plecaka.
• Ale złodziej może użyć 2 kilogramy
pojemności plecaka i całe swoje złoto, aby
wygenerować zysk 5 jednostek, czyli 2y4+y1
powinno wynosić przynajmniej 5.
Podobnie w przypadku pozostałych
towarów.
• Syndykat chciałby zminimalizować
całkowitą cenę, którą płaci złodziejowi
y1+y2+y3+4y4
• Ceny powinny być nieujemne, inaczej
złodziej nie sprzeda towarów i plecaka.
Przykład problemu dualnego: Problem
syndyka
• Problem syndyka można zatem przedstawić następująco:
min
p.w.
Rozwiązanie problemu syndyka: (y1,y2,y3,y4)=(0,12.5,0,2.5)
Optymalna wartość funkcji celu: 22.5
Rozwiązanie problemu syndyka:
(y1,y2,y3,y4)=(0,12.5,0,2.5) ceny dualne
Optymalna wartość funkcji celu: 22.5
Rozwiązanie problemu złodzieja:
(x1,x2,x3)=(0.5, 1, 0)
Optymalna wartość funkcji celu: 22.5
PROBLEM DUALNY: SYNDYKA
Microsoft Excel 14.1 Sensitivity Report
Worksheet: [Workbook3]Sheet5
Report Created: 11/1/2011 4:06:44
PM
Variable Cells
Cell
$B$2
$B$3
$B$4
$B$5
Name
y1
y2
y3
y4
Final Reduced Objective
Allowable
Allowable
Value
Cost
Coefficient
Increase
Decrease
0
0.5
1
1E+30
0.5
12.5
0
1 0.333333333 0.333333333
0
1
1
1E+30
1
2.5
0
4
1
1
Constraints
Cell
$F$7
$F$8
$F$9
Final Shadow Constraint Allowable
Name
Value Price
R.H. Side
Increase
min cena za złoto
5
0.5
5 8.333333333
min cena za diamenty
20
1
20
1E+30
min cena za srebro
10
0
3
7
Allowable
Decrease
3.5
12.5
1E+30
Rozwiązanie problemu złodzieja:
(x1,x2,x3)=(0.5, 1, 0)
Optymalna wartość funkcji celu: 22.5
Rozwiązanie problemu syndyka:
(y1,y2,y3,y4)=(0,12.5,0,2.5) ceny dualne
Optymalna wartość funkcji celu: 22.5
PROBLEM PRYMALNY: ZŁODZIEJA
Microsoft Excel 14.1 Sensitivity Report
Worksheet: [Workbook3]Sheet1
Report Created: 11/1/2011 1:53:00 PM
Variable Cells
Cell
Name
$B$2 x1
$B$3 x2
$B$4 x3
Final Reduced Objective
Allowable
Value
Cost
Coefficient
Increase
0.5
0
5 8.333333333
1
0
20
1E+30
0
-7
3
7
Allowable
Decrease
3.5
12.5
1E+30
Constraints
Final Shadow Constraint Allowable
Allowable
Cell
Name
Value Price
R.H. Side
Increase
Decrease
$F$6 waga plecaka
4
2.5
4
1
1
$F$7 ilość x1
0.5
0
1
1E+30
0.5
$F$8 ilość x2
1
12.5
1 0.333333333 0.333333333
$F$9 ilość x3
0
0
1
1E+30
1