Metoda simpleks
Transkrypt
Metoda simpleks
Wprowadzone oznaczenia: y00 c B −1b y10 y0 ≡ B −1 ≡ B b M ym 0 gdzie a j , j ∈ RN y0 j c B −1a − c j y1 j y j ≡ B −1 j ≡ B a j M ymj oraz oznaczają kolumny macierzy N. Funkcja celu x0 ∑y x0 = y00 − Poszukiwanie rozwiązań bazowych dopuszczalnych xj 0j j∈RN m funkcji ograniczeń x Bi = yi 0 − ∑y ij x j , dla i = 1,..., m j∈R N Wydział Wydział Elektroniki studia I st. Technika optymalizacji Dr inŜ. Ewa Szlachcic Postać początkowej tablicy simpleksowej Postać początkowej tablicy simpleksowej dla omawianego przykładu − xN x0 xB cB B −1b cB B −1 N − c N −1 −1 B b B N cB = 0 Kierunek Elektronika III r. x0 xB − xN 0 − cN b N dla przypadku gdy cB=0 tzn. pierwsze rozwiązanie bazowe dopuszczalne odpowiada za punkt wierzchołkowy x x = [0,...,0]T . Wydział Wydział Elektroniki studia I st. Technika optymalizacji Dr inŜ. Ewa Szlachcic Kierunek Elektronika III r. x1 + x2 ≤ 5 X = x : − x1 + x2 ≤ 0 , x ≥ 0 6 x + 2 x ≤ 21 1 2 max x0 = 2x1 + 1x 2 x∈ X max x0 = 2x1 + 1x2 + 0 x3 + 0 x4 + 0 x5 x∈ X x1 + x 2 + x3 + X = x : − x1 + x 2 + 0 + 6 x1 + 2 x 2 + 0 + 0+ x4 + 0+ 0= 5 0= 0 x5 = 21 x3 x3 x xB = x4 4 x x5 x = B = x5 ≥ 0 xN x 1 x xN = 1 x2 x2 xN xB x1 x2 -2 -1 x0 0 x3 5 1 1 x4 0 -1 1 x5 21 6 2 Wydział Wydział Elektroniki studia I st. Technika optymalizacji Dr inŜ. Ewa Szlachcic Kierunek Elektronika III r. Polepszanie bazowego rozwiązania dopuszczalnego Polepszanie rozwiązania bazowego dopuszczalnego θ rk = min ( yi 0 / yik , yik > 0). i =1,...,m x0 = y 00 − ∑ y0 j x j Gdy mamy nie-zdegenerowane rozwiązanie bazowe dopuszczalne takie, Ŝe j∈R N y0 j < 0 dla pewnego j = k , k ∈ RN oraz yik > 0 dla przynajmniej jednego i wówczas moŜna z niego otrzymać lepsze bazowe rozwiązanie dopuszczalne przez wymianę jednej z kolumn macierzy B na kolumnę macierzy N. zawsze x j ≥ 0, zatem gdy xk ↑ to równieŜ x0 ↑ gdy y0 k ≤ 0 x Bi = yi 0 − ∑y ij xk = x j , dla i = 1,..., m j∈R N Element centralny yrk leŜy na przecięciu wybranego wiersza xbr i wybranej kolumny xk. Technika optymalizacji Dr inŜ. Ewa Szlachcic Wydział Wydział Elektroniki studia I st. Kierunek Elektronika III r. yr 0 − y rk y rj ∑{ } y j ∈R N − k y y x Bi = yi 0 − ik r 0 − y rk xj − rk ∑{ } y j∈R N − k ij − 1 x Br y rk yik y rj y x j + ik x Br y rk y rk Element centralny yrk leŜy na przecięciu wybranego wiersza xBr i wybranej kolumny xk. Technika optymalizacji Dr inŜ. Ewa Szlachcic Wydział Wydział Elektroniki studia I st. Kierunek Elektronika III r. Optymalne rozwiązanie zadania programowania liniowego PL metodą simpleks Pierwsza tablica simpleks-I rozwiązanie bazowe dopuszczalne Kryterium y0 j ≥ 0 dla ∀j ∈ RN optymalności ...... x y 0 00... x y x0 0 y0000 ... ...... xBi xBiy yiO iO y... iO... xBi j −...−x xj −j x...... ... y 0 j y ... y0 j0 j ... ... ...... ...y y y... ij ... −...−xkxk− x...k... ... k... y0yk0 k y0... ... ...... ...y y yik...... ...... dla i ∈ {1,..., m} r 0... xBr xBryry0r 0 y... xBr ...... x x x Bm y y ym...0... ... ...... ...y y y... rj ... rj rj ... ...... ... y y ymj...... ... Twierdzenie 4.5 Rozwiązanie bazowe dopuszczalne układu równań Ax=b Kryterium jest rozwiązaniem optymalnym zadania PL, jeśli są spełnione dwa warunki: dopuszczalności yio ≥ 0 (i) Warunek prymalnej dopuszczalności: yi 0 ≥ 0 dla i ∈ {1,..., m} (ii) Warunek optymalności y 0 j ≥ 0 dla ∀j ∈ RN Bm Bm Wydział Wydział Elektroniki studia I st. Technika optymalizacji Dr inŜ. Ewa Szlachcic Kierunek Elektronika III r. xk yr 0 / yrk yrj / yrk ... ... ...... ... ...y y yrk...... ... rkrk ... ...... ... ... ymk ymk ymk ...... ... mjmj Wydział Wydział Elektroniki studia I st. Kierunek Elektronika III r. Algorytm simpleks dla ograniczeń mniejszościowych Krok 1. (start). Rozpoczynamy algorytm od znalezienia pierwszego rozwiązania − xj ... ... − xBr ... x0 y00 − ( y0k yr 0 / yrk ) ... y0 j − ( y0k yrj / yrk ) ... − y0k / yrk ... ... ... xBi yi0 − ( yik yr 0 / yrk ) ... yij − ( yik yrj / yrk ) − yik / yrk ... ... 1 / yrk ... ik ik Technika optymalizacji Dr inŜ. Ewa Szlachcic Polepszona tablica simpleks odpowiada za następne rozwiązanie bazowe dopuszczalne o większej wartości funkcji celu. ... ... m 0m 0 ij ij ... bazowego dopuszczalnego. NaleŜy sprawdzić dopuszczalność rozwiązania: czy yi 0 ≥ 0 dla i = 1,..., m Tak - idź do kroku 2, Nie – STOP. y0 j ≥ 0 dla kaŜdego Krok 2. (test optymalności). Czy j ∈ RN ? • Tak - to aktualne rozwiązanie jest optymalne. • Nie - ... ... idź do kroku 3. Krok 3. (Wybór zmiennej wchodzącej do bazy). Wybierz jako zmienną wchodzącą bazy taką zmienną x k , k ∈ R N dla której Typową regułą jest wybór zmiennej y0k = xk y0 k < 0. do jest reguła dla której: min {y 0j } , y0 j ≤ 0 j ∈R N IdŜ do kroku 4. Wydział Wydział Elektroniki studia I st. Technika optymalizacji Dr inŜ. Ewa Szlachcic Kierunek Elektronika III r. Wydział Wydział Elektroniki studia I st. Technika optymalizacji Dr inŜ. Ewa Szlachcic Kierunek Elektronika III r. Algorytm simpleks (prymalny) c.d. Schemat reguły przeliczenia współczynników w tablicy simpleks wg metody eliminacji Gauss’a Krok 4. (wybór zmiennej usuwanej z bazy). Wybierz jako zmienną usuwaną z bazy taką zmienną x , dla której Br θ rk = min ( yi 0 / yik , yik > 0). i =1,...,m Jeśli wiele zmiennych spełnia ten warunek, wybierz arbitralnie jedną z nich. p - element centralny (główny) q – dowolny element w wierszu centralnym (głównym) r – dowolny element w kolumnie centralnej (głównej) s – dowolny pozostały element IdŜ do kroku 5. Krok 5. (eliminacja Gauss’a). Wyznacz x j , j ∈ RN − {k } Podstaw oraz zmiennej xk 1 p q p r s ⇒ − r p oraz x Bi , i ≠ R N , względem zmiennych xBr zgodnie z wyprowadzonym wzorem. x j = 0, j ∈ R N − {k } i x Br = 0 , wyznacz pozostałe elementy tablicy xij q p rq s− p aby otrzymać nowe rozwiązanie bazowe dopuszczalne. Idź do kroku 2. Krok ten czasami nazywa się wymianą zmiennej bazowej ( piwotyzacją). Technika optymalizacji Dr inŜ. Ewa Szlachcic Wydział Wydział Elektroniki studia I st. Kierunek Elektronika III r. Technika optymalizacji Dr inŜ. Ewa Szlachcic Wydział Wydział Elektroniki studia I st. Kierunek Elektronika III r. Przykład zadania programowania liniowego – metoda prymalna simpleks - I rozw. bazowe dopuszczalne. Krok 1. (start). Rozpoczynamy algorytm od znalezienia pierwszego rozwiązania bazowego dopuszczalnego. NaleŜy sprawdzić dopuszczalność rozwiązania. Przykład zadania programowania liniowego – metoda prymalna simpleks cd. - II rozw. bazowe dopuszczalne. Krok 5. (eliminacja Gauss’a). Wyznacz idź do Kroku 3 – wybrano x2, Krok 4 – wybrano x3, Krok 5 - metoda eliminacji Gauss’a. Krok 2. (test optymalności). y 0 j ≥ 0 dla ∀j ∈ RN Nie spełniony test optymalności - idź do Kroku 3. x5 x2 x0 7 1/3 -1/3 x3 3/2 -1/6 2/3 ∧ x4 7/2 1/6 4/3 x0 = 0 x1 7/2 1/6 1/3 Krok 4. (wybór zmiennej usuwanej z bazy) - - zmienna x5 . IdŜ do kroku 5. Rozwiązanie bazowe dopuszczalne: x0 0 nowa tablicę simpleksów. Idź do kroku 2. Krok 2. (test optymalności). Nie spełniony - Tak - idź do kroku 2, X1 x2 Wartość funkcji celu: -2 -1 x = [ x3 , x4 , x5 , x1.x2 ]T = [5, 0, 21, 0, 0]T x3 5 1 1 x4 0 -1 1 x5 21 6 2 ∧ 3 7 7 x = [ x3 , x4 , x1 , x5 .x2 ]T = [ , , , 0, 0]T 2 2 2 x0 = 7 Rozwiązanie bazowe dopuszczalne: Zmienna x3: 5/1 Zmienna x4: nie Zmienna x5: 21/6 min dla x5 Element centralny yrk – w kolorze zielonym Wartość funkcji celu: Element centralny yrk – w kolorze zielonym Wydział Wydział Elektroniki studia I st. Technika optymalizacji Dr inŜ. Ewa Szlachcic Kierunek Elektronika III r. Przykład zadania programowania liniowego – metoda prymalna simpleks cd. - III rozw. bazowe dopuszczalne = rozwiązanie optymalne. Wydział Wydział Elektroniki studia I st. Technika optymalizacji Dr inŜ. Ewa Szlachcic Kierunek Elektronika III r. Zadanie programowania liniowego PL dla ograniczeń mniejszościowych ZałoŜenia: 1. Zbiór X rozwiązań dopuszczalnych Krok 2. (test optymalności). Tak - to aktualne rozwiązanie jest optymalne. X ≠0 2. algorytm simpleks startuje z bazowego dopuszczalnego rozwiązania oraz w trakcie jego realizacji nie występuje degeneracja I. Zadanie programowania liniowego PL posiada jedno rozwiązanie x5 x3 x0 31/4 1/4 1/2 x2 9/4 -1/4 3/2 x4 1/2 1/2 -2 x1 Rozwiązanie bazowe optymalne: Wartość optymalna funkcji celu: 11/4 ∧ 1/4 x0 II. Zadanie programowania liniowego – zadanie PL nieograniczone Twierdzenie 4.2 Jeśli zadanie PL jest nieograniczone, to istnieją rozwiązania bazowe dopuszczalne xB oraz wektor y K taki, Ŝe: y0 k < 0 i yik ≤ 0 dla i = 1,..., m Wówczas zbiór rozwiązań jest pusty. x1 , x2 ≥ 0 Technika optymalizacji Dr inŜ. Ewa Szlachcic x1 x2 -2 2 -1 1 9 -1 3 x0 7 x5 x2 x5 x3 1/3 -1/3 x0 31/4 1/4 1/2 9/4 -1/4 3/2 5 1 1 x3 3/2 -1/6 2/3 x4 0 -1 1 x4 7/2 1/6 4/3 x4 1/2 1/2 -2 x5 21 6 2 x1 7/2 1/6 1/3 x1 11/4 1/4 -1/2 Wartość optymalna funkcji celu: Przypadki szczególne cd. -1 x2 -1 Rozwiązanie bazowe optymalne: Kierunek Elektronika III r. 0 x1 -2 ∧ Wydział Wydział Elektroniki studia I st. − x1 + x2 ≤ 2 − x1 + 3x2 ≤ 9 0 x2 x3 -1/2 9 1 11 x = [ x2 , x4 , x1 , x5 .x3 ] = [ , , , 0, 0]T 4 2 4 ∧ 31 x0 = 4 T min x0 = − x1 − 2 x2 , x∈ X Przykład: Technika optymalizacji Dr inŜ. Ewa Szlachcic Przykład: x1 + x2 ≤ 5 X = x : − x1 + x2 ≤ 0 , x ≥ 0 6 x + 2 x ≤ 21 1 2 max x0 = 2x1 + 1x2 y 0 j ≥ 0 dla ∀j ∈ RN Wydział Wydział Elektroniki studia I st. Kierunek Elektronika III r. Technika optymalizacji Dr inŜ. Ewa Szlachcic 11 9 1 x = [ x1 , x2 , x3 , x4 .x5 ]T = [ , , 0, , 0]T 4 4 4 31 x0 = 4 Wydział Wydział Elektroniki studia I st. Kierunek Elektronika III r.