Algebra liniowa, WNE, 2016/2017 ćwiczenia 25

Transkrypt

Algebra liniowa, WNE, 2016/2017 ćwiczenia 25
Algebra liniowa, WNE, 2016/2017
ćwiczenia 25. – rozwiązania
20 stycznia 2017
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
4
1
0
1 0 0 0 0
4 1 0 0 12
0 0 1 0 2
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 :
0 1 0
0 4 1
w0 + 2w2 , w1 − 4w2
−−−−−−−−−−−−−−→ 1 0 0
0 1 0
2
−4
1
0
0
0
0
1
4
4
2
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 wprowadź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

−3 + 3M 2 − 2M M

−3
2
−1
1
−1
0
i m) dostajemy:

0 0 −8M
0 1
8 
0
1 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 + w2 dostajemy:


0 0 1 0 −1 + M −8
1
 −3 1 − 1 0
4 
2
2
2
1
1
1
−2 0 −2 1
4
2
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
1
0
0
0 0 0 −1
2 0 0 4
3 1 0 −1
0 0 1 6
0
5
w + 8w [
3 −−0−−−−→1
12
0
1
0
0
16
2
3
0
0
0
1
0
0
0
0
1
31
4
−1
6
40
5
3
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