12.3 Conic Optimization - Interior-point optimizer¶
For conic optimization problems only an interior-point type optimizer is available. The same optimizer is used for quadratic optimization problems which are internally reformulated to conic form.
12.3.1 The homogeneous primal-dual problem¶
The interior-point optimizer is an implementation of the so-called homogeneous and self-dual algorithm. For a detailed description of the algorithm, please see [ART03]. In order to keep our discussion simple we will assume that MOSEK solves a conic optimization problem of the form:
where
where
Since it is not known beforehand whether problem (12.6) has an optimal solution, is primal infeasible or is dual infeasible, the optimization algorithm must deal with all three situations. This is the reason that MOSEK solves the so-called homogeneous model
where
is a solution, although not a very interesting one. Any solution
to the homogeneous model (12.8) satisfies
i.e. complementarity. Observe that
and therefore
since
First, assume that
This shows that
is a primal-dual optimal solution.
On other hand, if
This implies that at least one of
or
holds. If (12.9) is satisfied, then
In summary, by computing an appropriate solution to the homogeneous model, all information required for a solution to the original problem is obtained. A solution to the homogeneous model can be computed using a primal-dual interior-point algorithm [And09].
12.3.2 Interior-point Termination Criterion¶
Since computations are performed in finite precision, and for efficiency reasons, it is not possible to solve the homogeneous model exactly in general. Hence, an exact optimal solution or an exact infeasibility certificate cannot be computed and a reasonable termination criterion has to be employed.
In every iteration
to the homogeneous model is generated, where
Therefore, it is possible to compute the values:
Note
Optimal Case
Observe
This shows the violations in the primal equality constraints for the solution
Similarly, if
In other words if
is an approximate optimal solution.
Dual Infeasibility Certificate
Next assume that
holds. Now in this case the problem is declared dual infeasible and
and it is easy to verify that
which shows
Primal Infeasiblity Certificate
Next assume that
holds. Now in this case the problem is declared primal infeasible and
and it is easy to verify that
which shows
12.3.3 Adjusting optimality criteria¶
It is possible to adjust the tolerances QO
instead of CO
).
ToleranceParameter |
Name (for conic problems) |
Name (for quadratic problems) |
---|---|---|
The default values of the termination tolerances are chosen such that for a majority of problems appearing in practice it is not possible to achieve much better accuracy. Therefore, tightening the tolerances usually is not worthwhile. However, an inspection of (12.11) reveals that the quality of the solution depends on
The interior-point method as implemented by MOSEK will converge toward optimality and primal and dual feasibility at the same rate [And09]. This means that if the optimizer is stopped prematurely then it is very unlikely that either the primal or dual solution is feasible. Another consequence is that in most cases all the tolerances,
If the optimizer terminates without locating a solution that satisfies the termination criteria, for example because of a stall or other numerical issues, then it will check if the solution found up to that point satisfies the same criteria with all tolerances multiplied by the value of MSK_DPAR_INTPNT_CO_TOL_NEAR_REL
. If this is the case, the solution is still declared as optimal.
To conclude the discussion in this section, relaxing the termination criterion is usually not worthwhile.
12.3.4 The Interior-point Log¶
Below is a typical log output from the interior-point optimizer:
Optimizer - threads : 20
Optimizer - solved problem : the primal
Optimizer - Constraints : 1
Optimizer - Cones : 2
Optimizer - Scalar variables : 6 conic : 6
Optimizer - Semi-definite variables: 0 scalarized : 0
Factor - setup time : 0.00 dense det. time : 0.00
Factor - ML order time : 0.00 GP order time : 0.00
Factor - nonzeros before factor : 1 after factor : 1
Factor - dense dim. : 0 flops : 1.70e+01
ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME
0 1.0e+00 2.9e-01 3.4e+00 0.00e+00 2.414213562e+00 0.000000000e+00 1.0e+00 0.01
1 2.7e-01 7.9e-02 2.2e+00 8.83e-01 6.969257574e-01 -9.685901771e-03 2.7e-01 0.01
2 6.5e-02 1.9e-02 1.2e+00 1.16e+00 7.606090061e-01 6.046141322e-01 6.5e-02 0.01
3 1.7e-03 5.0e-04 2.2e-01 1.12e+00 7.084385672e-01 7.045122560e-01 1.7e-03 0.01
4 1.4e-08 4.2e-09 4.9e-08 1.00e+00 7.071067941e-01 7.071067599e-01 1.4e-08 0.01
The first line displays the number of threads used by the optimizer and the second line indicates if the optimizer chose to solve the primal or dual problem (see MSK_IPAR_INTPNT_SOLVE_FORM
). The next lines display the problem dimensions as seen by the optimizer, and the Factor...
lines show various statistics. This is followed by the iteration log.
Using the same notation as in Sec. 12.3.1 (The homogeneous primal-dual problem) the columns of the iteration log have the following meaning:
ITE
: Iteration index .PFEAS
: . The numbers in this column should converge monotonically towards zero but may stall at low level due to rounding errors.DFEAS
: . The numbers in this column should converge monotonically towards zero but may stall at low level due to rounding errors.GFEAS
: . The numbers in this column should converge monotonically towards zero but may stall at low level due to rounding errors.PRSTATUS
: This number converges to if the problem has an optimal solution whereas it converges to if that is not the case.POBJ
: . An estimate for the primal objective value.DOBJ
: . An estimate for the dual objective value.MU
: . The numbers in this column should always converge to zero.TIME
: Time spent since the optimization started (in seconds).