Programowanie liniowe - Katedra Badań Operacyjnych
Transkrypt
Programowanie liniowe - Katedra Badań Operacyjnych
Programowanie liniowe Schemat postępowania w badaniach operacyjnych decydent sytuacja decyzyjna decyzje zadanie decyzyjne zmienne decyzyjne decyzje dopuszczalne niedopuszczalne warunki ograniczające zbiór rozwiązań dopuszczalnych (ZRD) kryterium wyboru funkcja celu (kryterium) Sytuacja decyzyjna Model matematyczny Rozwiązanie zadania Interpretacja wyników Analiza wrażliwości Przykład 1. Ustalanie struktury produkcji Warsztat produkuje dwa wyroby A i B, do produkcji których potrzebne są stal (1 kg na wyrób A i 4 kg na wyrób B) oraz siła robocza (odpowiednio 2 rh i 3 rh). Warsztat dziennie może wykorzystać 14 kg stali, i 13 h pracy zatrudnionych pracowników. Ustalić plan produkcji maksymalizujący łączny przychód ze sprzedaży, przy założeniu, że cena wyrobu A wynosi 1000 zł/szt, a wyrobu B 2000 zł/szt. Tabela parametrów Wyszczególnienie Jedn. Zapas 1 Zmienne Model matematyczny ZPL - zadanie programowania liniowego f(x) = c1x1 + c2x2 → max a11 x1 + a12 x2 ≤ b1 a21 x1 + a22 x2 ≤ b2 x1 , x2 ≥ 0 c= A= b= x= Postać macierzowa ZPL f(x) = cTx → max Ax≤b x ≥0 x - wektor zmiennych c - wektor współczynników funkcji celu (wag) A - macierz współczynników (kombinacji równoważnej) b - wektor wyrazów wolnych (prawa strona - RHS) Rozwiązanie zadania – metoda geometryczna 2 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Interpretacja wyników Analiza wrażliwości Analiza Analiza wrażliwości wrażliwości Analiza wektorowa Co się zmieni w rozwiązaniu, jeżeli zmienimy cały wektor parametrów? Analiza parametryczna Jak może się zmieniać wybrany parametr, przy niezmienionych pozostałych parametrach, aby rozwiązanie optymalne pozostało stabilne. 3 Przykład: Co się stanie, jeżeli cena zarówno wyrobu A, jak i B wzrośnie o 1 tys. zł? x2 6 5 4 C 3 (1) 2 1 D 0 1 2 3 4 5 6 x1 (2) Przykład: W jakich granicach może zmieniać się cena wyrobu A, nie zmieniając rozwiązania optymalnego? x2 6 5 4 C 3 (1) 2 1 0 D 1 2 3 4 5 6 x1 (2) 4 c1 = 1 Dopuszczalny spadek = 1/2 Dopuszczalny wzrost = 1/3 c2 = 2 Dopuszczalny spadek = 1/2 Dopuszczalny wzrost = 2 Przykład W jakich granicach może zmieniać się zapas stali, by zachować stabilność rozwiązania? x2 6 5 4 C 3 (1) 2 1 0 D 1 2 3 4 5 6 x1 (2) x2 6 5 4 C 3 (1) 2 1 0 D 1 2 3 4 5 6 x1 (2) 5 b1 = 1 Dopuszczalny spadek = 7 1/2 Dopuszczalny wzrost = 3 1/3 b2 = 2 Dopuszczalny spadek = 2 1/2 Dopuszczalny wzrost = 15 Wrażliwość na zmiany wartości parametrów c b ZRD Nie Tak Gradient Tak Nie Współrzędne punktu optymalnego Wartość funkcji celu Nie Tak Tak Tak Rozwiązanie szczegółowe Rozwiązanie ogólne Badanie stabilności Zadanie dualne ZP - zadanie prymalne ZD - zadanie dualne f(x) = cTx → max g(y) = bTy → min yAT ≥ c Ax≤b yi ≥ 0 dla ∀i : ∑ a x ≤ b x≥ 0 yi ≤ 0 dla ∀i : ∑ a x ≥ b yi ∈R dla ∀i : ∑ a x = b n j =1 ij j i ij j i n j =1 n j =1 ij j i 6 Typy rozwiązań ZPL Rozwiązanie ZPL Istnieje rozwiązanie optymalne Jedno Brak rozwiązania optymalnego Wiele Układ sprzeczny x2 Niemożność wskazania rozwiązania optymalnego x2 f(x)-> max f(x)-> max (1) x1 x2 x1 x2 ZRD ∈ ∅ f(x)-> max x1 x1 7 (2) Rozwiązanie zadania w arkuszu Excel A Stan wyjściowy B x c (1) (2) Rozwiązanie końcowe 0 1 1 2 A x c (1) (2) Microsoft Excel 8.0 Raport wyników B 2 1 1 2 0 2 4 3 8 14 13 3 2 4 3 14 13 8 14 13 14 13 Komórka celu (Maks) Wartość końcowa Komórka NazwaWartość początkow $D$4 c 0 8 Komórki decyzyjne Wartość końcowa Komórka NazwaWartość początkow $B$3 xA 0 2 $C$3 xB 0 3 Warunki ograniczające Komórka Nazwa Wartość komórki formuła $D$5 (1) 14 $D$5<=$E$5 $D$6 (2) 13 $D$6<=$E$6 $B$3 xA 2 $B$3>=0 $C$3 xB 3 $C$3>=0 Status Wiążące Wiążące Nie wiążące Nie wiążące Luz 0 0 2 3 Microsoft Excel 8.0 Raport wrażliwości Komórki decyzyjne Komórka Nazwa $B$3 $C$3 xA xB Wartość końcowa Przyrost krańcowy Współczynnik funkcji celu 2 3 0 0 1 2 Wartość końcowa Cena dualna Prawa strona w. o. 14 13 0,2 0,4 14 13 Dopuszczalny Dopuszczalny wzrost spadek 0,3333333 2 0,5 0,5 Warunki ograniczające Komórka Nazwa $D$5 $D$6 (1) (2) Dopuszczalny Dopuszczalny wzrost spadek 3,3333333 15 7,5 2,5 8 Przykład 2. Zagadnienie diety Stwierdzono, że należy spożywać co najmniej 60 g białka i co najmniej 120 g węglowodanów. Ser zawiera (w 100 g) po 2 gramy białka i węglowodanów. Z kolei w chlebie założono, że jest 1 gram białka i 3 gramy węglowodanów. Ustalić najtańszą możliwą dietę, zakładając, że ser kosztuje 30 zł/kg, a chleb 20 zł/kg. Literatura 1. M.Anholcer, H.Gaspars, A.Owczrkowski Przykłady i zadania z badań operacyjnych i ekonometrii AE Poznań’2003 (skrypt nr 140) 2. E.Ignasiak (red.) Badania operacyjne PWE’2000 3. B.Guzik (red.) Ekonometria i badania operacyjne. Zagadnienia podstawowe, (skrypt AE Poznań) 4. B.Guzik (red.) Ekonometria i badania operacyjne. Uzupełnienia z badań operacyjnych, (skrypt AE Poznań) 5. K.Kukuła (red.) Badania operacyjne w przykładach i zadaniach, PWN 6. T.Trzaskalik Wprowadzenie do badań operacyjnych z komputerem, PWE 2003 9