II Zadanie programowania liniowego PL przy ograniczeniach: dim x=[n*1], dim c=[n*1] Macierz A odpowiada za współczynniki w m ograniczeniach dim A=[m x n] Wektor wyrazów wolnych b odpowiada za prawą stronę ograniczeń dim b =[m*1] Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Postać kanoniczna II zadania PL Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Optymalne rozwiązanie II zadania PL metodą dualną simpleks Twierdzenie: Rozwiązanie bazowe dopuszczalne układu równań Ax=b jest rozwiązaniem optymalnym II zadania PL, jeśli są spełnione warunki: (i) Warunek dualnej dopuszczalności: (ii) Warunek dualnej optymalności Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Algorytm dualny simpleks Krok 1. (start). Rozpoczynamy algorytm od znalezienia pierwszej tablicy dualnie dopuszczalnej. Należy sprawdzić dualną dopuszczalność rozwiązania: czy Tak - idź do Kroku 2, Nie – koniec. Krok 2. (test optymalności). Czy dla każdego ? Tak - to aktualne rozwiązanie jest optymalne. Nie - idź do Kroku 3. Krok 3. (Wybór zmiennej usuwanej z bazy). Wybierz jako zmienną usuwaną z bazy taką zmienną dla której Typową regułą jest wybór zmiennej dla której: Idż do Kroku 4. Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Algorytm dualny simpleks c.d. Krok 4. (wybór zmiennej wprowadzanej do bazy). Wybierz jako zmienną wchodzącą do bazy taką zmienną dla której Jeśli wiele zmiennych spełnia ten warunek, wybierz arbitralnie jedną z nich. Idż do Kroku 5. Krok 5. (eliminacja). Dokonaj dualną iterację simpleksową metodą eliminacji Gauss’a poprzez wprowadzenie do bazy oraz usunięcie Idź do Kroku 2. Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Przykład II zadania programowania liniowego – dualna metoda simpleks tablica początkowa tablica pośrednia tablica optymalna -x1 -x3 -x0 -3 ½ X2 3 -1/2 x4 -3/2 X5 -x1 -x2 -x0 1 X3 -6 -1 -2 X4 X5 -3 -x4 -x3 -X0 -4 1/3 X2 2 -2/3 X1 X5 1 -1/3 tablica dualnie dopuszczalna tablica jeszcze nie optymalna tablica z rozwiązaniem optymalnym Rozwiązanie optymalne: Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
III Zadanie programowania liniowego PL przy ograniczeniach: dim x=[n*1], dim c=[n*1] Macierze A1, A2 odpowiadają za współczynniki w m1 i m2 ograniczeniach dim A1 =[m 1 * n], dim A2 =[m 2 * n] Wektory b1, b2 odpowiadają za prawe strony ograniczeń dim b1=[m1*1], dim b2=[m2*1] Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Zadanie programowania liniowego dla ograniczeń mniejszościowych i większościowych Metoda dwóch faz I faza - należy znaleźć pierwsze rozwiązanie bazowe dopuszczalne poprzez rozwiązanie zadania pomocniczego II faza - maksymalizacja funkcji celu x0 dla następnego rozwiązania bazowego dopuszczalnego wg algorytmu simpleks. Algorytm simpleks (prymalny) – I faza Krok 1 – nie ma możliwości stworzenia pierwszego rozwiązania bazowego dopuszczalnego Krok 1. (start). Rozpoczynamy algorytm od znalezienia pierwszego rozwiązania bazowego dopuszczalnego. Należy sprawdzić dopuszczalność rozwiązania: czy Tak - idź do Kroku 2, Nie – STOP. Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
I faza metody PL – Nieznane pierwsze rozwiązanie bazowe dopuszczalne I.1 - technika zadania pomocniczego I.2 - technika pomocniczej funkcji celu Ad. I.1 Rozwiązanie zadania pomocniczego PL z funkcją celu w postaci funkcji liniowej z0 Gdzie It jest macierzą jednostkową rzędu t. Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
I faza metody PL cd. Wprowadzamy wektor zmiennych pomocniczych dim = m- t Rozwiązanie bazowe dopuszczalne układu równań: Należy znaleźć inne rozwiązanie bazowe dopuszczalne, w którym lub stwierdzić, że takie rozwiązanie nie istnieje. Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
I faza metody – zadanie pomocnicze PL Zmienna x0 zawsze pozostaje zmienną bazową. Rozwiązaniem początkowym zadania PL I fazy jest Oraz Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Ad.I.2 Pomocnicza funkcja celu Uproszczona wersja I fazy metody dwufazowej simpleks – uzyskanie bazowego rozwiązania dopuszczalnego Jeśli wektor b w początkowej tablicy simpleksowej ma przynajmniej jedną ujemną współrzędną, to tablica przedstawia niedopuszczalne rozwiązanie bazowe. Początkową niedopuszczalną tablicę simpleksową można przekształcić wykorzystując algorytm simpleks. Cel – uzyskanie nieujemnych wartości zmiennych bazowych Należy znaleźć wiersz s, dla którego współczynnik yio przyjmuje najmniejszą wartość Wybrany wiersz s będzie stanowił pomocniczą funkcję celu , którą należy zmaksymalizować. Kolejne kroki metody simpleks powinny być prowadzone do uzyskania dopuszczalnej tablicy simpleks, tzn. takiej dla której spełniony jest warunek prymalnej dopuszczalności: Koniec I fazy Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Ad.I.2 Pomocnicza funkcja celu Uproszczona wersja I fazy metody dwufazowej simpleks cd. Krok 1. (start- wybór pomocniczej funkcji celu). Rozpoczynamy algorytm od znalezienia wiersza s , dla którego oraz Jeśli brak takiego s ( ) to tablica odpowiada dopuszczalnemu rozwiązaniu bazowemu – należy przejść do II fazy. Krok 2. (Wybór zmiennej wchodzącej do bazy). Wybierz jako zmienną wchodzącą do bazy taką zmienną dla której Typową regułą jest wybór zmiennej , dla której: Jeśli jest brak takiej zmiennej ( ) to jest brak rozwiązania dopuszczalnego. Jest to problem sprzeczny. Idż do Kroku 3. Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Taki przypadek zawsze istnieje, ponieważ Idż do Kroku 5. Krok 3. (wybór zmiennej usuwanej z bazy). Wybierz jako zmienną usuwaną z bazy taką zmienną dla której Jeśli wiele zmiennych spełnia ten warunek, wybierz arbitralnie jedną z nich. Taki przypadek zawsze istnieje, ponieważ Idż do Kroku 5. Krok 4. (eliminacja Gauss’a). Wyznacz oraz względem zmiennych oraz zmiennej zgodnie z wyprowadzonymi wzorami. Podstaw aby otrzymać pierwsze rozwiązanie bazowe dopuszczalne. Idź do Kroku 1. Krok ten czasami nazywa się wymianą zmiennej bazowej ( piwotyzacją). Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Przykład III zadania programowania liniowego metoda dwufazowa simpleks I faza II faza cz.1 II faza cz.2 -x1 -x2 x0 -1 -6 x3 -2 x4 3 1 x5 6 -x5 -x2 x0 6 1 -5 x3 10 2 x4 9 x1 -x5 -x4 x0 28,5 3,5 2,5 X3 5,5 1,5 -0,5 X2 4,5 0,5 X1 Brak rozwiązania dopuszczalnego I rozwiązanie bazowe dopuszczalne II rozwiązanie bazowe dopuszczalne- rozwiązanie optymalne Rozwiązanie optymalne: Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Przypadki szczególne – zbiór rozwiązań dopuszczalnych jest zbiorem pustym - brak rozwiązania W metodzie dwufazowej simpleks algorytm w I fazie obliczeń nie potrafi stworzyć pierwszego rozwiązania bazowego dopuszczalnego z powodu braku rozwiązań dopuszczalnych. Przykład: -x1 -x2 -x3 x0 -1/2 1 x4 2 x5 -3 1/2 -2 x6 -1 -x1 -x4 -x3 x0 x x2 x5 -1 1 2 x6 Nie jest spełniony warunek dopuszczalności drugiej tablicy simpleks i jednocześnie druga tablica wskazuje, że jest brak rozwiązań dopuszczalnych. Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Teoria dualności dla zadania programowania liniowego PL Twierdzenie 7.1 : Jeśli wektor x jest rozwiązaniem dopuszczalnym dla zadania prymalnego i wektor v jest rozwiązaniem dopuszczalnym dla zadania dualnego, to wartość funkcji celu w zadaniu dualnym nie może być mniejsza od wartości funkcji celu w zadaniu prymalnym. Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Twierdzenie 7.2 Jeśli jedno z pary wzajemnie dualnych zadań programowania liniowego PL i DPL posiada rozwiązanie optymalne , to ma je również zadanie dualne i obydwa zadania mają identyczne wartości funkcji celu tzn.: Twierdzenie 7.3 Jeśli zadanie dualne jest nieograniczone, to zadanie prymalne jest sprzeczne. Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Teoria dualności dla zadania PL cd. Twierdzenie 7.4 Niech (xr ,xs ) i ( vr , vs) będą odpowiednio rozwiązaniami dopuszczalnymi zadania prymalnego i dualnego, przy czym xs i vs są wektorami zmiennych dopełniających do postaci kanonicznej zadania w wektorach rozwiązań. Wtedy (xr ,xs ) i ( vr , vs) będą odpowiednio rozwiązaniami optymalnymi pary zadań prymalnego i dualnego, wówczas zachodzi warunek komplementarności zmiennych postaci: tzn. zachodzi Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Przykład I zadanie prymalne zadanie dualne Postać wektora rozwiązań: Przykład II System cięcia dłużyc Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7
Teoria dualności dla zadania PL cd. I. Rozwiązanie zadania dualnego metodą simpleks Zadanie dualne: x1 x2 x0 -2 -1 x3 5 1 x4 x5 21 6 2 x5 x2 x0 7 1/3 -1/3 x3 3/2 -1/6 2/3 x4 7/2 1/6 4/3 x1 x5 x3 x0 31/4 1/4 1/2 x2 9/4 -1/4 3/2 x4 -2 x1 11/4 -1/2 Rozwiązanie optymalne: Zadanie dualne Zadanie prymalne Wartość optymalna funkcji celu: Metody numeryczne i optymalizacji Dr inż. Ewa Szlachcic Wykład 7