Metody optymalizacji, wykład nr 3 – Paweł Zieliński 1
Transkrypt
Metody optymalizacji, wykład nr 3 – Paweł Zieliński 1
1 Metody optymalizacji, wykład nr 3 – Paweł Zieliński Przedstawienie kolumn niebazowych w nowej bazie B 1 , . . . , B i∗ −1 , B i∗ , B i∗ +1 , . . . , B m ] i B = [B B 1 , . . . , B i∗ −1 , B i∗ +1 , . . . , B m , P k ] Niech B = [B będą odpowiednio starą i nową bazą. Przedstawmy kolumnę niebazową P k w starej bazie k Bm = P k y1kB 1 + · · · + yik∗ −1B i∗ −1 + yik∗ B i∗ + yik∗ +1B i∗ +1 + · · · + ym (1) Przedstawmy kolumnę niebazową P j w starej bazie j Bm = P j y1j B 1 + · · · + yij∗ −1B i∗ −1 + yij∗ B i∗ + yij∗ +1B i∗ +1 + · · · + ym Mnożąc (1) przez nowej bazie yij∗ , yik∗ (2) odejmujemy od (2) i otrzymujemy przedstawienie P j (y1j − yij∗ k yij∗ k yij∗ k j j ∗ B B B i∗ + − y )B + · · · + (y − y )B + (y y ∗ )B ∗ ∗ 1 i −1 i −1 i∗ yik∗ 1 yik∗ i −1 yik∗ i (yij∗ +1 yij∗ k yij∗ yij∗ k j ∗ B i +1 + · · · + (ym − k ym )B Bm + k P k = P j − k yi∗ +1 )B yi∗ yi∗ yi∗ Współrzędne kolumny P j w nowej bazie B wyznaczamy ze wzoru y ji = yij∗ yik∗ yj − i dla i = k yij∗ yik∗ yik dla i 6= k Algorytm Sympleks krok 1. Wybierz bazę początkową B (bazowe rozwiązanie dopuszczalne x T = xB , x P ]T x B 0 , x P = 0 , x B = B −1b ). [x Wyznacz współrzędne kolumn y j , j = 1, . . . , n, w bazie B . krok 2. Sprawdź kryterium optymalności Jeżeli x jest optymalne, to STOP. krok 3. Ustal kolumnę P k (zmienną xk ) wchodzącą do bazy. Jeżeli dla wszystkich i = 1, . . . , m, yik ¬ 0, to STOP (nie ma rozwiązania optymalnego skończonego). krok 4. Wybierz kolumnę B i∗ (zmienną xi∗ ) wychodzącą. krok 5. Skonstruuj sąsiednie rozwiązanie bazowe x . Wyznacz współrzędne kolumn y j , j = 1, . . . , n, w nowej bazie B . Podstaw x ← x , y j ← y j , B ← B . Przejdź do kroku 2. Przykład 4x1 + 5x2 → max x1 + 2x2 ¬ 40 4x1 + 3x2 ¬ 120 x1 , x2 0 4x1 + 5x2 → max x1 + 2x2 + s1 = 40 4x1 + 3x2 +s2 = 120 x1 , x2 , s1 , s2 0 2 Metody optymalizacji, wykład nr 3 – Paweł Zieliński 4 5 0 0 x1 1 4 0 4 x2 2 3 0 5 s1 1 0 0 0 s2 0 1 0 0 4 5 0 0 x1 1/2 5/2 5/2 3/2 x2 1 0 5 0 s1 1/2 -3/2 5/2 -5/2 s2 0 1 0 0 cj 0 0 zmienne bazowe s1 s2 zj cj − zj wartości zm. bazowych 40 120 0 cj 5 0 zmienne bazowe x2 s2 zj cj − zj wartości zm. bazowych 20 60 100 zmienne bazowe x2 x1 zj cj − zj wartości zm. bazowych 8 24 136 cj 5 4 4 5 0 0 x1 0 1 4 0 x2 1 0 5 0 s1 4/5 -3/5 8/5 -8/5 s2 -1/5 2/5 3/5 -3/5