Metoda simpleks opracowanie na podstawie „Metody wspomagające podejmowanie decyzji w zarządzaniu” D. Witkowska, Menadżer Łódź 2000. Simpleks jest uniwersalną metodą rozwiązywania zadań programowania liniowego. Jest to metoda iteracyjnego poprawiania wstępnego rozwiązania
Zmienne swobodne Przekształcamy model tak, aby można było zastosować algorytm simpleks. Przekształcamy warunki ograniczające w równania dopisując do nich nieujemne zmienne, tzw. zmienne swobodne w następujący sposób: do każdego warunku postaci “” dodaje się zmienną swobodną z parametrem równym jeden do każdego warunku postaci “” dodaje się zmienną swobodną ze współczynnikiem -1 Zmienne swobodne posiadają interpretację ekonomiczną wynikającą z informacji zawartej w warunkach ograniczających, do których zostały wprowadzone. Dodane zmienne wchodzą również do nowej funkcji kryterium, gdzie parametry przy zmiennych swobodnych przyjmują wartość zero
Model matematyczny I Zmienne decyzyjne : x1 - liczba emisji reklamy radiowej; x2 - liczba emisji reklamy telewizyjnej. funkcja celu: f(x)=3x1 + 6x2 min (koszty zleceniodawcy w tys. zł) warunki ograniczające: 2 x1 + x2 6 warunek na koszty ponoszone przez firmę "Press", x1 + x2 2 warunek zleceniodawcy na emisję reklam, x2 1 dolne ograniczenie uwzględniające żądanie zleceniodawcy, x2 4 górne ograniczenie dotyczące warunków nałożonych przez TV, warunki brzegowe: x1 0, x2 0, x1C, x2 C.
Sprowadzamy warunki ograniczające do równości Zmienne decyzyjne : x1 ;x2 s1,s2,s3,s4 funkcja celu: f(x)=3x1 + 6x2 + 0s1 +0s2 +0s3 +0s4min warunki ograniczające: 2x1 + x2 + s1 = 6 x1 + x2 - s2 = 2 x2 - s3 =1 x2 + s4 = 4 warunki brzegowe: x10, x20, s10, s20, s30, s40, x1,x2,s1,s2,s3,s4C .
Tablica simpleksowa
Zmienne sztuczne Jeżeli z macierzy współczynników tak powstałych równań nie da się wyodrębnić macierzy jednostkowej, to do warunków, które od początku były warunkami postaci równania oraz do warunków, które pierwotnie były postaci “” dopisuje się tzw. zmienne sztuczne .
Zmienne sztuczne c.d. Dodane zmienne wchodzą również do nowej funkcji kryterium, gdzie parametry przy zmiennych swobodnych przyjmują wartość zero, natomiast parametry przy zmiennych sztucznych zależą od optimum funkcji celu: w zadaniach z funkcją celu dążącą do maximum jest to -M, w zadaniach z funkcją celu dążącą do minimum jest to +M, gdzie M jest dowolnie dużą liczbą rzeczywistą dodatnią (M+).
Tablica simpleksowa
Po powyższych przekształceniach otrzymujemy model postaci: f(x)=3x1 + 6x2 + 0s1 +0s2 +0s3 +0s4 + Mt1 + Mt2 min 2x1 + x2 + s1 = 6 x1 + x2 - s2 + t2= 2 x2 - s3 + t3 =1 x2 + s4 = 4 x1 0, x2 0, s1 0, s2 0, s3 0, s4 0, t2 = 0, t3 = 0. x1, x2, s1, s2, s3, s4, t2, t3C
Optymalność rozwiązania W celu sprawdzenia optymalności otrzymanego rozwiązania obliczamy współczynniki zj i j wg wzoru: Wartość współczynnika optymalności j określa jednostkową zmianę wartości funkcji kryterium, jeżeli do bazy wprowadzimy daną zmienną (dla wszystkich zmiennych bazowych j=0).
Jeżeli wartość j jest ujemna, to oznacza, że wprowadzenie danej zmiennej do bazy spowoduje spadek wartości funkcji celu. Zatem wartość funkcji kryterium można uzależnić od jej wartości w poprzedniej iteracji:
Rozwiązanie optymalne Rozwiązanie jest optymalne, jeżeli nie występują zmienne niebazowe, których wprowadzenie do bazy byłoby pożądane: w zadaniu z funkcją celu dążącą do minimum takie zmienne, które powodowałyby spadek wartości tej funkcji (j<0), a w przypadku zadań, w których funkcja celu dąży do maksimum takie zmienne, które powodowałyby jej wzrost (j>0).
Rozwiązanie optymalne
Tablica simpleksowa (min) Rozwiązanie jest nieoptymalne, bo wskaźniki optymalności j<0
Kryterium wejścia do bazy W następnym kroku algorytmu wprowadzamy do bazy tę zmienną, która spowoduje najbardziej korzystne efekty: ma największe dodatnie wartości j w zadaniach na max najmniejsze ujemne wartości j w zadaniach z funkcją celu dążącą do minimum.
Tablica simpleksowa (min) Do bazy wejdzie x2 Najmniejsza ujemna
Kryterium wyjścia z bazy Z uwagi na to, że liczba zmiennych w bazie musi być stała (i równa liczbie warunków ograniczających), należy wyznaczyć zmienną, która bazę opuści. Obliczamy w tym celu wskaźniki Q , wg wzoru: Współczynniki wyznacza się wyłącznie dla >0 w celu uzyskania w kolejnej iteracji rozwiązania dopuszczalnego (spełniającego warunki brzegowe). Zmienną, która opuszcza bazę jest ta, dla której ma najmniejszą wartość.
Tablica simpleksowa (min) W kolejnej iteracji zamiast zmiennej t3 pojawi się x2 Tablica simpleksowa (min) Najmniejsza wartość
Tablica simpleksowa (min)
Tablica simpleksowa (min) Przepisany z poprzedniej iteracji
Tablica simpleksowa (min) Od elementów wiersza pierwszego odejmujemy elementy wyróżnionego wiersza trzeciego
Tablica simpleksowa (min) Od elementów wiersza drugiego odejmujemy elementy wyróżnionego wiersza trzeciego
Tablica simpleksowa (min) Od elementów wiersza czwartego odejmujemy elementy wyróżnionego wiersza trzeciego
Tablica simpleksowa (min) x1 będzie nową zmienną bazową Najmniejsza ujemna wartość x1 będzie nową zmienną bazową Sprawdzamy optymalność Najmniejsza wartość
Tablica simpleksowa (min) Bazę opuści t2 Sprawdzamy kryterium wyjścia Najmniejsza wartość
Tablica simpleksowa (min) Trzeci i czwarty wiersz przepisujemy Od elementów pierwszego odejmujemy elementy drugiego pomnożone przez dwa Drugi wiersz przepisujemy
Tablica simpleksowa III iteracja (min) Jeżeli w rozwiązaniu optymalnym pewne wartości j dla zmiennych niebazowych są równe zero , to otrzymane rozwiązanie optymalne jest niejednoznaczne (istnieje nieskończenie wiele rozwiązań optymalnych, które są kombinacją liniową rozwiązań bazowych wyznaczonych przez wprowadzanie do bazy tych zmiennych, dla których j =0). Jeżeli w rozwiązaniu wszystkie wartości j dla zmiennych niebazowych są różne od zera to, otrzymane rozwiązanie optymalne jest jednoznaczne. Rozwiązanie optymalne, bo wszystkie wartości współczynników optymalności j są większe lub równe zero
Model matematyczny II Zmienne decyzyjne : x1 - ilość wydobywanego węgla w tonach; x2 - ilość wydobywanej ropy w hl. funkcja celu: f(x)=3x1 + 6x2 max(zysk w tys. zł) warunki ograniczające: 2 x1 + x2 8 warunek na czas pracy maszyn w godz. x1 + x2 10 warunek na liczbę zatrudnianych osób, warunki brzegowe: x1 0, x2 0.
Model matematyczny II Zmienne decyzyjne : x1;x2; s1; s2; t2,. funkcja celu: f(x)=3x1 + 6x2 +0 s1 +0 s2 -M t2 max(zysk w tys. zł) warunki ograniczające: 2 x1 + x2 +s1= 8 x1 + x2 -s2+t2= 10 warunki brzegowe: x1 0, x2 0, s1 0,s2 0;. t2 =0
Tablica simpleksowa
Tablica simpleksowa (max) Rozwiązanie jest nieoptymalne, bo wskaźniki optymalności j>0
Tablica simpleksowa (max) W kolejnej iteracji do bazy wejdzie x2 na miejsce s1
Tablica simpleksowa (max)
które spełnia warunek optymalności Jeżeli w rozwiązaniu, które spełnia warunek optymalności w bazie znajduje się zmienna sztuczna, a jej wartość jest większa od zera (tzn. wartość funkcji kryterium zależy od M), to zadanie jest sprzeczne. Tablica simpleksowa (max) Optymalne, bo wszystkie wskaźniki optymalności mniejsze od zera
Model matematyczny III Zmienne decyzyjne : x1 - ilość wydobywanego węgla w tonach; x2 - ilość wydobywanej ropy w hl. funkcja celu: f(x)=3x1 + 6x2 max(zysk w tys. zł) warunki ograniczające: 2 x1 + x2 8 warunek na czas pracy maszyn w godz. x1 + x2 10 warunek na liczbę zatrudnianych osób, warunki brzegowe: x1 0, x2 0.
Model matematyczny II Zmienne decyzyjne : x1;x2; s1; s2; t1 t2,. funkcja celu: f(x)=3x1 + 6x2 +0 s1 +0 s2 -M t1 -M t2 max(zysk w tys. zł) warunki ograniczające: 2 x1 + x2 +s1+ - t1 = 8 x1 + x2 -s2+t2= 10 warunki brzegowe: x1 0, x2 0, s1 0,s2 0; t1 =0; t2 =0
Tablica simpleksowa
Tablica simpleksowa (max) Rozwiązanie jest nieoptymalne, bo wskaźniki optymalności j>0
Tablica simpleksowa (max) W kolejnej iteracji do bazy wejdzie x1 na miejsce t1
Tablica simpleksowa (max)
Tablica simpleksowa (max)
Tablica simpleksowa (max)
Tablica simpleksowa (max)
Tablica simpleksowa (max)
Tablica simpleksowa (max) Jeżeli w pewnej iteracji nie można wyznaczyć żadnego ze współczynników Q, ponieważ wszystkie elementy wektora yj są ujemne bądź równe zero, to rozwiązanie jest nieograniczone. Nie da się wyznaczyć zmiennej, która wyjdzie z bazy
Model matematyczny II Zmienne decyzyjne : x1 - ilość wydobywanego węgla w tonach; x2 - ilość wydobywanej ropy w hl. funkcja celu: f(x)=3x1 + 6x2 max(zysk w tys. zł) warunki ograniczające: 2 x1 + x2 8 warunek na czas pracy maszyn w godz. x1 + x2 10 warunek na liczbę zatrudnianych osób, warunki brzegowe: x1 0, x2 0.
Model matematyczny II Zmienne decyzyjne : x1;x2; s1; s2; t2,. funkcja celu: f(x)=3x1 + 6x2 +0 s1 +0 s2 -M t2 max(zysk w tys. zł) warunki ograniczające: 2 x1 + x2 +s1= 8 x1 + x2 -s2+t2= 10 warunki brzegowe: x1 0, x2 0, s1 0,s2 0;. t2 =0
Tablica simpleksowa
Tablica simpleksowa (max) Rozwiązanie jest nieoptymalne, bo wskaźniki optymalności j>0
Tablica simpleksowa (max) W kolejnej iteracji do bazy wejdzie x2 na miejsce s1
Tablica simpleksowa (max)
które spełnia warunek optymalności Jeżeli w rozwiązaniu, które spełnia warunek optymalności w bazie znajduje się zmienna sztuczna, a jej wartość jest większa od zera (tzn. wartość funkcji kryterium zależy od M), to zadanie jest sprzeczne. Tablica simpleksowa (max) Optymalne, bo wszystkie wskaźniki optymalności mniejsze od zera
Model matematyczny III Zmienne decyzyjne : x1;x2; s1; s2; t1 t2,. funkcja celu: f(x)=3x1 + 6x2 +0 s1 +0 s2 -M t1 -M t2 max(zysk w tys. zł) warunki ograniczające: 2 x1 + x2 +s1+ - t1 = 8 x1 + x2 -s2+t2= 10 warunki brzegowe: x1 0, x2 0, s1 0,s2 0; t1 =0; t2 =0
Tablica simpleksowa
Tablica simpleksowa (max) Rozwiązanie jest nieoptymalne, bo wskaźniki optymalności j>0
Tablica simpleksowa (max) W kolejnej iteracji do bazy wejdzie x1 na miejsce t1
Tablica simpleksowa (max)
Tablica simpleksowa (max)
Tablica simpleksowa (max)
Tablica simpleksowa (max)
Tablica simpleksowa (max)
Tablica simpleksowa (max) Jeżeli w pewnej iteracji nie można wyznaczyć żadnego ze współczynników Q, ponieważ wszystkie elementy wektora yj są ujemne bądź równe zero, to rozwiązanie jest nieograniczone. Nie da się wyznaczyć zmiennej, która wyjdzie z bazy
Nowe zadanie Tablica simpleksowa III iteracja x1 3 x2 3 s4 -3 3 3 3 6 3 M-3 M Jeżeli w rozwiązaniu optymalnym pewne wartości j dla zmiennych niebazowych są równe zero , to otrzymane rozwiązanie optymalne jest niejednoznaczne (istnieje nieskończenie wiele rozwiązań optymalnych, które są kombinacją liniową rozwiązań bazowych wyznaczonych przez wprowadzanie do bazy tych zmiennych, dla których j =0). Rozwiązanie optymalne, bo wszystkie wartości współczynników optymalności j są większe lub równe zero
Tablica simpleksowa IV iteracja - s1 x1 x2 s4 3 -3 6 M-3 M 1 - 3 -1 4 s1 1 1 1 s3 1 -1 1 -1 1 3 x2 1 1 -1 1 2 s4 -1 1 1 -1 2
Rozwiązanie optymalne niejednoznaczne
Rozwiązanie optymalne niejednoznaczne
Tablica simpleksowa IV iteracja x1 3 x2 3 s4 -3 3 3 3 6 3 M-3 M Rozwiązanie optymalne, bo wszystkie wartości współczynników optymalności j są większe lub równe zero
które spełnia warunek optymalności Tablica simpleksowa max 1 1 12+M 6+M -M 48-2M 6 M -9-M -6-M -M Jeżeli w rozwiązaniu, które spełnia warunek optymalności w bazie znajduje się zmienna sztuczna, a jej wartość jest większa od zera (tzn. wartość funkcji kryterium zależy od M), to zadanie jest sprzeczne. Optymalne, bo wszystkie wskaźniki optymalności mniejsze od zera
Jeżeli w pewnej iteracji nie można wyznaczyć żadnego Tablica simpleksowa s2 6 x2 12 6 48 6 -6 -9 6 -M-6 -M Jeżeli w pewnej iteracji nie można wyznaczyć żadnego e współczynników Q, ponieważ wszystkie elementy wektora yj są ujemne bądź równe zero, to rozwiązanie jest nieograniczone. Nie da się wyznaczyć zmiennej, która wyjdzie z bazy