Studiuj dzięki licznym zasobom udostępnionym na Docsity
Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium
Przygotuj się do egzaminów
Studiuj dzięki licznym zasobom udostępnionym na Docsity
Otrzymaj punkty, aby pobrać
Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium
Społeczność
Odkryj najlepsze uniwersytety w twoim kraju, według użytkowników Docsity
Bezpłatne poradniki
Pobierz bezpłatnie nasze przewodniki na temat technik studiowania, metod panowania nad stresem, wskazówki do przygotowania do prac magisterskich opracowane przez wykładowców Docsity
Notatki z ekonomii przedstawiające zagadnienia z zakresu badań operacyjnych; problemy i modele decyzyjne, zadanie programowania liniowego, znajdowanie początkowego bazowego rozwiązania dopuszczalnego.
Typologia: Notatki
1 / 15
1 Wstęp
1.1 Kilka słów o przedmiocie
Tematem zajęć będą Metody Optymalizacji a nie same Badania Operacyjne. Ponieważ większość z tych metod powstała na potrzeby Badań Operacyjnych, pozostaniemy przy tej drugiej nazwie.
Zajmować będziemy się metodami optymalizacji , służącymi do rozwiązywania problemów decyzyjnych. Program zajęć obejmuje zapoznanie się z metodami rozwiązywania następujących problemów
1.2 Problemy i modele decyzyjne
Każdy system działania rodzi tzw. sytuacje decyzyjne. Sytuacją decyzyjną nazywać będziemy ogół czynników, które wyznaczają postępowanie decyzyjne podmiotu podejmującego decyzję, zwanego na ogół decydentem.
Następstwem prawie każdej sytuacji decyzyjnej jest pewien problem decyzyjny, którego rozwiązanie wyznacza racjonalną decyzję. Problem decyzyjny można zdefiniować następująco: istnieje cel lub zbiór celi które należy osiągnąć istnieją alternatywne sposoby dojścia do celu optymalny sposób lub kombinacja sposobów nie jest oczywista. Badania operacyjne (ang. operational research) należą do tych dziedzin wiedzy, które zajmują się metodami rozwiązywania problemów decyzyjnych, wynikających z potrzeb racjonalnej działalności człowieka.
Rozwiązanie problemu decyzyjnego za pomocą badań operacyjnych jest procedurą składającą się z następujących etapów: rozpoznanie sytuacji decyzyjnej i wynikającego z niej problemu decyzyjnego budowa modelu decyzyjnego rozwiązanie problemu decyzyjnego (metodą badań operacyjnych lub programowania matematycznego) ocena poprawności i realności uzyskanych rozwiązań oraz ewentualna weryfikacja modelu decyzyjnego przedstawienie rozwiązań decydentowi i ostateczne przygotowanie decyzji. Nie każdy problem decyzyjny może być rozwiązany za pomocą badań operacyjnych. Rozwiązać można jedynie problemy dobrze ustrukturalizowane, dające się przedstawić w postaci modelu matematycznego. Nie da się rozwiązać metodami badań operacyjnych problemów nieustrukturalizowanych i słabo ustrukturalizowanych.
Budowa modelu decyzyjnego jest jednym z trudniejszych etapów w procedurze podejmowania decyzji. W praktyce najwięcej problemów sprawia: wyróżnienie istotnych cech sytuacji decyzyjnej i ujęcie ich w modelu modelowanie - tę samą sytuację często można odwzorować za pomocą kilku modeli. Od postaci sformułowanego modelu zależą szanse jego efektywnego rozwiązania - stąd przy formułowaniu modelu należy mieć rozeznanie co do metod, którymi można go rozwiązać.
Problemy liniowe Problemy nieliniowe
Problemy ciągłe
Problemy dyskretne
Programowanie liniowe (metoda sympleks, sztuczna baza, dualność)
Programowanie nieliniowe
Programowanie liniowe całkowitoliczbowe (algorytm Gomory'ego)
Problemy statyczne Problemy dynamiczne
Wieloetapowe procesy decyzyjne Jednowymiarowy proces alokacji (programowanie dynamiczne)
Model decyzyjny jest konstrukcją formalną, odwzorowującą istotne cechy rzeczywistej sytuacji decyzyjnej. Model taki może być sformułowany w różnej postaci. Matematyczna postać modelu decyzyjnego jest następująca: z=f(x 1 ,x 2 ,...,xn) (1.1) gdzie: zmienne x 1 ,x 2 ,...,xn (zapisywane też jako x) noszą nazwę zmiennych decyzyjnych i są przedmiotem sterowania przez podejmowanie decyzji; określają one alternatywne sposoby działania z jest miarą oceny podjętej decyzji f jest funkcją odwzorowującą zależność między zmiennymi decyzyjnymi a miarą oceny z; funkcja f nazywana jest funkcją celu lub funkcją kryterium. Na ogół zbiór alternatywnych sposobów działania nie jest dowolny i wtedy podejmowanie decyzji przebiega w warunkach pewnych ograniczeń. Uwzględnienie tych warunków w modelu decyzyjnym polega na określeniu zbioru dopuszczalnych decyzji (rozwiązań) dla konkretnej sytuacji decyzyjnej. Ogólnie warunki ograniczające można przedstawić następująco: gi(x)<= 0 (i=1,2,...,m) (1.2) Zagadnienie wyboru decyzji za pomocą modelu decyzyjnego polega na określeniu wartości zmiennych decyzyjnych ze zbioru dopuszczalnych sposobów działania opisanych ograniczeniami tak, aby uzyskać najkorzystniejszą wartość miary podjętej decyzji - optimum funkcji celu.
Operację poszukiwania wartości zmiennych decyzyjnych x 1 ,x 2 ,...,xn które maksymalizują lub minimalizują funkcję celu będziemy zapisywać symbolicznie w sposób następujący:
(max) z=f(x 1 ,x 2 ,...,xn) lub (min) z=f(x 1 ,x 2 ,...,xn) (1.3) Tak więc ogólna, matematyczna postać modelu decyzyjnego jest następująca: (max lub min) z=f(x 1 ,x 2 ,...,xn) przy ograniczeniach: gi(x)<= 0 (i=1,2,...,m) (1.4) Przykład: Zakład produkcyjny produkuje dwa typy wyrobów: krzesła i stoły. Każdy z tych produktów musi być złożony z części a następnie wykończony i zapakowany. Czas potrzebny na złożenie krzesła i stołu wynosi odpowiednio 3 i 4 jednostki czasu. Wykończenie i zapakowanie krzesła i stołu wynosi odpowiednio 6 i 2 jednostki czasu. Producent dysponuje 60 jednostkami czasu na składanie wyrobów i 32 jednostkami czasu na wykończenie i zapakowanie. Każde krzesło przynosi zysk wielkości 20 jednostek a stół - 24 jednostki. Ile krzeseł i ile stołów powinien zakład wyprodukować dla maksymalizacji zysku?
Matematyczna postać problemu decyzyjnego wygląda następująco: (max) zysk = 20krzesła+24stoły
3* krzesła+4* st oły <= 60 - ograniczenie czasu składania wyrobów 6* krzesła+2* st oły <= 32 - ograniczenie czasu wykończenia i pakowania krzesła >= 0 - ograniczenie wielkości produkcji krzeseł st oły >= 0 - ograniczenie wielkości produkcji stołów
Modele decyzyjne a co za tym idzie typ problematyki, można podzielić według różnych kryteriów: Postać funkcji celu programowanie liniowe - funkcja celu i ograniczenia są funkcjami liniowymi programowanie nieliniowe - w przeciwnym razie Postać zmiennych decyzyjnych zmienne ciągłe zmienne dyskretne Liczba etapów procesu decyzyjnego programowanie statyczne - jeden etap programowanie dynamiczne - wiele etapów Liczba kryteriów (funkcji celu) model jednokryterialny model wielokryterialny
Zadanie o postaci ogólnej można przekształcić do zadania o postaci standardowej w następujący sposób: zamiana rodzaju ekstremum - zadanie na minimum (maksimum) można przekształcić w zadanie na maksimum (minimum) zmieniając funkcję celu na przeciwną (mnożąc ją przez - 1) zamiana zmiennych decyzyjnych dowolnych co do znaku na zmienne nieujemne. Jeżeli x jest zmienną dowolną co do znaku, to podstawiając: x=x+-x-, gdzie x+=max{0,x}, x-=max{0,-x}, otrzymujemy przedstawienie tej zmiennej za pomocą nieujemnych zmiennych x+^ i x- zamiana nierówności na równość: aTxb lub aTxb można zastąpić odpowiednio: aTx+xd=b lub aTx- xd=b. Nowo wprowadzona zmienna xd^ nosi nazwę zmiennej dodatkowej (osłabiającej).Zmienne te nie występują w funkcji celu.
PRZYKŁAD:
Postać wyjściowa: funkcja celu: (max) z=2x 1 - x 2 +5x 3 - 2x 4 ograniczenia: x 1 +x 2 +2x 3 +5x 4 <=- 20 2x 1 - x 2 - x 4 >= 3x 2 +x 3 - 2x 4 = x 1 ,x 3 ,x 4 >=0, x 2 dowolne
Postać standardowa: funkcja celu: (min) z’=-2x 1 +(x 2 +-x 2 - )-5x 3 +2x 4 ograniczenia: - x 1 - (x 2 +-x 2 - )-2x 3 - 5x 4 - x 5 = 2x 1 - (x 2 +-x 2 - )-x 4 - x 6 = 3(x 2 +-x 2 - )+x 3 - 2x 4 = x 1 ,x 2 +,x 2 - ,x 3 ,x 4 ,x 5 ,x 6 >= PYTANIA: Czym się różni zadanie programowania liniowego od zadania programowania matematycznego? Czym się różni postać standardowa zadania programowania liniowego od jego postaci ogólnej? Czy zmienne osłabiające występują w funkcji celu? Czy zmienne decyzyjne lub osłabiające mogą być ujemne?
2.2 Interpretacja geometryczna zadania programowania liniowego
Zadanie programowania liniowego ma prostą interpretację geometryczna. Z konieczności ograniczymy się do przypadku dwóch zmiennych decyzyjnych.
PRZYKŁAD : funkcja celu: (max) z=x 1 +x 2 ograniczenia: - x 1 +2x 2 <=6 (równanie prostej: 2x 2 =6+x 1 ) 2x 1 - x 2 <=6 (równanie prostej: x 2 =2x 1 - 6) x 1 ,x 2 >=
Zadanie to możemy rozwiązać w sposób graficzny:
(^4) układy w których ilość niewiadomych jest większa niż ilość równań (m<n) nazywa się układami nieoznaczonymi i albo nie mają rozwiązania albo mają ich nieskończenie wiele – takimi układami zajmuje się programowanie liniowe
x 2 =2x 1 - 6
2x 2 =6+x 1
z=
x 2
o tej samej wartości funkcji celu b. przesuwamy równolegle tę prostą w kierunku polepszania wartości funkcji celu c. skrajne rozwiązanie jest rozwiązaniem optymalnym
Dla naszego zadania: x 1 *=6, x 2 =6 z=x 1 *+x 2 *=
Graficzna prezentacja następujących sytuacji: nie ma skończonego rozwiązania - rozwiązanie jest nieograniczone gdy X nie jest zwarte jest jedno skończone rozwiązanie jest wiele skończonych rozwiązań nie ma żadnego rozwiązania - X jest puste.
2.3 Własności zadania programowania liniowego
2.3.1 Kombinacja liniowa wektorów, wektory liniowo niezależne (cel: baza)
Wektor x Rn^ nazywamy kombinacją liniową wektorów x 1 ,x 2 ,...,xk Rn^ jeżeli: k
i
1
Przykład: wektor
jest kombinacją liniową wektorów
, ponieważ:
Wektor x Rn^ nazywamy wypukłą kombinacją liniową wektorów x 1 ,x 2 ,...,xk Rn^ jeżeli: k
i
1
k
i= 1
Zbiór wektorów x 1 ,x 2 ,...,xn nazywamy liniowo niezależnym , jeżeli równość: k
i
1
zachodzi tylko wtedy, gdy wszystkie (^) i=0 (i=1,...,k). W przeciwnym razie zbiór jest liniowo zależny.
W n-wymiarowej przestrzeni euklidesowej Rn^ istnieje układ n liniowo niezależnych wektorów, ale każdy układ n+1 wektorów w tej przestrzeni jest układem liniowo zależnym.
2.3.2 Baza, rozwiązanie bazowe (cel: zadanie PL a baza)
Bazą zbioru S Rn^ jest zbiór liniowo niezależnych wektorów, takich że wszystkie inne wektory należące do S da się przedstawić jako kombinację liniową wektorów bazy.
Dowolny zbiór n liniowo niezależnych wektorów należących do Rn^ jest bazą w przestrzeni Rn^. Zbiór n wektorów jednostkowych [1,0,...,0],[0,1,...,0],...,[0,0,...,1] jest bazą w Rn. !!! Dany jest układ równań liniowych Ax=b. Macierz A jest typu m x n i zakładamy że m<=n. Niech AB jest bazą zbioru kolumn macierzy A, xB niech będzie wektorem zmiennych stojących przy kolumnach bazowych (zmienne bazowe), xR wektorem zmiennych stojących przy kolumnach niebazowych (zmienne niebazowe lub wtórne). Układ równań liniowych możemy przedstawić teraz w postaci ABxB+ARxR=b.
2.3.3 Zbiory wypukłe, sympleks
Wypukłą kombinacją punktów U 1 ,U 2 ,...,Uk (Ui Rn^ i=1..k) nazywamy punkt:
U (^) i Ui R (^) i i k oraz i i
k
i
k ( (^) i , 0, 1 .. 1 ) 1 1
6 x^1
z=2 z=
Każde bazowe rozwiązanie dopuszczalne jest punktem wierzchołkowym zbioru X Istnieje punkt wierzchołkowy zbioru X , w którym funkcja celu przyjmuje optimum Trzeba więc badać tylko rozwiązania w punktach wierzchołkowych. Takich punktów
wierzchołkowych jest (^) mn - tyle ile wektorów liniowo niezależnych z danego zbioru n wektorów. Idea
rozwiązania może polegać więc na wygenerowaniu wszystkich kombinacji i porównaniu funkcji celu. Dla dużych m i n byłoby niemożliwe obliczenie wszystkich rozwiązań. Potrzebna jest metoda, pozwalająca utworzyć ciąg rozwiązań dopuszczalnych, zbieżny do rozwiązania optymalnego. Taką metodą jest metoda sympleks (sympleksów) podana przez G.B.Dantziga. Dla znalezienie minimalnego rozwiązania wystarczy zwykle m do 2m kroków (skończona i ograniczona liczba kroków).
2.4 Metoda Sympleks (MINIMALIZACJA)
2.4.1 Idea
Z wcześniejszych rozważań^5 wiemy, że jeżeli zadanie programowania liniowego ma skończone rozwiązanie optymalne to jest nim punkt wierzchołkowy tego obszaru. Ogólna idea metody sympleks polega na przechodzeniu pomiędzy sąsiednimi punktami wierzchołkowymi obszaru rozwiązań dopuszczalnych w celu polepszenia funkcji celu. W przypadku niemożności polepszenia wartości funkcji celu, dane rozwiązanie jest rozwiązaniem optymalnym.
Z matematycznego punktu widzenia każdemu punktowi wierzchołkowemu odpowiada bazowe rozwiązanie dopuszczalne. Przejściu pomiędzy sąsiednimi wierzchołkami odpowiada zaś zamiana danej bazy (danego dopuszczalnego rozwiązania bazowego) na sąsiednią (sąsiednie dopuszczalne rozwiązanie bazowe). Sąsiednia baza jest konstruowana przez zamianę jednego wektora bazowego innym - niebazowym. Wektory te są tak dobierane, by polepszyć wartość funkcji bazowego rozwiązania dopuszczalnego. Problemem pozostaje jedynie dobór początkowego (startowego) bazowego rozwiązania dopuszczalnego. Zakładać będziemy, że każde dopuszczalne rozwiązanie bazowe jest niezdegenerowane.
2.4.2 Początkowe bazowe rozwiązanie dopuszczalne
Metoda sympleks startuje od początkowego bazowego rozwiązania dopuszczalnego. Dla pewnej klasy problemów, rozwiązanie to można znaleźć natychmiast. Spójrzmy na zadanie programowania liniowego: funkcja celu: (min) z=cTx ograniczenia: Ax b (b0 x Należy sprowadzić to zadanie do postaci standardowej - dodanie zmiennych osłabiających utworzy początkową bazę.
Przykład: funkcja celu: (min) z=-x 1 - 4x 2 ograniczenia: x 1 +x 2 1 4x 1 +2x 2 3 x 1 ,x 2 0 Po dodaniu zmiennych osłabiających otrzymamy następujące zadanie (zadanie PL. o postaci standardowej): funkcja celu: (min) z=-x 1 - 4x 2 ograniczenia: x 1 +x 2 +x 3 = 4x 1 +2x 2 +x 4 = x 1 ,x 2 ,x 3 ,x 4 0 Współczynniki przy zmiennych osłabiających (wektory jednostkowe) tworzą bazę. Zmienne te są więc zmiennymi bazowymi. Wartości tych zmiennych są równe wartościom elementów wektora b. Pozostałe zmienne (zmienne decyzyjne) są zmiennymi niebazowymi i ich wartości są równe 0. Funkcja celu ma zatem wartość równą 0.
(^5) patrz – interpretacja geometryczna zadania programowania liniowego
2.4.3 Tablica Sympleks
Dla ułatwienia obliczeń, metoda Sympleks bazuje na tablicy sympleks. Oto jej wygląd:
i\j 0 1 2 ... n Baza <c 1 > <c 2 > ...
z 0 z 1 - c 1 z 2 - c 2 ... zn-cn
Właściwości tablicy sympleks: w komórce z 0 znajduje się aktualna wartość funkcji celu. Można ją obliczyć ze wzoru z 0 =
cTx= c (^) i xi i
n
1
. Ponieważ zmienne niebazowe mają wartość równą 0, wartość z można obliczyć z
prostszego wzoru: z= c (^) iB^ xiB i
m
1
, czyli mnożąc dwie kolumny w tablicy sympleks - cB^ i P 0
w kolumnie P 0 znajdują się wartości zmiennych bazowych. Pozostałe zmienne mają wartość 0.
w tablicy sympleks wskaźniki optymalności (zj-cj) (gdzie z (^) j ciB xi j i
m , 1
) odpowiadają
zmniejszeniu wartości funkcji celu przez zwiększenie wartości zmiennej xj o jednostkę. Zmienne bazowe mają zawsze wskaźnik optymalności równy 0.
Przykład cd. :
Baza cB^ P 0 - 1 - 4 0 0 (MIN) P 1 P 2 P 3 P 4 P 3 0 x 1 B=b 1 =
P 4 0 x 2 B=b 2 =
Wskaźniki Optymalnośc i
z 0 =0 1 4 0 0
2.4.4 Kryterium wejścia i optymalności
TWIERDZENIE : Jeżeli dla ustalonego „i” spełniony jest warunek zi-ci>0, to można skonstruować zbiór rozwiązań dopuszczalnych taki, że dla każdego elementu tego zbioru spełniona jest nierówność z<z 0 , gdzie dolna granica z jest albo skończona albo nieskończona.
Jeśli dolna granica jest skończona, nowe rozwiązanie ma dokładnie m dodatnich zmiennych. Jeśli dolna granica jest nieskończona - nowe rozwiązanie dopuszczalne ma m+1 dodatnich zmiennych a wartość funkcji celu może być dowolnie mała.
Komentarz Jeśli wskaźnik optymalności jest dodatni dla pewnej zmiennej niebazowej, wtedy funkcja celu może być zmniejszona przez zwiększenie wartości tej zmiennej niebazowej. Ponieważ zmienna ta jest niebazowa, więc jej wartość jest równa zeru i zwiększenie jej wartości jest możliwe jedynie przez
numery wektorów bazowych
współczynniki przy zmiennych bazowych w funkcji celu
wartość funkcji celu
wartości zmiennych bazowych
wskaźniki optymalności
Jest to drugi przypadek twierdzenia Gass’a. Rozwiązanie dopuszczalne zawiera dokładnie m+ zmiennych. Minimalne = 0 oznacza, że wartość funkcji celu pozostaje bez zmian.
Przykład cd. :
Wartość dla P 3 = 1 Wartość dla P 4 = 3/2 Z bazy usuwany jest wektor P 3.
2.4.6 Obliczanie nowego bazowego rozwiązania dopuszczalnego.
Tablicę sympleks należy przekształcić w sposób następujący:
element xwy, we zostaje elementem centralnym. kolumna Pwe staje się wektorem bazowym (jeden element równy 1 w wierszu k=we, a reszta elementów = 0) wartości wiersza zawierającego element centralny należy podzielić przez tę wartość (element centralny) wartości w pozostałych wierszach należy przekształcić w sposób następujący:
x x
x x i j i j x
wy j i we wy we , ' ,
, , ,
ręcznie uaktualnić kolumnę Baza i cB
Przykład cd. :
Tablica sympleks:
Baza cB^ P 0 - 1 - 4 0 0 (MIN) P 1 P 2 P 3 P 4 P3 0 1 1 1 1 0 P4 0 3 4 2 0 1 Wskaźniki optymalnośc i
Zostaje przekształcona w nową tablicę sympleks:
Baza cB^ P 0 - 1 - 4 0 0 (MIN) P 1 P 2 P 3 P 4 P2 - 4 1 1 1 1 0 P4 0 1 2 0 - 2 1 Wskaźniki optymalnośc i
W wyniku stosowania algorytmu sympleks uzyskamy zbiór bazowych rozwiązań dopuszczalnych zbieżny do rozwiązania minimalnego lub stwierdzimy że nie istnieje rozwiązanie skończone.
2.4.7 Przykład
funkcja celu: max z=2x 1 +x 2 ograniczenia 3x 1 - 4x 2 >=- 12 3x 1 - 2x 2 <= 1/2x 1 +8/10x 2 <= x 1 ,x 2 >=
Postać standardowa: funkcja celu: min z’=-2x 1 - x 2 ograniczenia: - 3x 1 +4x 2 +x 3 = 3x 1 - 2x 2 +x 4 = 1/2x 1 +8/10x 2 +x 5 =
x 1 ,x 2 ,x 3 ,x 4 ,x 5 >=
Baza cB^ P 0 - 2 - 1 0 0 0 we=P 1 P 2 P 3 P 4 P 5 P 3 0 12 - 3 4 1 0 0 wy=P 4 0 12 3 - 2 0 1 0 P 5 0 4 1/2 8/10 0 0 1 Wskaźniki optymaln ości
Baza cB^ P 0 - 2 - 1 0 0 0 P 1 we=P 2 P 3 P 4 P 5 P 3 0 12 - (- 3*12)/3= 4
wy=P 5 0 4 - (12*1/2)/ =
Wskaźniki optymaln ości
Baza cB P 0 - 2 - 1 0 0 0 P 1 P 2 P 3 P 4 P 5 P 3 0 348/17 0 0 1 22/17 - 30/ P 1 - 2 88/17 1 0 0 4/17 10/ P 2 - 1 30/17 0 1 0 - 5/34 15/ Wskaźniki optymaln ości
Koniec: z’=-206/17 => z=206/17; x1=88/17; x2=30/17; x3=348/17; x4=x5*=
2.4.8 Rozwiązywanie problemu maksymalizacji
Algorytm metody sympleks dla problemu maksymalizacji różni się od wersji dla problemu minimalizacji wyłącznie kryterium wejścia i optymalności: do bazy wchodzi wektor o minimalnej (i ujemnej) wartości wskaźnika optymalności jeżeli wszystke wskażniki optymalności są wieksze lub równe zeru, rozwiazanie jest optymalne
2.4.9 Inne metody rozwiązywania problemu PL
Dotychczas omawiana metoda sympleks (nazywana też prostą metodą sympleks) posiada liczne odmiany (ulepszenia). Można tu wspomnieć o zrewidowanej metodzie sympleks, czy też o całkowicie odmiennym podejściu - metodzie Chaczijana. W ogólności metoda sympleks jest wykładnicza. Chaczijan podał wielomianowy algorytm rozwiązywania problemu programowania liniowego wykorzystujący ideę malejących elipsoid.
2.4.10 Zadania
funkcja celu: (max) z=6x 1 +4x 2 +8x 3 ograniczenia: x 1 +x 2 +5x 3 <= 3x 1 +x 2 +x 3 <=
Baza cB P 0 0 0 0 0 0 1 P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1 1 0 1 0 0 0 P 4 0 2 0 1 0 1 0 0 P 6 1 1 0 1 - 1 0 - 1 1 Wsk. Opt. 1 0 1 - 1 0 - 1 0
we=2 (do bazy wchodzi wektor P 2 ) =min {2/1, 1/1} = 1 - z bazy usuwamy wektor P 6
Baza cB P 0 0 0 0 0 0 1 P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1 1 0 1 0 0 0 P 4 0 1 0 0 1 1 1 - 1 P 2 0 1 0 1 - 1 0 - 1 1 Wsk. Opt. 0 0 0 0 0 0 - 1
Rozwiązaliśmy zadanie rozszerzone, zmienne sztuczne mają wartość równą zeru, sztuczna funkcja celu też jest równa zeru. Mamy więc dopuszczalne rozwiązanie bazowe zadania wyjściowego i minimalizujemy je. z poprzedniej tablicy sympleks wykreślamy kolumny związane ze zmiennymi sztucznymi zmieniamy wartości wektora „cB” i uaktualniamy wskaźniki optymalności (powrót do oryginalnej funkcji celu) postępujemy zgodnie z metodą sympleks
Baza cB P 0 2 1 0 0 0 P 1 P 2 P 3 P 4 P 5 P 1 2 1 1 0 1 0 0 P 4 0 1 0 0 1 1 1 P 2 1 1 0 1 - 1 0 - 1 Wsk. Opt. 3 0 0 1 0 - 1
we=3 (do bazy wchodzi wektor P 3 ) =min {1/1, 1/1} = 1 - z bazy usuwamy wektor P 1 (można też usunąć P 4 )
Baza cB P 0 2 1 0 0 0 P 1 P 2 P 3 P 4 P 5 P 3 0 1 1 0 1 0 0 P 4 0 0 - 1 0 0 1 1 P 2 1 2 1 1 0 0 - 1 Wsk. Opt. 2 - 1 0 0 0 - 1
Koniec: z=2; x1=0; x2=2; x3=1; x4=0; x5=0. Rozwiązanie zdegenerowane – zmienna bazowa = 0.
2.5.3 Metoda dużego współczynnika M
Rozszerzenie zadania polega na wprowadzeniu zmiennych sztucznych do ograniczeń, co pozwoli utworzyć bazę jednostkową. Wprowadza się je ponadto do funkcji celu z dużym dodatnim współczynnikiem M (współczynnik kary). Ponieważ minimalizujemy funkcję celu, algorytm metody sympleks usunie zmienne sztuczne z bazy, przez co otrzymamy rozwiązanie bazowe dopuszczalne dla problemu wyjściowego. Dla problemu maksymalizacji, współczynnik kary powinien mieć dużą wartość ujemną.
Przykład (po wprowadzeniu zmiennej sztucznej do funkcji celu): funkcja celu: min z’=2x 1 +x 2 +Mx 6 ograniczenia: x 1 +x 3 = x 2 +x 4 = x 1 +x 2 - x 5 +x 6 = x 1 ,x 2 ,x 3 ,x 4 ,x 5 ,x 6 >=
Baza cB P 0 2 1 0 0 0 M P 1 P 2 P 3 P 4 P 5 P 6 P 3 0 1 1 0 1 0 0 0 P 4 0 2 0 1 0 1 0 0 P 6 M 2 1 1 0 0 - 1 1 Wsk. Opt. 0 +2M
we=1 (do bazy wchodzi wektor P 1 , można też wybrać P 2 ) =min {1/1, 2/1} = 1 - z bazy usuwamy wektor P 3
Baza cB P 0 2 1 0 0 0 M P 1 P 2 P 3 P 4 P 5 P 6 P 1 2 1 1 0 1 0 0 0 P 4 0 2 0 1 0 1 0 0 P 6 M 1 0 1 - 1 0 - 1 1 Wsk. Opty. 2 +M
we=2 (do bazy wchodzi wektor P 2 ) =min {2/1, 1/1} = 1 - z bazy usuwamy wektor P 6
Baza cB P 0 2 1 0 0 0 M P 1 P 2 P 3 P 4 P 5 P 6 P 1 2 1 1 0 1 0 0 0 P 4 0 1 0 0 1 1 1 - 1 P 2 1 1 0 1 - 1 0 - 1 1 Wsk. Opt. 3 0 0 1 0 - 1 1
we=3 (do bazy wchodzi wektor P 3 ) =min {1/1, 1/1} = 1 - z bazy usuwamy wektor P 1 (można też usunąć P 4 )
Baza cB P 0 2 1 0 0 0 M. P 1 P 2 P 3 P 4 P 5 P 6 P 3 0 1 1 0 1 0 0 0 P 4 0 0 - 1 0 0 1 1 - 1 P 2 1 2 1 1 0 0 - 1 1 Wsk. Opt. 2 - 1 0 0 0 - 1 1
Koniec: z=2; x1=0; x2=2; x3=1; x4=0; x5=0; Rozwiązanie zdegenerowane – zmienna bazowa = 0.
UWAGA : Zobaczmy jak wyglądałoby zadanie, gdybyśmy w ostatniej iteracji usunęli wektor P 4
Baza cB P 0 2 1 0 0 0 M P 1 P 2 P 3 P 4 P 5 P 6 P 1 2 1 1 0 1 0 0 0 P 4 0 1 0 0 1 1 1 - 1 P 2 1 1 0 1 - 1 0 - 1 1 Wsk. Opt. 3 0 0 1 0 - 1 1
we=3 (do bazy wchodzi wektor P 3 ) =min {1/1, 1/1} = 1 - z bazy usuwamy wektor P 4
Baza cB P 0 2 1 0 0 0 M