Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Programowanie liniowe 2

Podobne prezentacje


Prezentacja na temat: "Programowanie liniowe 2"— Zapis prezentacji:

1 Programowanie liniowe 2
DMBO Programowanie liniowe 2

2 Rozwiązywanie problemów liniowych – ogólny przypadek
Dotychczas – forma standardowa Maksymalizacja Ograniczenia postaci ≤ Prawa strona ograniczeń ≥ 0 Wszystkie zmienne ≥ 0 Punkt (0,0,…,0) zawsze jest dopuszczalnym rozwiązaniem wierzchołkowym przy formie standardowej A co jeśli zadanie nie jest w formie standardowej?

3 Minimalizacja Przekształć w maksymalizację:
min Z = 12x1 + 5x2 – 7x3 max (–Z) = –12x1 – 5x2 + 7x3 Dla przypomnienia wstaw -1 w kolumnie Z tabelki simplex Po rozwiązaniu programu liniowego w postaci max: Pomnóż funkcję celu przez -1 Wartości zmiennych wzięte z tabelki są właściwym rozwiązaniem Drugi sposób – mniej popularny – rozwiązuj simplex w postaci minimalizacji ze zmienionymi regułami

4 Ograniczenia w postaci równości
W problemie firmy Rowerek: Wprowadzamy sztuczną zmienną a1 [artificial variable] Sztuczna zmienna różni się od zmiennej luzu – musimy ją zmusić, aby się wyzerowała, ponieważ punkt (x1,x2,s1,s2,a1) = (0,0,2,3,4) nie jest dopuszczalny.

5 Simplex dwufazowy Do tego służy 2-fazowy algorytm simplex
Faza 1: minimalizuj wartości wszystkich sztucznych zmiennych (u nas tylko a1); jeśli minimum wynosi 0, wówczas mamy dopuszczalne rozwiązanie wierzchołkowe … Faza 2: … z którego zaczynamy szukać rozwiązania problemu właściwego tak jak wcześniej

6 Faza 1 Przekształcamy min W = a1 + a2 + a3 + … max –W + a1 + a2 + a3 + … = 0 Właściwa funkcja celu również jest zapisywana w tabelce obok powyższej Pierwsza tabelka simplex fazy 1 nie jest nigdy w formie właściwej, ponieważ sztuczne zmienne, które są na początku zmiennymi bazowymi, pojawiają się dwa razy w kolumnie Potrzebna jest wstępna obróbka

7 Faza 1 Przekształcamy w formę właściwą
4 jednostki naruszenia ograniczenia d

8

9 Faza 1 Rozwiązując również pamiętamy o oryginalnej funkcji celu
Zakończyliśmy fazę 1. Musimy kontynuować fazę 2, ponieważ jest ujemny współczynnik w funkcji celu ph2

10 Faza 2 Rozwiązanie: (x1,x2,s1,s2) = (2,2,0,1); Z=50

11 Co się wydarzyło? Zaczynamy w wierzchołku, który jest niedopuszczalny dla fazy 2, ale jest dopuszczalny dla fazy 1 Fazę 1 kończymy w wierzchołku, który jest dopuszczalny zarówno w fazie 1, jak i w fazie 2

12 Zadanie sprzeczne Jeśli faza 1 kończy się i nadal wartość W jest dodatnia – zadanie jest sprzeczne Jak sprawdzić dlaczego: IIS – irreducible infeasible set – zazwyczaj bardzo mały podzbiór wszystkich ograniczeń, które łącznie są sprzeczne, ale Wyrzucenie jednego lub więcej ograniczeń z tego zbioru skutkuje zadaniem niesprzecznym

13 Ograniczenia typu ≥ z dodatnią prawą stroną
Ograniczenia tego typu powodują, że początek układu współrzędnych jest niedopuszczalny Nie możemy po prostu pomnożyć przez -1, bo wtedy prawa strona będzie ujemna Rozwiązanie: wprowadzamy zmienną nadmiaru [surplus variable] 3x1 + 5x2 ≥ 20 ⇒ 3x1 + 5x2 − s1 = 20. Zmienna nadmiaru nie może być użyta jako zmienna bazowa ograniczenia, w którym występuje, ponieważ jest -1 zamiast +1 Ale ograniczenie jest teraz w postaci równości, więc możemy je traktować tak, jak inne ograniczenia w tej postaci 3x1 + 5x2 − s1 + a1 = 20

14 Ujemna prawa strona nierówności
Problem – zmienna bazowa dla tego ograniczenia musiałaby przyjąć ujemną wartość, a nie może Rozwiązanie: pomnóż przez -1 i powstałe ograniczenie typu ≥, =, ≤ odpowiednio potraktuj

15 Przykładowa konwersja
min Z = 15x1 + 10x2 ← minimalizacja zamiast maksymalizacji x1 ≤ 2 x2 = 3 ← równość zamiast ≤ x1 + x2 ≥ 4 ← ≥ zamiast ≤ max (-W) + a1 + a2 = 0 [funkcja celu fazy 1] max (-Z) + 15x1 + 10x2 =0 [funkcja celu fazy 2] x1 + s1 = 2 x2 + a1 = 3 x1 + x2 – s2 + a2 = 4

16 Zmienne, które mogą być ujemne
Dwie możliwości: Ograniczenie dolne na ujemne wartości Na przykład poziom produkcji nie może spaść o więcej niż Lj od aktualnego poziomu xj ≥ Lj Rozwiązanie – zmiana zmiennych xj = xj′ + Lj Zmienna bez ograniczeń – na następnej stronie

17 Zmienna bez ograniczeń
Zmienna nieograniczona xj jest zastąpiona różnicą dwóch zmiennych nieujemnych xj = xj+ – xj- Simplex automatycznie przyporządkuje tylko jednej z tych zmiennych niezerową wartość Kolumny dla tych zmiennych są swoim lustrzanym odbiciem (w jednej -1 w drugiej +1), więc obie zmienne nie mogą być jednocześnie bazowe Jeśli xj+ > 0 to xj = xj+ Jeśli xj- > 0 to xj = - xj-, Jeśli xj+ =xj- = 0 to xj = 0. Jeśli mamy wiele zmiennych nieograniczonych, używamy dla każdej tej samej zmiennej xj-. W rozwiązaniu xj- jest wartością bezwględną najbardziej ujemnej zmiennej. Wówczas zmienne xj+ mówią, jak bardzo dana zmienna przewyższa tą najbardziej ujemną wartość

18 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

19 Dane do problemu Jessica sprzedaje 4 rodzaje błyszczyka do ust.
Brzoskwinia Ananas Pomarańcza Mango Materiał 2 3 4 7 Godziny pracy 5 6 Cena ($) 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

20 Zadanie programowania Liniowego
Ilość wyprodukowanego błyszczyka: X1: brzoskwiniowy X2: ananasowy X3: pomarańczowy X4: mango max

21 Rezultat Co może się zmienić w modelu?: Ceny produktów
Zmienne decyzyjne 400 150 Funkcja celu 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?

22 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 $C$6 Zmienne decyzyjne Ananas 400 $D$6 Zmienne decyzyjne Pomarańcza 150 $E$6 Zmienne decyzyjne Mango Constraints Lagrange Multiplier $B$11 Materiały 4600 1 $B$12 Praca 4750 $B$13 Ilość łącznie 950 3 $B$14 Ilość mango -2

23 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

24 Właściwy raport wrażliwości
Zmienne decyzyjne 400 150 Funkcja celu 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 Cell Name Value Cost Coefficient Increase Decrease $B$6 Zmienne decyzyjne Brzoskwinia -1 4 1 1E+30 $C$6 Zmienne decyzyjne Ananas 400 6 0.5 $D$6 Zmienne decyzyjne Pomarańcza 150 7 $E$6 Zmienne decyzyjne Mango 8 2 Constraints Shadow Constraint Price R.H. Side $B$11 Materiały 4600 250 $B$12 Praca 4750 5000 $B$13 Ilość łącznie 950 3 50 100 $B$14 Ilość mango -2 37.5 125

25 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 < 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?

26 Microsoft Excel 14.1 Sensitivity Report
Worksheet: [Workbook2]Sheet1 Report Created: 10/31/2011 3:35:03 PM Variable Cells Final Reduced Objective Allowable Cell Name Value Cost Coefficient Increase Decrease $B$6 Zmienne decyzyjne Brzoskwinia -1 4 1 1E+30 $C$6 Zmienne decyzyjne Ananas 400 6 0.5 $D$6 Zmienne decyzyjne Pomarańcza 150 7 $E$6 Zmienne decyzyjne Mango 8 2 Constraints Shadow Constraint Price R.H. Side $B$11 Materiały 4600 250 $B$12 Praca 4750 5000 $B$13 Ilość łącznie 950 3 50 100 $B$14 Ilość mango -2 37.5 125

27 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

28 Microsoft Excel 14.1 Sensitivity Report
Worksheet: [Workbook2]Sheet1 Report Created: 10/31/2011 3:35:03 PM Variable Cells Final Reduced Objective Allowable Cell Name Value Cost Coefficient Increase Decrease $B$6 Zmienne decyzyjne Brzoskwinia -1 4 1 1E+30 $C$6 Zmienne decyzyjne Ananas 400 6 0.5 $D$6 Zmienne decyzyjne Pomarańcza 150 7 $E$6 Zmienne decyzyjne Mango 8 2 Constraints Shadow Constraint Price R.H. Side $B$11 Materiały 4600 250 $B$12 Praca 4750 5000 $B$13 Ilość łącznie 950 3 50 100 $B$14 Ilość mango -2 37.5 125

29 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.

30 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 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

31 Microsoft Excel 14.1 Sensitivity Report
Worksheet: [Workbook2]Sheet1 Report Created: 10/31/2011 3:35:03 PM Variable Cells Final Reduced Objective Allowable Cell Name Value Cost Coefficient Increase Decrease $B$6 Zmienne decyzyjne Brzoskwinia -1 4 1 1E+30 $C$6 Zmienne decyzyjne Ananas 400 6 0.5 $D$6 Zmienne decyzyjne Pomarańcza 150 7 $E$6 Zmienne decyzyjne Mango 8 2 Constraints Shadow Constraint Price R.H. Side $B$11 Materiały 4600 250 $B$12 Praca 4750 5000 $B$13 Ilość łącznie 950 3 50 100 $B$14 Ilość mango -2 37.5 125

32 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.

33 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.

34 Microsoft Excel 14.1 Sensitivity Report
Worksheet: [Workbook2]Sheet1 Report Created: 10/31/2011 3:35:03 PM Variable Cells Final Reduced Objective Allowable Cell Name Value Cost Coefficient Increase Decrease $B$6 Zmienne decyzyjne Brzoskwinia -1 4 1 1E+30 $C$6 Zmienne decyzyjne Ananas 400 6 0.5 $D$6 Zmienne decyzyjne Pomarańcza 150 7 $E$6 Zmienne decyzyjne Mango 8 2 Constraints Shadow Constraint Price R.H. Side $B$11 Materiały 4600 250 $B$12 Praca 4750 5000 $B$13 Ilość łącznie 950 3 50 100 $B$14 Ilość mango -2 37.5 125

35 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

36 Bo mango nie chodzi nam o mango
Brzoskwinia Ananas Pomarańcza Mango Limonette Materiał 2 3 4 7 8 Godziny pracy 5 6 Cena ($) Bo mango nie chodzi nam o mango “reduced cost”: 7 - [ 3 * 1 – 2 * * * 7 ] = -4 Microsoft Excel 14.1 Sensitivity Report Worksheet: [Workbook2]Sheet1 Report Created: 10/31/2011 3:35:03 PM Variable Cells Final Reduced Objective Allowable Cell Name Value Cost Coefficient Increase Decrease $B$6 Zmienne decyzyjne Brzoskwinia -1 4 1 1E+30 $C$6 Zmienne decyzyjne Ananas 400 6 0.5 $D$6 Zmienne decyzyjne Pomarańcza 150 7 $E$6 Zmienne decyzyjne Mango 8 2 Constraints Shadow Constraint Price R.H. Side $B$11 Materiały 4600 250 $B$12 Praca 4750 5000 $B$13 Ilość łącznie 950 3 50 100 $B$14 Ilość mango -2 37.5 125 Bo chcemy dodatkową jednostkę łącznie

37 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 Nie ma rozwiązania dopuszczalnego. I na koniec liczymy dla 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

38 Funkcja zysku w zależności od zasobów materiałowych

39 Problem zdegenerowany
3 dziwne zachowania mogą się zdarzyć, gdy bazowe rozwiązanie dopuszczalne (BFS) jest zdegenerowane: W zakresie, w którym baza jest niezmienna przynajmniej jedno oraniczenie będzie miało zerowy dopuszczalny wzrost lub spadek (allowable increase/decrease) To znaczy, że przynajmniej dla jednego ograniczenia, “shadow price” może nam powiedzieć o nowej wartości albo dla wzrostu albo dla spadku, ale nie dla obu Dla niebazowej zmiennej, aby stała się bazowa (dodatnia), współczynnik funkcji celu przy tej zmiennej niebazowej może musi być podniesiony o więcej niż jej “reduced cost” Podniesienie współczynnika funkcji celu o więcej niż jego dopuszczalny wzrost lub spadek może nie zmienić optymalnego rozwiązania Zapamiętaj, aby zawsze najpierw sprawdzić, czy aktualne rozwiązanie jest zdegenerowane

40 Przydatne techniki Minimax i maximin, np. min max(y1, y2,…, yM)
Wprowadzamy nową zmienną z, zmieniamy funkcję celu na min z i dodatkowe ograniczenia z ≥ yi, dla i=1,2,…,M Minimalizacja wartości bezwględnej, min |x| Zapisujemy jako min max (x,-x), a dalej jak powyżej Ograniczenia w postaci min/max/wartość bezwględna Ograniczenie minki=1 (ciTx) ≥ α zapisujemy jako ciTx) ≥ α, dla i=1,2,…,k Tak samo ograniczenie maxki=1 (ciTx) ≤ α zapisujemy jako ciTx) ≤ α, dla i=1,2,…,k Z kolei ograniczenie |cTx| ≤ α zapisujemy jako max (cTx,-cTx) ≤ α Niestety ograniczeń: minki=1 (ciTx) ≤ α, maxki=1 (ciTx) ≥ α, |cTx| ≥ α nie da się zamienić na liniowe.


Pobierz ppt "Programowanie liniowe 2"

Podobne prezentacje


Reklamy Google