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