Wprowadzenie do badań operacyjnych - wykład 2 i 3 Hanna Furmańczyk 14 listopada 2008
Programowanie liniowe (PL) - wszystkie ograniczenia muszą być liniowe - wszystkie zmienne muszą być ciągłe n j=1 c j x j max (min) n j=1 n j=1 n j=1 a ij x j b i (i = 1, 2,..., m) a ij x j b i (i = m + 1,..., p) a ij x j = b i (i = p + 1,..., r) x j 0 (j + 1, 2,..., n 1 ), n 1 n 1
Postać standardowa oraz kanoniczna PL Postać standardowa PL(max) PL(min): n j=1 n j=1 c j x j max a ij x j b i (i = 1, 2,..., m) n j=1 n j=1 c j x j min a ij x j b i (i = 1, 2,..., m) x j 0 (j = 1, 2,..., n) x j 0 (j = 1, 2,..., n) 2
Postać kanoniczna (wersja macierzowa): c T x max(min) c T = [c 1 c 2... c n ] x = x 1 x 2. x n ax = b A = a 11 a 12... a 1n a 21. a 22.... a 2n. a m1 a m2... a mn x 0 b = b 1 b 2. b m 3
Sprowadzanie do postaci kanonicznej - zmienne swobodne Przykład: 2x 1 + 4x 2 + 2x 3 max 2x 1 + 3x 2 + x 3 3 4x 1 + 2x 2 + 3x 3 5 x 1, x 2, x 3 0 2x 1 + 4x 2 + 2x 3 + 0x 4 + 0x 5 max 2x 1 + 3x 2 + x 3 x 4 = 3 4x 1 + 2x 2 + 3x 3 + x 5 = 5 x 1, x 2, x 3, x 4, x 5 0 4
Dualność Zadanie pierwotne (ZP): n j=1 n j=1 Zadanie dualne (ZD): c j x j max, a ij x j b i (i = 1, 2,..., m), x j 0 (j = 1, 2,..., n) m i=1 m i=1 b i y i min, a ij y i c j (j = 1, 2,..., n), y i 0 (i = 1, 2,..., m) 5
1. W ZD jest tyle zmiennych, ile nierówności w ZP 2. W ZD jest tyle warunków, ile zmiennych jest w ZP 3. Wagi funkcji celu ZP są wyrazami wolnymi w zadaniu dualnym 4. Wyrazy wolne ZP są wagami funkcji celu w ZD 5. Macierz współczynników ZD jest transpozycją macierzy współczynników ZP 6. Jeżeli ZP jest na max, to ZD jest na min (i odwrotnie) Ponadto: 7. Jeżeli w ZP i-ty w-k jest równością, to odpowiadająca mu zmienna y i nie ma ograniczeń, 8. Jeżeli w ZP i-ty w-k jest nietypową nierównością, to y i 0 9. Jeżeli w ZP na zmienną x j nie nałożono ograniczeń, to j-ty w-k w ZD jest równością 10. Jeżeli w ZP x j 0, to w ZD j-ty w-k jest nietypową nierównością 6
1. W ZD jest tyle zmiennych, ile nierówności w ZP 2. W ZD jest tyle warunków, ile zmiennych jest w ZP 3. Wagi funkcji celu ZP są wyrazami wolnymi w zadaniu dualnym 4. Wyrazy wolne ZP są wagami funkcji celu w ZD 5. Macierz współczynników ZD jest transpozycją macierzy współczynników ZP 6. Jeżeli ZP jest na max, to ZD jest na min (i odwrotnie) Ponadto: 7. Jeżeli w ZP i-ty w-k jest równością, to odpowiadająca mu zmienna y i nie ma ograniczeń, 8. Jeżeli w ZP i-ty w-k jest nietypową nierównością, to y i 0 9. Jeżeli w ZP na zmienną x j nie nałożono ograniczeń, to j-ty w-k w ZD jest równością 10. Jeżeli w ZP x j 0, to w ZD j-ty w-k jest nietypową nierównością 7
1. W ZD jest tyle zmiennych, ile nierówności w ZP 2. W ZD jest tyle warunków, ile zmiennych jest w ZP 3. Wagi funkcji celu ZP są wyrazami wolnymi w zadaniu dualnym 4. Wyrazy wolne ZP są wagami funkcji celu w ZD 5. Macierz współczynników ZD jest transpozycją macierzy współczynników ZP 6. Jeżeli ZP jest na max, to ZD jest na min (i odwrotnie) Ponadto: 7. Jeżeli w ZP i-ty w-k jest równością, to odpowiadająca mu zmienna y i nie ma ograniczeń, 8. Jeżeli w ZP i-ty w-k jest nietypową nierównością, to y i 0 9. Jeżeli w ZP na zmienną x j nie nałożono ograniczeń, to j-ty w-k w ZD jest równością 10. Jeżeli w ZP x j 0, to w ZD j-ty w-k jest nietypową nierównością 8
1. W ZD jest tyle zmiennych, ile nierówności w ZP 2. W ZD jest tyle warunków, ile zmiennych jest w ZP 3. Wagi funkcji celu ZP są wyrazami wolnymi w zadaniu dualnym 4. Wyrazy wolne ZP są wagami funkcji celu w ZD 5. Macierz współczynników ZD jest transpozycją macierzy współczynników ZP 6. Jeżeli ZP jest na max, to ZD jest na min (i odwrotnie) Ponadto: 7. Jeżeli w ZP i-ty w-k jest równością, to odpowiadająca mu zmienna y i nie ma ograniczeń, 8. Jeżeli w ZP i-ty w-k jest nietypową nierównością, to y i 0 9. Jeżeli w ZP na zmienną x j nie nałożono ograniczeń, to j-ty w-k w ZD jest równością 10. Jeżeli w ZP x j 0, to w ZD j-ty w-k jest nietypową nierównością 9
1. W ZD jest tyle zmiennych, ile nierówności w ZP 2. W ZD jest tyle warunków, ile zmiennych jest w ZP 3. Wagi funkcji celu ZP są wyrazami wolnymi w zadaniu dualnym 4. Wyrazy wolne ZP są wagami funkcji celu w ZD 5. Macierz współczynników ZD jest transpozycją macierzy współczynników ZP 6. Jeżeli ZP jest na max, to ZD jest na min (i odwrotnie) Ponadto: 7. Jeżeli w ZP i-ty w-k jest równością, to odpowiadająca mu zmienna y i nie ma ograniczeń, 8. Jeżeli w ZP i-ty w-k jest nietypową nierównością, to y i 0 9. Jeżeli w ZP na zmienną x j nie nałożono ograniczeń, to j-ty w-k w ZD jest równością 10. Jeżeli w ZP x j 0, to w ZD j-ty w-k jest nietypową nierównością 10
1. W ZD jest tyle zmiennych, ile nierówności w ZP 2. W ZD jest tyle warunków, ile zmiennych jest w ZP 3. Wagi funkcji celu ZP są wyrazami wolnymi w zadaniu dualnym 4. Wyrazy wolne ZP są wagami funkcji celu w ZD 5. Macierz współczynników ZD jest transpozycją macierzy współczynników ZP 6. Jeżeli ZP jest na max, to ZD jest na min (i odwrotnie) Ponadto: 7. Jeżeli w ZP i-ty w-k jest równością, to odpowiadająca mu zmienna y i nie ma ograniczeń, 8. Jeżeli w ZP i-ty w-k jest nietypową nierównością, to y i 0 9. Jeżeli w ZP na zmienną x j nie nałożono ograniczeń, to j-ty w-k w ZD jest równością 10. Jeżeli w ZP x j 0, to w ZD j-ty w-k jest nietypową nierównością 11
1. W ZD jest tyle zmiennych, ile nierówności w ZP 2. W ZD jest tyle warunków, ile zmiennych jest w ZP 3. Wagi funkcji celu ZP są wyrazami wolnymi w zadaniu dualnym 4. Wyrazy wolne ZP są wagami funkcji celu w ZD 5. Macierz współczynników ZD jest transpozycją macierzy współczynników ZP 6. Jeżeli ZP jest na max, to ZD jest na min (i odwrotnie) Ponadto: 7. Jeżeli w ZP i-ty w-k jest równością, to odpowiadająca mu zmienna y i nie ma ograniczeń, 8. Jeżeli w ZP i-ty w-k jest nietypową nierównością, to y i 0 9. Jeżeli w ZP na zmienną x j nie nałożono ograniczeń, to j-ty w-k w ZD jest równością 10. Jeżeli w ZP x j 0, to w ZD j-ty w-k jest nietypową nierównością 12
1. W ZD jest tyle zmiennych, ile nierówności w ZP 2. W ZD jest tyle warunków, ile zmiennych jest w ZP 3. Wagi funkcji celu ZP są wyrazami wolnymi w zadaniu dualnym 4. Wyrazy wolne ZP są wagami funkcji celu w ZD 5. Macierz współczynników ZD jest transpozycją macierzy współczynników ZP 6. Jeżeli ZP jest na max, to ZD jest na min (i odwrotnie) Ponadto: 7. Jeżeli w ZP i-ty w-k jest równością, to odpowiadająca mu zmienna y i nie ma ograniczeń, 8. Jeżeli w ZP i-ty w-k jest nietypową nierównością, to y i 0 9. Jeżeli w ZP na zmienną x j nie nałożono ograniczeń, to j-ty w-k w ZD jest równością 10. Jeżeli w ZP x j 0, to w ZD j-ty w-k jest nietypową nierównością 13
1. W ZD jest tyle zmiennych, ile nierówności w ZP 2. W ZD jest tyle warunków, ile zmiennych jest w ZP 3. Wagi funkcji celu ZP są wyrazami wolnymi w zadaniu dualnym 4. Wyrazy wolne ZP są wagami funkcji celu w ZD 5. Macierz współczynników ZD jest transpozycją macierzy współczynników ZP 6. Jeżeli ZP jest na max, to ZD jest na min (i odwrotnie) Ponadto: 7. Jeżeli w ZP i-ty w-k jest równością, to odpowiadająca mu zmienna y i nie ma ograniczeń, 8. Jeżeli w ZP i-ty w-k jest nietypową nierównością, to y i 0 9. Jeżeli w ZP na zmienną x j nie nałożono ograniczeń, to j-ty w-k w ZD jest równością 10. Jeżeli w ZP x j 0, to w ZD j-ty w-k jest nietypową nierównością 14
1. W ZD jest tyle zmiennych, ile nierówności w ZP 2. W ZD jest tyle warunków, ile zmiennych jest w ZP 3. Wagi funkcji celu ZP są wyrazami wolnymi w zadaniu dualnym 4. Wyrazy wolne ZP są wagami funkcji celu w ZD 5. Macierz współczynników ZD jest transpozycją macierzy współczynników ZP 6. Jeżeli ZP jest na max, to ZD jest na min (i odwrotnie) Ponadto: 7. Jeżeli w ZP i-ty w-k jest równością, to odpowiadająca mu zmienna y i nie ma ograniczeń, 8. Jeżeli w ZP i-ty w-k jest nietypową nierównością, to y i 0 9. Jeżeli w ZP na zmienną x j nie nałożono ograniczeń, to j-ty w-k w ZD jest równością 10. Jeżeli w ZP x j 0, to w ZD j-ty w-k jest nietypową nierównością 15
Twierdzenie 1 Jeżeli ZP i ZD mają rozwiązania dopuszczalne, to obydwa mają rozwiązania optymalne. Jeżeli natomiast chociaż jedno z nich nie ma rozwiązania dopuszczalnego, to obydwa nie mają rozwiązań optymalnych. Twierdzenie 2 Jeżeli istnieją rozwiązania: x ZP i y ZD, dla których odpowiadające funkcje celu dają te same wartości, to obydwa rozwiązania są optymalne. 16
Twierdzenie 3 (o równowadze) Jeżeli x 1, x 2,..., x n jest rozwiązaniem dopuszczalnym ZP oraz y 1, y 2,..., y m jest rozw. dop. ZD, to aby te rozwiązania były optymalnymi, wystarcza, że spełnione są następujące warunki: n j=1 m i=1 a ij x j < b i y i = 0, a ij y i > c j x j = 0, y i > 0 x j > 0 n j=1 m i=1 a ij x j = b i a ij y i = c j. 17
ZP f(x) = 9x 1 + 6x 2 max 3x 1 + 6x 2 240 8x 1 + 4x 2 400 9x 1 + 3x 2 270 x 1, x 2 0 ZD f (y) = 240y 1 + 400y 2 + 270y 3 min 3y 1 + 8y 2 + 9y 3 9 6y 1 + 4y 2 + 3y 3 6 y 1, y 2, y 3 0 x = (20, 30) y = (0.6, 0, 0.8) 18
Metoda simpleks dla ZP: f(x) = 9x 1 + 6x 2 + 0x 3 + 0x 4 + 0x 5 max 3x 1 + 6x 2 + x 3 = 240 8x 1 + 4x 2 + x 4 = 400 9x 1 + 3x 2 + x 5 = 270 x 1, x 2, x 3, x 4, x 5 0 c j 9 6 0 0 0 wyrazy zm.baz. x 1 x 2 x 3 x 4 x 5 wolne ilorazy 0 x 3 3 6 1 0 0 240 80 0 x 4 8 4 0 1 0 400 50 0 x 5 9 3 0 0 1 270 30 z j 0 0 0 0 0 x 0 war.opt. 9 6 0 0 0 0 19
Po obliczeniach: c j 9 6 0 0 0 wyrazy zm.baz. x 1 x 2 x 3 x 4 x 5 wolne ilorazy 6 x 2 0 1 1/5 0 1/15 30 0 x 4 0 0 4/15 1 4/5 120 9 x 1 1 0 1/15 0 2/15 20 z j 9 6 0.6 0 0.8 x 0 war.opt. 0 0 0.6 0 0.8 360 Wartości bezwzględne wskaźników optymalności zmiennych decyzyjnych ZP są wartościami zm. bilansujących ZD, natomiast wartości bezwzględne wskaźników optymalności zmiennych bilansujących ZP są wartościami zm. decyzyjnych ZD. 20
Po obliczeniach: c j 9 6 0 0 0 wyrazy zm.baz. x 1 x 2 x 3 x 4 x 5 wolne ilorazy 6 x 2 0 1 1/5 0 1/15 30 0 x 4 0 0 4/15 1 4/5 120 9 x 1 1 0 1/15 0 2/15 20 z j 9 6 0.6 0 0.8 x 0 war.opt. 0 0 0.6 0 0.8 360 Wartości bezwzględne wskaźników optymalności zmiennych decyzyjnych ZP są wartościami zm. bilansujących ZD, natomiast wartości bezwzględne wskaźników optymalności zmiennych bilansujących ZP są wartościami zm. decyzyjnych ZD. 21
Zadanie prymalne: f(x) = 9x 1 + 6x 2 + 0x 3 + 0x 4 + 0x 5 max 3x 1 + 6x 2 + x 3 = 240 8x 1 + 4x 2 + x 4 = 400 9x 1 + 3x 2 + x 5 = 270 x 1, x 2, x 3, x 4, x 5 0 Zadanie dualne: f (y) = 240y 1 + 400y 2 + 270y 3 + 0y 4 + 0y 5 min 3y 1 + 8y 2 + 9y 3 y 4 = 9 6y 1 + 4y 2 + 3y 3 y 5 = 6 y 1, y 2, y 3, y 4, y 5 0 22
c j 9 6 0 0 0 wyrazy zm.baz. x 1 x 2 x 3 x 4 x 5 wolne ilorazy 6 x 2 0 1 1/5 0 1/15 30 0 x 4 0 0 4/15 1 4/5 120 9 x 1 1 0 1/15 0 2/15 20 z j 9 6 0.6 0 0.8 x 0 war.opt. 0 0 0.6 0 0.8 360 Zadanie prymalne Zadanie dualne Zmienne wartości wskaźniki zmienne wartości optymalności Decyzyjne x 1 = 20 0 bilansujące y 4 = 0 x 2 = 30 0 y 5 = 0 Bilansujace x 3 = 0-0.6 decyzyjne y 1 = 0.6 x 4 = 120 0 y 2 = 0 x 5 = 0-0.8 y 3 = 0.8 23
Metoda simpleks PL: c T x max(min) c - n-wymiarowy wektor wag Ax = b A - macierz współczynników (m n) b - m-wymiarowy wektor wyrazów wolnych x 0 x - n-wymiarowy wektor zmiennych B - baza - macierz kwadratowa (m m), m liniowo niezależnych kolumn macierzy A; det(b) 0 Z każdą bazą B związane jest rozwiązanie bazowe, jest ich ( ) n m. 24
Jak uzyskać rozwiązanie bazowe? 1. Wybieramy bazę B. 2. Zmienne niebazowe przyjmują wartośc 0 (x N = 0). 3. Rozwiązujemy układ m r-ń z m niewiadomymi Bx B =b. Twierdzenie 4 Jeżeli zadanie PL ma rozwiązanie optymalne, to ma także rozwiązanie optymalne bazowe. Wniosek 1 Rozwiązania optymalnego wystarczy szukać wśród rozwiązań bazowych, których liczba jest skończona. 25
Jak uzyskać rozwiązanie bazowe? 1. Wybieramy bazę B. 2. Zmienne niebazowe przyjmują wartośc 0 (x N = 0). 3. Rozwiązujemy układ m r-ń z m niewiadomymi Bx B =b. Twierdzenie 3 Jeżeli zadanie PL ma rozwiązanie optymalne, to ma także rozwiązanie optymalne bazowe. Wniosek 2 Rozwiązania optymalnego wystarczy szukać wśród rozwiązań bazowych, których liczba jest skończona. 26
Jak uzyskać rozwiązanie bazowe? 1. Wybieramy bazę B. 2. Zmienne niebazowe przyjmują wartośc 0 (x N = 0). 3. Rozwiązujemy układ m r-ń z m niewiadomymi Bx B =b. Twierdzenie 3 Jeżeli zadanie PL ma rozwiązanie optymalne, to ma także rozwiązanie optymalne bazowe. Wniosek 1 Rozwiązania optymalnego wystarczy szukać wśród rozwiązań bazowych, których liczba jest skończona. 27
Pełny przegląd WSZYSTKICH rozwiązań bazowych jest nieefektywny! W metodzie simpleks przechodzimy od jednego dopuszczalengo rozwiązania bazowego do drugiego, o którym wiemy, że jest NIE GORSZE od poprzedniego. KROK A: Wyznaczamy rozwiązanie wejściowe - dopuszczalne i bazowe. KROK B: Sprawdzamy, czy aktualne rozwiązanie bazowe jest optymalne. KROK C: Jeżeli nie, to bierzemy pod uwagę sąsiednie rozwiązanie bazowe, o ktorym wiemy, że jest nie gorsze i wracamy do B. 28