Metody optymalizacji, wykład nr 10 Paweł Zieliński 1 Literatura [1] E. M. Reingold, J. Nievergelt, N. Deo Algorytmy kombinatoryczne PWN, 1985. [2] R.S. Garfinkel, G.L. Nemhauser Programowanie całkowitoliczbowe PWN, 1978. [3] M.M. Sysło, M. Deo, J.S. Kowalik Algorytmy optymalizacji dyskretnej z programami w języku PASCAL PWN, 1993. 1 Metoda podziału i ograniczeń 1.1 Zagadnienie komiwojażera Fakt 1. Cykl Hamiltona zawiera dokładnie jeden element z każdego wiersza i dokładnie jeden element z każdej kolumny macierzy kosztów. Fakt 2. Jeśli odejmiemy stałą od wszystkich elementów jakiegoś wiersza lub jakiejś kolumny macierzy kosztów, to waga każdego cyklu Hamiltona zmniejszy się dokładnie o tę stałą (względny koszt wszystkich cykli pozostanie taki sam). Fakt 3. Jeżeli wielokrotnie zastosujemy Fakt 2 aż otrzymamy w każdym wierszu i każdej kolumnie co najmniej jedno zero, a pozostałe elementy macierzy kosztów są nieujemne, to całkowita suma odjętych stałych jest dolnym ograniczeniem długości jakiegokolwiek cyklu Hamiltona. Zbiór rozwiązań będziemy dzielić na dwa podzbiory: złożony z rozwiązań zawierających wyróżniony łuk, złożony z rozwiązań nie zawierających wyróżnionego łuku. Przykład 1 Rozważmy macierz kosztów 3 93 13 33 9 4 77 42 21 16 45 17 36 16 28 39 90 80 56 7 28 46 88 33 25 3 88 18 46 92 Odejmujemy 3, 4, 16, 7, 25 i 3 od elementów kolejnych wierszy oraz 15 i 8 od elementów kolumny trzeciej i czwartej.
Metody optymalizacji, wykład nr 10 Paweł Zieliński 2 Zredukowana macierz ma postać 0 75 2 30 9 0 58 30 17 12 29 1 12 0 12 32 83 58 49 0 3 21 48 0 0 0 85 0 35 89 Dolne ograniczenie na długość rozwiązań jest równe81. Podział zbioru rozwiązań dokonujemy za pomocą łuku(6,3), ponieważ ten wybór powoduje największy wzrost dolnego ograniczenia w prawym podrzewie, czyli 48. wszystkie z 81 be +48=129 bez wiersza nr 6 i kolumny nr 3 0 2 30 9 0 30 17 12 29 1 12 0 32 83 49 0 3 21 0 0 0 27 2 30 9 0 10 30 17 12 29 1 12 0 12 32 83 10 49 0 3 21 0 0 0 0 85 35 89 Dzielimy zbiór w lewym podrzewie za pomocą łuku(4, 6). Ten wybór powoduje wzrost dolnego ograniczenia w prawym podrzewie o 32. (4, 6) z(6, 3) bez (4, 6) +32=113 bez wierszy nr 4, 6 i kolumn nr 3, 6 0 2 30 0 30 17 29 1 0 3 21 0 0 2 30 9 0 30 17 12 29 1 12 0 0 51 17 3 21 0 0 Dzielimy zbiór w lewym podrzewie za pomocą łuku(2, 1). Wybór powoduje wzrost dolnego ograniczenia w prawym podrzewie o 17+3=20. Odejmujemy od wiersza 17, od pierwszej kolumny 3. Zabraniamy przejścia przez łuk(3, 4) (lewe poddrzewo), jeśli w rozwiązaniu są(4,6) i(6,3).
Metody optymalizacji, wykład nr 10 Paweł Zieliński 3 (4,6) +20=101 z 84 (4,6)(2,1) (4,6) bez (2,1) bez wierszy nr 2, 4, 6 i kolumn nr 1, 3, 6 2 30 1 0 21 0 można polepszyć dolne ograniczenie o 3 +3=84 0 28 0 0 20 0 0 2 30 13 0 26 1 0 0 21 0 wszystkie z 81 be z 129 z (4,6) bez(4,6) z 113 z 84 z (2,1) z 101 (4,6) bez(2,1) z 84 z (1,4) rozwiązanie (1,4,6,3,5,2,1) koszt 104z 104 (4,6)(2,1) bez (1,4) z 112 Należy jeszcze rozpatrzyć rozwiązanie nie zawierające łuku(2,1). z 101 (4,6) bez(2,1) z 103 (4,6) (5,1) bez (2,1) (4,6) bez (2,1)(5,1) z 127 z 104 (4,6) (5,1)(1,4) (4,6) (5,1) bez (2,1) bez (2,1)(1,4) rozwiązanie (1,4,6,3,2,5,1) koszt 104z 104 optimum z 114
Metody optymalizacji, wykład nr 10 Paweł Zieliński 4 Otrzymaliśmy dwa optymalne o koszcie równym 104. 1.2 Zagadnienie plecakowe ZP Sformułomanie zagadnienie w postaci PLC przy ograniczeniach: c 1 x 1 + +c n x n max a 1 x 1 + +a n x n b, x i {0,1} dlai=1,...,n. Rozwiązanie następującego problemu LP dostarcza nam górnego ograniczenia wartości funkcji celu w ZP. przy ograniczeniach: c 1 x 1 + +c n x n max a 1 x 1 + +a n x n b, 0 x i 1 dlai=1,...,n. Jak efektywnie rozwiązań problem LP? Uporządkuj przedmioty w nierosnącym porządku względem stosunków c i a i, c 1 a 1 cn a n. Włóż do plecaka przedmiot o największym stosunku. (najbardziej atrakcyjny). Powtarzaj proces dopóki plecak nie jest pełny. Otrzymujemy rozwiązanie dla którego x 1 = =x r =1,x r+1 = =x n =0, a 1 x 1 + +a r x r b ia 1 x 1 + +a r+1 x r+1 >b. x 1= =x r=1,x r+1= 1 a r+1 (b a 1 a r ),x r+2= =x n=0, jest rozwiązanie optymalnym problem LP c 1 x 1 + +c n x n max a 1 x 1 + +a n x n b, 0 x i 1 dlai=1,...,n.
Metody optymalizacji, wykład nr 10 Paweł Zieliński 5 Jest oczywiste, żex jest rozwiązaniem dopuszczalnym. Aby pokazaćx jest rozwiązaniem optymalnym, wystarczy wyznaczyć rozwiązanie dualney, dla którego c 1 x 1 + +c nx n =b 1y 1 +y 2 + +y n+1. Model dualny jest postaci b 1 y 1 +y 2 + +y n+1 min Rozwiązanie a 1 y 1 +y 2 c 1. a n y 1 +y n+1 c n y 1,...,y n+1 0. y 1 = c r+1 a r+1,y k =c k 1 a k 1 c r+1 a r+1 k=2,...,r+1, y k =0k=r+2,...,n+1 jest dopuszczalne przy założeniu c 1 a 1 cn a n i spełnia Przykład 2 przy ograniczeniach: c 1 x 1 + +c nx n =b 1y 1 +y 2 + +y n+1. 5x 1 +3x 2 +6x 3 +6x 4 +2x 5 max 5x 1 +4x 2 +7x 3 +6x 4 +2x 5 15, x i {0,1} dlai=1,...,5. ranking przedmiot c i /a i (1=najlepszy, 5=najgorszy) 1 1 1 2 0.75 5 3 0.86 4 4 1 1 5 1 1 Wkładamy do plecaka przedmioty 1, 4, 5. Jeżeli dołożymy 3, to nastąpi przepełnienie. Zatem x 1 =1,x 2 =0,x 3 = 2 7,x 4=1,x 5 =1,z=14 5 7.
Metody optymalizacji, wykład nr 10 Paweł Zieliński 6 x 1 =x 4 =x 5 =1 x 3 = 2 7 z=145 7 x 3 =0 x 3 =1 x x 3 =x 4 =1 x 1 = 2 1 =x 4 =x 5 =1 x 2 = 1 2 z=141 2 5 z=14 x 2 =0 x 2 =1 x 1 =0 x 1 =1 x 1 =x 4 =x 5 =1 z=13 x 1 =x 4 =x 2 =1z=14 optimum x 3 =x 4 =x 5 =1z=14 x 1 =x 3 =1x 4 = 1 2 optimum x 4 =0 x 1 =x 3 =x 5 =1x 2 = 1 4 z=133 4 z=14 x 4 =1 sprzeczne 2 Unimodularność Problem PLC Problem LP maxc T x Ax=b x 0 i całkowity maxc T x Ax=b x 0 Załóżmy, żea Z m n,rank(a)=m ib Z m. Kiedy problem PLC można rozwiązać rozwiązując zadanie LP? Kiedy rozwiązanie optymalne zadania LP ma wartości całkowitoliczbowe? Rozwiązaniem bazowym jest Ax=b [B,P] [ xb x P ] x B =B 1 b, x P =0, =b. gdzieb jest podmacierzą bazową macierzya. JeżeliB 1 jest macierzą całkowitoliczbową, tox B jest całkowitoliczbowe. Definicja 1. Mówimy, że macierzyajest unimodularna, jeśli każda jej podmacierz bazowab ma wyznacznik o wartości +1 lub -1 ( detb =1). Jeżeli B jest macierzą nieosobliwą całkowitoliczbową, wówczas macierz dopełnień algebraicznychb + jest całkowitoliczbowa B 1 = B+ detb. Zatem jeżeliajest unimodularna, to detb =1iwkonsekwencjiB 1 jest macierzą całkowitoliczbową.
Metody optymalizacji, wykład nr 10 Paweł Zieliński 7 Twierdzenie 1. NiechA Z m n irank(a)=m. Wtedy następujące warunki są równoważne 1. A jest unimodularna. 2. Każde rozwiązanie bazowe dopuszczalne układuax=b,x 0 x 0, jest całkowitoliczbowe dla dowolnego całkowitoliczbowego wektora prawych stronb. 3. Każda podmacierz bazowabmacierzyama macierz odwrotnąb 1 o elementach całkowitoliczbowych. Definicja 2. Mówimy, że macierzy A jest całkowicie unimodularna, jeśli każda jej podmacierz kwadratowa ma wyznacznik o wartości 0 lub +1 lub -1. Ponieważ każda podmacierz bazowa B macierzy całkowicie unimodularnej A ma wyznacznik o wartości -1 lub +1 (0 oznaczałoby osobliwość macierzyb). Zatem następujący fakt jest prawdziwy. Fakt 4. Każda całkowicie unimodularna macierzajest unimodularną. Twierdzenie 2. MacierzA, której elementya ij są równe0,1, 1 dla wszystkich i ij, jest całkowicie unimodularna jeśli: 1. Każda kolumna zawiera nie więcej niż dwa elementy niezerowe. 2. Wiersze można rozbić na dwa podzbioryq 1 iq 2 takie, że (a) jeśli kolumna zawiera dwa elementy niezerowe o takich samych znakach, to wiersze odpowiadajace tym elementom należą do różnych podzbiorów, (b) jeśli kolumna zawiera dwa elementy niezerowe o różnych znakach, to odpowiadające im wiersze należą do tego samego podzbioru. Wniosek 1. Macierz incydencji grafu skierowanego jest całkowicie unimodularna. Warunek 1 jest spełniony każda kolumna zawiera dokładnie -1, 1. Warunek 2 jest spełnionyq 1 jest zbiorem wszystkich wierszy,q 2 =. 2.1 Wyznaczanie przepływu o minimalnych koszcie Rozważmy problem przesłania towaru przez sieć, ze zbioru źródełv 1 do zbioru punktu odbioruv 2. Dla każdegoi V 1 określony jest zapas towarua i, dla każdegoi V 2 znane jest zapotrzebowanie na towarb i. Dany jest również koszt c ij przesłania jednostki towaru przez łuk(i,j) oraz pojemność łukud ij. Zadanie polega na wyznaczeniu przepływu, którego sumaryczny koszt jest minimalny. Dana siećg=(v,e),v ={1,...,m}. RozbijamyV nav 1 (źródła),v 2 (punkty pośrednie),v 3 (punkty odbioru). Dla każdegoi V definiujemy S(i)={j (i,j) E} ip(i)={j (j,i) E}
Metody optymalizacji, wykład nr 10 Paweł Zieliński 8 j S(i) x ij min (i,j) E x ji j P(i) c ij x ij a i i V 1, =0 i V 2, b i i V 3, 0 x ij d ij.(i,j) E. Macierz powyższych ograniczeń jest całkowicie unimodularna. 2.1.1 Przypadki szczególne Zadanie transportowe (z pojemnościami) Wystarczy przyjąćv 2 =,P(i)= dlai V 1,S(i)= dlai V 3. min c ij x ij Zadanie przydziału j S(i) j P(i) (i,j) E x ij a i, i V 1, x ji b i, i V 3, 0 x ij d ij, (i,j) E. Wystarczy przyjąćv 2 =,P(i)= dlai V 1,S(i)= dlai V 3. Jest przypadek szczególny zadania transportowego:d ij = dla(i,j) E, a i =1 dlai V 1,b i =1 dlai V 3 oraz V 1 = V 3. min c ij x ij j S(i) j P(i) Zadanie najkrótszej drogi (i,j) E x ij =1, i V 1, x ji =1, i V 3, x ij 0, (i,j) E. Wystarczy przyjąćv 1 ={1},V 3 ={m},a 1 =1,b m =1,d ij =1 dla(i,j) E. min c ij x ij j S(i) x ij (i,j) E x ji j P(i) =1 i=1, =0 i V 2, 1 i=m, 0 x ij 1.(i,j) E.