Algebra liniowa, WNE, 2018/2019 ćwiczenia 25. – rozwiązania
17 stycznia 2019
1. Następujące zadania programowanie liniowego rozwiązać metodą sympleks:
• 2x1− x2→ max, przy warunkach:
4x1+ 4x2¬ 12, x1¬ 2, x2¬ 2, x1 0, x2 0.
Sprowadzamy do postaci standardowej: −2x1+ x2→ min, przy warunkach:
4x1+ 4x2+ x3= 12, x1+ x4= 2,
x2+ x5= 2,
x1, x2, x3, x4, x5 0.
Macierz sympleks, zmienne bazowe x3, x4, x5:
−2 1 0 0 0 0
4 4 1 0 0 12
1 0 0 1 0 2
0 1 0 0 1 2
Czyli wierzchołek (0, 0, 12, 2, 2) ma jedną krawędź poprawiającą i jedną pogarszającą. Ograniczenia długości krawędzi poprawiającej to F = {3, 2}, mniejsza wartość odpowiada drugiemu wierszowi.
Więc wyrzucamy zmienną bazową x4 na rzecz x1:
w0+ 2w2, w1− 4w2
−−−−−−−−−−−−−−→
0 1 0 2 0 4
0 4 1 −4 0 4
1 0 0 1 0 2
0 1 0 0 1 2
Czyli jesteśmy w wierzchołku (2, 0, 4, 0, 2) i są już same krawędzie pogarszające, więc jesteśmy w wierzchołku optymalnym. Wartość funkcji celu to −4, więc w oryginalnym zadaniu jest to wierzchołek (2, 0) z wartością 4.
• 3x − 2y → max, przy warunkach:
−3x + 2y 8, x − y ¬ 0, x 0, y 0.
Rozwiązanie: sprowadzamy do postaci standardowej: −3x + 2y → min
−3x + 2y − a = 8 x − y + b = 0 x, y, a, b 0.
Nie widać zestawu dopuszczalnych zmiennych bazowych, od których moglibyśmy zacząć, więc wpro- wadźmy dodatkową sztuczną zmienną m i zmodyfikujmy problem tak: −3x + 2y + M m → min
−3x + 2y − a + m = 8 x − y + b = 0
x, y, a, b, m 0.
Będziemy uważać, że M jest bardzo dużą liczbą, więc algorytm sympleks powinien wyrzucić naszą sztuczną zmienną m, żeby zmaksymalizować funkcję celu. Zatem macierz sympleks jest następująca:
−3 2 0 0 M 0
−3 2 −1 0 1 8
1 −1 0 1 0 0
1
czyli po wyredukowaniu kolumn zmiennych bazowych (b i m) dostajemy:
−3 + 3M 2 − 2M M 0 0 −8M
−3 2 −1 0 1 8
1 −1 0 1 0 0
Ujemna wartość w rzędzie kosztu zredukowanego jest w 2 kolumnie, więc dodajemy zmienną y do zmiennych bazowych. Ponieważ w trzecim wierszu jest wartość ujemna, możemy wybrać tylko drugi wiersz, czyli wywalamy (hurra!) naszą sztuczną zmienną m. Po zredukowaniu (w2 · 12, w1 + (2 + 2M )w2, w3+ w2dostajemy:
0 0 1 0 −1 + M −8
−3
2 1 −12 0 12 4
−12 0 −12 1 12 4
Nie ma już krawędzie poprawiających, więc to jest rozwiązanie, czyli x = 0, y = 4, a funkcja celu osiąga wartość 8, czyli w oryginalnym zadaniu −8.
• 8x + u → max, przy warunkach:
2x + 4y + 8u = 10, 3y + z − u = 3, t + 6u = 12, x, y, z, t, u 0.
Postać kanoniczna: −8x − u → min, przy warunkach:
2x + 4y + 8u = 10, 3y + z − u = 3, t + 6u = 12, x, y, z, t, u 0.
Widać, że można wziąć rozwiązanie bazowe dla x, z, t i wtedy macierz sympleks wygląda tak:
−8 0 0 0 −1 0
1 2 0 0 4 5
0 3 1 0 −1 3
0 0 0 1 6 12
w0+ 8w1
−−−−−−→[
0 16 0 0 31 40
1 2 0 0 4 5
0 3 1 0 −1 3
0 0 0 1 6 12
Mamy macierz sympleks dla wierzchołka (5, 0, 3, 12, 0) i ma tylko krawędzie pogarszające, więc jest wierzchołkiem optymalnym! Funkcja celu wynosi −40, więc w oryginalnym zadaniu 40.
2