Literatura 1 Problem mnożników Lagrange`a
Transkrypt
Literatura 1 Problem mnożników Lagrange`a
Metody optymalizacji, wykład nr 12– Paweł Zieliński
1
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].
1
Problem mnożników Lagrange’a
z ∗ = min c T x
Ax ¬ b
x∈X
µ) = min c T x + µ T (A
Ax − b )
L(µ
x∈X
Problem mnożników Lagrange’a
µ).
L∗ = max L(µ
0
µ 0
W przypadku Ax = b problem mnożników Lagrange’a ma postać
µ).
L∗ = max L(µ
µ
Maksymalizujemy µ minimalizując x .
Problem najkrótszej ścieżki z ograniczeniem czasowym (Constrained
Shortest Path) CSP
P
j∈S(i) xij
−
P
z ∗ = min
j∈P (i) xji
P
(i,j)∈A cij xij
= 1 i = s,
=
−1
i = t,
= 0 w przeciwnym przypadku,
(i,j)∈A tij xij ¬ T
xij ∈ {0, 1} (i, j) ∈ A.
P
Relaksacja CSP
+ µ( (i,j)∈A tij xij − T )
= 1 i = s,
P
P
x
=
x
−
−1 i = t,
j∈P (i) ji
j∈S(i) ij
= 0 w przeciwnym przypadku,
xij ∈ {0, 1} (i, j) ∈ A.
L(µ) = min
P
ij xij
(i,j)∈A c
P
Inne sformułowanie (ścieżkowe)
L(µ) = min
p∈Pst
X
(i,j)∈p
cij + µ(
X
(i,j)∈p
tij − T ) = min cp + µ(tp − T )
p∈Pst
2
Metody optymalizacji, wykład nr 12– Paweł Zieliński
gdzie Pst jest zbiorem ścieżek od s do t.
Należy znaleźć najtańszą ścieżkę od wierzchołka 1 do 6, której czas przejazdu
nie przekracza 14 (T = 14).
(cij , tij )
i
j
(1,1)
2
4
(1,7)
(2,3)
(1,10)
1
(10,1)
(1,2)
(10,3)
6
(5,7)
(2,2)
3
5
(12,3)
Jaka jest natura problemu mnożników Lagrange’a?
ścieżka p
1-2-4-6
1-2-5-6
1-2-4-5-6
1-3-2-4-6
1-3-2-5-6
..
.
koszt cp
3
5
14
13
15
..
.
czas tp
18
15
14
13
10
..
.
cp + µ(tp − T )
3 + 4µ
5+µ
14
13 − µ
15 − 4µ
..
.
cp + µ(tp − T )
ścieżki
30
1−3−4−6
1−2−4−6
1−3−4−5−6
20
1−2−4−5−6
1−2−5−6
10
1−3−2−4−6
1−3−2−4−5−6
0
L∗ = max{L(µ) | µ 0}
1−3−2−5−6
"Koperta"
0
1
2
1−3−5−6
3
Rozważmy ogólnienie problemu
min c T x
Ax = b
x∈X
4
5
µ
Metody optymalizacji, wykład nr 12– Paweł Zieliński
3
x 1 , x 2 , . . . , x K }. Dokonując relaksacji
gdzie X jest zbiorem skończonym X = {x
Lagrange’a otrzymujemy
µ) = min c T x + µ T (A
Ax − b )
L(µ
x ∈X
Z definicji
µ) ¬ c T x k + µ T (A
Ax k − b ) dla k = 1, . . . K.
L(µ
Ax k − b ) jest hiperpłaszczyzną.
c T x k + µ T (A
Ax k − b ) dla k = 1, . . . K tworzą “kopertę”.
Hiperpłaszczyzny c T x k + µ T (A
W problemie mnożników Lagrange’a chcemy wyznaczyć najwyższy punkt tej “koperty”. Co sprowadza się do rozwiązania następującego problemu
w¬
cT xk
max w
− b ) dla k = 1, . . . K
µ dowolna.
Ax k
+ µ T (A
Rozwiązanie powyższego problemu sprowadza się do rozwiązania szeregu zadań
LP.
Metoda gradientów
Niech funkcja celu f będzie różniczkowalna i wklęsła. Gradient funkcji
∗
x )=
∇f (x
∂f
∂f
,...,
,
∂x1
∂xn
o ile nie jest równy zero, wskazuje kierunek wzrostu wartości funkcji w pobliżu punktu, w którym jest wyliczony. Jeżeli wybierzemy taki kierunek d, że
x)T d > 0, wówczas niewielkie przesunięcie o θ,
∇f (x
x + dθ
w tym kierunku spowoduje wzrost wartości funkcji
x + d θ) f (x
x).
f (x
Kierunek gradientu jest kierunkiem “w górę stoku”.
µ) = min cT x + µT (A
Ax − b)
L(µ
x ∈X
• Startujemy z µ 0 .
• dla k := 0, 2, . . .
µk )
Wyznaczamy x k rozwiązując L(µ
Ax k − b ),
µ k+1 := µ k + θ k (A
Metody optymalizacji, wykład nr 12– Paweł Zieliński
4
Problem z doborem θ k - duże, małe
µ) dla µ = µ k . Wówczas jest rozwiązaniem w
Załóżmy, że x k rozwiązuje L(µ
µ) za pomocą
otoczeniu µ . Aproksymujemy liniowo L(µ
µ) = c T x k + µ T (A
Ax k − b ).
r(µ
Załóżmy, że znamy L∗ , wówczas możemy tak wykonać ruch (dobrać θ k ), że
osiągniemy L∗ .
k+1T
µk+1 ) = c T x k + µk+1
Ax k − b ) = L∗
r(µ
(A
µk+1 = µk + θ k (A
Ax k − b )
µk+1 ) = c T x k + (µ
µk + θ k (A
Ax k − b ))T (A
Ax k − b ) = L∗ .
r(µ
Z równań wyznaczamy θ k
θk =
µk )
L∗ − L(µ
.
Ax k − b ||2
||A
Ponieważ L∗ nie jest znane, możemy użyć górnego ograniczenia U B na wartość funkcji celu z ∗
µk ))
λk (U B − L(µ
θk =
,
Ax k − b ||2
||A
gdzie λk ∈ [0, 2].
2
Związek relaksacji Lagrange’a z LP
Twierdzenie 1. Jeżeli zastosujemy relaksację Lagrange’a do następującego zadania LP
min c T x
Ax = b
(1)
Dx ¬ q
x 0
dokonując relaksacji ograniczeń Ax = b , wówczas optymalna wartość funkcji
Lagrange’a L∗ w problemie mnożników równa jest optymalnej wartości funkcji
celu problemu (1).
• Relaksacja Lagrange’a może być alternatywną sposobem rozwiązywania
problemów LP.
• W niektórych przypadkach zastosowanie relaksacji Lagrange’a do LP może prowadzić do łatwiejszego rozwiązania problemu.
• Zastosowanie relaksacji może prowadzić do podziału problemu na mniejsze
podproblemy (dekompozycje).
Rozważmy problem optymalizacji dyskretnej.
5
Metody optymalizacji, wykład nr 12– Paweł Zieliński
z ∗ = min c T x
Ax = b
x∈X
(2)
x | D x ¬ q , x 0 i całkowity}, D jest
gdzie X jest zbiorem dyskretnym X = {x
macierzą całkowitą, a q jest całkowitym wektorem
z ∗ = min c T x
Ax = b
Dx ¬ q
x 0 i całkowity
Niech
(3)
z o = min c T x
Ax = b
Dx ¬ q
x 0
będzie liniową relaksacją problemu (3). Wiemy, że
zo ¬ z∗.
oraz
L∗ ¬ z ∗ .
Pokażemy, że wartość L∗ jest najlepszym dolnym ograniczeniem na z ∗ , czyli
zo ¬ L∗ .
x1 , x 2 , . . . , x K } jest skończony.
Załóżmy, że zbiór X = {x
Rozwiązanie x jest wypukłą kombinacją rozwiązań x 1 , x 2 , . . . , x K , jeżeli
x=
PK
PK
k
k=1 λk x
k=1 λk = 1
λk 0 k = 1, . . . , K.
H(X) jest otoczką wypukłą X, jeżeli
x | x jest wypukłą kombinacją punktów X}.
H(X) = {x
Otoczka wypukła w R2
Otoczka wypukła H(X) jest najmniejszym wielościanem wypukłym zawierającym
wszystkie punkty zbioru X.
6
Metody optymalizacji, wykład nr 12– Paweł Zieliński
Własność 1.
x | Cx ¬
a) H(X) jest wielościanem, który może być wyrażony za pomocą H(X) = {x
d }, gdzie C jest macierzą, a d jest wektorem.
b) Każdy punkt ekstremalny H(X) należy do X.
Jeżeli rozwiązujemy zadanie min{ccT x | x ∈ H(X)}, to rozwiązanie optymalne należy do X.
x | C x ¬ d , x 0 }, to H(X) ⊆ Y.
c) Jeżeli X ⊆ Y = {x
Twierdzenie 2. Optymalna wartość funkcji Lagrange’a L∗ w problemie mnożników Langrange’a jest równa optymalnej wartości funkcji celu następującego
zadania LP
z ∗ = min cT x
Ax = b
(4)
x ∈ H(X)
{x | Ax ¬ b , Dx ¬ q , x 0 i całkowity}
{x | Ax ¬ b , Dx ¬ q , x 0 }
x2
x2
3
3
Ax ¬ b
Ax ¬ b
2
2
Dx ¬ q
1
1
Dx ¬ q
1
2
3
4
x1
1
x2
x2
3
3
2
2
2
3
4
x1
Ax ¬ b
Dx ¬ q
1
1
Dx ¬ q
1
2
3
4
x1
1
Otoczka wypukła H(X)
2
3
4
x1
{x | Ax ¬ b , x ∈ H(X)}
Twierdzenie 3. Jeżeli zastosujemy relaksację Lagrange’a, i rozwiążemy problem
mnożników, dla problemu
min c T x
Ax = b
Dx ¬ q
x 0 i całkowity.
Wówczas z o ¬ L∗ , gdzie
z o = min c T x
Ax = b
Dx ¬ q
x 0.
Metody optymalizacji, wykład nr 12– Paweł Zieliński
7
Kiedy z o = L∗ ?
x | D x ¬ q , x 0 i całkowity}.
Niech X = {x
Definicja 1. X ma własność całkowitoliczbowości jeżeli następujące zadanie LP ma rozwiązania całkowitoliczbowe dla każdego d
min dT x
Dx ¬ q
x 0.
Własność całkowitoliczbowości jest równoważna całkowitej unimodularności
macierzy D (przy założeniu, że q jest całkowity)
Fakt 1. Jeżeli X ma własność całkowitoliczbowości, to
min{ddT x | D x ¬ q , x 0 } = min{ddT x | x ∈ X}
= min{ddT x | x ∈ H(X)}.
Twierdzenie 4. Jeżeli podproblem Lagrange’a po relaksacji problemu
min c T x
Ax = b
Dx ¬ q
x 0 i całkowity.
ma własność całkowitolicznowości, to L∗ = z o , gdzie
z o = min c T x
Ax = b
Dx ¬ q
x 0.