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:

(12.6)minimizecTxsubject toAx=b,xK

where K is a convex cone. The corresponding dual problem is

(12.7)maximizebTysubject toATy+s=c,sK

where K is the dual cone of K. See Sec. 11.2 (Conic Optimization) for definitions.

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

(12.8)Axbτ=0,ATy+scτ=0,cTx+bTyκ=0,xK,sK,τ,κ0,

where y and s correspond to the dual variables in (12.6), and τ and κ are two additional scalar variables. Note that the homogeneous model (12.8) always has a solution since

(x,y,s,τ,κ)=(0,0,0,0,0)

is a solution, although not a very interesting one. Any solution

(x,y,s,τ,κ)

to the homogeneous model (12.8) satisfies

(x)Ts+τκ=0

i.e. complementarity. Observe that xK and sK implies

(x)Ts0

and therefore

τκ=0.

since τ,κ0. Hence, at least one of τ and κ is zero.

First, assume that τ>0 and hence κ=0. It follows that

Axτ=b,ATyτ+sτ=c,cTxτ+bTyτ=0,x/τK,s/τK.

This shows that xτ is a primal optimal solution and (yτ,sτ) is a dual optimal solution; this is reported as the optimal interior-point solution since

(x,y,s)=(xτ,yτ,sτ)

is a primal-dual optimal solution.

On other hand, if κ>0 then

Ax=0,ATy+s=0,cTx+bTy=κ,xK,sK.

This implies that at least one of

(12.9)cTx<0

or

(12.10)bTy>0

holds. If (12.9) is satisfied, then x is a certificate of dual infeasibility, whereas if (12.10) holds then y is a certificate of primal infeasibility.

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 k of the interior-point algorithm a trial solution

(xk,yk,sk,τk,κk)

to the homogeneous model is generated, where

xkK,skK,τk,κk>0.

Therefore, it is possible to compute the values:

ρpk=arg minρ{ρAxkτkbρεp(1+b)},ρdk=arg minρ{ρATykτk+skτkcρεd(1+c)},ρgk=arg minρ{ρ((xk)Tsk(τk)2,|cTxkτkbTykτk|)ρεgmax(1,min(|cTxk|,|bTyk|)τk)},ρpik=arg minρ{ρATyk+skρεibTyk,bTyk>0} andρdik=arg minρ{ρAxkρεicTxk,cTxk<0}.

Note εp,εd,εg and εi are nonnegative user specified tolerances.

Optimal Case

Observe ρpk measures how far xk/τk is from being a good approximate primal feasible solution. Indeed if ρpk1, then

(12.11)Axkτkbεp(1+b).

This shows the violations in the primal equality constraints for the solution xk/τk is small compared to the size of b given εp is small.

Similarly, if ρdk1, then (yk,sk)/τk is an approximate dual feasible solution. If in addition ρg1, then the solution (xk,yk,sk)/τk is approximate optimal because the associated primal and dual objective values are almost identical.

In other words if max(ρpk,ρdk,ρgk)1, then

(xk,yk,sk)τk

is an approximate optimal solution.

Dual Infeasibility Certificate

Next assume that ρdik1 and hence

AxkεicTxk and cTxk>0

holds. Now in this case the problem is declared dual infeasible and xk is reported as a certificate of dual infeasibility. The motivation for this stopping criterion is as follows. Let

x¯:=xkcTxk

and it is easy to verify that

Ax¯εi and cTx¯=1

which shows x¯ is an approximate certificate of dual infeasibility, where εi controls the quality of the approximation.

Primal Infeasiblity Certificate

Next assume that ρpik1 and hence

ATyk+skεibTyk and bTyk>0

holds. Now in this case the problem is declared primal infeasible and (yk,sk) is reported as a certificate of primal infeasibility. The motivation for this stopping criterion is as follows. Let

y¯:=ykbTyk and s¯:=skbTyk

and it is easy to verify that

ATy¯+s¯εi and bTy¯=1

which shows (yk,sk) is an approximate certificate of dual infeasibility, where εi controls the quality of the approximation.

12.3.3 Adjusting optimality criteria

It is possible to adjust the tolerances εp, εd, εg and εi using parameters; see the next table for details. Note that although this section discusses the conic optimizer, if the problem was originally input as a quadratic or quadratically constrained optimization problem then the parameter names that apply are those from the third column (with infix QO instead of CO).

Table 12.2 Parameters employed in termination criterion

ToleranceParameter

Name (for conic problems)

Name (for quadratic problems)

εp

MSK_DPAR_INTPNT_CO_TOL_PFEAS

MSK_DPAR_INTPNT_QO_TOL_PFEAS

εd

MSK_DPAR_INTPNT_CO_TOL_DFEAS

MSK_DPAR_INTPNT_QO_TOL_DFEAS

εg

MSK_DPAR_INTPNT_CO_TOL_REL_GAP

MSK_DPAR_INTPNT_QO_TOL_REL_GAP

εi

MSK_DPAR_INTPNT_CO_TOL_INFEAS

MSK_DPAR_INTPNT_QO_TOL_INFEAS

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 b and c; the smaller the norms are, the better the solution accuracy.

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, εp, εd, εg and εi, have to be relaxed together to achieve an effect.

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 k.

  • PFEAS: Axkbτk . The numbers in this column should converge monotonically towards zero but may stall at low level due to rounding errors.

  • DFEAS: ATyk+skcτk . The numbers in this column should converge monotonically towards zero but may stall at low level due to rounding errors.

  • GFEAS: |cTxk+bTykκk| . 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 1 if the problem has an optimal solution whereas it converges to 1 if that is not the case.

  • POBJ: cTxk/τk. An estimate for the primal objective value.

  • DOBJ: bTyk/τk. An estimate for the dual objective value.

  • MU: (xk)Tsk+τkκkn+1 . The numbers in this column should always converge to zero.

  • TIME: Time spent since the optimization started (in seconds).