Decompositions in Interior Point Algorithms
Decompositions in Interior Point Algorithms
Decompositions in Interior Point Algorithms
The dual formulation uses the vector of slack variables z C IRn in order to
express its constraints as equalities.
The primal-dual path following algorithm applies first a logarithmic
barrier function (see Example 4.2.2) to formulate the following pair of
problems: a logarithmic barrier problem for the primal program, given
by,
n
Minimize (c, x) - p l°g xj (8.7)
s.t. Ax ~ by (8.8)
where log is the natural logarithmic function and a barrier problem for
the dual program
n
Maximize (b, y) + p log Zj (8.9)
The algorithm then solves these two barrier problems for different values
of the parameter /i, as /z —> 0, and obtains sequences of feasible points
that converge to the solutions of the original primal and dual problems,
respectively (see Section 4.2).
Ax = b, (8.13)
pZ~ll - x = 0, (8-14)
ATy + z = c, (8.15)
where Z-1 is the inverse of the diagonal matrix Z = diag (z^, Z2,..., zn).
Combining the first-order conditions for the primal and dual problems,
and using the substitution /zZ-1l = XI from (8.14) we obtain the following
system of equations that characterizes, simultaneously, the optimum of
both the primal and the dual barrier problems:
Ax - b, (8.16)
AAy + z = c, (8-17)
XZ1 = yl. (8.18)
220 Decompositions in Interior Point Algorithms Chap. 8
AXx = p, (8.19)
ATA?/ + Xz = a, (8.20)
ZXx + XXz = (8.21)
This is a symmetric positive definite system. (Recall that A has full row
rank, and 0 is positive definite since X and Z are positive definite.) It
can be solved using any direct or iterative method for solving systems of
equations. The solution of this system, using parallel matrix factorization
techniques, is the topic of Section 8.3. Having obtained the dual step di
rection Xy we can substitute it in (8.24) to obtain the primal step direction
Xx, and finally substitute the primal step direction in (8.22) to obtain the
step direction for the slack variables.
The primal-dual path following algorithm is thus summarized as follows.
Step 0: (Initialization.) Start with a triplet (a;0, z/°, zQ) satisfying xQ >
0, z® > 0, and any /zq > 0- Let z/ = 0.
Step 1: (Iterative Step.) Given (xy, yy, zy) and a barrier parameter /z^,
let
Xy = diag (xi,X2,... ,x^),
Zv = diag ^,^,...,2"),
e. = xvz~\
pv = b- Ax",
=c — ATy1' -zu,
= Pyl - XyZyl,
r = Pv + AQv(av - X-V),
(AQvAr)W = (8.27)
Update:
where Qp^. are primal and dual step lengths, respectively, re
stricted to the interval (0,1]. Reduce y>y to /z^i, update v <— v 4- 1,
and repeat the iterative step.
We discuss now the choices of the step lengths apy and and of
the barrier parameter Other features of the algorithm that need to
be properly addressed for an efficient implementation are the treatment of
upper bounds, the treatment of free variables, and the computation of an
initial feasible solution. These technical issues are not discussed here, as
they are not essential to understanding the algorithm and do not alter its
parallel implementation. References to the relevant literature are given in
Section 8.4.
and
Then the step lengths are defined by ap^ = 6a p^ and ajj^ = 6ap^,
where 0 < 6 < 1. A typical value for <5, used in practice, is 0.9995.
Mi = (1 -
(c,^) - (b,yy)
Thus is large when far from the optimum (as measured by a large duality
gap (c, xy) - (&, yy}\ and is reduced rapidly as the optimum is approached.
s.t. Ax = b, (8.34)
x > 0. (8.35)
The mxn constraint matrix A has full row rank, c G IRn is the cost vector,
and b e IRm is the vector of resource coefficients. The n x n matrix Q is
positive definite.
Associated with this problem is a dual quadratic program, defined by
The dual formulation uses slack variables z G lRn in order to express con
straints as equalities.
The logarithmic barrier problem for the primal program is given by
1 n
Maximize (b, y) - - (x, Qx) + p (8-41)
>=1
s.t. ATy T z — Qx = c. (8.42)
1 n
Lp(x,y) = (c,x) + ~{x,Qx) - /j, Y2 log Xj + (y,b- Ax).
j=i
c + Qx-nX~1l-ATy = 0, (8.43)
Ax = b. (8.44)
Similarily, the solution to the dual barrier problem is the unique critical
point of the Lagrangian
1 n
LD(y, z,x) = (b,y) - ~{x,Qx) + //^jPlogzj + (x,c + Qx - ATy - z).
j=i
Ax = b, (8.45)
Sect. 8.2 Primal-Dual Path Following Algorithm for Quadratic Programming 225
pZ !1 — x = 0, (8.46)
-Qx 4- ATy + z = c. (8.47)
Ax — b, (8.48)
~Qx + ATy 4- z = c, (8.49)
XZX = Ml. (8.50)
Xz = - ZXx), (8.54)
(A0At)At/ = (8.57)
Xv = diag (x^xg,..
Zv = diag (zj(,z^,...,z^),
0P = (Q + ZyXj1)-1,
pv = b — Ax1',
a" = c + Qx" — A'ryu -zu,
<t>U = flyl ~ XyZyl,
r =PU + AQy^ - Xyl<n,
(AQAT)Xyy = (8.58)
Update:
(8.64)
8.3.1 The matrix factorization procedure for the dual step direction
calculation
The procedure for solving (8.27) or (8.58) is based on the use of a general
ized version of the Sherman-Morrison-Woodbury formula. This formula is
stated in the following lemma, where I denotes the identity matrix.
Lemma 8.3.1 For matrices A e IRnxn, U G IRnx\ and V G lRnx/< such
that both A and (I 4- VTA~1U) are invertible,
(A + UVT)~\A + UVT)
= 14- A-'UVV - A~XU(I 4- VTA~1U)~1 VT
-A~1U(I + VTA~1U)~1VTA~1UVT
= I + A~1UVT - A^UIJ 4- VTA~1U)~\I + VTA'1U)VT
= I + A~1UVT - A~1UVT = I.
Gi A-q\
-Aq 0
If Aq and Wi, I = 1,2,..., N, have full row rank then the matrices M and
G2 == —AgGf Mg are invertible, and
Proof The matrix 0 is invertible for both the linear and the quadratic
programs. By assumption Wi has full row rank and hence Si is invertible
for I = 1,2,..., N. It follows that S is also invertible. Let
<> =
/ N
\-A -l)
= 4>~2 4- VTS~XU.
are positive definite. Hence G± is positive definite and symmetric, being the
sum of positive definite symmetric matrices, and it is invertible. Its inverse
matrix Gf1 is symmetric, has rank no, and can be written as Gf1 =
_i _i _i
G12G12 where Gx 2 is also symmetric. By assumption Aq has full row
Hence, we get
across processors and use parallel dense linear algebra techniques for all
calculations that involve these matrices. This approach is more suitable
to shared-memory, tightly coupled multiprocessors, or when the dense ma
trices Gi and G2 are large. The parallel procedure that uses the master
8.1 The primal-dual path following algorithm for linear programs was de
veloped, independently, by Monteiro and Adler (1989a) and Kojima,
Mizuno, and Yoshise (1989). Earlier work on the primal-dual cen
tral path was developed by Meggido (1989). Numerical issues for the
efficient implementation of the algorithm were resolved by McShane,
Monma, and Shanno (1989), Lustig, Marsten, and Shanno (1991) and
Vanderbei (1993). See also Choi, Monma, and Shanno (1990) and
Mehrotra (1992).
8.2 The primal-dual path following algorithm for quadratic programming
problems is described in Monteiro and Adler (1989b, 1990), Vanderbei
and Carpenter (1993), and Carpenter et al. (1993).
8.3 For a general discussion of direct matrix inversion methods see House
holder (1975). Parallel implementation of interior point algorithms
for dense problems is discussed in Qi and Zenios (1994) and Eckstein
et al. (1992). The exploitation of matrix structure in computing the
dual step direction for interior point algorithms has been addressed
in Loute and Vial (1992), Choi and Goldfarb (1993), Czyzyk, Fourer,
and Mehrotra (1995), and De Silva and Abramson (1996). The use
of the Sherman-Morrison-Woodbury updating formula for comput
ing dual steps for stochastic programs was suggested by Birge and
Qi (1988), and was further extended by Birge and Holmes (1992)
who also performed extensive numerical experiments with this method.
The extension to multistage stochastic programming problems is dis
cussed in Holmes (1993). Its use for solving multicommodity network
flow problems has been suggested by Choi and Goldfarb (1990, 1993)
and Lustig and Li (1992). The parallel matrix factorization proce
dure and its implementation on hypercubes and other parallel ma
chines, was developed by Jessup, Yang, and Zenios (1994a). Yang and
Zenios (1996) discuss the application of the parallel matrix factoriza
tion procedure within an interior point algorithm for the solution of
large-scale stochastic programs. Ruszczynski (1993) provides a survey
234 Decompositions in Interior Point Algorithms Chap. 8