1. Podaj postać standardowa Zadania Programowania
Transkrypt
1. Podaj postać standardowa Zadania Programowania
1. Podaj postać standardowa Zadania Programowania Liniowego 2. Sprowadź następujące zadanie programowania liniowego do postaci standardowej Min -5x1 - 4x2 2x1 + x2 + x3 = 1 X1 + 4x2 – x4 = -2 -x1 + 3x2 – x5 = 1 X >= 0 3. Podaj definicję nieograniczonego zadania programowania liniowego. 4. Podaj definicję sprzecznego zadania programowania liniowego. 5. Podaj definicje rozwiązania bazowego zadania programowania liniowego w postaci standardowej. Rozwiązaniem bazowym układu równań Ax=b rz(A)=m, n>m nazywamy wektor xb=B-1b utworzony ze zmiennych odpowiadających kolumnom aj macierzy bazowej B. Składowe wektora bazowego xb to są zmienne bazowe. 6. Podaj definicje dopuszczalnego rozwiązania bazowego zadania programowania liniowego w postaci standardowej. Bazowym rozwiązaniem dopuszczalnym jest taki punkt wierzchołkowy zbioru punktów dopuszczalnych zadania, w którym macierz AB jest nieosobliwa oraz ˆb ≥ 0 7. Dane jest następujące zadanie programowania liniowego minx 5x1 + 4x2 + x4 2x1 + x2 + x4 = 1 x1 + 4x2 + x3 = −2 x1, x2, x3, x4 >=0 Określ jedno z rozwiązań bazowych tego zadania. Odpowiedz, czy jest to bazowe rozwiązanie dopuszczalne. B = {3,4} N = {1,2} Zatem: Ab = [0 1; 1 0], stąd b^ = [ -2 ; 1] Nie jest to rozwiązanie bazowe dopuszczalne bo nie wszystkie zmienne bazowe są nieujemne. B0 = {1, 4} , N0 = {3, 2} = {2, 3} b^ nieformalnie z równań wybieramy gdzie x2 x3 = 0 b^ formalnie ze wzoru b^ = AB-1 * b b^ = [1;2] ceny niebazowe cn = [5;-2]; wyznaczamy zredukowane: cn^ = cn – AnT * Ab-T * cb Sprawdzamy warunek stopu cn >= 0. Jeśli nie, to jedziemy dalej. Wybieramy do wrzucenia: Najmniejsza z cen niebazowych. Wybieramy do wyrzucenia: Gdy wybieramy co wyrzucić to konstruujemy zależności zmiennych bazowych od wybranej zmiennej niebazowej (tej co wrzucamy) i patrzymy dla jakiej jej wartości bazowe są równe 0. Wyrzucamy tą, dla której ta wartość (tej niebazowej) jest mniejsza. Rysujemy tabele: Cn | 0 5 -2 0 |-f^ -------------------------------------------------------------------X4 | 0 2 3 1 |2 X1 | 1 -1 2 0 |1 Mamy B = {4,1} N = {2,3}. Szukamy do wjebania: wybieramy x3 bo -2 najmniejsze z cen. Szukamy do wyjebania: • wybieramy 3-kolumne z A (bo x3 wjebujemy) • z tej kolumny zajmujemy się tylko dodatnimi wyrazami • dzielimy bi / ai3 i wybieramy z tych wyrażeń NAJMNIEJSZE (w naszym przypadku 2/3 vs. ½) • ponieważ ½ jest mniejsze, to do wyjebania wybieramy x1 (czyli zamiana x1 na x3) Tworzymy nowa tabele (musi być tak): Cn | 0 | -f^ -------------------------------------------------------------------X4 | 0 | X3 | 1 | Dodajemy cale wiersze miedzy sobą tak aby te zera nam się zrobiły i ta jedynka tez. Czyly: Cn | 1 4 0 0 | -f^ = -f(0,0,x3,x4) = 1 -------------------------------------------------------------------X4 | -3/2 7/2 0 1 | 1/2 X3 | 1/2 -1/2 1 0 |½ Ponieważ cn > 0, to koniec. Robimy simplex algebraiczny (ad. 8) do momentu aż trzeba wybrać, który element należy wyrzucić i wtedy jeśli coś się pierdoli bo nie da się określić jednoznacznie, który element wywalić – to zadanie jest nieograniczone. CHYBA SIĘ KOMUŚ PIZNĘŁO SIĘ (GDZIE DO CHUJA 4 ZMIENNE!) Zakładamy, że jest tylko x1 i x2. Najpierw do postaci standardowej: min 2x1 + x2 x1 + x2 – x3 = 2______\ 1 1 -1 0 | 2 x1 + x2 + x4 = 1 / 1 2 0 1 | 1 b musi być większe równe zero! Nie ma macierzy kanonicznej, wiec trzeba dojebać zmienną sztuczną x5 do równania pierwszego, żeby razem z x4 tworzyły ją. Oto zadanie I fazy metody sympleks: min x5 x1 + x2 – x3 + x5 = 2 x1 + x2 + x4 = 1 Cn | 0 0 0 0 1 -------------------------------------------------------------X5 | 1 2 -1 0 1 X4 | 2 3 0 1 0 |-f^ ------------|2 |1 Cn | -1 -2 1 0 0 -------------------------------------------------------------X5 | 1 2 -1 0 1 X4 | 2 3 0 1 0 |-f^ ------------|2 |1 Cn | 1/3 0 1 2/3 0 -------------------------------------------------------------X5 | -1/3 0 -1 -2/3 1 X2 | 2/3 1 0 1/3 0 |-f^ ------------|4/3 |1/3 Zmiennymi bazowymi jest {x5,x2} , a rozwiązaniem bazowym jest wektor [0,1,0,0,3] jest to rozwiązanie dopuszczalne. Wartość funkcji celu w tym punkcie wynosi 4/3 Musimy naszą funkcję przekształcić do postaci takiej jak poniżej. W tym celu zamieniamy x na –x i chyba gitara. Dalej jedziemy ze sztampy: Zadanie dualne: Jedziemy podobnie jak w zadaniu 14 ale jedziemy z następującej sztampy: Zamieniamy ograniczenia: X1 + 2x2 -1<=0 -2x1 – x2 +3 <=0 -2x1 +3x2 +2 <=0 Funkcja lagrange’a: L(x,λ) = { x1 +2x2 + λ1( x1 + 2x2 -1) + λ2( -2x1 – x2 +3) + λ3(-2x1 +3x2 +2) } Funkcja dualna: LD(λ1,λ2,λ3,λ4) = infx∈R^2 {- λ1 +3 λ2+2 λ3 +x1(1+ λ1−2 λ2−2 λ3) +x2(2+2 λ1− λ2+3 λ3) } = = - λ1 +3 λ2+2 λ3 gdy 1+ λ1−2 λ2−2 λ3 = 0 i 2+2 λ1− λ2+3 λ3 = 0 -∞ w pozostałych przypadkach Zadanie dualne: Max - λ1 +3 λ2+2 λ3 p.o. 1+ λ1−2 λ2−2 λ3 = 0 2+2 λ1− λ2+3 λ3 = 0 λ >= 0 ???? „jeżeli j-ta zmienna dualna ma wartość większą od zera, to odpowiadające jej ograniczenie w zadaniu prymalnym musi być spełnione równościowo” W naszym przypadku rozwiązujemy układ: 2x1 – 3x2 = 2 2x1 – 2x2 = -2 „jeżeli w którymś z ograniczeń zadania prymalnego zachodzi ´ścisła nierówność w punkcie optymalnym, to odpowiednia zmienna dualna musi mieć wartość równą zero” Dla naszego przypadku spełnione są nierówności: 6x1 – 10x2 > 47 2x1 - 3x2 > 13, zatem zerujemy λ1 i λ2, co w konsekwencji daje nam układ równań: 6*0 + 2*0 + 2λ3 + 4λ4 = 6 -10*0 – 3*0 - 2λ3 – 7λ4 = -9 ??????? Postać standardowa: Min x1 + 2x2 3x1 + x2 – x3 = 7 x1 + 4x2 – x4 = 6 x1, x2, x3, x4 >= 0 sztampa z książki, s. 59 Na zmienne bazowe wybieramy x3 i x4 . Zatem xB =[-7;-6] nie spełnia warunku nieujemności ale ten punkt jest dualnie dopuszczalny ponieważ: c^ = c – A[AB]-T cB0 = [1;2;0;0] - A[AB]-T * 0 = [1;2;0;0] >= 0. Początkowa tablica sympleksowa ma postać: cn | 1 2 0 0 |-f^ -------------------------------------------------------------x3 | -3 -1 1 0 |-7 x4 | -1 -4 0 1 |-6 ----- Jedziemy z iteracją. Mamy inne kryterium stopu teraz: bn^ > 0. Wyprowadzamy z bazy: x3 (bo -7 < -6) Szukamy co wprowadzić do bazy: max { (c1 = 2 )/-3 ; (c2 =2)/-1 } = max { -2/3; -1/2 }, czyli wybieramy x2. Potem z grubsza tak samo: cn | -5 0 -2 0 |-f^ -----------------------------------------------------------------X2 | 3 1 -1 0 |7 x4 | 11 0 4 1 |22 Warunek stopu spełniony. Koniec.