This section provides some details on the primal-dual interior point algorithm used by MIPS and described in [8, 43].
For a scalar function of a real vector , we use the following notation for the first derivatives (transpose of the gradient):
| (A.14) |
The matrix of second partial derivatives, the Hessian of , is:
| (A.15) |
For a vector function of a vector , where
| (A.16) |
the first derivatives form the Jacobian matrix, where row is the transpose of the gradient of
| (A.17) |
In these derivations, the full 3-dimensional set of second partial derivatives of will not be computed. Instead a matrix of partial derivatives will be formed by computing the Jacobian of the vector function obtained by multiplying the transpose of the Jacobian of by a vector , using the following notation
| (A.18) |
Please note also that is used to denote a diagonal matrix with vector on the diagonal and is a vector of all ones.
The primal-dual interior point method used by MIPS solves a problem of the form:
| (A.19) |
subject to
where the linear constraints and variable bounds from (A.4) and (A.5) have been incorporated into and . The approach taken involves converting the inequality constraints into equality constraints using a barrier function and vector of positive slack variables .
| (A.22) |
subject to
As the parameter of perturbation approaches zero, the solution to this problem approaches that of the original problem.
For a given value of , the Lagrangian for this equality constrained problem is
| (A.26) |
Taking the partial derivatives with respect to each of the variables yields:
| (A.31) |
The first order optimality (Karush-Kuhn-Tucker) conditions for this problem are satisfied when the partial derivatives of the Lagrangian above are all set to zero:
| (A.35) |
The first order optimality conditions are solved using Newton’s method. The Newton update step can be written as follows:
| (A.36) |
| (A.37) |
This set of equations can be simplified and reduced to a smaller set of equations by
solving explicitly for in terms of and for in terms of . Taking the
2
Solving the 4
Then, substituting (A.38) and (A.39) into the 1
where
and
Combining (A.40) and the 3
| (A.45) |
The Newton update can then be computed in the following 3 steps:
In order to maintain strict feasibility of the trial solution, the algorithm truncates the Newton step by scaling the primal and dual variables by and , respectively, where these scale factors are computed as follows:
resulting in the variable updates below.
The parameter is a constant scalar with a value slightly less than one. In MIPS, is set to 0.99995.
In this method, during the Newton-like iterations, the perturbation parameter must converge to zero in order to satisfy the first order optimality conditions of the original problem. MIPS uses the following rule to update at each iteration, after updating and :
| (A.52) |
where is a scalar constant between 0 and 1. In MIPS, is set to 0.1.