Algorytm simplex 1 Istota algorytmu simpleks polega na badaniu
Transkrypt
Algorytm simplex 1 Istota algorytmu simpleks polega na badaniu
Badania operacyjne Ćwiczenia 3: Algorytm simplex Istota algorytmu simpleks polega na badaniu kolejnych rozwiązań bazowych programu liniowego o postaci kanonicznej w taki sposób, że: a) znajdujemy dowolne rozwiązanie bazowe programu, b) sprawdzamy czy jest ono optymalne, c) jeżeli dane rozwiązanie nie jest optymalne, znajdujemy następne rozwiązanie bazowe lepsze (lub przynajmniej nie gorsze) od poprzedniego. Algorytm simpleks jest zatem procedurą iteracyjną, etapową. Kończy się w momencie stwierdzenia, ze aktualnego rozwiązania bazowego nie można już poprawić (czyli jest ono optymalne). Wyniki poszczególnych etapów (iteracji) zestawia się w kolejnych tablicach simpleks. Każdy program liniowy, np.: a 11 x 1 a 12 x 2 a m1 x 1 a m 2 x 2 x , x , , x 0 n 1 2 c1 x1 c 2 x 2 a mn x n a 1n x n b1 bm c n x n max można zapisać w postaci macierzowej: Ax b x0 cx max gdzie: a11 a A 21 am1 a12 a22 am 2 a1n a2 n , amn x1 x x 2, xn b1 b b 2 , bm c c1 c2 cn Przed przystąpieniem do budowy I tablicy simpleks, sprowadzamy program liniowy do postaci kanonicznej: a) w przypadku nierówności typu „ ” do jej lewej strony dodajemy zmienną swobodną (slack variable), która wchodzi do pierwszego rozwiązania bazowego, b) w przypadku nierówności typu „ ” od jej lewej strony odejmujemy zmienną swobodną (surplus variable) i dodajemy zmienną sztuczną (ang. artificial variable). W tym wypadku do pierwszej bazy wchodzi zmienna sztuczna, c) W przypadku warunku będącego równaniem, do jego lewej strony dodajemy zmienną sztuczną, która wchodzi do pierwszej bazy. Do funkcji celu zmienne swobodne wchodzą ze współczynnikami równymi 0, zmienne sztuczne – ze współczynnikami M, takimi że M . Zmienne swobodne mogą znaleźć się w końcowym rozwiązaniu programu liniowego. Interpretujemy je wtedy jako niewykorzystane zapasy (slack) lub nadmiar ponad wymagane normy (surplus) w zależności od znaku nierówności. Zmienne sztuczne z kolei nie mogą znaleźć się w końcowym rozwiązaniu (pełnią one rolę „czujników” wskazujących czy dane zagadnienie posiada rozwiązanie), dlatego w funkcji celu która jest maksymalizowana zmienne sztuczne występują ze współczynnikami –M (w ten sposób sztucznie zaniżając wartość funkcji celu), natomiast w funkcji celu która jest minimalizowana, zmienne sztuczne występują ze współczynnikami +M (sztucznie zawyżają wartość funkcji celu). 1 Badania operacyjne Ćwiczenia 3: Algorytm simplex Macierzowa postać pierwszej tablicy simpleksowej c cb xb A b I zj 0 cj z j c Ostatni wiersz tablicy simpleksowej cj–zj nazywamy wierszem zerowym lub kryterium simpleks. Jego elementy, odpowiadające poszczególnym zmiennym informują, o ile zmieni się aktualna w danej iteracji wartość funkcji celu, jeśli jedną jednostkę tej zmiennej wprowadzimy do nowej (kolejnej bazy). Służy więc do sprawdzenia czy aktualne rozwiązanie jest optymalne. Gdy funkcja celu jest maksymalizowana, rozwiązanie dotąd nie będzie optymalne, dopóki w wierszu zerowym będą występować liczby nieujemne (dodatnie liczby świadczą, że wprowadzenie do bazy zmiennej której odpowiada dodatni współczynnik, zwiększy wartość funkcji celu). Jeśli funkcja celu jest minimalizowana, kolejne rozwiązania dotąd nie są optymalne, dopóki w wierszu zerowym występują wielkości niedodatnie (znaczy to, że wartość funkcji celu można obniżyć). Macierzowa postać tablicy simpleksowej dla l-tej iteracji cbl Zmienne bazowe xbl Bl1 A zj T b cj z j Rozwiązanie c Bl1 1 l T b 1 l c B c B A Bl1b T b 1 l c B b ← wartości zmiennych bazowych ← wartość funkcji celu cbT Bl1 c cbT Bl1 A Zadanie 1 Przedsiębiorstwo produkuje dwa wyroby W1 i W2. Ograniczeniem w procesie produkcji są zapasy trzech zasobów: S1, S2, S3. W tablicy podano jednostkowe nakłady surowców na produkcję wyrobów, zapasy surowców oraz ceny wyrobów: Surowce S1 S2 S3 Cena (w zł) Zużycie surowca (w kg) na 1 szt. wyrobu W1 W2 2 1 3 3 1,5 30 20 Zapas surowca (kg) 1000 2400 600 Korzystając z metody simpleks ustalić rozmiary produkcji wyrobów W 1 i W2, które gwarantują maksymalny przychód ze sprzedaży przy istniejących zapasach surowców. Zadanie 2 Fabryka celulozy i papieru otrzymała zamówienie na wykonanie 150 zwojów papieru o szerokości 105 cm, 200 zwojów papieru o szerokości 75 cm i 150 zwojów papieru o szerokości 35 cm. Jako surowiec zostanie użyty papier zrolowany o szerokości 2 m. W jaki sposób fabryka ma zrealizować zamówienie przy założeniu, że w procesie ciecia papieru odpad będzie jak najmniejszy? 2 Badania operacyjne Ćwiczenia 3: Algorytm simplex Zadanie 3 Krawcowa otrzymuje od producenta resztki lniane o standardowej szerokości 1,2 m i długości 4,8 m. Z resztek tych szyje obrusy, które oddaje do sklepu. Na najbliższy miesiąc sklep zamówił 600 obrusów prostokątnych, o długości 1,5 m i 200 obrusów kwadratowych o długości 1,2 m (szerokość obrusów odpowiada szerokości resztek – 1,2 m). W jaki sposób krawcowa powinna pociąć posiadany surowiec, aby zrealizować zamówienie, minimalizując odpady powstałe w procesie cięcia, jeżeli koszt 1m odpadów wynosi 3 zł? Zadanie 4 Należy ustalić dzienne wielkości zakupu trzech pasz – P1, P2 i P3, potrzebnych do wykarmienia drobiu. Pasze te dostarczają dwóch składników odżywczych S1 i S2, których minimalne ilości, jakie powinny być zawarte w diecie, wynoszą odpowiednio 30 i 40 jednostek wagowych. Zawartość składników odżywczych w 1 kg każdej z pasz pokazuje tabela: Składniki Zawartość składników odżywczych w 1 kg odżywcze P1 P2 P3 S1 S2 0 2 1 1 2 0 Które pasze i w jakich ilościach powinny być kupowane, aby koszt hodowli był minimalny, jeśli wiadomo, że ceny pasz wynoszą odpowiednio 5, 4 i 3 zł/kilogram. Zadanie rozwiązać za pomocą algorytmu simpleks, zinterpretować wyniki. Zadanie 5 Pewna firma produkuje dwa rodzaje pojazdów: ciężarówki i autobusy. Produkcja może przebiegać w dwóch fabrykach. W fabryce pierwszej na wyprodukowanie ciężarówki potrzebnych jest 3,75 dni roboczych, natomiast na wyprodukowanie autobusu 2 dni robocze. W fabryce drugiej na wyprodukowanie autobusu potrzebne są 3 dni robocze, na wyprodukowanie ciężarówki potrzebne jest 1,25 dnia roboczego. Liczba roboczogodzin w jednym tygodniu wynosi dokładnie: fabryka pierwsza – 130, fabryka druga – 180. Zysk z wyprodukowania autobusu wynosi 1500 zł, a ciężarówki 2000 zł. Zakładając, że dzień roboczy składa się z 8 roboczogodzin i pracuje się tylko pięć dni w tygodniu, ułóż plan produkcji na cały miesiąc (4 tygodnie) dla wspomnianej firmy tak, aby zmaksymalizować zysk. 3