Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Rozpatrzmy następujące zadanie programowania liniowego:

Podobne prezentacje


Prezentacja na temat: "Rozpatrzmy następujące zadanie programowania liniowego:"— Zapis prezentacji:

1 Przykład rozwiązania zagadnienia programowania liniowego przy użyciu metody simplex

2 Rozpatrzmy następujące zadanie programowania liniowego:
W przedsiębiorstwie Kubuś Puchatek wytwarza się m.in. dwa rodzaje maskotek: Kłapouchy i Prosiaczek. Do uszycia maskotek potrzebne są m.in. guziki, które przedsiębiorstwo posiada w ilościach ograniczonych. Na uszycie jednego Kłapouchego zużywane są dwa guziki niebieskie i jeden czerwony, natomiast do uszycia Prosiaczka potrzeba jednego guzika niebieskiego i aż trzech czerwonych. Wiedząc, że zysk ze sprzedaży jednego Kłapouchego wynosi 3 zł, a ze sprzedaży Prosiaczka 2 zł, oraz że przedsiębiorstwo KP posiada na stanie 160 guzików niebieskich i 100 guzików czerwonych wyznacz wielkość produkcji Kłapouchych i Prosiaczków, która maksymalizuje zysk przedsiębiorstwa.

3 Rozwiązanie zaczniemy od sformułowania zagadnienia w postaci standardowej
Niech: x1 – oznacza ilość sztuk wytworzonych maskotek Kłapouchy x2 – oznacza ilość sztuk wytworzonych maskotek Prosiaczek Wtedy układ warunków ograniczających jest postaci Natomiast funkcja kryterium dana jest wzorem

4 Następnie sformułujemy zagadnienie w postaci kanonicznej
Niech: s1 – oznacza pierwszą zmienną swobodną s2 – oznacza drugą zmienną swobodną Sprowadzamy zagadnienie do postaci kanonicznej i mamy Natomiast funkcja kryterium dana jest wzorem

5 Pierwsza tablica simpleks
cj 3 2 Zmienne bazowe cb x1 x2 s1 s2 s1 2 1 1 160 s2 1 3 1 100 W pierwszej kolejności uzupełniamy wiersz zmiennych decyzyjnych oraz wektor cen funkcji kryterium. Następnie uzupełniamy macierz parametrów warunków ograniczających zagadnienia w postaci kanonicznej, oraz prawe strony ograniczeń strukturalnych. Do pierwszej bazy wchodzą zmienne swobodne.

6 Pierwsza tablica simpleks
cj 3 2 Zmienne bazowe cb x1 x2 s1 s2 Rozwiązanie s1 2 1 1 160 s2 1 3 1 100 zj cj – zj 3 2 Wartości wiersza zj dla poszczególnych kolumn oblicza się jako sumę iloczynów współczynników odpowiadających poszczególnym zmiennym i współczynników funkcji celu dla zmiennych bazowych. Wyraz w ostatniej kolumnie w wierszu zj jest wartością funkcji kryterium dla bazy z aktualnej iteracji. Ostatni wiersz tablicy simpleksowej cj – zj zwany jest kryterium simpleks. Jego elementy odpowiadające poszczególnym zmiennym (kolumnom) informują, o ile zmieni się aktualna w danej iteracji wartość funkcji celu, jeżeli jedną jednostkę tej zmiennej wprowadzimy do nowej (kolejnej) bazy. Można łatwo zauważyć, że rozwiązanie bazowe nie będzie rozwiązaniem optymalnym, dopóki w wierszu tym będą występować wartości dodatnie.

7 Pierwsza tablica simpleks
cj 3 2 Zmienne bazowe Kryterium wyjścia cb x1 x2 s1 s2 Rozwiązanie s1 2 1 1 160 80 s2 1 3 1 100 100 zj cj – zj 3 2 W tej tablicy największe kryterium simpleks odpowiada zmiennej x1, zatem ta zmienna wejdzie do kolejnej bazy. O tym, która zmienna opuści bazę, decydują wartości kolumny Kryterium wyjścia obliczane jako iloraz wartości elementów kolumny Rozwiązanie przez elementy kolumny zmiennej wchodzącej w danej iteracji do bazy, czyli zmiennej x1. Najmniejsza wartość kolumny Kryterium wyjścia wskazuje na zmienną, którą należy usunąć z bazy. W tej tablicy bazę opuści zmienna s1.

8 Druga tablica simpleks
cj 3 2 Zmienne bazowe Kryterium wyjścia cb x1 x2 s1 s2 Rozwiązanie 3 x1 1 0,5 0,5 80 160 s2 2,5 -0,5 1 20 8 zj 3 1,5 1,5 240 cj – zj 0,5 -1,5 Tak jak w wypadku pierwszej tablicy, uzupełnianie drugiej tablicy simpleks zaczynamy od wiersza zmiennych decyzyjnych oraz wektora cen funkcji kryterium. Do Zmiennych bazowych weszła zmienna x1 w miejsce zmiennej s1. W wierszu, w którym wstawiliśmy nową zmienną bazową dzielimy wszystkie wyrazy z poprzedniej tablicy simpleks przez wyraz stojący na skrzyżowaniu wiersza i kolumny nowej zmiennej bazowej. W tej iteracji do bazy wstawiliśmy zmienną x1, zatem podzielimy wyrazy pierwszego wiersza przez 2. Pozostałe wiersze przekształcamy w taki sposób, że dodajemy do nich taką wielokrotność przekształconego przed chwilą wiersza, aby w kolumnie odpowiadającej nowo wstawionej zmiennej bazowej znajdowały się zera. Pozostałe elementy tablicy uzupełniamy analogicznie jak w poprzednim kroku. Widzimy zatem, że bazę opuści zmienna s2, a w jej miejsce wejdzie zmienna x2.

9 Druga tablica simpleks
cj 3 2 Zmienne bazowe Kryterium wyjścia cb x1 x2 s1 s2 Rozwiązanie 3 x1 1 0,5 0,5 80 160 s2 2,5 -0,5 1 20 8 zj 3 1,5 1,5 240 cj – zj 0,5 -1,5 Po pierwszej iteracji można stwierdzić, że: Produkując 80 sztuk maskotek Kłapouchy oraz 0 sztuk maskotek Prosiaczek osiągniemy zysk w wysokości 240 zł. Wynik ten można poprawić wprowadzając do bazy zmienną x2.

10 Trzecia tablica simpleks
cj 3 2 Zmienne bazowe cb x1 x2 s1 s2 Rozwiązanie 3 x1 1 0,6 -0,2 76 2 x2 1 -0,2 0,4 8 zj 3 2 1,4 0,2 244 cj – zj -1,4 -0,2 Do Zmiennych bazowych weszła zmienna x2 w miejsce zmiennej s2. W wierszu, w którym wstawiliśmy nową zmienną bazową dzielimy wszystkie wyrazy z poprzedniej tablicy simpleks przez wyraz stojący na skrzyżowaniu wiersza i kolumny nowej zmiennej bazowej. W tej iteracji do bazy wstawiliśmy zmienną x2, zatem podzielimy wyrazy przez 2,5. Pozostałe wiersze przekształcamy analogicznie jak w poprzedniej iteracji. Pozostałe elementy tablicy uzupełniamy analogicznie jak w poprzednim kroku. Zauważmy, że w wierszu cj – zj wystąpiły same niedodatnie liczby. Oznacza to, że rozwiązania nie da się już poprawić, zatem jest ono rozwiązaniem optymalnym.

11 Trzecia tablica simpleks
` cj 3 2 Zmienne bazowe cb x1 x2 s1 s2 Rozwiązanie 3 x1 1 0,6 -0,2 76 2 x2 1 -0,2 0,4 8 zj 3 2 1,4 0,2 244 cj – zj -1,4 -0,2 Rozwiązanie odczytujemy z ostatniej kolumny. Tak więc, aby osiągnąć maksymalny zysk ze sprzedaży należy wyprodukować 76 sztuk maskotek Kłapouchy oraz 8 sztuk maskotek Prosiaczek. Zysk wyniesie wtedy 244 zł. Z kolei z wiersza cj – zj z kolumn odpowiadających zmiennym swobodnym odczytujemy rozwiązanie zagadnienia dualnego. Ceny cienie interpretujemy w następujący sposób: Zwiększenie zasobu guzików niebieskich o 1 sztukę od wartości początkowej równej 160 sztuk, zwiększy wartość zysku o 1,40 PLN, przy niezmienionej ilości guzików czerwonych, równej 100 sztuk. Maksymalna cena, jaką warto zapłacić za dodatkowy guzik niebieski wynosi 1,40 zł, ceteris paribus.

12 Koniec


Pobierz ppt "Rozpatrzmy następujące zadanie programowania liniowego:"

Podobne prezentacje


Reklamy Google