Document 13376850

advertisement
15.081J/6.251J Introduction to Mathematical
Programming
Lecture 21: Primal Barrier
Interior Point Algorithm
1
Outline
Slide 1
1. Barrier Methods
2. The Central Path
3. Approximating the Central Path
4. The Primal Barrier Algorithm
5. Correctness and Complexity
2
Barrier methods
Slide 2
min f (x)
s.t. gj (x) ≤ 0,
hi (x) = 0,
j = 1, . . . , p
i = 1, . . . , m
S = {x| gj (x) < 0, j = 1, . . . , p,
hi (x) = 0, i = 1, . . . , m}
2.1
Strategy
Slide 3
• A barrier function G(x) is a continous function with the property that is
approaches ∞ as one of gj (x) approaches 0 from negative values.
• Examples:
G(x) = −
p
�
j=1
log(−gj (x)), G(x) = −
p
�
j=1
1
gj (x)
Slide 4
• Consider a sequence of µk : 0 < µk+1 < µk and µk → 0.
• Consider the problem
�
�
xk = argminx∈S f (x) + µk G(x)
• Theorem Every limit point xk generated by a barrier method is a global
minimum of the original constrained problem.
1
.
.
.
.
.
.
x*
c
x(0.01)
x(0.1)
central p a th
x(1)
x(10)
analy t ic center
2.2 Primal path-following
IPMs for LO
(P ) min
s.t.
Slide 5
c′ x
Ax = b
(D) max
s.t.
x ≥ 0
s≥0
Barrier problem:
min
s.t.
b′ p
A′ p + s = c
Bµ (x) = c′ x − µ
n
�
log xj
j=1
Ax = b
Minimizer: x(µ)
3
Central Path
Slide 6
• As µ varies, minimizers x(µ) form the central path
• limµ→0 x(µ) exists and is an optimal solution x∗ to the initial LP
• For µ = ∞, x(∞) is called the analytic center
min
s.t.
−
n
�
log xj
j=1
Ax = b
Slide 7
3.1 Example
Slide 8
min x2
s.t. x1 + x2 + x3 = 1
x1 , x2 , x3 ≥ 0
2
x3
Q
( 1 / 2 , 0 , 1/ 2 )
the analy t ic
centerof Q
.
( 1 / 3 , 1/ 3 , 1/ 3 )
the analy t ic
centerof P
P
.
x2
the central p a th
x1
�
• Q = x | x = (x1 , 0, x3 ), x1 + x3 = 1, x ≥ 0}, set of optimal solutions to
original LP
• The analytic center of Q is (1/2, 0, 1/2)
min
s.t.
x2 − µ log x1 − µ log x2 − µ log x3
x1 + x2 + x3 = 1
min x2 − µ log x1 − µ log x2 − µ log(1 − x1 − x2 ).
1 − x2 (µ)
2
�
1 + 3µ − 1 + 9µ2 + 2µ
x2 (µ) =
2
1 − x2 (µ)
x3 (µ) =
2
The analytic center: (1/3, 1/3, 1/3)
Slide 9
3.2
Slide 10
x1 (µ) =
Solution of Central Path
• Barrier problem for dual:
max
s.t.
• Solution (KKT):
p′ b + µ
n
�
log sj
j=1
′
p′ A + s = c′
Ax(µ)
x(µ)
A′ p(µ) + s(µ)
s(µ)
X(µ)S(µ)e
3
=
≥
=
≥
=
b
0
c
0
eµ
Slide 11
• Theorem: If x∗ , p∗ , and s∗ satisfy optimality conditions, then they are
optimal solutions to problems primal and dual barrier problems.
• Goal: Solve barrier problem
min Bµ (x) = c′ x − µ
n
�
log xj
j=1
s.t. Ax = b
4
Approximating the central path
Slide 12
∂Bµ (x)
µ
= ci −
∂xi
xi
∂ 2 Bµ (x)
µ
= 2
2
∂xi
xi
∂ 2 Bµ (x)
= 0, i �= j
∂xi ∂xj
Given a vector x > 0:
Slide 13
Bµ (x + d) ≈ Bµ (x) +
n
�
∂Bµ (x)
i=1
∂xi
di +
n
1 � ∂ 2 Bµ (x)
di dj
2 i,j=1 ∂xi ∂xj
1
= Bµ (x) + (c′ − µe′ X −1 )d + µd′ X −2 d
2
X = diag(x1 , . . . , xn )
Approximating problem:
min
s.t.
Slide 14
1
(c′ − µe′ X −1 )d + µd′ X −2 d
2
Ad = 0
Solution (from Lagrange):
c − µX −1 e + µX −2 d − A′ p = 0
Ad = 0
Slide 15
• System of m + n linear equations, with m + n unknowns (dj , j = 1, . . . , n,
and pi , i = 1, . . . , m).
4
.
.
.
.
.
.
x*
c
x(0.01)
central p a th
x(0.1)
x(1)
x(10)
analy t ic center
• Solution:
�
�
��
1
I − X 2 A′ (AX 2 A′ )−1 A xe − X 2 c
µ
2 ′ −1
2
p(µ) = (AX A ) A(X c − µxe)
d(µ) =
4.1
The Newton connection
Slide 16
• d(µ) is the Newton direction; process of calculating this direction is called
a Newton step
• Starting with x, the new primal solution is x + d(µ)
�
�
• The corresponding dual solution becomes (p, s) = p(µ), c − A′ p(µ)
• We then decrease µ to µ = αµ, 0 < α < 1
4.2
Geometric Interpretation
Slide 17
• Take one Newton step so that x would be close to x(µ)
• Measure of closeness
��
��
�� 1
��
�� XSe − e�� ≤ β,
�� µ
��
0 < β < 1, X = diag(x1 , . . . , xn ) S = diag(s1 , . . . , sn )
• As µ → 0, the complementarity slackness condition will be satisfied
5
Slide 18
5
The Primal Barrier Algorithm
Slide 19
Input
(a) (A, b, c); A has full row rank;
(b) x0 > 0, s0 > 0, p0 ;
(c) optimality tolerance ǫ > 0;
(d) µ0 , and α, where 0 < α < 1.
1. (Initialization) Start with some primal and dual feasible x0 > 0, s0 >
0, p0 , and set k = 0.
2. (Optimality test) If (sk )′ xk < ǫ stop; else go to Step 3.
3. Let
Slide 20
X k = diag(xk1 , . . . , xkn ),
µk+1 = αµk
Slide 21
4. (Computation of directions) Solve the linear system
′
k+1
µk+1 X −2
X −1
k d−A p = µ
k e−c
Ad = 0
5. (Update of solutions) Let
xk+1 = xk + d,
pk+1 = p,
sk+1 = c − A′ p.
6. Let k := k + 1 and go to Step 2.
6
Correctness
√
β−β
Theorem Given α = 1 − √
√ , β < 1, (x0 , s0 , p0 ), (x0 > 0, s0 > 0):
β+ n
��
��
�� 1
��
�� X 0 S 0 e − e�� ≤ β.
��
�� µ0
Then, after
� √
�
√
β+ n
(s0 )′ x0 (1 + β)
K= √
log
ǫ(1 − β)
β−β
iterations, (xK , sK , pK ) is found:
(sK )′ xK ≤ ǫ.
6
Slide 22
6.1
Proof
Slide 23
�
�
� 1
�
�
• Claim (by induction): �| µk X k S k e − e��| ≤ β
• For k = 0 we have assumed it
• Assume it holds for k;
�
�
�
�
�
�
�
� 1
�|
�| = �| 1 X k S k e − e �|
X
S
e
−
e
k
k
� µk+1
�
� αµk
�
� �
�
�
� 1 1
1 − α ��
= ��|
X
S
e
−
e
+
e
k
k
�|
α µk
α
�
�
�
1� 1
1−α
≤ ��| k X k S k e − e��| +
||e||
α
α µ
β
1 − α√
n
+
α
α
�
=
β
≤
• We next show that ||X −1
k d|| ≤
√
• d solves
β < 1, where d = xk+1 − xk .
′
k+1
µk+1 X −2
X −1
k d−A p = µ
k e − c,
Ad = 0
• By left-multiplying the first equation by d′
�
′
k+1
µk+1 d′ X −2
X −1
k d = d µ
k e−c
2
||X −1
= d′ X k−2 d
k d||
=
�
=
�
=
�
X −1
k e
1
X−
k e
−
−
X −1
k e−
= −
�
1
µk+1
1
µk+1
1
c
�′
d
k
′
k
(s + A p )
sk
µk+1
�′
1
X kSke − e
µk+1
�
�
�
�′
d
�′
X −1
k d
�
� 1
≤ ��| k+1 X k S k e − e��| ||X −1
k d||
µ
hence, ||X −1
k d|| ≤
√
≤
β < 1.
�
1
β||X −
k d||
7
d
• We next show that xk+1 and (pk+1 , sk+1 ) are primal and dual feasible Since
Ad = 0, we have
Axk+1 = b
1
xk+1 = xk + d = X k (e + X −
k d) > 0,
because ||X −1
k d|| < 1
A′ pk+1 + sk+1 = c,
by construction and
−1
sk+1 = c − A′ pk+1 = µk+1 X −1
k (e − X k d) > 0,
•
because ||X −1
k d|| < 1
�
xk+1
= xjk 1 +
j
dj
xkj
�
,
�
dj
µk+1
1− k
xkj
xj
sk+1
=
j
�
.
Therefore,
�
1
1
dj
xk+1 sk+1
− 1 = k+1 xkj 1 + k
j
µk+1 j
µ
xj
�
dj
= −
xkj
• D = diag(d1 , . . . , dn ), ||u||1 =
�
i
�2
�
µk+1
xkj
�
1−
.
|ui |. Note that ||u|| ≤ ||u||1
�
�
� 1
�
� −2 2 �
�
�
�
�|
� µk+1 X k+1 S k+1 e − e�| = |X k D e |
�
�
2 �
≤ �|X −2
k D e |
1
2
2
= e′ X −
k D e
2
= e′ DX −
k De
= d′ X −2
k d
1 � 2
= �|X −
k d |
�
≤ (
�
β)2
�
= β,
and hence the induction is complete.
• Since at every iteration
�
�
�
�
�| 1 X k S k e − e �| ≤ β
�
� µk
−β ≤
dj
xkj
1 k k
x j sj − 1 ≤ β
µk
nµk (1 − β) ≤ (sk )′ xk ≤ nµk (1 + β)
8
�
−1
•
k
k
0
µ =α µ =
• After
√
�k
√
β−β
−k √
√
β−β
0
β+ n µ0
√
µ ≤e
1−
√
β+ n
�
�√
� � √
�
√
√
(s0 )′ x0 (1 + β)
µ0n(1 + β)
β+ n
β+ n
√
log
≤ √
log
=K
ǫ
ǫ(1 − β)
β−β
β−β
iterations, the primal barrier algorithm finds primal and dual solutions xK ,
(pK , sK ), that have duality gap (sK )′ xK less than or equal to ǫ
7
Complexity
Slide 24
• Work per iteration involves solving a linear system with m + n equations
in m + n unknowns. Given that m ≤ n, the work per iteration is O(n3 ).
• ǫ0 = (s0 )′ x0 : initial duality gap. Algorithm needs
�√
ǫ0 �
O
n log
ǫ
iterations to reduce the duality gap from ǫ0 to ǫ, with O(n3 ) arithmetic
operations per iteration.
9
MIT OpenCourseWare
http://ocw.mit.edu
6.251J / 15.081J Introduction to Mathematical Programming
Fall 2009
For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.
Download