Materiały pomocnicze
Transkrypt
Materiały pomocnicze
Metody optymalizacji, wykład nr 11– Paweł Zieliński 1 1 Relaksacja Lagrange’a Literatura [1] R. K. Ahuja, T. L. Magnanti, J. B. Orlin, Network Flows: Theory, Algorithms, and Applications, Prentice Hall, 1993. [2] R.S. Garfinkel, G.L. Nemhauser Programowanie całkowitoliczbowe PWN, 1978. Znaczna część wykładu została przygotowana na podstawie książki [1]. • Podejście oparte na dekompozycji. – Łatwe ograniczenia. – “Niewygodne ograniczenia”. “Niewygodne ograniczenia” dodaje się do funkcji celu. • Otrzymanie dolnego ograniczenia na optymalną wartość funkcji celu problemu minimalizacyjnego. • W wielu przypadkach dolne ograniczenie jest bliskie rozwiązania optymalnego. Problem najkrótszej ścieżki z ograniczeniem czasowym (Constrained Shortest Path) CSP Dana jest sieć G = (V, A) oraz dwa wyróżnione wierzchołki s i t. Z każdym łukiem sieci (i, j) ∈ A związane są dwa atrybuty koszt cij i czas przejazdu tij . Chcemy znaleźć najtańszą ścieżkę od s do t, której czas przejazdu nie przekracza zadanego T . Model CSP z ∗ = min X cij xij (i,j)∈A X j∈S(i) xij − X j∈P (i) X xji = =1 i = s, −1 i = t, = 0 w przeciwnym przypadku, tij xij ¬ T Niewygodne ograniczenie, (i,j)∈A xij ∈ {0, 1} (i, j) ∈ A. Należy znaleźć najtańszą ścieżkę od wierzchołka 1 do 6, której czas przejazdu nie przekracza 10. 2 Metody optymalizacji, wykład nr 11– Paweł Zieliński (cij , tij ) i j (1,1) 2 (1,7) (2,3) (1,10) 1 4 (10,1) (1,2) (10,3) 6 (5,7) (2,2) 3 5 (12,3) • Problem najkrótszej ścieżki jest wielomianowo rozwiązywalny (łatwy). • Problem najkrótszej ścieżki z ograniczeniem czasowym jest N P -trudny. Mówimy, że problem optymalizacyjny P ′ jest relaksacją problemu optymalizacyjnego P , jeżeli P ′ powstaje z P przez eliminacje jednego lub więcej ograniczeń. Pierwsze podejście do CSP – odrzucenie ograniczenia Rozwiązać problem CSP bez “niewygodnego ograniczenia”. min X cij xij (i,j)∈A =1 i = s, xij − xji = −1 i = t, = 0 w przeciwnym przypadku, j∈S(i) j∈P (i) X X xij ∈ {0, 1} (i, j) ∈ A. Jeżeli rozwiązanie spełnia ograniczenie czasowe, wówczas jest on rozwiązaniem optymalnym problemu CSP. (1,1) Otrzymana najkrótsza ścieżka 2 4 (1,7) ma długość 3 i czas przejazdu (2,3) (1,10) równy 18 – nie jest rozwiąza1 6 nie dopuszczalnym CSP. Jej (10,1) (1,2) długość jest dolnym ograni(10,3) (5,7) czeniem na długość optymal(2,2) 3 5 nej ścieżki dla CSP. (12,3) 3 Metody optymalizacji, wykład nr 11– Paweł Zieliński Drugie podejście do CSP – wprowadzenie kar (cij + µtij ) i j 2 2 4 8 5 11 1 6 11 3 13 12 3 5 µ = 1 . Koszt optymalnej ścieżki dla zmodyfikowanych wag jest 5, a czas przejazdu jest równy 15. Zatem ścieżka jest niedopuszczalna. 4 15 Po zwiększeniu µ, µ = 2 otrzymujemy dwie ścieżki, których koszt jest 35. 3 2 15 8 21 1 6 12 16 19 1 5 15 6 6 12 5 16 3 4 8 21 5 3 2 4 19 3 18 5 6 18 1. 1 − 2 − 5 − 6 ma czas przejazdu 15 (niedopuszczalna dla CSP). 2. 1 − 3 − 2 − 5 − 6 ma czas przejazdu 10 jest dopuszczalna dla CSP oraz jest rozwiązaniem optymalnym dla CSP. Analiza parametryczna µ 0 1 2 3 4 5 6 7 8 (i,j)∈p (cij P + µtij ) 3 20 35 45 55 64 72 80 88 P (i,j)∈p cij 3 5 5 15 15 24 24 24 24 P (i,j)∈p tij 18 15 15 10 10 8 8 8 8 (i,j)∈p (cij P + µtij ) −µ10 3 10 15 15 15 14 12 10 8 Oznaczmy przez cp = (i,j)∈p cij koszt ścieżki p oraz przez tp = (i,j)∈p tij czas przejazdu przez ścieżkę p. Dla ustalonego µ i ścieżki p zmodyfikowany koszt jest równy X cp (µ) = (cij + µtij ) = cp + µtp . P P (i,j)∈p Własność 1 (Zasada ograniczania (bounding principle)). Niech µ 0 i niech p∗ będzie najtańszą ścieżką w sieci ze zmodyfikowanymi kosztami cij +µtij , wówczas cp∗ (µ) − µT jest dolnym ograniczeniem długość ścieżki CSP. Metody optymalizacji, wykład nr 11– Paweł Zieliński 1.1 4 W kierunku relaksacji Lagrange’a z ∗ = min X cij xij (i,j)∈A j∈S(i) xij P − P j∈P (i) xji = = 1 i = s, −1 i = t, = 0 w przeciwnym przypadku, (i,j)∈A tij xij ¬T xij ∈ {0, 1} (i, j) ∈ A. P Dla każdego µ 0 zastępujemy funkcję celu CSP przez z(µ) = min X cij xij + µ( (i,j)∈A = X X tij xij − T) (i,j)∈A (cij + µtij )xij − µT. (i,j)∈A 1.1.1 Zastosowanie relaksacji Lagrange’a do CSP L(µ) = min X (cij + µtij )xij − µT (i,j)∈A j∈S(i) xij P − P j∈P (i) xji = = 1 i = s, −1 i = t, = 0 w przeciwnym przypadku, xij ∈ {0, 1} (i, j) ∈ A. Twierdzenie 1. Niech p∗ będzie najtańszą ścieżką w sieci ze zmodyfikowanymi kosztami cij + µtij , dla której cp∗ (µ) = cp∗ + µT , to p∗ jest optymalna. 1.2 Ograniczenia równościowe z ∗ = min cT x Ax = b x∈X (1) µ) = min c T x + µ T (A Ax − b ) L(µ x∈X (2) Własność 2 (Zasada ograniczania (bounding principle)). Dla dowolnego wekµ) jest dolnym ograniczeniem wartości funkcji tora (mnożników) µ , wartość L(µ celu z ∗ problemu (1). µ) jest dolnym ograniczeniem na wartość funkcji celu Dla dowolnego µ , L(µ problemu (1). Aby otrzymać najlepsze dolne ograniczenie (im wyższe tym lepsze) musimy rozwiązać Problem mnożników Lagrange’a µ). L∗ = max L(µ µ 5 Metody optymalizacji, wykład nr 11– Paweł Zieliński Z własności 2 mamy L∗ ¬ z ∗ . Dla dowolnego wyboru µ i dowolnego rozwiązania dopuszczalnego x dostajemy µ ) ¬ L∗ ¬ z ∗ ¬ c T x . L(µ Powyższy warunek pozwala ocenić jakość rozwiązania dopuszczalnego. µ))/L(µ µ ). (ccT x − L(µ Własność 3 (Test optymalności). • Niech µ będzie wektorem mnożników, a x będzie rozwiązaniem dopuszczalµ) = c T x . Wówczas L(µ µ) jest optymalnym problemu (1) spełniającym L(µ µ ) = L∗ ) ną wartością funkcji celu problemu mnożników Lagrange’a (L(µ oraz x jest rozwiązaniem optymalnym problemu (1). • Dla pewnego µ rozwiązanie x ∗ problemu (2) (relaksacja Lagrange’a) jest rozwiązaniem dopuszczalnym problemu (1), wtedy x ∗ jest rozwiązaniem optymalnym problemu (1) i µ jest rozwiązaniem optymalnym problemu mnożników Lagrange’a. 1.3 Ograniczenia nierównościowe z ∗ = min c T x Ax ¬ b x∈X (3) µ) = min c T x + µ T (A Ax − b ) L(µ x∈X (4) W tym przypadku Problem mnożników Lagrange’a ma postać µ). L∗ = max L(µ 0 µ 0 Może jednak się zdażyć, że drugi warunek testu optymalności nie będzie spełniony x∗ optymalny dla (4), dopuszczalny dla (3), nie optymalny dla (3)). (x Rozwiązanie musi spełniać warunek komplementarności Ax − b ) = 0. µ T (A 1.4 Podsumowanie µ) jest dolnym ograniczeniem optymalnej wartości funk• Każda wartość L(µ cji celu z ∗ . • L∗ jest najlepszym dolnym ograniczeniem. µ) = c T x , to L∗ = z ∗ = c T x . • Jeżeli L(µ • L∗ jest użytecznym w heurystykach i w metodzie podziału i ograniczeń. 6 Metody optymalizacji, wykład nr 11– Paweł Zieliński 1.5 Przykłady Uogólnione zgadnienie przydziału (Generalized assignment problem) Problem polega na przydziale |I| “obiektów” do |J| “pudełek”. Przydzielamy obiekt dokładnie do jednego pudełka. Jeżeli przydzieliliśmy obiekt i do pudelka j wówczas obiekt i zużywa aij jednistek danego “zasobu” w ty pudelku. Łączna wielkość dostępnego zasobu pudełka j jest równa dj . Przykład Szeregowanie zadań – obiektami są zadania, pudełkami są maszyny; aij jest czasem wykonania zadania i na maszynie j, a dj jest łącznym czasem dostępności maszyny j. min XX cij xij i∈I j∈J X xij = 1 dla i ∈ I (5) aij xij ¬ dj dla j ∈ J (6) xij ∈ {0, 1} i ∈ I, j ∈ J. (7) j∈J X i∈I xij = 1 jeżeli przydzielamy obiekt i do pudelka j; xij = 0 w przeciwnym przypadku. Możliwe są dwie relaksacje: • Dodajemy do funkcji celu ograniczenie (5). • Dodajemy do funkcji celu ograniczenie (6). Dodajemy do funkcji celu ograniczenie (5) µ) = min L(µ XX (cij + µi )xij − µi i∈I i∈I j∈J X X aij xij ¬ dj dla j ∈ J i∈I xij ∈ {0, 1} i ∈ I, j ∈ J. µ = (µ1 , . . . , µ|I| ) Rozwiązanie powyższego zadania dla ustalonego µ sprowadza się do rozwiązania |J| niezależnych zagadnień plecakowych. Dodajemy do funkcji celu ograniczenie (6) µ) = min L(µ XX (cij + µj aij )xij − i∈J j∈I X µj dj i∈J X xij = 1 dla i ∈ I j∈J xij ∈ {0, 1} i ∈ I, j ∈ J. µ = (µ1 , . . . , µ|J| ) 7 Metody optymalizacji, wykład nr 11– Paweł Zieliński Co sprowadza się do rozwiązanie, dla ustalonego µ 0 , |I| niezależnych łatwych problemów, i ∈ I, min X (cij + µj aij )xij i∈J X xij = 1 j∈J Problem lokalizacji (Facility location problem) Model dla problemu jest następujący min XX cij xij + i∈I j∈J X X Fj yj j∈J xij = 1 dla i ∈ I (8) di xij ¬ Kj yj dla j ∈ J (9) 0 ¬ xij ¬ 1 dla i ∈ I dla j ∈ J (10) yj ∈ {0, 1} dla j ∈ J (11) j∈J X i∈I • I zbiór odbiorców (klientów), • J zbiór potencjalnych lokalizacji dostawców (np. hurtowni), z których zaopatruje się odbiorców, • yj = 1 jeżeli lokalizacja dostawcy jest w miejscu j, 0 w przeciwnym przypadku, • wartość zmiennej 0 ¬ xij ¬ 1 oznacza ułamek (procent) zapotrzebowania odbiorcy i pokrywany przez dostawcę w miejscu j, • di jest zapotrzebowaniem odbiorcy i, • cij są kosztami transportu między dostawcą zlokalizowanym w j, a odbiorca i, • Fj jest stałym kosztem lokalizacji dostawcy (np. kosztem otwarcia, wynajęcia) w miejscu j, • Kj jest rozmiarem dostawcy w miejscu j. Dodajemy do funkcji celu ograniczenie (8) µ) = min L(µ XX i∈I j∈J X (cij + µi )xij + X Fj yj − j∈J di xij ¬ Kj yj dla j ∈ J i∈I 0 ¬ xij ¬ 1 dla i ∈ I dla j ∈ J yj ∈ {0, 1} dla j ∈ J X i∈I µi Metody optymalizacji, wykład nr 11– Paweł Zieliński 8 Co sprowadza się do rozwiązanie, dla ustalonego µ , |J| niezależnych podproblemów (składający się z dwóch podproblemów LP), j ∈ J, min XX (cij + µi )xij + X Fj yj j∈J i∈I j∈J X di xij ¬ Kj yj i∈I 0 ¬ xij ¬ 1 dla i ∈ I yj = 0 lub yj = 1 Dodajemy do funkcji celu ograniczenie (9) µ) = min L(µ XX (cij + di µj )xij + X (Fj − µj Kj )yj j∈J i∈I j∈J X xij = 1 dla i ∈ I j∈J 0 ¬ xij ¬ 1 dla i ∈ I dla j ∈ J yj ∈ {0, 1} dla j ∈ J Rozwiązujemy problem dla ustalonego µ 0 . yj = 1 jeżeli Fj − µj Kj ¬ 0; 0 w przeciwnym przypadku. Po ustaleniu yj , dla każdego i ∈ I rozwiązujemy następujący łatwy problem (dla j ∈ J ustalamy xij = 1) min XX (cij + di µj )xij i∈I j∈J X xij = 1 dla j∈J 0 ¬ xij ¬ 1 dla j ∈ I