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, 199. [] 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łkisit. Z każdym łukiem siecizwiązane są dwa atrybuty kosztc ij i czas przejazdu t ij. Chcemy znaleźć najtańszą ścieżkę od s do t, której czas przejazdu nie przekracza zadanegot. Model CSP j S(i) x ij j P(i) z =min x ji = c ij x ij =1 i=s, 1 i=t, = 0 w przeciwnym przypadku, t ij x ij T Niewygodne ograniczenie, x ij {0,1}. Należy znaleźć najtańszą ścieżkę od wierzchołka 1 do, której czas przejazdu nie przekracza 10.
Metody optymalizacji, wykład nr 11 Paweł Zieliński i (c ij,t ij ) j (1,10) (1,1) (,) (1,7) 1 (1,) (10,1) (10,) (,7) (1,) (,) Problem najkrótszej ścieżki jest wielomianowo rozwiązywalny (łatwy). Problem najkrótszej ścieżki z ograniczeniem czasowym jestnp-trudny. Mówimy, że problem optymalizacyjnyp jest relaksacją problemu optymalizacyjnegop, jeżelip powstaje zp przez eliminacje jednego lub więcej ograniczeń. Pierwsze podejście do CSP odrzucenie ograniczenia Rozwiązać problem CSP bez niewygodnego ograniczenia. min c ij x ij x ij =1 i=s, x ji = 1 i=t, j S(i) j P(i) = 0 w przeciwnym przypadku, x ij {0,1}. Jeżeli rozwiązanie spełnia ograniczenie czasowe, wówczas jest on rozwiązaniem optymalnym problemu CSP. (1,1) Otrzymana najkrótsza ścieżka (1,7) (,) ma długość i czas przejazdu (1,10) równy 18 nie jest rozwiązanie dopuszczalnym CSP. Jej 1 (1,) (10,1) długość jest dolnym ograniczeniem na długość optymal- (10,) (,7) (,) nej ścieżki dla CSP. (1,)
Metody optymalizacji, wykład nr 11 Paweł Zieliński Drugie podejście do CSP wprowadzenie kar 1 11 1 i (c ij +µt ij ) 1 1 j 11 8 µ = 1. Koszt optymalnej ścieżki dla zmodyfikowanych wag jest, a czas przejazdu jest równy 1. Zatem ścieżka jest niedopuszczalna. Po zwiększeniuµ,µ= otrzymujemy dwie ścieżki, których koszt jest. 1 8 1 1 8 1 1 1 1 1 1 19 18 1 19 18 1.1 ma czas przejazdu1 (niedopuszczalna dla CSP)..1 ma czas przejazdu10 jest dopuszczalna dla CSP oraz jest rozwiązaniem optymalnym dla CSP. Analiza parametryczna µ (i,j) p (c ij+µt ij ) (i,j) p c ij (i,j) p t ij (i,j) p (c ij+µt ij ) µ10 0 18 1 0 1 10 1 1 1 10 1 1 10 1 8 1 7 8 1 7 80 8 10 8 88 8 8 Oznaczmy przezc p = (i,j) p c ij koszt ścieżkiporaz przezt p = (i,j) p t ij czas przejazdu przez ścieżkę p. Dla ustalonego µ i ścieżki p zmodyfikowany koszt jest równy c p (µ)= (c ij +µt ij )=c p +µt p. (i,j) p Własność 1 (Zasada ograniczania (bounding principle)). Niechµ 0 i niechp będzie najtańszą ścieżką w sieci ze zmodyfikowanymi kosztamic ij +µt ij, wówczas c p (µ) µt jest dolnym ograniczeniem długość ścieżki CSP.
Metody optymalizacji, wykład nr 11 Paweł Zieliński 1.1 W kierunku relaksacji Lagrange a z =min c ij x ij j S(i) x ij j P(i) x ji= =1 i=s, 1 i=t, = 0 w przeciwnym przypadku, t ijx ij T x ij {0,1}. Dla każdegoµ 0 zastępujemy funkcję celu CSP przez z(µ) = min c ij x ij +µ( t ij x ij T) = (c ij +µt ij )x ij µt. 1.1.1 Zastosowanie relaksacji Lagrange a do CSP L(µ)=min (c ij +µt ij )x ij µt j S(i) x ij j P(i) x ji= =1 i=s, 1 i=t, = 0 w przeciwnym przypadku, x ij {0,1}. Twierdzenie 1. Niechp będzie najtańszą ścieżką w sieci ze zmodyfikowanymi kosztamic ij +µt ij, dla której c p (µ)=c p +µt, top jest optymalna. 1. Ograniczenia równościowe z =minc T x Ax=b x X L(µ)=minc T x+µ T (Ax b) x X (1) () Własność (Zasada ograniczania (bounding principle)). Dla dowolnego wektora (mnożników) µ, wartość L(µ) jest dolnym ograniczeniem wartości funkcji celuz problemu (1). Dla dowolnego µ, L(µ) jest dolnym ograniczeniem na wartość funkcji celu problemu (1). Aby otrzymać najlepsze dolne ograniczenie (im wyższe tym lepsze) musimy rozwiązać Problem mnożników Lagrange a L =max µ L(µ).
Metody optymalizacji, wykład nr 11 Paweł Zieliński Z własności mamy L z. Dla dowolnego wyboru µ i dowolnego rozwiązania dopuszczalnego x dostajemy L(µ) L z c T x. Powyższy warunek pozwala ocenić jakość rozwiązania dopuszczalnego. (c T x L(µ))/L(µ). Własność (Test optymalności). Niechµbędzie wektorem mnożników, axbędzie rozwiązaniem dopuszczalnym problemu (1) spełniającyml(µ)=c T x. WówczasL(µ) jest optymalną wartością funkcji celu problemu mnożników Lagrange a (L(µ)=L ) orazxjest rozwiązaniem optymalnym problemu (1). Dla pewnegoµrozwiązaniex problemu () (relaksacja Lagrange a) jest rozwiązaniem dopuszczalnym problemu (1), wtedyx jest rozwiązaniem optymalnym problemu (1) i µ jest rozwiązaniem optymalnym problemu mnożników Lagrange a. 1. Ograniczenia nierównościowe z =minc T x Ax b x X L(µ)=minc T x+µ T (Ax b) x X W tym przypadku Problem mnożników Lagrange a ma postać () () L =max µ 0 L(µ). Może jednak się zdażyć, że drugi warunek testu optymalności nie będzie spełniony (x optymalny dla (), dopuszczalny dla (), nie optymalny dla ()). Rozwiązanie musi spełniać warunek komplementarności 1. Podsumowanie µ T (Ax b)=0. Każda wartość L(µ) jest dolnym ograniczeniem optymalnej wartości funkcji celuz. L jest najlepszym dolnym ograniczeniem. JeżeliL(µ)=c T x, tol =z =c T x. L jest użytecznym w heurystykach i w metodzie podziału i ograniczeń.
Metody optymalizacji, wykład nr 11 Paweł Zieliński 1. 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 obiektido pudelka j wówczas obiektizużywaa ij jednistek danego zasobu w ty pudelku. Łączna wielkość dostępnego zasobu pudełkajjest równad j. Przykład Szeregowanie zadań obiektami są zadania, pudełkami są maszyny;a ij jest czasem wykonania zadaniaina maszyniej, ad j jest łącznym czasem dostępności maszynyj. min c ij x ij x ij =1 dla () a ij x ij d j dla () x ij {0,1},. (7) x ij =1 jeżeli przydzielamy obiektido pudelkaj;x ij =0wprzeciwnym przypadku. Możliwe są dwie relaksacje: Dodajemy do funkcji celu ograniczenie (). Dodajemy do funkcji celu ograniczenie (). Dodajemy do funkcji celu ograniczenie () L(µ)=min ij +µ i )x ij (c a ij x ij d j dla x ij {0,1},. µ i µ=(µ 1,...,µ I ) Rozwiązanie powyższego zadania dla ustalonegoµsprowadza się do rozwiązania J niezależnych zagadnień plecakowych. Dodajemy do funkcji celu ograniczenie () L(µ)=min ij +µ j a ij )x ij i Jj I(c µ j d j i J x ij =1 dla x ij {0,1},. µ=(µ 1,...,µ J )
Metody optymalizacji, wykład nr 11 Paweł Zieliński 7 Co sprowadza się do rozwiązanie, dla ustalonegoµ 0, I niezależnych łatwych problemów,, min i J(c ij +µ j a ij )x ij x ij =1 Problem lokalizacji (Facility location problem) Model dla problemu jest następujący min c ij x ij + j y j F x ij =1 dla (8) d i x ij K j y j dla (9) I zbiór odbiorców (klientów), 0 x ij 1 dla dla (10) y j {0,1} dla (11) J zbiór potencjalnych lokalizacji dostawców (np. hurtowni), z których zaopatruje się odbiorców, y j =1 jeżeli lokalizacja dostawcy jest w miejscuj, 0 w przeciwnym przypadku, wartość zmiennej0 x ij 1 oznacza ułamek (procent) zapotrzebowania odbiorcyipokrywany przez dostawcę w miejscuj, d i jest zapotrzebowaniem odbiorcyi, c ij są kosztami transportu między dostawcą zlokalizowanym wj, a odbiorcai, F j jest stałym kosztem lokalizacji dostawcy (np. kosztem otwarcia, wynajęcia) w miejscuj, K j jest rozmiarem dostawcy w miejscuj. Dodajemy do funkcji celu ograniczenie (8) L(µ)=min ij +µ i )x ij (c + j y j F d i x ij K j y j dla 0 x ij 1 dla dla y j {0,1} dla µ 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),, min ij +µ i )x ij (c + F j y j d i x ij K j y j 0 x ij 1 dla y j =0 luby j =1 Dodajemy do funkcji celu ograniczenie (9) L(µ)=min ij +d i µ j )x ij (c + (F j µ j K j )y j x ij =1 dla 0 x ij 1 dla dla y j {0,1} dla Rozwiązujemy problem dla ustalonegoµ 0.y j =1jeżeliF j µ j K j 0; 0 w przeciwnym przypadku. Po ustaleniuy j, dla każdego rozwiązujemy następujący łatwy problem (dla ustalamyx ij =1) min (c ij +d i µ j )x ij x ij =1 dla 0 x ij 1 dlaj I