24.10.2013 Views

MOSEK - GAMS

MOSEK - GAMS

MOSEK - GAMS

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>MOSEK</strong><br />

<strong>MOSEK</strong> ApS, C/O Symbion Science Park, Fruebjergvej 3, Box 16, 2100 Copenhagen Ø, Denmark<br />

Contents<br />

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319<br />

1.1 Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320<br />

1.2 Reporting of Infeasible/Unbounded Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320<br />

1.3 Solving Problems in Parallel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320<br />

1.3.1 Parallelized Optimizers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321<br />

1.3.2 Concurrent Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321<br />

1.4 The Infeasibility Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321<br />

1.5 Nonlinear Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322<br />

1.6 Modeling Issues Involving Convex Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322<br />

2 Conic Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322<br />

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322<br />

2.2 Implemention of Conic Constraints in <strong>GAMS</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323<br />

2.3 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323<br />

3 The <strong>MOSEK</strong> Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325<br />

4 Summary of <strong>MOSEK</strong> Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326<br />

4.1 General and Preprocessing Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326<br />

4.2 Problem Data Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327<br />

4.3 Output Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328<br />

4.4 Interior Point Optimizer Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329<br />

4.5 Simplex Optimizer and Basis Identification Options . . . . . . . . . . . . . . . . . . . . . . . . . . 330<br />

4.6 Mixed Integer Optimizer Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332<br />

4.7 Other Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333<br />

5 Detailed Descriptions of <strong>MOSEK</strong> Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334<br />

6 The <strong>MOSEK</strong> Log File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362<br />

6.1 Log Using the Interior Point Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362<br />

6.2 Log Using the Simplex Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364<br />

6.3 Log Using the Mixed Integer Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365<br />

6.4 Log Using the Conic Mixed Integer Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366<br />

1 Introduction<br />

<strong>MOSEK</strong> is a software package for the solution of linear, mixed-integer linear, quadratic, mixed-integer quadratic, quadratically<br />

constraint, and convex nonlinear mathematical optimization problems. <strong>MOSEK</strong> is particularly well suited for solving<br />

large-scale linear, convex quadratically constraint, and conic quadratic programs using an extremely efficient interior point<br />

algorithm.<br />

These problem classes can be solved using an appropriate optimizer built into <strong>MOSEK</strong>. All the optimizers available in<br />

<strong>MOSEK</strong> are built for the solution of large-scale sparse problems. Current optimizers include:


320 <strong>MOSEK</strong><br />

• Interior-point optimizer for all continuous problems<br />

• Conic interior-point optimizer for conic quadratic problems<br />

• Simplex optimizer for linear problems<br />

• Mixed-integer optimizer based on a branch and cut technology<br />

• Conic Mixed-integer optimizer based on a branch and cut technology<br />

1.1 Licensing<br />

Licensing of <strong>GAMS</strong>/<strong>MOSEK</strong> is similar to other <strong>GAMS</strong> solvers. <strong>MOSEK</strong> is licensed in three different ways:<br />

• <strong>GAMS</strong>/<strong>MOSEK</strong> Base:<br />

All model types. Using <strong>MOSEK</strong>’s conic mixed-integer optimizer for the solution of models involving discrete variables.<br />

• <strong>GAMS</strong>/<strong>MOSEK</strong> Extended:<br />

Same as <strong>GAMS</strong>/<strong>MOSEK</strong> Base, but using the mixed-integer optimizer for the solution of models involving discrete<br />

variables by default<br />

• <strong>GAMS</strong>/<strong>MOSEK</strong> Solver Link:<br />

Users must have a seperate, licensed <strong>MOSEK</strong> system. For users who wish to use <strong>MOSEK</strong> within <strong>GAMS</strong> and also in<br />

other environments.<br />

For more information contact sales@gams.com. For information regarding <strong>MOSEK</strong> standalone or interfacing <strong>MOSEK</strong><br />

with other applications contact sales@mosek.com.<br />

1.2 Reporting of Infeasible/Unbounded Models<br />

<strong>MOSEK</strong> determines if either the primal or the dual problem is infeasible by means of a Farkas certificate. In such a case<br />

<strong>MOSEK</strong> returns a certificate indicating primal or dual infeasibility. A primal infeasibility certificate indicates a primal<br />

infeasible model and the certificate is reported in the marginals of the equations in the listing file. The primal infeasibility<br />

certificate for a minimization problem<br />

is the solution y satisfying:<br />

minimize c T x<br />

subject to Ax = b,<br />

x ≥ 0<br />

A T y ≤ 0, b T y > 0<br />

A dual infeasibility certificate is reported in the levels of the variables in the listing file. The dual infeasibility certificate x<br />

for the same minimization problem is<br />

Ax = 0, c T x < 0<br />

Since <strong>GAMS</strong> reports all model statuses in the primal space, the notion of dual infeasibility does not exist and <strong>GAMS</strong> reports<br />

a status of unbounded, which assumes the primal problem is feasible. Although <strong>GAMS</strong> reports the primal as unbounded,<br />

there is the possibility that both the primal and dual problem are infeasible. To check if this is the case, the user can set<br />

appropriate upper and lower bounds on the objective variable, using the (varible).LO and (variable).UP suffixes and<br />

resolve.<br />

For more details on primal and dual infeasibility certificates see the <strong>MOSEK</strong> User’s manual at www.mosek.com.<br />

1.3 Solving Problems in Parallel<br />

If a computer has multiple CPUs (or a CPU with multiple cores), then it might be advantageous to use the multiple CPUs<br />

to solve the optimization problem. For instance if you have two CPUs you may want to exploit the two CPUs to solve the<br />

problem in the half time. <strong>MOSEK</strong> can exploit multiple CPUs.


<strong>MOSEK</strong> 321<br />

1.3.1 Parallelized Optimizers<br />

<strong>MOSEK</strong>’s interior-point and the conic mixed-integer optimizer have been parallelized.<br />

This implies that whenever the <strong>MOSEK</strong> interior-point optimizer should solve an optimization problem, then it will try<br />

to divide the work so each CPU gets a share of the work. The user decides how many CPUs <strong>MOSEK</strong> should exploit.<br />

Unfortunately, it is not always easy to divide the work. Also some of the coordination work must occur in sequential.<br />

Therefore, the speed-up obtained when using multiple CPUs is highly problem dependent. However, as a rule of thumb if<br />

the problem solves very quickly i.e. in less than 60 seconds, then it is not advantageous of using the parallel option.<br />

The parameter MSK IPAR NUM THREADS sets the number of threads (and therefore the number of CPU’s) that the interior<br />

point optimizer will use.<br />

1.3.2 Concurrent Optimizer<br />

An alternative to use a parallelized optimizer is the concurrent optimizer. The idea of the concurrent optimizer is to run<br />

multiple optimizers on the same problem concurrently. For instance the interior-point and the dual simplex optimizers may<br />

be applied to an linear optimization problem concurrently. The concurrent optimizer terminates when the first optimizer has<br />

completed and reports the solution of the fastest optimizer. That way a new optimizer has been created which essentially<br />

has the best performance of the interior-point and the dual simplex optimizer.<br />

Hence, the concurrent optimizer is the best one to use if there multiple optimizers available in <strong>MOSEK</strong> for the problem and<br />

you cannot say beforehand which one is the best one. For more details inspect the MSK IPAR CONCURRENT * options.<br />

1.4 The Infeasibility Report<br />

<strong>MOSEK</strong> has some facilities for diagnosing the cause of a primal or dual infeasibility. They can be turned on using the<br />

parameter setting MSK IPAR INFEAS REPORT AUTO. This causes <strong>MOSEK</strong> to print a report about an infeasible subset<br />

of the constraints, when an infeasibility is encountered. Moreover, the parameter MSK IPAR INFEAS REPORT LEVEL<br />

controls the amount info presented in the infeasibility report. We will use the trnsport.gms example from the <strong>GAMS</strong> Model<br />

Library with increased demand (b(j)=1.6*b(j)) to make the model infeasible. <strong>MOSEK</strong> produces the following infeasibility<br />

report<br />

<strong>MOSEK</strong> PRIMAL INFEASIBILITY REPORT.<br />

Problem status: The problem is primal infeasible<br />

The following constraints are involved in the primal infeasibility.<br />

Index Name Lower bound Upper bound Dual lower Dual upper<br />

1 supply(seattle) none 3.500000e+002 0.000000e+000 1.000000e+000<br />

2 supply(san-diego) none 6.000000e+002 0.000000e+000 1.000000e+000<br />

3 demand(new-york) 5.200000e+002 none 1.000000e+000 0.000000e+000<br />

4 demand(chicago) 4.800000e+002 none 1.000000e+000 0.000000e+000<br />

5 demand(topeka) 4.400000e+002 none 1.000000e+000 0.000000e+000<br />

The following bound constraints are involved in the infeasibility.<br />

Index Name Lower bound Upper bound Dual lower Dual upper<br />

which indicates which constraints and bounds that are important for the infeasibility i.e. causing the infeasibility. The<br />

infeasibility report is divided into two sections where the first section shows which constraints that are important for the<br />

infeasibility. In this case the important constraints are supply and demand. The values in the columns Dual lower and<br />

Dual upper are also useful, because if the dual lower value is different from zero for a constraint, then it implies that the<br />

lower bound on the constraint is important for the infeasibility. Similarly, if the dual upper value is different from zero on a<br />

constraint, then this implies the upper bound on the constraint is important for infeasibility.


322 <strong>MOSEK</strong><br />

1.5 Nonlinear Programs<br />

<strong>MOSEK</strong> can efficiently solve convex programs, but is not intended for nonconvex optimization. For nonconvex programs,<br />

<strong>MOSEK</strong> can detect some nonconvexities and will print out a warning message and terminate. If <strong>MOSEK</strong> does not detect<br />

nonconvexities for a nonconvex model, the optimizer may continue but stagnate. Hence care must be taken when solving<br />

nonlinear programs if convexity is not immediately known.<br />

1.6 Modeling Issues Involving Convex Programs<br />

It is often preferable to model convex programs in seperable form, if it is possible. Consider the following example of<br />

minizing an objective function f (x):<br />

f (x) = log(a ′ ∗ x)<br />

where a ∈ ℜ n is a parameter and x ∈ ℜ n the decision variable. The equation implies an implicit constraint of a ′ ∗ x > 0.<br />

Unfortunately, domain violations can still occur because no restrictions are set on a ′ ∗ x. A better approach is to introduce<br />

an intermediate variable y:<br />

f (x) = log(y)<br />

y = a ′ ∗ x<br />

y ≥ 0<br />

This accomplishes two things. It implies an explicit bound on a ′ ∗ x, thereby reducing the risk of domain violations. Secondly,<br />

it speeds up computation since computations of gradients and Hessians in the first (non-seperable) form are more<br />

expensive. Finally, it reduces the amount of memory needed (see the section on “Memory Options”)<br />

2 Conic Programming<br />

<strong>MOSEK</strong> is well suited for solving generalized linear programs involving nonlinear conic constraints. Conic programming<br />

is useful in a wide variety of application areas 1 including engineering and financial management . Conic programming<br />

has been used, for example, in antenna array weight design, grasping force optimization, finite impulse response (FIR)<br />

filter design, and portfolio optimization. The Mosek web site (http://mosek.com/resources/doc) has an excellent modeling<br />

manual for conic problems.<br />

This section gives an overview of conic programming and how conic constraints are implemented in <strong>GAMS</strong>.<br />

2.1 Introduction<br />

Conic programs can be thought of as generalized linear programs with the additional nonlinear constraint x ∈ C, where C is<br />

required to be a convex cone. The resulting class of problems is known as conic optimization and has the following form:<br />

minimize c T x<br />

subject to Ax ≤ r c ,<br />

x ∈ [l x ,u x ]<br />

x ∈ C<br />

where A ∈ ℜ m×n is the constraint matrix, x ∈ ℜ n the decision variable, and c ∈ ℜ n the objective function cost coefficients.<br />

The vector r c ∈ ℜ m represents the right hand side and the vectors l x ,u x ∈ ℜ n are lower and upper bounds on the decision<br />

variable x.<br />

1 See M. Lobo, L. Vandenberghe, S. Boyd, and H. Lebret, Applications of second-order cone programming Linear Algebra and its Applications,<br />

284:193-228, Special Issue on Linear Algebra in Control, Signals and Image Processing. November, 1998.


<strong>MOSEK</strong> 323<br />

Now partition the set of decision variables x into sets St ,t = 1,...,k, such that each decision variables x is a member of at<br />

most one set St . For example, we could have<br />

⎡ ⎤<br />

⎡ ⎤<br />

S 1 =<br />

⎣ x1<br />

x4<br />

Let x S t denote the variables x belonging to set S t . Then define<br />

where Ct must have one of the following forms:<br />

x7<br />

⎦and S 2 ⎢<br />

= ⎢<br />

⎣<br />

• Quadratic cone: (also referred to as Lorentz or ice cream cone)<br />

⎧<br />

<br />

⎨<br />

<br />

<br />

Ct = x ∈ ℜnt : x1 ≥<br />

⎩<br />

• Rotated quadratic cone: (also referred to as hyberbolic constraints)<br />

<br />

x6<br />

x5<br />

x3<br />

x2<br />

⎥<br />

⎦ . (2.1)<br />

C := {x ∈ ℜ n : x S t ∈ Ct,t = 1,...,k} (2.2)<br />

Ct =<br />

x ∈ ℜ nt<br />

: 2x1x2 ≥<br />

nt ∑<br />

j=3<br />

nt<br />

∑ x<br />

j=2<br />

2 j<br />

x 2 j, x1,x2 ≥ 0<br />

⎫<br />

⎬<br />

. (2.3)<br />

⎭<br />

<br />

. (2.4)<br />

These two types of cones allow the formulation of quadratic, quadratically constrained, and many other classes of nonlinear<br />

convex optimization problems.<br />

2.2 Implemention of Conic Constraints in <strong>GAMS</strong><br />

<strong>GAMS</strong> handles conic equations using the =C= equation type. The conic cases are written as:<br />

• Quadratic cone:<br />

• Rotated quadratic cone:<br />

x(‘1‘) = C = sum(i$[not sameas(i,‘1‘)],x(i)); (2.5)<br />

x(‘1‘) + x(‘2‘) = C = sum(i$[not sameas(i,‘1‘) and not sameas(i,‘2‘)],x(i)); (2.6)<br />

Note that the resulting nonlinear conic constraints result in “linear” constraints in <strong>GAMS</strong>. Thus the original nonlinear<br />

formulation is in fact a linear model in <strong>GAMS</strong>. We remark that we could formulate conic problems as regular NLP using<br />

constraints:<br />

• Quadratic cone:<br />

x(‘1‘) = G = sqrt[sum(i$[not sameas(i,‘1‘)],sqr[x(i)])]; (2.7)<br />

• Rotated quadratic cone: x( ′ 1 ′ ) and x( ′ 2 ′ ) are positive variables<br />

2 ∗ x(‘1‘) ∗ x(‘2‘) = G = sum(i$[not sameas(i,‘1‘) and not sameas(i,‘2‘)],sqr[x(i)]); (2.8)<br />

The example below illustrates the different formulations for conic programming problems. Note that the conic optimizer in<br />

<strong>MOSEK</strong> usually outperforms a general NLP method for the reformulated (NLP) cone problems.<br />

2.3 Example<br />

Consider the following example (cone2.gms) which illustrates the use of rotated conic constraints. We will give reformulations<br />

of the original problem in regular NLP form using conic constraints and in conic form.


324 <strong>MOSEK</strong><br />

The original problem is:<br />

minimize ∑i di<br />

xi<br />

subject to a t x ≤ b<br />

xi ∈ [li,ui], li > 0, di ≥ 0, i = 1,2,...,n<br />

where x ∈ ℜ n is the decision variable, d,a,l,u ∈ ℜ n parameters, and b ∈ ℜ a scalar parameter. The original model (2.9) can<br />

be written in <strong>GAMS</strong> using the equations:<br />

defobj.. sum(n, d(n)/x(n)) =E= obj;<br />

e1.. sum(n, a(n)*x(n)) =L= b;<br />

Model orig /defobj, e1/;<br />

x.lo(n) = l(n);<br />

x.up(n) = u(n);<br />

We can write an equivalent NLP formulation, replacing the objective function and adding another constraint:<br />

minimize ∑i diti<br />

subject to a t x ≤ b<br />

2tixi ≥ 2, i = 1,...,n<br />

x ∈ [l,u], l > 0, di ≥ 0<br />

where t ∈ ℜ n is a new decision variable. The <strong>GAMS</strong> formulation of this NLP (model cnlp) is:<br />

defobjc.. sum(n, d(n)*t(n)) =E= obj;<br />

e1.. sum(n, a(n)*x(n)) =L= b;<br />

conenlp(n).. 2*t(n)*x(n) =G= 2;<br />

Model cnlp /defobjc, e1, conenlp/;<br />

x.lo(n) = l(n);<br />

x.up(n) = u(n);<br />

We can change the equality to an inequality since the parameter di ≥ 0 and we are dealing with a minimization problem.<br />

Also, note that the constraint conenlp(n) is almost in rotated conic form. If we introduce a variable z ∈ ℜ n ,zi = √ 2, then<br />

we can reformulate the problem using conic constraints as:<br />

The <strong>GAMS</strong> formulation using conic equations =C= is:<br />

defobjc.. sum(n, d(n)*t(n)) =E= obj;<br />

e1.. sum(n, a(n)*x(n)) =L= b;<br />

e2(n).. z(n) =E= sqrt(2);<br />

cone(n).. x(n) + t(n) =C= z(n);<br />

Model clp /defobjc, e1, e2, cone/;<br />

x.lo(n) = l(n);<br />

x.up(n) = u(n);<br />

minimize ∑i diti<br />

subject to atx ≤ b<br />

zi = √ 2<br />

2tixi ≥ z2 i , i = 1,...,n<br />

x ∈ [l,u], l > 0, di ≥ 0<br />

Note that this formulation is a linear program in <strong>GAMS</strong>, although the constraints cone(n)... represent the nonlinear<br />

rotated quadratic cone constraint.<br />

The complete model is listed below:<br />

(2.9)<br />

(2.10)<br />

(2.11)


<strong>MOSEK</strong> 325<br />

Set n / n1*n10 /;<br />

Parameter d(n), a(n), l(n), u(n);<br />

Scalar b;<br />

d(n) = uniform(1,2);<br />

a(n) = uniform (10,50);<br />

l(n) = uniform(0.1,10);<br />

u(n) = l(n) + uniform(0,12-l(n));<br />

Variables x(n);<br />

x.l(n) = uniform(l(n), u(n));<br />

b = sum(n, x.l(n)*a(n));<br />

Variables t(n), z(n), obj;<br />

Equations defobjc, defobj, e1, e2(n), cone(n), conenlp(n);<br />

defobjc.. sum(n, d(n)*t(n)) =E= obj;<br />

defobj.. sum(n, d(n)/x(n)) =E= obj;<br />

e1.. sum(n, a(n)*x(n)) =L= b;<br />

e2(n).. z(n) =E= sqrt(2);<br />

cone(n).. x(n) + t(n) =C= z(n);<br />

conenlp(n).. 2*t(n)*x(n) =G= 2;<br />

Model clp /defobjc, e1, e2, cone/;<br />

Model cnlp /defobjc, e1, conenlp/;<br />

Model orig /defobj, e1/;<br />

x.lo(n) = l(n);<br />

x.up(n) = u(n);<br />

Solve clp min obj using lp;<br />

Solve cnlp min obj using nlp;<br />

Solve orig min obj using nlp;<br />

3 The <strong>MOSEK</strong> Options<br />

<strong>MOSEK</strong> works like other <strong>GAMS</strong> solvers, and many options can be set in the <strong>GAMS</strong> model. The most relevant <strong>GAMS</strong><br />

options are reslim, nodlim, optca, optcr, and optfile. The option iterlim works only for the simplex optimizer.<br />

A description of all available <strong>GAMS</strong> options can be found in Chapter ”Using Solver Specific Options”.<br />

We remark that <strong>MOSEK</strong> contains many complex solver options, many of which require a deep understanding of the algorithms<br />

used. For a complete description of the many <strong>MOSEK</strong> options, consult the <strong>MOSEK</strong> User’s Guide, available online<br />

at www.mosek.com.<br />

If you specify ”.optfile = 1;” before the SOLVE statement in your <strong>GAMS</strong> model, <strong>MOSEK</strong> will then<br />

look for and read an option file with the name mosek.opt (see ”Using Solver Specific Options” for general use of solver<br />

option files). The syntax for the <strong>MOSEK</strong> option file is<br />

optname value<br />

with one option on each line.<br />

For example,<br />

MSK_IPAR_INTPNT_MAX_ITERATIONS 20<br />

MSK_IPAR_INTPNT_SCALING MSK_SCALING_NONE<br />

The first option specifies the maximum number of interior-point iterations, in this case 20. The second option indicates that


326 <strong>MOSEK</strong><br />

no scaling should be used.<br />

4 Summary of <strong>MOSEK</strong> Options<br />

4.1 General and Preprocessing Options<br />

MSK DPAR ANA SOL INFEAS TOL<br />

Report constraint bound violation if it exceeds this tolerance.<br />

MSK DPAR BASIS REL TOL S<br />

Maximum relative dual bound violation allowed in an optimal basic solution.<br />

MSK DPAR BASIS TOL S<br />

Maximum absolute dual bound violation in an optimal basic solution.<br />

MSK DPAR BASIS TOL X<br />

Maximum absolute primal bound violation allowed in an optimal basic solution.<br />

MSK DPAR CHECK CONVEXITY REL TOL<br />

This parameter controls when the full convexity check declares a problem to be non-convex.<br />

MSK DPAR OPTIMIZER MAX TIME<br />

Maximum amount of time the optimizer is allowed to spent on the optimization.<br />

MSK DPAR PRESOLVE TOL ABS LINDEP<br />

Absolute tolerance employed by the linear dependency checker.<br />

MSK DPAR PRESOLVE TOL AIJ<br />

Absolute zero tolerance employed for a i j in the presolve.<br />

MSK DPAR PRESOLVE TOL REL LINDEP<br />

Relative tolerance employed by the linear dependency checker.<br />

MSK DPAR PRESOLVE TOL S<br />

Absolute zero tolerance employed for s i in the presolve.<br />

MSK DPAR PRESOLVE TOL X<br />

Absolute zero tolerance employed for x j in the presolve.<br />

MSK IPAR AUTO SORT A BEFORE OPT<br />

Controls whether the elements in each column of A are sorted before an optimization is performed.<br />

MSK IPAR CONCURRENT NUM OPTIMIZERS<br />

The maximum number of simultaneous optimizations that will be started by the concurrent optimizer.<br />

MSK IPAR CONCURRENT PRIORITY DUAL SIMPLEX<br />

Priority of the dual simplex algorithm when selecting solvers for concurrent optimization.<br />

MSK IPAR CONCURRENT PRIORITY FREE SIMPLEX<br />

Priority of the free simplex optimizer when selecting solvers for concurrent optimization.<br />

MSK IPAR CONCURRENT PRIORITY INTPNT<br />

Priority of the interior-point algorithm when selecting solvers for concurrent optimization.<br />

MSK IPAR CONCURRENT PRIORITY PRIMAL SIMPLEX<br />

Priority of the primal simplex algorithm when selecting solvers for concurrent optimization.<br />

MSK IPAR INFEAS REPORT AUTO<br />

Controls infeasibility report production.<br />

MSK IPAR INFEAS REPORT LEVEL<br />

Controls the amount of information presented in an infeasibility report.<br />

MSK IPAR NUM THREADS<br />

Controls the number of threads employed by the optimizer.<br />

MSK IPAR OPTIMIZER<br />

The paramter controls which optimizer is used to optimize the task.<br />

MSK IPAR PRESOLVE ELIMINATOR MAX NUM TRIES<br />

Control the maximum number of times the eliminator is tried.<br />

MSK IPAR PRESOLVE ELIMINATOR USE<br />

Controls whether free or implied free variables are eliminated from the problem.<br />

MSK IPAR PRESOLVE ELIM FILL


<strong>MOSEK</strong> 327<br />

Controls the maximum amount of fill-in in the elimination phase of the presolve.<br />

MSK IPAR PRESOLVE LEVEL<br />

Currently not used.<br />

MSK IPAR PRESOLVE LINDEP ABS WORK TRH<br />

Controls the linear dependency check which is potentially computationally expensive.<br />

MSK IPAR PRESOLVE LINDEP REL WORK TRH<br />

Controls the linear dependency check which is potentially computationally expensive.<br />

MSK IPAR PRESOLVE LINDEP USE<br />

Controls whether the linear constraints are checked for linear dependencies.<br />

MSK IPAR PRESOLVE MAX NUM REDUCTIONS<br />

Controls the maximum number reductions performed by the presolve.<br />

MSK IPAR PRESOLVE USE<br />

Controls whether the presolve is applied to a problem before it is optimized.<br />

MSK IPAR PRIMAL REPAIR OPTIMIZER<br />

Controls which optimizer that is used to find the optimal repair.<br />

MSK SPAR PARAM READ FILE NAME<br />

Modifications to the parameter database is read from this file.<br />

MSK SPAR PARAM WRITE FILE NAME<br />

The parameter database is written to this file.<br />

MSK SPAR DATA FILE NAME<br />

Problem data is written to this file. File extension determines format.<br />

4.2 Problem Data Options<br />

MSK DPAR DATA TOL AIJ<br />

Absolute zero tolerance for elements in A.<br />

MSK DPAR DATA TOL AIJ HUGE<br />

An element in A which is larger than this value in absolute size causes an error.<br />

MSK DPAR DATA TOL AIJ LARGE<br />

An element in A which is larger than this value in absolute size causes a warning message.<br />

MSK DPAR DATA TOL BOUND INF<br />

Any bound which in absolute value is greater than this parameter is considered infinite.<br />

MSK DPAR DATA TOL BOUND WRN<br />

If a bound value is larger than this value in absolute size, then a warning message is issued.<br />

MSK DPAR DATA TOL CJ LARGE<br />

An element in c which is larger than this value in absolute terms causes a warning message.<br />

MSK DPAR DATA TOL C HUGE<br />

An element in c larger than the value of this parameter in absolute terms generates an error.<br />

MSK DPAR DATA TOL QIJ<br />

Absolute zero tolerance for elements in Q matrices.<br />

MSK DPAR DATA TOL X<br />

Zero tolerance for constraints and variables.<br />

MSK DPAR LOWER OBJ CUT<br />

Lower objective limit.<br />

MSK DPAR LOWER OBJ CUT FINITE TRH<br />

Lower objective limit threshold.<br />

MSK DPAR UPPER OBJ CUT<br />

Upper objective limit.<br />

MSK DPAR UPPER OBJ CUT FINITE TRH<br />

Upper objective limit threshold.<br />

MSK IPAR CHECK CONVEXITY<br />

Specify the level of convexity check on quadratic problems


328 <strong>MOSEK</strong><br />

4.3 Output Options<br />

MSK IPAR LOG<br />

Controls the amount of log information.<br />

MSK IPAR LOG BI<br />

Controls the amount of output printed by the basis identification procedure.<br />

MSK IPAR LOG BI FREQ<br />

Controls logging frequency.<br />

MSK IPAR LOG CHECK CONVEXITY<br />

Controls logging in convexity check on quadratic problems.<br />

MSK IPAR LOG CONCURRENT<br />

Controls amount of output printed by the concurrent optimizer.<br />

MSK IPAR LOG FACTOR<br />

If turned on, then the factor log lines are added to the log.<br />

MSK IPAR LOG FEAS REPAIR<br />

Controls the amount of output printed when performing feasibility repair.<br />

MSK IPAR LOG HEAD<br />

If turned on, then a header line is added to the log.<br />

MSK IPAR LOG INFEAS ANA<br />

Controls amount of output printed by the infeasibility analyzer procedures.<br />

MSK IPAR LOG INTPNT<br />

Controls amount of output printed printed by the interior-point optimizer.<br />

MSK IPAR LOG MIO<br />

Controls the log level for the mixed-integer optimizer.<br />

MSK IPAR LOG MIO FREQ<br />

Controls how frequent the mixed-integer optimizer prints the log line.<br />

MSK IPAR LOG NONCONVEX<br />

Controls amount of output printed by the nonconvex optimizer.<br />

MSK IPAR LOG OPTIMIZER<br />

Controls the amount of general optimizer information that is logged.<br />

MSK IPAR LOG ORDER<br />

If turned on, then factor lines are added to the log.<br />

MSK IPAR LOG PARAM<br />

Controls the amount of information printed out about parameter changes.<br />

MSK IPAR LOG PRESOLVE<br />

Controls amount of output printed by the presolve procedure.<br />

MSK IPAR LOG RESPONSE<br />

Controls amount of output printed when response codes are reported.<br />

MSK IPAR LOG SENSITIVITY<br />

Controls the amount of logging during the sensitivity analysis.<br />

MSK IPAR LOG SENSITIVITY OPT<br />

Controls the amount of logging from the optimizers employed during the sensitivity analysis.<br />

MSK IPAR LOG SIM<br />

Controls amount of output printed by the simplex optimizer.<br />

MSK IPAR LOG SIM FREQ<br />

Controls simplex logging frequency.<br />

MSK IPAR LOG STORAGE<br />

When turned on, <strong>MOSEK</strong> prints messages regarding the storage usage and allocation.<br />

MSK IPAR MAX NUM WARNINGS<br />

Waning level. A higher value results in more warnings.<br />

MSK IPAR WARNING LEVEL<br />

Warning level. A higher value implies more warnings.<br />

MSK IPAR WRITE IGNORE INCOMPATIBLE CONIC ITEMS<br />

Controls ignoration of incompatible conic items.<br />

MSK IPAR WRITE IGNORE INCOMPATIBLE ITEMS


<strong>MOSEK</strong> 329<br />

Controls if the writer ignores incompatible problem items when writing files.<br />

MSK IPAR WRITE IGNORE INCOMPATIBLE NL ITEMS<br />

Controls if the writer ignores general non-linear terms or produces an error.<br />

MSK IPAR WRITE IGNORE INCOMPATIBLE PSD ITEMS<br />

Controls ignoration of incompatible psd items.<br />

MSK IPAR WRITE LP LINE WIDTH<br />

Maximum width of line in an LP file written by <strong>MOSEK</strong>.<br />

MSK IPAR WRITE LP QUOTED NAMES<br />

If this option is turned on, then <strong>MOSEK</strong> will quote invalid LP names when writing an LP file.<br />

MSK IPAR WRITE LP STRICT FORMAT<br />

Controls whether LP output files satisfy the LP format strictly.<br />

MSK IPAR WRITE LP TERMS PER LINE<br />

Maximum number of terms on a single line in an LP file written by <strong>MOSEK</strong>. 0 means unlimited.<br />

MSK IPAR WRITE MPS INT<br />

Controls writing of marker records to the MPS file to indicate if variables are integer restricted.<br />

MSK IPAR WRITE PRECISION<br />

Controls the precision with which double numbers are printed in the MPS data file.<br />

MSK IPAR WRITE XML MODE<br />

Controls output mode for XML file.<br />

4.4 Interior Point Optimizer Options<br />

MSK DPAR FEASREPAIR TOL<br />

Tolerance for constraint enforcing upper bound on sum of weighted violations in feasibility repair.<br />

MSK DPAR INTPNT CO TOL DFEAS<br />

Dual feasibility tolerance used by the conic interior-point optimizer.<br />

MSK DPAR INTPNT CO TOL INFEAS<br />

Controls when the conic interior-point optimizer declares the model primal or dual infeasible.<br />

MSK DPAR INTPNT CO TOL MU RED<br />

Optimality tolerance for the conic solver.<br />

MSK DPAR INTPNT CO TOL NEAR REL<br />

Termination tolerance multiplier that is used if no accurate solution can be found.<br />

MSK DPAR INTPNT CO TOL PFEAS<br />

Primal feasibility tolerance used by the conic interior-point optimizer.<br />

MSK DPAR INTPNT CO TOL REL GAP<br />

Relative gap termination tolerance used by the conic interior-point optimizer.<br />

MSK DPAR INTPNT NL MERIT BAL<br />

Controls if the complementarity and infeasibility is converging to zero at about equal rates.<br />

MSK DPAR INTPNT NL TOL DFEAS<br />

Dual feasibility tolerance used when a nonlinear model is solved.<br />

MSK DPAR INTPNT NL TOL MU RED<br />

Relative complementarity gap tolerance.<br />

MSK DPAR INTPNT NL TOL NEAR REL<br />

Termination tolerance multiplier that is used if no accurate solution can be found.<br />

MSK DPAR INTPNT NL TOL PFEAS<br />

Primal feasibility tolerance used when a nonlinear model is solved.<br />

MSK DPAR INTPNT NL TOL REL GAP<br />

Relative gap termination tolerance for nonlinear problems.<br />

MSK DPAR INTPNT NL TOL REL STEP<br />

Relative step size to the boundary for general nonlinear optimization problems.<br />

MSK DPAR INTPNT TOL DFEAS<br />

Dual feasibility tolerance used for linear and quadratic optimization problems.<br />

MSK DPAR INTPNT TOL DSAFE


330 <strong>MOSEK</strong><br />

Controls the initial dual starting point used by the interior-point optimizer.<br />

MSK DPAR INTPNT TOL INFEAS<br />

Controls when the optimizer declares the model primal or dual infeasible.<br />

MSK DPAR INTPNT TOL MU RED<br />

Relative complementarity gap tolerance.<br />

MSK DPAR INTPNT TOL PATH<br />

Controls how close the interior-point optimizer follows the central path.<br />

MSK DPAR INTPNT TOL PFEAS<br />

Primal feasibility tolerance used for linear and quadratic optimization problems.<br />

MSK DPAR INTPNT TOL PSAFE<br />

Controls the initial primal starting point used by the interior-point optimizer.<br />

MSK DPAR INTPNT TOL REL GAP<br />

Relative gap termination tolerance.<br />

MSK DPAR INTPNT TOL REL STEP<br />

Relative step size to the boundary for linear and quadratic optimization problems.<br />

MSK DPAR INTPNT TOL STEP SIZE<br />

Step size tolerance value.<br />

MSK IPAR INTPNT BASIS<br />

Controls whether the interior-point optimizer also computes an optimal basis.<br />

MSK IPAR INTPNT DIFF STEP<br />

Controls whether different step sizes are allowed in the primal and dual space.<br />

MSK IPAR INTPNT FACTOR DEBUG LVL<br />

Controls factorization debug level.<br />

MSK IPAR INTPNT FACTOR METHOD<br />

Controls the method used to factor the Newton equation system.<br />

MSK IPAR INTPNT MAX ITERATIONS<br />

Controls the maximum number of iterations allowed in the interior-point optimizer.<br />

MSK IPAR INTPNT MAX NUM COR<br />

Controls the maximum number of correctors allowed by the multiple corrector procedure.<br />

MSK IPAR INTPNT MAX NUM REFINEMENT STEPS<br />

Maximum number of steps to be used by the iterative refinement of the search direction.<br />

MSK IPAR INTPNT OFF COL TRH<br />

Controls how many offending columns are detected in the Jacobian of the constraint matrix.<br />

MSK IPAR INTPNT ORDER METHOD<br />

Controls the ordering strategy.<br />

MSK IPAR INTPNT REGULARIZATION USE<br />

Controls whether regularization is allowed.<br />

MSK IPAR INTPNT SCALING<br />

Controls how the problem is scaled before the interior-point optimizer is used.<br />

MSK IPAR INTPNT SOLVE FORM<br />

Controls whether the primal or the dual problem is solved.<br />

MSK IPAR INTPNT STARTING POINT<br />

Starting point used by the interior-point optimizer.<br />

4.5 Simplex Optimizer and Basis Identification Options<br />

MSK DPAR SIMPLEX ABS TOL PIV<br />

Absolute pivot tolerance employed by the simplex optimizers.<br />

MSK DPAR SIM LU TOL REL PIV<br />

Relative pivot tolerance for LU factorization in simplex and basis identification.<br />

MSK IPAR BI CLEAN OPTIMIZER<br />

Controls which optimizer is used in the clean-up phase.<br />

MSK IPAR BI IGNORE MAX ITER


<strong>MOSEK</strong> 331<br />

Controls if basis identification is performed under certain conditions.<br />

MSK IPAR BI IGNORE NUM ERROR<br />

Turns on basis identification if interior-point optimizer is terminated due to a numerical problem.<br />

MSK IPAR BI MAX ITERATIONS<br />

Maximum number of iterations after basis identification.<br />

MSK IPAR SIM BASIS FACTOR USE<br />

Controls whether a (LU) factorization of the basis is used in a hot-start.<br />

MSK IPAR SIM DEGEN<br />

Controls how aggressively degeneration is handled.<br />

MSK IPAR SIM DUAL CRASH<br />

Controls whether crashing is performed in the dual simplex optimizer.<br />

MSK IPAR SIM DUAL RESTRICT SELECTION<br />

Controls how aggressively restricted selection is used.<br />

MSK IPAR SIM DUAL SELECTION<br />

Controls the dual simplex strategy.<br />

MSK IPAR SIM EXPLOIT DUPVEC<br />

Controls if the simplex optimizers are allowed to exploit duplicated columns.<br />

MSK IPAR SIM HOTSTART<br />

Controls the type of hot-start that the simplex optimizer perform.<br />

MSK IPAR SIM HOTSTART LU<br />

Determines if the simplex optimizer should exploit the initial factorization.<br />

MSK IPAR SIM MAX ITERATIONS<br />

Maximum number of iterations that can be used by a simplex optimizer.<br />

MSK IPAR SIM MAX NUM SETBACKS<br />

Controls how many set-backs are allowed within a simplex optimizer.<br />

MSK IPAR SIM NON SINGULAR<br />

Controls if the simplex optimizer ensures a non-singular basis, if possible.<br />

MSK IPAR SIM PRIMAL CRASH<br />

Controls whether crashing is performed in the primal simplex optimizer.<br />

MSK IPAR SIM PRIMAL RESTRICT SELECTION<br />

Controls how aggressively restricted selection is used.<br />

MSK IPAR SIM PRIMAL SELECTION<br />

Controls the primal simplex strategy.<br />

MSK IPAR SIM REFACTOR FREQ<br />

Controls how frequent the basis is refactorized.<br />

MSK IPAR SIM REFORMULATION<br />

Controls if the simplex optimizers are allowed to reformulate the problem.<br />

MSK IPAR SIM SAVE LU<br />

Controls storage of LU factorization.<br />

MSK IPAR SIM SCALING<br />

Controls how much effort is used in scaling the problem before a simplex optimizer is used.<br />

MSK IPAR SIM SCALING METHOD<br />

Controls how the problem is scaled before a simplex optimizer is used.<br />

MSK IPAR SIM SOLVE FORM<br />

Controls whether the primal or the dual problem is solved by the primal-/dual- simplex optimizer.<br />

MSK IPAR SIM STABILITY PRIORITY<br />

Controls how high priority the numerical stability should be given.<br />

MSK IPAR SIM SWITCH OPTIMIZER<br />

Controls the simplex behavior.<br />

USE BASIS EST<br />

Use <strong>MOSEK</strong> basis estimation in case of an interior solution.


332 <strong>MOSEK</strong><br />

4.6 Mixed Integer Optimizer Options<br />

MSK DPAR MIO DISABLE TERM TIME<br />

Disables termination criteria.<br />

MSK DPAR MIO HEURISTIC TIME<br />

Maximum amount of time to be used in the heuristic search for a good feasible integer solution.<br />

MSK DPAR MIO MAX TIME<br />

This parameter limits the maximum time spent by the mixed-integer optimizer.<br />

MSK DPAR MIO MAX TIME APRX OPT<br />

Number of seconds spent by the MIO before the MIO TOL REL RELAX INT is applied.<br />

MSK DPAR MIO NEAR TOL ABS GAP<br />

Relaxed absolute optimality tolerance employed by the mixed-integer optimizer.<br />

MSK DPAR MIO NEAR TOL REL GAP<br />

Relaxed relative optimality tolerance employed by the mixed integer optimizer.<br />

MSK DPAR MIO REL ADD CUT LIMITED<br />

Controls how many cuts the mixed-integer optimizer is allowed to add to the problem.<br />

MSK DPAR MIO REL GAP CONST<br />

This value is used to compute the relative gap for the solution to an integer optimization problem.<br />

MSK DPAR MIO TOL ABS GAP<br />

Absolute optimality tolerance employed by the mixed-integer optimizer.<br />

MSK DPAR MIO TOL ABS RELAX INT<br />

Absolute relaxation tolerance of the integer constraints.<br />

MSK DPAR MIO TOL FEAS<br />

Feasibility tolerance for mixed integer solver.<br />

MSK DPAR MIO TOL REL GAP<br />

Relative optimality tolerance employed by the mixed-integer optimizer.<br />

MSK DPAR MIO TOL REL RELAX INT<br />

Relative relaxation tolerance of the integer constraints.<br />

MSK DPAR MIO TOL X<br />

Absolute solution tolerance used in mixed-integer optimizer.<br />

MSK IPAR MIO BRANCH DIR<br />

Controls whether the mixed-integer optimizer is branching up or down by default.<br />

MSK IPAR MIO CONSTRUCT SOL<br />

Controls construction of an initial mixed integer solution from the values of the integer variables<br />

MSK IPAR MIO CONT SOL<br />

Controls the meaning of the interior-point and basic solutions in mixed integer problems.<br />

MSK IPAR MIO CUT LEVEL ROOT<br />

Controls the cut level employed by the mixed-integer optimizer at the root node.<br />

MSK IPAR MIO CUT LEVEL TREE<br />

Controls the cut level employed by the mixed-integer optimizer at the tree.<br />

MSK IPAR MIO FEASPUMP LEVEL<br />

Controls the feasibility pump heuristic used to construct a good initial feasible solution.<br />

MSK IPAR MIO HEURISTIC LEVEL<br />

Controls the heuristic employed by the MIO to locate an initial good integer feasible solution.<br />

MSK IPAR MIO HOTSTART<br />

Controls whether the integer optimizer is hot-started.<br />

MSK IPAR MIO KEEP BASIS<br />

Controls whether the integer presolve keeps bases in memory.<br />

MSK IPAR MIO LOCAL BRANCH NUMBER<br />

Controls the size of the local search space when doing local branching.<br />

MSK IPAR MIO MAX NUM BRANCHES<br />

Maximum number of branches allowed during the branch and bound search.<br />

MSK IPAR MIO MAX NUM RELAXS<br />

Maximum number of relaxations allowed during the branch and bound search.<br />

MSK IPAR MIO MAX NUM SOLUTIONS


<strong>MOSEK</strong> 333<br />

Controls how many feasible solutions the mixed-integer optimizer investigates.<br />

MSK IPAR MIO NODE OPTIMIZER<br />

Controls which optimizer is employed at the non-root nodes in the mixed-integer optimizer.<br />

MSK IPAR MIO NODE SELECTION<br />

Controls the node selection strategy employed by the mixed-integer optimizer.<br />

MSK IPAR MIO PRESOLVE AGGREGATE<br />

Controls whether the presolve used by the MIO tries to aggregate the constraints.<br />

MSK IPAR MIO PRESOLVE PROBING<br />

Controls whether the mixed-integer presolve performs probing which can be very time consuming.<br />

MSK IPAR MIO PRESOLVE USE<br />

Controls whether presolve is performed by the mixed-integer optimizer.<br />

MSK IPAR MIO ROOT OPTIMIZER<br />

Controls which optimizer is employed at the root node in the mixed-integer optimizer.<br />

MSK IPAR MIO STRONG BRANCH<br />

The value specifies the depth from the root in which strong branching is used.<br />

MSK IPAR MIO USE MULTITHREADED OPTIMIZER<br />

Controls wheter the new multithreaded optimizer should be used for Mixed integer problems.<br />

SOLVEFINAL<br />

Switch to solve the problem with fixed discrete variables. Overwrites MSK IPAR MIO CONT SOL.<br />

FIXOPTFILE<br />

Name of option file which is read just before solving the fixed problem.<br />

4.7 Other Options<br />

MSK DPAR NONCONVEX TOL FEAS<br />

Feasibility tolerance used by the nonconvex optimizer.<br />

MSK DPAR NONCONVEX TOL OPT<br />

Optimality tolerance used by the nonconvex optimizer.<br />

MSK DPAR QCQO REFORMULATE REL DROP TOL<br />

Determines when columns are dropped in incomplete cholesky factorization.<br />

MSK IPAR ANA SOL BASIS<br />

Controls whether the basis matrix is analyzed in solution analyzer.<br />

MSK IPAR ANA SOL PRINT VIOLATED<br />

Controls whether a list of violated constraints is printed when calling task ANALYZESOLUTION.<br />

MSK IPAR FEASREPAIR OPTIMIZE<br />

Controls which type of feasibility analysis is to be performed.<br />

MSK IPAR INFEAS GENERIC NAMES<br />

Controls whether generic names are used when an infeasible subproblem is created.<br />

MSK IPAR INFEAS PREFER PRIMAL<br />

Controls which certificate is used if primal- and dual- certificate of infeasibility is available.<br />

MSK IPAR MT SPINCOUNT<br />

Set the number of iterations to spin before sleeping.<br />

MSK IPAR NONCONVEX MAX ITERATIONS<br />

Maximum number of iterations that can be used by the nonconvex optimizer.<br />

MSK IPAR OPF MAX TERMS PER LINE<br />

The maximum number of terms (linear and quadratic) per line when an OPF file is written.<br />

MSK IPAR OPF WRITE PARAMETERS<br />

Write a parameter section in an OPF file.<br />

MSK IPAR QO SEPARABLE REFORMULATION<br />

Determine if Quadratic programing problems should be reformulated to separable form.<br />

MSK IPAR SENSITIVITY OPTIMIZER<br />

Controls which optimizer is used for optimal partition sensitivity analysis.<br />

MSK IPAR SENSITIVITY TYPE


334 <strong>MOSEK</strong><br />

Controls which type of sensitivity analysis is to be performed.<br />

MSK IPAR TIMING LEVEL<br />

Controls the a amount of timing performed inside <strong>MOSEK</strong>.<br />

MSK IPAR WRITE DATA FORMAT<br />

Controls the file format when writing task data to a file.<br />

MSK IPAR WRITE GENERIC NAMES<br />

Controls whether the generic names or user-defined names are used in the data file.<br />

MSK IPAR WRITE GENERIC NAMES IO<br />

Index origin used in generic names.<br />

READFILE<br />

Read secondary option file.<br />

5 Detailed Descriptions of <strong>MOSEK</strong> Options<br />

MSK DPAR ANA SOL INFEAS TOL (real)<br />

Report constraint bound violation if it exceeds this tolerance.<br />

If a constraint violates its bound with an amount larger than this value, the constraint name, index and violation will<br />

be printed by the solution analyzer.<br />

(default = 1e-6)<br />

MSK DPAR BASIS REL TOL S (real)<br />

Maximum relative dual bound violation allowed in an optimal basic solution.<br />

(default = 1.0e-12)<br />

MSK DPAR BASIS TOL S (real)<br />

Maximum absolute dual bound violation in an optimal basic solution.<br />

(default = 1.0e-6)<br />

MSK DPAR BASIS TOL X (real)<br />

Maximum absolute primal bound violation allowed in an optimal basic solution.<br />

(default = 1.0e-6)<br />

MSK DPAR CHECK CONVEXITY REL TOL (real)<br />

This parameter controls when the full convexity check declares a problem to be non-convex.<br />

Increasing this tolerance relaxes the criteria for declaring the problem non-convex. A problem is declared non-convex<br />

if negative (positive) pivot elements are detected in the cholesky factor of a matrix which is required to be PSD (NSD).<br />

This parameter controles how much this non-negativity requirement may be violated. If d i is the pivot element for<br />

column i, then the matrix Q is considered to not be PSD if:<br />

d i


<strong>MOSEK</strong> 335<br />

MSK DPAR PRESOLVE TOL AIJ (real)<br />

Absolute zero tolerance employed for a i j in the presolve.<br />

(default = 1.0e-12)<br />

MSK DPAR PRESOLVE TOL REL LINDEP (real)<br />

Relative tolerance employed by the linear dependency checker.<br />

(default = 1.0e-10)<br />

MSK DPAR PRESOLVE TOL S (real)<br />

Absolute zero tolerance employed for s i in the presolve.<br />

(default = 1.0e-8)<br />

MSK DPAR PRESOLVE TOL X (real)<br />

Absolute zero tolerance employed for x j in the presolve.<br />

(default = 1.0e-8)<br />

MSK IPAR AUTO SORT A BEFORE OPT (string)<br />

Controls whether the elements in each column of A are sorted before an optimization is performed.<br />

This is not required but makes the optimization more deterministic.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR CONCURRENT NUM OPTIMIZERS (integer)<br />

The maximum number of simultaneous optimizations that will be started by the concurrent optimizer.<br />

(default = 2)<br />

MSK IPAR CONCURRENT PRIORITY DUAL SIMPLEX (integer)<br />

Priority of the dual simplex algorithm when selecting solvers for concurrent optimization.<br />

(default = 2)<br />

MSK IPAR CONCURRENT PRIORITY FREE SIMPLEX (integer)<br />

Priority of the free simplex optimizer when selecting solvers for concurrent optimization.<br />

(default = 3)<br />

MSK IPAR CONCURRENT PRIORITY INTPNT (integer)<br />

Priority of the interior-point algorithm when selecting solvers for concurrent optimization.<br />

(default = 4)<br />

MSK IPAR CONCURRENT PRIORITY PRIMAL SIMPLEX (integer)<br />

Priority of the primal simplex algorithm when selecting solvers for concurrent optimization.<br />

(default = 1)<br />

MSK IPAR INFEAS REPORT AUTO (string)<br />

Controls infeasibility report production.<br />

Controls whether an infeasibility report is automatically produced after the optimization if the problem is primal or<br />

dual infeasible.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.


336 <strong>MOSEK</strong><br />

MSK IPAR INFEAS REPORT LEVEL (integer)<br />

Controls the amount of information presented in an infeasibility report.<br />

Higher values imply more information.<br />

(default = 1)<br />

MSK IPAR NUM THREADS (integer)<br />

Controls the number of threads employed by the optimizer.<br />

If set to 0 the number of threads used will be equal to the number of cores detected on the machine.<br />

(default = 0)<br />

MSK IPAR OPTIMIZER (string)<br />

The paramter controls which optimizer is used to optimize the task.<br />

(default = MSK OPTIMIZER FREE)<br />

MSK OPTIMIZER CONCURRENT<br />

The optimizer for nonconvex nonlinear problems.<br />

MSK OPTIMIZER CONIC<br />

The optimizer for problems having conic constraints.<br />

MSK OPTIMIZER DUAL SIMPLEX<br />

The dual simplex optimizer is used.<br />

MSK OPTIMIZER FREE<br />

The optimizer is chosen automatically.<br />

MSK OPTIMIZER FREE SIMPLEX<br />

One of the simplex optimizers is used.<br />

MSK OPTIMIZER INTPNT<br />

The interior-point optimizer is used.<br />

MSK OPTIMIZER MIXED INT<br />

The mixed-integer optimizer.<br />

MSK OPTIMIZER MIXED INT CONIC<br />

The mixed-integer optimizer for conic and linear problems.<br />

MSK OPTIMIZER NETWORK PRIMAL SIMPLEX<br />

The network primal simplex optimizer is used. It is only applicable to pute network problems.<br />

MSK OPTIMIZER NONCONVEX<br />

The optimizer for nonconvex nonlinear problems.<br />

MSK OPTIMIZER PRIMAL DUAL SIMPLEX<br />

The primal dual simplex optimizer is used.<br />

MSK OPTIMIZER PRIMAL SIMPLEX<br />

The primal simplex optimizer is used.<br />

MSK IPAR PRESOLVE ELIMINATOR MAX NUM TRIES (integer)<br />

Control the maximum number of times the eliminator is tried.<br />

(default = -1)<br />

MSK IPAR PRESOLVE ELIMINATOR USE (string)<br />

Controls whether free or implied free variables are eliminated from the problem.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR PRESOLVE ELIM FILL (integer)<br />

Controls the maximum amount of fill-in in the elimination phase of the presolve.<br />

This parameter times the number of variables plus the number of constraints denotes the amount of fill in.<br />

(default = 1)


<strong>MOSEK</strong> 337<br />

MSK IPAR PRESOLVE LEVEL (integer)<br />

Currently not used.<br />

(default = -1)<br />

MSK IPAR PRESOLVE LINDEP ABS WORK TRH (integer)<br />

Controls the linear dependency check which is potentially computationally expensive.<br />

(default = 100)<br />

MSK IPAR PRESOLVE LINDEP REL WORK TRH (integer)<br />

Controls the linear dependency check which is potentially computationally expensive.<br />

(default = 100)<br />

MSK IPAR PRESOLVE LINDEP USE (string)<br />

Controls whether the linear constraints are checked for linear dependencies.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR PRESOLVE MAX NUM REDUCTIONS (integer)<br />

Controls the maximum number reductions performed by the presolve.<br />

The value of the parameter is normally only changed in connection with debugging. A negative value implies that an<br />

infinite number of reductions are allowed.<br />

(default = -1)<br />

MSK IPAR PRESOLVE USE (string)<br />

Controls whether the presolve is applied to a problem before it is optimized.<br />

(default = MSK PRESOLVE MODE FREE)<br />

MSK PRESOLVE MODE FREE<br />

It is decided automatically whether to presolve before the problem is optimized.<br />

MSK PRESOLVE MODE OFF<br />

The problem is not presolved before it is optimized.<br />

MSK PRESOLVE MODE ON<br />

The problem is presolved before it is optimized.<br />

MSK IPAR PRIMAL REPAIR OPTIMIZER (string)<br />

Controls which optimizer that is used to find the optimal repair.<br />

(default = MSK OPTIMIZER FREE)<br />

MSK OPTIMIZER CONCURRENT<br />

The optimizer for nonconvex nonlinear problems.<br />

MSK OPTIMIZER CONIC<br />

The optimizer for problems having conic constraints.<br />

MSK OPTIMIZER DUAL SIMPLEX<br />

The dual simplex optimizer is used.<br />

MSK OPTIMIZER FREE<br />

The optimizer is chosen automatically.<br />

MSK OPTIMIZER FREE SIMPLEX<br />

One of the simplex optimizers is used.<br />

MSK OPTIMIZER INTPNT<br />

The interior-point optimizer is used.<br />

MSK OPTIMIZER MIXED INT<br />

The mixed-integer optimizer.


338 <strong>MOSEK</strong><br />

MSK OPTIMIZER MIXED INT CONIC<br />

The mixed-integer optimizer for conic and linear problems.<br />

MSK OPTIMIZER NETWORK PRIMAL SIMPLEX<br />

The network primal simplex optimizer is used. It is only applicable to pute network problems.<br />

MSK OPTIMIZER NONCONVEX<br />

The optimizer for nonconvex nonlinear problems.<br />

MSK OPTIMIZER PRIMAL DUAL SIMPLEX<br />

The primal dual simplex optimizer is used.<br />

MSK OPTIMIZER PRIMAL SIMPLEX<br />

The primal simplex optimizer is used.<br />

MSK SPAR PARAM READ FILE NAME (string)<br />

Modifications to the parameter database is read from this file.<br />

MSK SPAR PARAM WRITE FILE NAME (string)<br />

The parameter database is written to this file.<br />

MSK SPAR DATA FILE NAME (string)<br />

Problem data is written to this file. File extension determines format.<br />

MSK DPAR DATA TOL AIJ (real)<br />

Absolute zero tolerance for elements in A.<br />

If any value in the constraint matrix is smaller than this parameter in absolute terms <strong>MOSEK</strong> will treat the values as<br />

zero and generate a warning.<br />

Range: [1.0e-16,1.0e-6]<br />

(default = 1.0e-12)<br />

MSK DPAR DATA TOL AIJ HUGE (real)<br />

An element in A which is larger than this value in absolute size causes an error.<br />

(default = 1.0e20)<br />

MSK DPAR DATA TOL AIJ LARGE (real)<br />

An element in A which is larger than this value in absolute size causes a warning message.<br />

(default = 1.0e10)<br />

MSK DPAR DATA TOL BOUND INF (real)<br />

Any bound which in absolute value is greater than this parameter is considered infinite.<br />

(default = 1.0e16)<br />

MSK DPAR DATA TOL BOUND WRN (real)<br />

If a bound value is larger than this value in absolute size, then a warning message is issued.<br />

(default = 1.0e8)<br />

MSK DPAR DATA TOL CJ LARGE (real)<br />

An element in c which is larger than this value in absolute terms causes a warning message.<br />

(default = 1.0e8)<br />

MSK DPAR DATA TOL C HUGE (real)<br />

An element in c larger than the value of this parameter in absolute terms generates an error.<br />

c is the objective and coefficients larger than this value are considered to be huge.<br />

(default = 1.0e16)


<strong>MOSEK</strong> 339<br />

MSK DPAR DATA TOL QIJ (real)<br />

Absolute zero tolerance for elements in Q matrices.<br />

(default = 1.0e-16)<br />

MSK DPAR DATA TOL X (real)<br />

Zero tolerance for constraints and variables.<br />

That means if the distance between the lower and upper bound is less than this value, then the lower and lower bound<br />

is considered identical.<br />

(default = 1.0e-8)<br />

MSK DPAR LOWER OBJ CUT (real)<br />

Lower objective limit.<br />

If either a primal or dual feasible solution is found proving that the optimal objective value is outside, the interval<br />

(MSK DPAR LOWER OBJ CUT, MSK DPAR UPPER OBJ CUT), then <strong>MOSEK</strong> is terminated.<br />

(default = -1.0e30)<br />

See also: MSK DPAR LOWER OBJ CUT FINITE TRH.<br />

MSK DPAR LOWER OBJ CUT FINITE TRH (real)<br />

Lower objective limit threshold.<br />

If the lower objective cut (MSK DPAR LOWER OBJ CUT) is less than MSK DPAR LOWER OBJ CUT FINITE TRH, then the<br />

lower objective cut MSK DPAR LOWER OBJ CUT is treated as infinity.<br />

(default = -0.5e30)<br />

MSK DPAR UPPER OBJ CUT (real)<br />

Upper objective limit.<br />

If either a primal or dual feasible solution is found proving that the optimal objective value is outside, the interval<br />

(MSK DPAR LOWER OBJ CUT, MSK DPAR UPPER OBJ CUT), then <strong>MOSEK</strong> is terminated.<br />

(default = 1.0e30)<br />

See also: MSK DPAR UPPER OBJ CUT FINITE TRH.<br />

MSK DPAR UPPER OBJ CUT FINITE TRH (real)<br />

Upper objective limit threshold.<br />

If the upper objective cut (MSK DPAR UPPER OBJ CUT) is greater than MSK DPAR UPPER OBJ CUT FINITE TRH, then<br />

the upper objective cut MSK DPAR UPPER OBJ CUT is treated as infinity.<br />

(default = 0.5e30)<br />

MSK IPAR CHECK CONVEXITY (string)<br />

Specify the level of convexity check on quadratic problems<br />

(default = MSK CHECK CONVEXITY FULL)<br />

MSK CHECK CONVEXITY FULL<br />

Perform a full convexity check.<br />

MSK CHECK CONVEXITY NONE<br />

No convexity check.<br />

MSK CHECK CONVEXITY SIMPLE<br />

Perform simple and fast convexity check.<br />

MSK IPAR LOG (integer)<br />

Controls the amount of log information.<br />

The value 0 implies that all log information is suppressed. A higher level implies that more information is logged.<br />

(default = 10)


340 <strong>MOSEK</strong><br />

MSK IPAR LOG BI (integer)<br />

Controls the amount of output printed by the basis identification procedure.<br />

A higher level implies that more information is logged.<br />

(default = 4)<br />

MSK IPAR LOG BI FREQ (integer)<br />

Controls logging frequency.<br />

In detail thios option controls how frequent the optimizer outputs information about the basis identification and how<br />

frequent the user-defined call-back function is called.<br />

(default = 2500)<br />

MSK IPAR LOG CHECK CONVEXITY (integer)<br />

Controls logging in convexity check on quadratic problems.<br />

Set to a positive value to turn logging on. If a quadratic coefficient matrix is found to violate the requirement of PSD<br />

(NSD) then a list of negative (positive) pivot elements is printed. The absolute value of the pivot elements is also<br />

shown.<br />

(default = 0)<br />

MSK IPAR LOG CONCURRENT (integer)<br />

Controls amount of output printed by the concurrent optimizer.<br />

(default = 1)<br />

MSK IPAR LOG FACTOR (integer)<br />

If turned on, then the factor log lines are added to the log.<br />

(default = 1)<br />

MSK IPAR LOG FEAS REPAIR (integer)<br />

Controls the amount of output printed when performing feasibility repair.<br />

(default = 1)<br />

MSK IPAR LOG HEAD (integer)<br />

If turned on, then a header line is added to the log.<br />

(default = 1)<br />

MSK IPAR LOG INFEAS ANA (integer)<br />

Controls amount of output printed by the infeasibility analyzer procedures.<br />

A higher level implies that more information is logged.<br />

(default = 1)<br />

MSK IPAR LOG INTPNT (integer)<br />

Controls amount of output printed printed by the interior-point optimizer.<br />

A higher level implies that more information is logged.<br />

(default = 4)<br />

MSK IPAR LOG MIO (integer)<br />

Controls the log level for the mixed-integer optimizer.<br />

A higher level implies that more information is logged.<br />

(default = 4)


<strong>MOSEK</strong> 341<br />

MSK IPAR LOG MIO FREQ (integer)<br />

Controls how frequent the mixed-integer optimizer prints the log line.<br />

It will print a line every time MSK INTPAR LOG MIO FREQ relaxations have been solved.<br />

(default = 1000)<br />

MSK IPAR LOG NONCONVEX (integer)<br />

Controls amount of output printed by the nonconvex optimizer.<br />

(default = 1)<br />

MSK IPAR LOG OPTIMIZER (integer)<br />

Controls the amount of general optimizer information that is logged.<br />

(default = 1)<br />

MSK IPAR LOG ORDER (integer)<br />

If turned on, then factor lines are added to the log.<br />

(default = 1)<br />

MSK IPAR LOG PARAM (integer)<br />

Controls the amount of information printed out about parameter changes.<br />

(default = 0)<br />

MSK IPAR LOG PRESOLVE (integer)<br />

Controls amount of output printed by the presolve procedure.<br />

A higher level implies that more information is logged.<br />

(default = 1)<br />

MSK IPAR LOG RESPONSE (integer)<br />

Controls amount of output printed when response codes are reported.<br />

A higher level implies that more information is logged.<br />

(default = 0)<br />

MSK IPAR LOG SENSITIVITY (integer)<br />

Controls the amount of logging during the sensitivity analysis.<br />

• 0: No logging information is produced.<br />

• 1: Timing information is printed.<br />

• 2: Sensitivity results are printed.<br />

(default = 1)<br />

MSK IPAR LOG SENSITIVITY OPT (integer)<br />

Controls the amount of logging from the optimizers employed during the sensitivity analysis.<br />

0 means no logging information is produced.<br />

(default = 0)<br />

MSK IPAR LOG SIM (integer)<br />

Controls amount of output printed by the simplex optimizer.<br />

A higher level implies that more information is logged.<br />

(default = 4)


342 <strong>MOSEK</strong><br />

MSK IPAR LOG SIM FREQ (integer)<br />

Controls simplex logging frequency.<br />

In detail this option controls how frequent the simplex optimizer outputs information about the optimization and how<br />

frequent the user-defined call-back function is called.<br />

(default = 1000)<br />

MSK IPAR LOG STORAGE (integer)<br />

When turned on, <strong>MOSEK</strong> prints messages regarding the storage usage and allocation.<br />

(default = 0)<br />

MSK IPAR MAX NUM WARNINGS (integer)<br />

Waning level. A higher value results in more warnings.<br />

(default = 10)<br />

MSK IPAR WARNING LEVEL (integer)<br />

Warning level. A higher value implies more warnings.<br />

(default = 1)<br />

MSK IPAR WRITE IGNORE INCOMPATIBLE CONIC ITEMS (string)<br />

Controls ignoration of incompatible conic items.<br />

If the output format is not compatible with conic quadratic problems this parameter controls if the writer ignores the<br />

conic parts or produces an error.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR WRITE IGNORE INCOMPATIBLE ITEMS (string)<br />

Controls if the writer ignores incompatible problem items when writing files.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR WRITE IGNORE INCOMPATIBLE NL ITEMS (string)<br />

Controls if the writer ignores general non-linear terms or produces an error.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR WRITE IGNORE INCOMPATIBLE PSD ITEMS (string)<br />

Controls ignoration of incompatible psd items.<br />

If the output format is not compatible with semidefinite problems this parameter controls if the writer ignores the psd<br />

parts or produces an error.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR WRITE LP LINE WIDTH (integer)<br />

Maximum width of line in an LP file written by <strong>MOSEK</strong>.<br />

(default = 80)


<strong>MOSEK</strong> 343<br />

MSK IPAR WRITE LP QUOTED NAMES (string)<br />

If this option is turned on, then <strong>MOSEK</strong> will quote invalid LP names when writing an LP file.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR WRITE LP STRICT FORMAT (string)<br />

Controls whether LP output files satisfy the LP format strictly.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR WRITE LP TERMS PER LINE (integer)<br />

Maximum number of terms on a single line in an LP file written by <strong>MOSEK</strong>. 0 means unlimited.<br />

(default = 10)<br />

MSK IPAR WRITE MPS INT (string)<br />

Controls writing of marker records to the MPS file to indicate if variables are integer restricted.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR WRITE PRECISION (integer)<br />

Controls the precision with which double numbers are printed in the MPS data file.<br />

In general it is not worthwhile to use a value higher than 15.<br />

(default = 8)<br />

MSK IPAR WRITE XML MODE (string)<br />

Controls output mode for XML file.<br />

In detail this option controls if linear coefficients should be written by row or column when writing in the XML file<br />

format.<br />

(default = MSK WRITE XML MODE ROW)<br />

MSK DPAR FEASREPAIR TOL (real)<br />

Tolerance for constraint enforcing upper bound on sum of weighted violations in feasibility repair.<br />

Range: [1.0e-16,1.0e+16]<br />

(default = 1.0e-10)<br />

MSK DPAR INTPNT CO TOL DFEAS (real)<br />

Dual feasibility tolerance used by the conic interior-point optimizer.<br />

Range: [0.0,1.0]<br />

(default = 1.0e-8)<br />

See also: MSK DPAR INTPNT CO TOL NEAR REL.<br />

MSK DPAR INTPNT CO TOL INFEAS (real)<br />

Controls when the conic interior-point optimizer declares the model primal or dual infeasible.<br />

A small number means the optimizer gets more conservative about declaring the model infeasible.<br />

Range: [0.0,1.0]<br />

(default = 1.0e-10)


344 <strong>MOSEK</strong><br />

MSK DPAR INTPNT CO TOL MU RED (real)<br />

Optimality tolerance for the conic solver.<br />

Relative complementarity gap tolerance feasibility tolerance used by the conic interior-point optimizer.<br />

Range: [0.0,1.0]<br />

(default = 1.0e-8)<br />

MSK DPAR INTPNT CO TOL NEAR REL (real)<br />

Termination tolerance multiplier that is used if no accurate solution can be found.<br />

If <strong>MOSEK</strong> cannot compute a solution that has the prescribed accuracy, then it will multiply the termination tolerances<br />

with value of this parameter. If the solution then satisfies the termination criteria, then the solution is denoted near<br />

optimal, near feasible and so forth.<br />

(default = 1000)<br />

MSK DPAR INTPNT CO TOL PFEAS (real)<br />

Primal feasibility tolerance used by the conic interior-point optimizer.<br />

Range: [0.0,1.0]<br />

(default = 1.0e-8)<br />

See also: MSK DPAR INTPNT CO TOL NEAR REL.<br />

MSK DPAR INTPNT CO TOL REL GAP (real)<br />

Relative gap termination tolerance used by the conic interior-point optimizer.<br />

Range: [0.0,1.0]<br />

(default = 1.0e-7)<br />

See also: MSK DPAR INTPNT CO TOL NEAR REL.<br />

MSK DPAR INTPNT NL MERIT BAL (real)<br />

Controls if the complementarity and infeasibility is converging to zero at about equal rates.<br />

Range: [0.0,0.99]<br />

(default = 1.0e-4)<br />

MSK DPAR INTPNT NL TOL DFEAS (real)<br />

Dual feasibility tolerance used when a nonlinear model is solved.<br />

Range: [0.0,1.0]<br />

(default = 1.0e-8)<br />

MSK DPAR INTPNT NL TOL MU RED (real)<br />

Relative complementarity gap tolerance.<br />

Range: [0.0,1.0]<br />

(default = 1.0e-12)<br />

MSK DPAR INTPNT NL TOL NEAR REL (real)<br />

Termination tolerance multiplier that is used if no accurate solution can be found.<br />

If <strong>MOSEK</strong> nonlinear interior-point optimizer cannot compute a solution that has the prescribed accuracy, then it will<br />

multiply the termination tolerances with value of this parameter. If the solution then satisfies the termination criteria,<br />

then the solution is denoted near optimal, near feasible and so forth.<br />

(default = 1000.0)<br />

MSK DPAR INTPNT NL TOL PFEAS (real)<br />

Primal feasibility tolerance used when a nonlinear model is solved.<br />

Range: [0.0,1.0]<br />

(default = 1.0e-8)


<strong>MOSEK</strong> 345<br />

MSK DPAR INTPNT NL TOL REL GAP (real)<br />

Relative gap termination tolerance for nonlinear problems.<br />

(default = 1.0e-6)<br />

MSK DPAR INTPNT NL TOL REL STEP (real)<br />

Relative step size to the boundary for general nonlinear optimization problems.<br />

Range: [1.0e-4,0.9999999]<br />

(default = 0.995)<br />

MSK DPAR INTPNT TOL DFEAS (real)<br />

Dual feasibility tolerance used for linear and quadratic optimization problems.<br />

Range: [0.0,1.0]<br />

(default = 1.0e-8)<br />

MSK DPAR INTPNT TOL DSAFE (real)<br />

Controls the initial dual starting point used by the interior-point optimizer.<br />

If the interior-point optimizer converges slowly and/or the constraint or variable bounds are very large, then it might<br />

be worthwhile to increase this value.<br />

(default = 1.0)<br />

MSK DPAR INTPNT TOL INFEAS (real)<br />

Controls when the optimizer declares the model primal or dual infeasible.<br />

A small number means the optimizer gets more conservative about declaring the model infeasible.<br />

Range: [0.0,1.0]<br />

(default = 1.0e-10)<br />

MSK DPAR INTPNT TOL MU RED (real)<br />

Relative complementarity gap tolerance.<br />

Range: [0.0,1.0]<br />

(default = 1.0e-16)<br />

MSK DPAR INTPNT TOL PATH (real)<br />

Controls how close the interior-point optimizer follows the central path.<br />

A large value of this parameter means the central is followed very closely. On numerical unstable problems it might<br />

worthwhile to increase this parameter.<br />

Range: [0.0,0.9999]<br />

(default = 1.0e-8)<br />

MSK DPAR INTPNT TOL PFEAS (real)<br />

Primal feasibility tolerance used for linear and quadratic optimization problems.<br />

Range: [0.0,1.0]<br />

(default = 1.0e-8)<br />

MSK DPAR INTPNT TOL PSAFE (real)<br />

Controls the initial primal starting point used by the interior-point optimizer.<br />

If the interior-point optimizer converges slowly and/or the constraint or variable bounds are very large, then it might<br />

be worthwhile to increase this value.<br />

(default = 1.0)


346 <strong>MOSEK</strong><br />

MSK DPAR INTPNT TOL REL GAP (real)<br />

Relative gap termination tolerance.<br />

(default = 1.0e-8)<br />

MSK DPAR INTPNT TOL REL STEP (real)<br />

Relative step size to the boundary for linear and quadratic optimization problems.<br />

Range: [1.0e-4,0.999999]<br />

(default = 0.9999)<br />

MSK DPAR INTPNT TOL STEP SIZE (real)<br />

Step size tolerance value.<br />

If the step size falls below the value of this parameter, then the interior-point optimizer assumes it is stalled. It it does<br />

not not make any progress.<br />

Range: [0.0,1.0]<br />

(default = 1.0e-6)<br />

MSK IPAR INTPNT BASIS (string)<br />

Controls whether the interior-point optimizer also computes an optimal basis.<br />

(default = MSK BI ALWAYS)<br />

MSK BI ALWAYS<br />

Always perform basis identification..<br />

Basis identification is always performed even if the interior-point optimizer terminates abnormally.<br />

MSK BI IF FEASIBLE<br />

Only perform Basis identification if problem status is feasible..<br />

Basis identification is not performed if the interior-point optimizer terminates with a problem<br />

status saying that the problem is primal or dual infeasible.<br />

MSK BI NEVER<br />

Never do basis identification.<br />

MSK BI NO ERROR<br />

Basis identification is performed if the interior-point optimizer terminates without an error.<br />

See also: MSK IPAR BI IGNORE MAX ITER, MSK IPAR BI IGNORE NUM ERROR.<br />

MSK IPAR INTPNT DIFF STEP (string)<br />

Controls whether different step sizes are allowed in the primal and dual space.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR INTPNT FACTOR DEBUG LVL (integer)<br />

Controls factorization debug level.<br />

(default = 0)<br />

MSK IPAR INTPNT FACTOR METHOD (integer)<br />

Controls the method used to factor the Newton equation system.<br />

(default = 0)<br />

MSK IPAR INTPNT MAX ITERATIONS (integer)<br />

Controls the maximum number of iterations allowed in the interior-point optimizer.<br />

(default = 400)


<strong>MOSEK</strong> 347<br />

MSK IPAR INTPNT MAX NUM COR (integer)<br />

Controls the maximum number of correctors allowed by the multiple corrector procedure.<br />

A negative value means that <strong>MOSEK</strong> is making the choice.<br />

(default = -1)<br />

MSK IPAR INTPNT MAX NUM REFINEMENT STEPS (integer)<br />

Maximum number of steps to be used by the iterative refinement of the search direction.<br />

A negative value implies that the optimizer chooses the maximum number of iterative refinement steps.<br />

(default = -1)<br />

MSK IPAR INTPNT OFF COL TRH (integer)<br />

Controls how many offending columns are detected in the Jacobian of the constraint matrix.<br />

1 means aggressive detection, higher values mean less aggressive detection. 0 means no detection.<br />

(default = 40)<br />

MSK IPAR INTPNT ORDER METHOD (string)<br />

Controls the ordering strategy.<br />

This refers to the ordering strategy used by the interior-point optimizer when factorizing the Newton equation system.<br />

(default = MSK ORDER METHOD FREE)<br />

MSK ORDER METHOD APPMINLOC<br />

Approximate minimum local fill-in ordering is employed.<br />

MSK ORDER METHOD EXPERIMENTAL<br />

This option should not be used.<br />

MSK ORDER METHOD FORCE GRAPHPAR<br />

Always use the graph partitioning based ordering..<br />

Use the graph partitioning based ordering even if it is worse than the approximate minimum<br />

local fill ordering.<br />

MSK ORDER METHOD FREE<br />

The ordering method is chosen automatically.<br />

MSK ORDER METHOD NONE<br />

No ordering is used.<br />

MSK ORDER METHOD TRY GRAPHPAR<br />

Always try the the graph partitioning based ordering.<br />

MSK IPAR INTPNT REGULARIZATION USE (string)<br />

Controls whether regularization is allowed.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR INTPNT SCALING (string)<br />

Controls how the problem is scaled before the interior-point optimizer is used.<br />

(default = MSK SCALING FREE)<br />

MSK SCALING AGGRESSIVE<br />

A very aggressive scaling is performed.<br />

MSK SCALING FREE<br />

The optimizer chooses the scaling heuristic.<br />

MSK SCALING MODERATE<br />

A conservative scaling is performed.<br />

MSK SCALING NONE<br />

No scaling is performed.


348 <strong>MOSEK</strong><br />

MSK IPAR INTPNT SOLVE FORM (string)<br />

Controls whether the primal or the dual problem is solved.<br />

(default = MSK SOLVE FREE)<br />

MSK SOLVE DUAL<br />

The optimizer should solve the dual problem.<br />

MSK SOLVE FREE<br />

The optimizer is free to solve either the primal or the dual problem.<br />

MSK SOLVE PRIMAL<br />

The optimizer should solve the primal problem.<br />

MSK IPAR INTPNT STARTING POINT (string)<br />

Starting point used by the interior-point optimizer.<br />

(default = MSK STARTING POINT FREE)<br />

MSK STARTING POINT CONSTANT<br />

The optimizer constructs a starting point by assigning a constant value to all variables..<br />

The constant value is assigned to all primal and dual variables. This starting point is<br />

normally robust.<br />

MSK STARTING POINT FREE<br />

The starting point is chosen automatically.<br />

MSK STARTING POINT GUESS<br />

The optimizer guesses a starting point.<br />

MSK STARTING POINT SATISFY BOUNDS<br />

The starting point is choosen to satisfy all the simple bounds on nonlinear variables..<br />

If this starting point is employed, then more care than usual should employed when choosing the<br />

bounds on the nonlinear variables. In particular very tight bounds should be avoided.<br />

MSK DPAR SIMPLEX ABS TOL PIV (real)<br />

Absolute pivot tolerance employed by the simplex optimizers.<br />

(default = 1.0e-7)<br />

MSK DPAR SIM LU TOL REL PIV (real)<br />

Relative pivot tolerance for LU factorization in simplex and basis identification.<br />

This tolerance is employed when computing the LU factorization of the basis in the simplex optimizers and in the<br />

basis identification procedure. A value closer to 1.0 generally improves numerical stability but typically also implies<br />

an increase in the computational work.<br />

Range: [1.0e-6,0.999999]<br />

(default = 0.01)<br />

MSK IPAR BI CLEAN OPTIMIZER (string)<br />

Controls which optimizer is used in the clean-up phase.<br />

(default = MSK OPTIMIZER FREE)<br />

MSK OPTIMIZER CONCURRENT<br />

The optimizer for nonconvex nonlinear problems.<br />

MSK OPTIMIZER CONIC<br />

The optimizer for problems having conic constraints.<br />

MSK OPTIMIZER DUAL SIMPLEX<br />

The dual simplex optimizer is used.<br />

MSK OPTIMIZER FREE<br />

The optimizer is chosen automatically.<br />

MSK OPTIMIZER FREE SIMPLEX<br />

One of the simplex optimizers is used.


<strong>MOSEK</strong> 349<br />

MSK OPTIMIZER INTPNT<br />

The interior-point optimizer is used.<br />

MSK OPTIMIZER MIXED INT<br />

The mixed-integer optimizer.<br />

MSK OPTIMIZER MIXED INT CONIC<br />

The mixed-integer optimizer for conic and linear problems.<br />

MSK OPTIMIZER NETWORK PRIMAL SIMPLEX<br />

The network primal simplex optimizer is used. It is only applicable to pute network problems.<br />

MSK OPTIMIZER NONCONVEX<br />

The optimizer for nonconvex nonlinear problems.<br />

MSK OPTIMIZER PRIMAL DUAL SIMPLEX<br />

The primal dual simplex optimizer is used.<br />

MSK OPTIMIZER PRIMAL SIMPLEX<br />

The primal simplex optimizer is used.<br />

MSK IPAR BI IGNORE MAX ITER (string)<br />

Controls if basis identification is performed under certain conditions.<br />

If the parameter MSK IPAR INTPNT BASIS has the value MSK BI NO ERROR and the interior-point optimizer has terminated<br />

due to maximum number of iterations, then basis identification is performed if this parameter has the value<br />

MSK ON.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR BI IGNORE NUM ERROR (string)<br />

Turns on basis identification if interior-point optimizer is terminated due to a numerical problem.<br />

If the parameter MSK IPAR INTPNT BASIS has the value MSK BI NO ERROR and the interior-point optimizer has terminated<br />

due to a numerical problem, then basis identification is performed if this parameter has the value MSK ON.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR BI MAX ITERATIONS (integer)<br />

Maximum number of iterations after basis identification.<br />

Controls the maximum number of simplex iterations allowed to optimize a basis after the basis identification.<br />

(default = 1000000)<br />

MSK IPAR SIM BASIS FACTOR USE (string)<br />

Controls whether a (LU) factorization of the basis is used in a hot-start.<br />

Forcing a refactorization sometimes improves the stability of the simplex optimizers, but in most cases there is a<br />

performance penalty.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR SIM DEGEN (string)<br />

Controls how aggressively degeneration is handled.<br />

(default = MSK SIM DEGEN FREE)


350 <strong>MOSEK</strong><br />

MSK SIM DEGEN AGGRESSIVE<br />

The simplex optimizer should use an aggressive degeneration strategy.<br />

MSK SIM DEGEN FREE<br />

The simplex optimizer chooses the degeneration strategy.<br />

MSK SIM DEGEN MINIMUM<br />

The simplex optimizer should use a minimum degeneration strategy.<br />

MSK SIM DEGEN MODERATE<br />

The simplex optimizer should use a moderate degeneration strategy.<br />

MSK SIM DEGEN NONE<br />

The simplex optimizer should use no degeneration strategy.<br />

MSK IPAR SIM DUAL CRASH (integer)<br />

Controls whether crashing is performed in the dual simplex optimizer.<br />

In general if a basis consists of more than (100*MSK IPAR SIM DUAL CRASH) percent fixed variables, then a crash<br />

will be performed.<br />

(default = <strong>GAMS</strong> BRatio)<br />

MSK IPAR SIM DUAL RESTRICT SELECTION (integer)<br />

Controls how aggressively restricted selection is used.<br />

The dual simplex optimizer can use a so-called restricted selection/pricing strategy to chooses the outgoing variable.<br />

Hence, if restricted selection is applied, then the dual simplex optimizer first choose a subset of all the potential<br />

outgoing variables. Next, for some time it will choose the outgoing variable only among the subset. From time to<br />

time the subset is redefined.<br />

A larger value of this parameter implies that the optimizer will be more aggressive in its restriction strategy, i.e. a<br />

value of 0 implies that the restriction strategy is not applied at all.<br />

Range: [0,100]<br />

(default = 50)<br />

MSK IPAR SIM DUAL SELECTION (string)<br />

Controls the dual simplex strategy.<br />

In detail this option controls the choice of the incoming variable, known as the selection strategy, in the dual simplex<br />

optimizer.<br />

(default = MSK SIM SELECTION FREE)<br />

MSK SIM SELECTION ASE<br />

The optimizer uses approximate steepest-edge pricing.<br />

MSK SIM SELECTION DEVEX<br />

The optimizer uses devex steepest-edge pricing..<br />

If it is not available an approximate steep-edge selection is chosen.<br />

MSK SIM SELECTION FREE<br />

The optimizer chooses the pricing strategy.<br />

MSK SIM SELECTION FULL<br />

The optimizer uses full pricing.<br />

MSK SIM SELECTION PARTIAL<br />

The optimizer uses a partial selection approach..<br />

The approach is usually beneficial if the number of variables is much larger than the number<br />

of constraints.<br />

MSK SIM SELECTION SE<br />

The optimizer uses steepest-edge selection..<br />

If it is not available an approximate steep-edge selection is chosen<br />

MSK IPAR SIM EXPLOIT DUPVEC (string)<br />

Controls if the simplex optimizers are allowed to exploit duplicated columns.<br />

(default = MSK SIM EXPLOIT DUPVEC OFF)


<strong>MOSEK</strong> 351<br />

MSK SIM EXPLOIT DUPVEC FREE<br />

The simplex optimizer can choose freely.<br />

MSK SIM EXPLOIT DUPVEC OFF<br />

Disallow the simplex optimizer to exploit duplicated columns.<br />

MSK SIM EXPLOIT DUPVEC ON<br />

Allow the simplex optimizer to exploit duplicated columns.<br />

MSK IPAR SIM HOTSTART (string)<br />

Controls the type of hot-start that the simplex optimizer perform.<br />

(default = MSK SIM HOTSTART FREE)<br />

MSK SIM HOTSTART FREE<br />

The simplex optimize chooses the hot-start type.<br />

MSK SIM HOTSTART NONE<br />

The simplex optimizer performs a coldstart.<br />

MSK SIM HOTSTART STATUS KEYS<br />

Only the status keys of the constraints and variables are used to choose the type of hot-start.<br />

MSK IPAR SIM HOTSTART LU (string)<br />

Determines if the simplex optimizer should exploit the initial factorization.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR SIM MAX ITERATIONS (integer)<br />

Maximum number of iterations that can be used by a simplex optimizer.<br />

(default = <strong>GAMS</strong> IterLim)<br />

MSK IPAR SIM MAX NUM SETBACKS (integer)<br />

Controls how many set-backs are allowed within a simplex optimizer.<br />

A setback is an event where the optimizer moves in the wrong direction. This is impossible in theory but may happen<br />

due to numerical problems.<br />

(default = 250)<br />

MSK IPAR SIM NON SINGULAR (string)<br />

Controls if the simplex optimizer ensures a non-singular basis, if possible.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR SIM PRIMAL CRASH (integer)<br />

Controls whether crashing is performed in the primal simplex optimizer.<br />

In general if a basis consists of more than (100*MSK IPAR SIM PRIMAL CRASH) percent fixed variables, then a crash<br />

will be performed.<br />

(default = <strong>GAMS</strong> BRatio)<br />

MSK IPAR SIM PRIMAL RESTRICT SELECTION (integer)<br />

Controls how aggressively restricted selection is used.<br />

The primal simplex optimizer can use a so-called restricted selection/pricing strategy to chooses the outgoing variable.<br />

Hence, if restricted selection is applied, then the primal simplex optimizer first choose a subset of all the potential


352 <strong>MOSEK</strong><br />

incoming variables. Next, for some time it will choose the incoming variable only among the subset. From time to<br />

time the subset is redefined.<br />

A larger value of this parameter implies that the optimizer will be more aggressive in its restriction strategy, i.e. a<br />

value of 0 implies that the restriction strategy is not applied at all.<br />

Range: [0,100]<br />

(default = 50)<br />

MSK IPAR SIM PRIMAL SELECTION (string)<br />

Controls the primal simplex strategy.<br />

In detail this option controls the choice of the incoming variable, known as the selection strategy, in the primal simplex<br />

optimizer.<br />

(default = MSK SIM SELECTION FREE)<br />

MSK SIM SELECTION ASE<br />

The optimizer uses approximate steepest-edge pricing.<br />

MSK SIM SELECTION DEVEX<br />

The optimizer uses devex steepest-edge pricing..<br />

If it is not available an approximate steep-edge selection is chosen.<br />

MSK SIM SELECTION FREE<br />

The optimizer chooses the pricing strategy.<br />

MSK SIM SELECTION FULL<br />

The optimizer uses full pricing.<br />

MSK SIM SELECTION PARTIAL<br />

The optimizer uses a partial selection approach..<br />

The approach is usually beneficial if the number of variables is much larger than the number<br />

of constraints.<br />

MSK SIM SELECTION SE<br />

The optimizer uses steepest-edge selection..<br />

If it is not available an approximate steep-edge selection is chosen<br />

MSK IPAR SIM REFACTOR FREQ (integer)<br />

Controls how frequent the basis is refactorized.<br />

The value 0 means that the optimizer determines the best point of refactorization. It is strongly recommended NOT<br />

to change this parameter.<br />

(default = 0)<br />

MSK IPAR SIM REFORMULATION (string)<br />

Controls if the simplex optimizers are allowed to reformulate the problem.<br />

(default = MSK SIM REFORMULATION OFF)<br />

MSK SIM REFORMULATION AGGRESSIVE<br />

The simplex optimizer should use an aggressive reformulation strategy.<br />

MSK SIM REFORMULATION FREE<br />

The simplex optimizer can choose freely.<br />

MSK SIM REFORMULATION OFF<br />

Disallow the simplex optimizer to reformulate the problem.<br />

MSK SIM REFORMULATION ON<br />

Allow the simplex optimizer to reformulate the problem.<br />

MSK IPAR SIM SAVE LU (string)<br />

Controls storage of LU factorization.<br />

In detail this option controls if the LU factorization stored should be replaced with the LU factorization corresponding<br />

to the initial basis.<br />

(default = MSK OFF)


<strong>MOSEK</strong> 353<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR SIM SCALING (string)<br />

Controls how much effort is used in scaling the problem before a simplex optimizer is used.<br />

(default = MSK SCALING FREE)<br />

MSK SCALING AGGRESSIVE<br />

A very aggressive scaling is performed.<br />

MSK SCALING FREE<br />

The optimizer chooses the scaling heuristic.<br />

MSK SCALING MODERATE<br />

A conservative scaling is performed.<br />

MSK SCALING NONE<br />

No scaling is performed.<br />

MSK IPAR SIM SCALING METHOD (string)<br />

Controls how the problem is scaled before a simplex optimizer is used.<br />

(default = MSK SCALING METHOD POW2)<br />

MSK SCALING METHOD FREE<br />

The optimizer chooses the scaling heuristic.<br />

MSK SCALING METHOD POW2<br />

Scales only with power of 2 leaving the mantissa untouched.<br />

MSK IPAR SIM SOLVE FORM (string)<br />

Controls whether the primal or the dual problem is solved by the primal-/dual- simplex optimizer.<br />

(default = MSK SOLVE FREE)<br />

MSK SOLVE DUAL<br />

The optimizer should solve the dual problem.<br />

MSK SOLVE FREE<br />

The optimizer is free to solve either the primal or the dual problem.<br />

MSK SOLVE PRIMAL<br />

The optimizer should solve the primal problem.<br />

MSK IPAR SIM STABILITY PRIORITY (integer)<br />

Controls how high priority the numerical stability should be given.<br />

Range: [0,100]<br />

(default = 50)<br />

MSK IPAR SIM SWITCH OPTIMIZER (string)<br />

Controls the simplex behavior.<br />

The simplex optimizer sometimes chooses to solve the dual problem instead of the primal problem. This implies that<br />

if you have chosen to use the dual simplex optimizer and the problem is dualized, then it actually makes sense to use<br />

the primal simplex optimizer instead. If this parameter is on and the problem is dualized and furthermore the simplex<br />

optimizer is chosen to be the primal (dual) one, then it is switched to the dual (primal).<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.


354 <strong>MOSEK</strong><br />

MSK DPAR MIO DISABLE TERM TIME (real)<br />

Disables termination criteria.<br />

The termination criteria governed by<br />

• MSK IPAR MIO MAX NUM RELAXS<br />

• MSK IPAR MIO MAX NUM BRANCHES<br />

• MSK DPAR MIO NEAR TOL ABS GAP<br />

• MSK DPAR MIO NEAR TOL REL GAP<br />

are disabled the first n seconds. This parameter specifies the number n. A negative value is identical to infinity i.e.<br />

the termination criteria are never checked.’<br />

(default = -1.0)<br />

See also: MSK DPAR MIO NEAR TOL ABS GAP, MSK DPAR MIO NEAR TOL REL GAP,<br />

MSK IPAR MIO MAX NUM BRANCHES, MSK IPAR MIO MAX NUM RELAXS.<br />

MSK DPAR MIO HEURISTIC TIME (real)<br />

Maximum amount of time to be used in the heuristic search for a good feasible integer solution.<br />

A negative values implies that the optimizer decides the amount of time to be spend in the heuristic.<br />

(default = -1.0)<br />

MSK DPAR MIO MAX TIME (real)<br />

This parameter limits the maximum time spent by the mixed-integer optimizer.<br />

A negative number means infinity.<br />

(default = -1.0)<br />

MSK DPAR MIO MAX TIME APRX OPT (real)<br />

Number of seconds spent by the MIO before the MIO TOL REL RELAX INT is applied.<br />

(default = 60)<br />

MSK DPAR MIO NEAR TOL ABS GAP (real)<br />

Relaxed absolute optimality tolerance employed by the mixed-integer optimizer.<br />

This termination criteria is delayed.<br />

(default = <strong>GAMS</strong> OptCa)<br />

See also: MSK DPAR MIO DISABLE TERM TIME.<br />

MSK DPAR MIO NEAR TOL REL GAP (real)<br />

Relaxed relative optimality tolerance employed by the mixed integer optimizer.<br />

The mixed integer optimizer is terminated when this tolerance is satisfied. This termination criteria is delayed. See<br />

MSK DPAR MIO DISABLE TERM TIME for details.<br />

(default = <strong>GAMS</strong> OptCr)<br />

See also: MSK DPAR MIO DISABLE TERM TIME.<br />

MSK DPAR MIO REL ADD CUT LIMITED (real)<br />

Controls how many cuts the mixed-integer optimizer is allowed to add to the problem.<br />

Let m be the number of constraints, then the mixed-integer optimizer is allowed to add<br />

MSK DPAR MIO REL ADD CUT LIMITED*m cuts.<br />

Range: [0.0,2.0]<br />

(default = 0.75)


<strong>MOSEK</strong> 355<br />

MSK DPAR MIO REL GAP CONST (real)<br />

This value is used to compute the relative gap for the solution to an integer optimization problem.<br />

(default = 1.0e-10)<br />

MSK DPAR MIO TOL ABS GAP (real)<br />

Absolute optimality tolerance employed by the mixed-integer optimizer.<br />

(default = 0.0)<br />

MSK DPAR MIO TOL ABS RELAX INT (real)<br />

Absolute relaxation tolerance of the integer constraints.<br />

That means if the fractional part of a discrete variable is less than the tolerance, the integer restrictions assumed to be<br />

satisfied.<br />

(default = 1.0e-5)<br />

MSK DPAR MIO TOL FEAS (real)<br />

Feasibility tolerance for mixed integer solver.<br />

Any solution with maximum infeasibility below this value will be considered feasible.<br />

(default = 1.0e-7)<br />

MSK DPAR MIO TOL REL GAP (real)<br />

Relative optimality tolerance employed by the mixed-integer optimizer.<br />

(default = 0.0)<br />

MSK DPAR MIO TOL REL RELAX INT (real)<br />

Relative relaxation tolerance of the integer constraints.<br />

That means if the fractional part of a discrete variable is less than the tolerance times the level of that variable, the<br />

integer restrictions assumed to be satisfied.<br />

(default = 1.0e-6)<br />

MSK DPAR MIO TOL X (real)<br />

Absolute solution tolerance used in mixed-integer optimizer.<br />

(default = 1.0e-6)<br />

MSK IPAR MIO BRANCH DIR (string)<br />

Controls whether the mixed-integer optimizer is branching up or down by default.<br />

(default = MSK BRANCH DIR FREE)<br />

MSK BRANCH DIR DOWN<br />

The mixed-integer optimizer always chooses the down branch first.<br />

MSK BRANCH DIR FREE<br />

The mixed-integer optimizer decides which branch to choose.<br />

MSK BRANCH DIR UP<br />

The mixed-integer optimizer always chooses the up branch first.<br />

MSK IPAR MIO CONSTRUCT SOL (string)<br />

Controls construction of an initial mixed integer solution from the values of the integer variables<br />

If set to MSK ON and all integer variables have been given a value for which a feasible mixed integer solution exists,<br />

then <strong>MOSEK</strong> generates an initial solution to the mixed integer problem by fixing all integer values and solving the<br />

remaining problem.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.


356 <strong>MOSEK</strong><br />

MSK IPAR MIO CONT SOL (string)<br />

Controls the meaning of the interior-point and basic solutions in mixed integer problems.<br />

(default = MSK MIO CONT SOL NONE)<br />

MSK MIO CONT SOL ITG<br />

The solution is to the problem with all discrete variables fixed.<br />

MSK MIO CONT SOL NONE<br />

The fixed problem is skipped. The primal integer solution is reported.<br />

MSK MIO CONT SOL ROOT<br />

The LP solution to the root node problem is reported.<br />

MSK MIO CONT SOL ITG REL<br />

Reports the solution to the fixed problem for feasible problems otherwise the root solution.<br />

MSK IPAR MIO CUT LEVEL ROOT (integer)<br />

Controls the cut level employed by the mixed-integer optimizer at the root node.<br />

A negative value means a default value determined by the mixed integer optimizer is used. By adding the appropriate<br />

values from the following table the employed cut types can be controlled.<br />

GUB cover +2<br />

Flow cover +4<br />

Lifting +8<br />

Plant location +16<br />

Disaggregation +32<br />

Knapsack cover +64<br />

Lattice +128<br />

Gomory +256<br />

Coefficient reduction +512<br />

GCD +1024<br />

Obj. integrality +2048<br />

(default = -1)<br />

MSK IPAR MIO CUT LEVEL TREE (integer)<br />

Controls the cut level employed by the mixed-integer optimizer at the tree.<br />

See MSK IPAR MIO CUT LEVEL ROOT for an explanation of the parameter values.<br />

(default = -1)<br />

MSK IPAR MIO FEASPUMP LEVEL (integer)<br />

Controls the feasibility pump heuristic used to construct a good initial feasible solution.<br />

A value of 0 implies that the feasibility pump heuristic is not used. A value of -1 implies that the mixed integer<br />

optimizer decides how the feasibility pump heuristic is used. A larger value than 1 implies that the feasibility pump<br />

is employed more aggressively. Normally a value beyond 3 is not worthwhile.<br />

Range: [minint,3]<br />

(default = -1)<br />

MSK IPAR MIO HEURISTIC LEVEL (integer)<br />

Controls the heuristic employed by the MIO to locate an initial good integer feasible solution.<br />

A value of zero means the heuristic is not used at all. A larger value than 0 means that a gradually more sophisticated<br />

heuristic is used which is computationally more expensive. A negative value implies that the optimizer chooses the<br />

heuristic. Normally a value around 3 to 5 should be optimal.<br />

(default = -1)


<strong>MOSEK</strong> 357<br />

MSK IPAR MIO HOTSTART (string)<br />

Controls whether the integer optimizer is hot-started.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR MIO KEEP BASIS (string)<br />

Controls whether the integer presolve keeps bases in memory.<br />

This speeds on the solution process at cost of bigger memory consumption.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR MIO LOCAL BRANCH NUMBER (integer)<br />

Controls the size of the local search space when doing local branching.<br />

(default = -1)<br />

MSK IPAR MIO MAX NUM BRANCHES (integer)<br />

Maximum number of branches allowed during the branch and bound search.<br />

A negative value means infinite.<br />

(default = -1)<br />

See also: MSK DPAR MIO DISABLE TERM TIME.<br />

MSK IPAR MIO MAX NUM RELAXS (integer)<br />

Maximum number of relaxations allowed during the branch and bound search.<br />

A negative value means infinite.<br />

(default = -1)<br />

See also: MSK DPAR MIO DISABLE TERM TIME.<br />

MSK IPAR MIO MAX NUM SOLUTIONS (integer)<br />

Controls how many feasible solutions the mixed-integer optimizer investigates.<br />

The mixed integer optimizer can be terminated after a certain number of different feasible solutions have been located.<br />

If this parameter has the value n and n is strictly positive, then the mixed integer optimizer will be terminated when n<br />

feasible solutions have been located.<br />

(default = -1)<br />

See also: MSK DPAR MIO DISABLE TERM TIME.<br />

MSK IPAR MIO NODE OPTIMIZER (string)<br />

Controls which optimizer is employed at the non-root nodes in the mixed-integer optimizer.<br />

(default = MSK OPTIMIZER FREE)<br />

MSK OPTIMIZER CONCURRENT<br />

The optimizer for nonconvex nonlinear problems.<br />

MSK OPTIMIZER CONIC<br />

The optimizer for problems having conic constraints.<br />

MSK OPTIMIZER DUAL SIMPLEX<br />

The dual simplex optimizer is used.<br />

MSK OPTIMIZER FREE<br />

The optimizer is chosen automatically.<br />

MSK OPTIMIZER FREE SIMPLEX


358 <strong>MOSEK</strong><br />

One of the simplex optimizers is used.<br />

MSK OPTIMIZER INTPNT<br />

The interior-point optimizer is used.<br />

MSK OPTIMIZER MIXED INT<br />

The mixed-integer optimizer.<br />

MSK OPTIMIZER MIXED INT CONIC<br />

The mixed-integer optimizer for conic and linear problems.<br />

MSK OPTIMIZER NETWORK PRIMAL SIMPLEX<br />

The network primal simplex optimizer is used. It is only applicable to pute network problems.<br />

MSK OPTIMIZER NONCONVEX<br />

The optimizer for nonconvex nonlinear problems.<br />

MSK OPTIMIZER PRIMAL DUAL SIMPLEX<br />

The primal dual simplex optimizer is used.<br />

MSK OPTIMIZER PRIMAL SIMPLEX<br />

The primal simplex optimizer is used.<br />

MSK IPAR MIO NODE SELECTION (string)<br />

Controls the node selection strategy employed by the mixed-integer optimizer.<br />

(default = MSK MIO NODE SELECTION FREE)<br />

MSK MIO NODE SELECTION BEST<br />

The optimizer employs a best bound node selection strategy.<br />

MSK MIO NODE SELECTION FIRST<br />

The optimizer employs a depth first node selection strategy.<br />

MSK MIO NODE SELECTION FREE<br />

The optimizer decides the node selection strategy.<br />

MSK MIO NODE SELECTION HYBRID<br />

The optimizer employs a hybrid strategy.<br />

MSK MIO NODE SELECTION PSEUDO<br />

The optimizer employs selects the node based on a pseudo cost estimate.<br />

MSK MIO NODE SELECTION WORST<br />

The optimizer employs a worst bound node selection strategy.<br />

MSK IPAR MIO PRESOLVE AGGREGATE (string)<br />

Controls whether the presolve used by the MIO tries to aggregate the constraints.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR MIO PRESOLVE PROBING (string)<br />

Controls whether the mixed-integer presolve performs probing which can be very time consuming.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR MIO PRESOLVE USE (string)<br />

Controls whether presolve is performed by the mixed-integer optimizer.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.


<strong>MOSEK</strong> 359<br />

MSK IPAR MIO ROOT OPTIMIZER (string)<br />

Controls which optimizer is employed at the root node in the mixed-integer optimizer.<br />

(default = MSK OPTIMIZER FREE)<br />

MSK OPTIMIZER CONCURRENT<br />

The optimizer for nonconvex nonlinear problems.<br />

MSK OPTIMIZER CONIC<br />

The optimizer for problems having conic constraints.<br />

MSK OPTIMIZER DUAL SIMPLEX<br />

The dual simplex optimizer is used.<br />

MSK OPTIMIZER FREE<br />

The optimizer is chosen automatically.<br />

MSK OPTIMIZER FREE SIMPLEX<br />

One of the simplex optimizers is used.<br />

MSK OPTIMIZER INTPNT<br />

The interior-point optimizer is used.<br />

MSK OPTIMIZER MIXED INT<br />

The mixed-integer optimizer.<br />

MSK OPTIMIZER MIXED INT CONIC<br />

The mixed-integer optimizer for conic and linear problems.<br />

MSK OPTIMIZER NETWORK PRIMAL SIMPLEX<br />

The network primal simplex optimizer is used. It is only applicable to pute network problems.<br />

MSK OPTIMIZER NONCONVEX<br />

The optimizer for nonconvex nonlinear problems.<br />

MSK OPTIMIZER PRIMAL DUAL SIMPLEX<br />

The primal dual simplex optimizer is used.<br />

MSK OPTIMIZER PRIMAL SIMPLEX<br />

The primal simplex optimizer is used.<br />

MSK IPAR MIO STRONG BRANCH (integer)<br />

The value specifies the depth from the root in which strong branching is used.<br />

A negative value means the optimizer chooses a default value automatically.<br />

(default = -1)<br />

MSK IPAR MIO USE MULTITHREADED OPTIMIZER (string)<br />

Controls wheter the new multithreaded optimizer should be used for Mixed integer problems.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK DPAR NONCONVEX TOL FEAS (real)<br />

Feasibility tolerance used by the nonconvex optimizer.<br />

(default = 1.0e-6)<br />

MSK DPAR NONCONVEX TOL OPT (real)<br />

Optimality tolerance used by the nonconvex optimizer.<br />

(default = 1.0e-7)<br />

MSK DPAR QCQO REFORMULATE REL DROP TOL (real)<br />

Determines when columns are dropped in incomplete cholesky factorization.<br />

This parameter is applied when doing reformulation of quadratic problems.<br />

(default = 1e-15)


360 <strong>MOSEK</strong><br />

MSK IPAR ANA SOL BASIS (string)<br />

Controls whether the basis matrix is analyzed in solution analyzer.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR ANA SOL PRINT VIOLATED (string)<br />

Controls whether a list of violated constraints is printed when calling task ANALYZESOLUTION.<br />

All constraints violated by more than the value set by the parameter MSK DPAR ANA SOL INFEAS TOL will be printed.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR FEASREPAIR OPTIMIZE (string)<br />

Controls which type of feasibility analysis is to be performed.<br />

(default = MSK FEASREPAIR OPTIMIZE NONE)<br />

MSK FEASREPAIR OPTIMIZE COMBINED<br />

Minimize with original objective subject to minimal weighted violation of bounds.<br />

MSK FEASREPAIR OPTIMIZE NONE<br />

Do not optimize the feasibility repair problem.<br />

MSK FEASREPAIR OPTIMIZE PENALTY<br />

Minimize weighted sum of violations.<br />

MSK IPAR INFEAS GENERIC NAMES (string)<br />

Controls whether generic names are used when an infeasible subproblem is created.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR INFEAS PREFER PRIMAL (string)<br />

Controls which certificate is used if primal- and dual- certificate of infeasibility is available.<br />

If both certificates of primal and dual infeasibility are supplied then only the primal is used when this option is turned<br />

on.<br />

(default = MSK ON)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR MT SPINCOUNT (integer)<br />

Set the number of iterations to spin before sleeping.<br />

Range: [0,1000000000]<br />

(default = 0)<br />

MSK IPAR NONCONVEX MAX ITERATIONS (integer)<br />

Maximum number of iterations that can be used by the nonconvex optimizer.<br />

(default = 100000)<br />

MSK IPAR OPF MAX TERMS PER LINE (integer)<br />

The maximum number of terms (linear and quadratic) per line when an OPF file is written.<br />

(default = 5)


<strong>MOSEK</strong> 361<br />

MSK IPAR OPF WRITE PARAMETERS (string)<br />

Write a parameter section in an OPF file.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR QO SEPARABLE REFORMULATION (string)<br />

Determine if Quadratic programing problems should be reformulated to separable form.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR SENSITIVITY OPTIMIZER (string)<br />

Controls which optimizer is used for optimal partition sensitivity analysis.<br />

(default = MSK OPTIMIZER FREE SIMPLEX)<br />

MSK OPTIMIZER CONCURRENT<br />

The optimizer for nonconvex nonlinear problems.<br />

MSK OPTIMIZER CONIC<br />

The optimizer for problems having conic constraints.<br />

MSK OPTIMIZER DUAL SIMPLEX<br />

The dual simplex optimizer is used.<br />

MSK OPTIMIZER FREE<br />

The optimizer is chosen automatically.<br />

MSK OPTIMIZER FREE SIMPLEX<br />

One of the simplex optimizers is used.<br />

MSK OPTIMIZER INTPNT<br />

The interior-point optimizer is used.<br />

MSK OPTIMIZER MIXED INT<br />

The mixed-integer optimizer.<br />

MSK OPTIMIZER MIXED INT CONIC<br />

The mixed-integer optimizer for conic and linear problems.<br />

MSK OPTIMIZER NETWORK PRIMAL SIMPLEX<br />

The network primal simplex optimizer is used. It is only applicable to pute network problems.<br />

MSK OPTIMIZER NONCONVEX<br />

The optimizer for nonconvex nonlinear problems.<br />

MSK OPTIMIZER PRIMAL DUAL SIMPLEX<br />

The primal dual simplex optimizer is used.<br />

MSK OPTIMIZER PRIMAL SIMPLEX<br />

The primal simplex optimizer is used.<br />

MSK IPAR SENSITIVITY TYPE (string)<br />

Controls which type of sensitivity analysis is to be performed.<br />

(default = MSK SENSITIVITY TYPE BASIS)<br />

MSK SENSITIVITY TYPE BASIS<br />

Basis sensitivity analysis is performed.<br />

MSK SENSITIVITY TYPE OPTIMAL PARTITION<br />

Optimal partition sensitivity analysis is performed.<br />

MSK IPAR TIMING LEVEL (integer)<br />

Controls the a amount of timing performed inside <strong>MOSEK</strong>.<br />

(default = 1)


362 <strong>MOSEK</strong><br />

MSK IPAR WRITE DATA FORMAT (string)<br />

Controls the file format when writing task data to a file.<br />

(default = MSK DATA FORMAT EXTENSION)<br />

MSK IPAR WRITE GENERIC NAMES (string)<br />

Controls whether the generic names or user-defined names are used in the data file.<br />

(default = MSK OFF)<br />

MSK OFF Switch the option off.<br />

MSK ON Switch the option on.<br />

MSK IPAR WRITE GENERIC NAMES IO (integer)<br />

Index origin used in generic names.<br />

(default = 1)<br />

READFILE (string)<br />

Read secondary option file.<br />

USE BASIS EST (integer)<br />

Use <strong>MOSEK</strong> basis estimation in case of an interior solution.<br />

(default = 0)<br />

SOLVEFINAL (integer)<br />

Switch to solve the problem with fixed discrete variables. Overwrites MSK IPAR MIO CONT SOL.<br />

(default = 1)<br />

0 Do not solve the fixed problem<br />

1 Solve the fixed problem and return duals<br />

FIXOPTFILE (string)<br />

Name of option file which is read just before solving the fixed problem.<br />

6 The <strong>MOSEK</strong> Log File<br />

The <strong>MOSEK</strong> log output gives much useful information about the current solver progress and individual phases.<br />

6.1 Log Using the Interior Point Optimizer<br />

The following is a <strong>MOSEK</strong> log output from running the transportation model trnsport.gms from the <strong>GAMS</strong> Model<br />

Library:<br />

Optimizer started.<br />

Interior-point optimizer started.<br />

Presolve started.<br />

Linear dependency checker started.<br />

Linear dependency checker terminated.<br />

Eliminator - tries : 0 time : 0.00<br />

Eliminator - elim’s : 0<br />

Lin. dep. - tries : 1 time : 0.00<br />

Lin. dep. - number : 0<br />

Presolve terminated. Time: 0.00<br />

Optimizer - threads : 1


<strong>MOSEK</strong> 363<br />

Optimizer - solved problem : the primal<br />

Optimizer - Constraints : 5<br />

Optimizer - Cones : 0<br />

Optimizer - Scalar variables : 11 conic : 0<br />

Optimizer - Semi-definite variables: 0 scalarized : 0<br />

Factor - setup time : 0.00 dense det. time : 0.00<br />

Factor - ML order time : 0.00 GP order time : 0.00<br />

Factor - nonzeros before factor : 11 after factor : 12<br />

Factor - dense dim. : 0 flops : 1.60e+002<br />

The first part gives information about the presolve (if used). The main log follows:<br />

ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME<br />

0 6.0e+002 1.0e+002 1.0e+002 1.00e+002 1.053000000e+000 0.000000000e+000 1.0e+002 0.00<br />

1 5.9e+002 1.3e+002 2.6e+002 0.00e+000 3.063797526e+000 2.650041612e+002 2.4e+002 0.01<br />

2 4.6e+001 1.0e+001 2.0e+001 -9.59e-001 3.650704301e+001 2.594816940e+002 1.9e+001 0.01<br />

3 3.9e-001 8.7e-002 1.7e-001 -4.39e-001 1.604589379e+002 2.276036163e+002 1.6e-001 0.01<br />

4 2.7e-002 6.0e-003 1.2e-002 9.62e-001 1.627664502e+002 1.676438787e+002 1.1e-002 0.01<br />

5 2.2e-003 4.9e-004 9.7e-004 1.04e+000 1.585004810e+002 1.591499235e+002 8.9e-004 0.01<br />

6 3.1e-004 6.9e-005 1.4e-004 1.01e+000 1.546312243e+002 1.547272945e+002 1.2e-004 0.01<br />

7 2.9e-005 6.5e-006 1.3e-005 1.01e+000 1.536906429e+002 1.536999628e+002 1.2e-005 0.01<br />

8 7.6e-008 1.7e-008 3.4e-008 1.00e+000 1.536751995e+002 1.536752387e+002 3.1e-008 0.01<br />

9 7.6e-012 1.7e-012 3.4e-012 1.00e+000 1.536750000e+002 1.536750000e+002 3.1e-012 0.01<br />

Basis identification started.<br />

Primal basis identification phase started.<br />

ITER TIME<br />

1 0.00<br />

Primal basis identification phase terminated. Time: 0.00<br />

Dual basis identification phase started.<br />

ITER TIME<br />

0 0.00<br />

Dual basis identification phase terminated. Time: 0.00<br />

Basis identification terminated. Time: 0.00<br />

Interior-point optimizer terminated. Time: 0.01.<br />

Optimizer terminated. Time: 0.03<br />

Interior-point solution summary<br />

Problem status : PRIMAL_AND_DUAL_FEASIBLE<br />

Solution status : OPTIMAL<br />

Primal. obj: 1.5367500002e+002 Viol. con: 3e-010 var: 0e+000<br />

Dual. obj: 1.5367500002e+002 Viol. con: 0e+000 var: 6e-011<br />

Basic solution summary<br />

Problem status : PRIMAL_AND_DUAL_FEASIBLE<br />

Solution status : OPTIMAL<br />

Primal. obj: 1.5367500000e+002 Viol. con: 0e+000 var: 0e+000<br />

Dual. obj: 1.5367500002e+002 Viol. con: 0e+000 var: 5e-011<br />

Return code - 0 [MSK_RES_OK]: No error occurred.<br />

The last section gives details about the model and solver status, primal and dual feasibilities, as well as solver resource<br />

times. Furthermore, the log gives information about the basis identification phase. Some of this information is listed in the<br />

<strong>GAMS</strong> solve summary in the model listing (.LST) file as well.<br />

The fields in the main <strong>MOSEK</strong> log output are:


364 <strong>MOSEK</strong><br />

Field Description<br />

ITE The number of the current iteration.<br />

PFEAS Primal feasibility.<br />

DFEAS Dual feasibility.<br />

GFEAS The numbers in this column should converge monotonically toward to zero but may stall at low<br />

level due to rounding errors.<br />

PRSTATUS This number converge to 1 if the problem has an optimal solution whereas it converge to -1 if that<br />

is not the case.<br />

POBJ Current objective function value of primal problem.<br />

DOBJ Current objective function value of dual problem.<br />

MU Relative complementary gap.<br />

TIME Current elapsed resource time in seconds.<br />

6.2 Log Using the Simplex Optimizer<br />

Below is a log output running the model trnsport.gms from the <strong>GAMS</strong> model library using the <strong>MOSEK</strong> simplex optimizer.<br />

Reading parameter(s) from "c:\tmp\mosek.opt"<br />

>> MSK_IPAR_OPTIMIZER MSK_OPTIMIZER_DUAL_SIMPLEX<br />

Finished reading from "c:\tmp\mosek.opt"<br />

Optimizer started.<br />

Simplex optimizer started.<br />

Presolve started.<br />

Linear dependency checker started.<br />

Linear dependency checker terminated.<br />

Eliminator - tries : 0 time : 0.00<br />

Eliminator - elim’s : 0<br />

Lin. dep. - tries : 1 time : 0.00<br />

Lin. dep. - number : 0<br />

Presolve terminated. Time: 0.00<br />

Dual simplex optimizer started.<br />

Dual simplex optimizer setup started.<br />

Dual simplex optimizer setup terminated.<br />

Optimizer - solved problem : the primal<br />

Optimizer - Constraints : 5<br />

Optimizer - Scalar variables : 6 conic : 0<br />

Optimizer - hotstart : no<br />

ITER DEGITER(%) PFEAS DFEAS POBJ DOBJ TIME TOTTIME<br />

0 0.00 NA 0.00e+000 NA 0.0000000000e+000 0.00 0.02<br />

4 20.00 NA 0.00e+000 NA 1.5367501014e+002 0.00 0.02<br />

Dual simplex optimizer terminated.<br />

Simplex optimizer terminated. Time: 0.00.<br />

Optimizer terminated. Time: 0.02<br />

Basic solution summary<br />

Problem status : PRIMAL_AND_DUAL_FEASIBLE<br />

Solution status : OPTIMAL<br />

Primal. obj: 1.5367500000e+002 Viol. con: 0e+000 var: 0e+000<br />

Dual. obj: 1.5367500000e+002 Viol. con: 0e+000 var: 0e+000<br />

Return code - 0 [MSK_RES_OK]: No error occurred.<br />

The fields in the main <strong>MOSEK</strong> log output are:


<strong>MOSEK</strong> 365<br />

Field Description<br />

ITER Current number of iterations.<br />

DEGITER% Current percentage of degenerate iterations.<br />

DPFEAS Current primal and dual infeasibility.<br />

D/POBJ Current dual abd primal objective<br />

TIME Current elapsed resource time in seconds.<br />

TOTTIME Total elapsed resource time in seconds.<br />

6.3 Log Using the Mixed Integer Optimizer<br />

Below is a log output running the model cube.gms from the <strong>GAMS</strong> model library using the <strong>MOSEK</strong> mixed-integer optimizer.<br />

Optimizer started.<br />

Mixed integer optimizer started.<br />

BRANCHES RELAXS ACT_NDS BEST_INT_OBJ BEST_RELAX_OBJ REL_GAP(%) TIME<br />

0 0 0 1.8000000000e+001 NA NA 0.0<br />

0 1 0 1.8000000000e+001 0.0000000000e+000 100.00 0.1<br />

0 1 0 7.0000000000e+000 0.0000000000e+000 100.00 0.1<br />

0 10 0 6.0000000000e+000 0.0000000000e+000 100.00 0.1<br />

0 15 0 4.0000000000e+000 0.0000000000e+000 100.00 0.1<br />

355 1003 42 4.0000000000e+000 0.0000000000e+000 100.00 2.1<br />

392 1081 45 4.0000000000e+000 5.0000000000e-001 87.50 2.2<br />

A near optimal solution satisfying the absolute gap tolerance of 3.90e+000 has been located.<br />

The fields in the main <strong>MOSEK</strong> log output are:<br />

Field Description<br />

BRANCHES Current number of branches in tree.<br />

RELAXS Current number of nodes in branch and bound tree.<br />

ACT NDS Current number of active nodes.<br />

BEST INT OBJ. Current best integer solution<br />

BEST RELAX OBJ Current best relaxed solution.<br />

REL GAP(%) Relative gap between current BEST INT OBJ. and BEST RELAX OBJ.<br />

TIME Current elapsed resource time in seconds.<br />

The log then gives information about solving the model with discrete variables fixed in order to determine marginals and<br />

some summary of the branch and cut algorithm. We also get information about crossover to determine a basic solution, and<br />

finally <strong>MOSEK</strong> provides information about using the Simplex Method to determine an optimal basic solution.<br />

Interior-point optimizer started.<br />

Presolve started.<br />

Linear dependency checker started.<br />

Linear dependency checker terminated.<br />

Eliminator - tries : 0 time : 0.00<br />

Eliminator - elim’s : 31<br />

Lin. dep. - tries : 1 time : 0.00<br />

Lin. dep. - number : 0<br />

Presolve terminated. Time: 0.00<br />

Interior-point optimizer terminated. Time: 0.00.<br />

Objective of best integer solution : 4.000000000000e+000<br />

Construct solution objective : Not employed<br />

User objective cut value : Not employed


366 <strong>MOSEK</strong><br />

Number of cuts generated : 24<br />

Number of Gomory cuts : 9<br />

Number of contra cuts : 2<br />

Number of branches : 392<br />

Number of relaxations solved : 1081<br />

Number of interior point iterations: 0<br />

Number of simplex iterations : 17710<br />

Time spend presolving the root : 0.02<br />

Time spend in the heuristic : 0.56<br />

Time spend in the sub optimizers : 1.59<br />

Time spend optimizing the root : 0.00<br />

Mixed integer optimizer terminated. Time: 2.23<br />

Optimizer terminated. Time: 2.23<br />

Interior-point solution summary<br />

Problem status : PRIMAL_FEASIBLE<br />

Solution status : PRIMAL_FEASIBLE<br />

Primal. obj: 4.0000000000e+000 Viol. con: 0e+000 var: 0e+000 itg: 0e+000<br />

Dual. obj: -6.0000000000e+001 Viol. con: 0e+000 var: 0e+000<br />

Basic solution summary<br />

Problem status : PRIMAL_FEASIBLE<br />

Solution status : PRIMAL_FEASIBLE<br />

Primal. obj: 4.0000000000e+000 Viol. con: 0e+000 var: 0e+000 itg: 0e+000<br />

Dual. obj: -6.0000000000e+001 Viol. con: 0e+000 var: 0e+000<br />

Integer solution solution summary<br />

Problem status : PRIMAL_FEASIBLE<br />

Solution status : NEAR_INTEGER_OPTIMAL<br />

Primal. obj: 4.0000000000e+000 Viol. con: 0e+000 var: 0e+000 itg: 0e+000<br />

Return code - 10004 [MSK_RES_TRM_MIO_NEAR_ABS_GAP]: The mixed-integer optimizer terminated<br />

because the near optimal absolute gap tolerance was satisfied.<br />

MIP Solution: 4.000000 (0 iterations, 0 nodes)<br />

Best possible: 0.500000<br />

Absolute gap: 3.500000<br />

Relative gap: 3.500000<br />

6.4 Log Using the Conic Mixed Integer Optimizer<br />

Below is a log output running the model cube.gms from the <strong>GAMS</strong> model library using the <strong>MOSEK</strong> conic mixed-integer<br />

optimizer. The columns of the iteration log are identical to the regular mixed-integer optimizer.<br />

Reading parameter(s) from "c:\tmp\mosek.opt"<br />

>> MSK_IPAR_OPTIMIZER MSK_OPTIMIZER_MIXED_INT_CONIC<br />

Finished reading from "c:\tmp\mosek.opt"<br />

Optimizer started.<br />

Mixed integer optimizer started.<br />

Optimizer - threads : 1<br />

BRANCHES RELAXS ACT_NDS BEST_INT_OBJ BEST_RELAX_OBJ REL_GAP(%) TIME<br />

0 1 0 NA 0.0000000000e+000 NA 0.0<br />

0 2 0 NA 0.0000000000e+000 NA 0.1


<strong>MOSEK</strong> 367<br />

0 2 2 NA 0.0000000000e+000 NA 0.1<br />

0 2 2 1.2000000000e+001 0.0000000000e+000 100.00 0.1<br />

0 2 2 7.0000000000e+000 0.0000000000e+000 100.00 0.1<br />

0 2 2 7.0000000000e+000 0.0000000000e+000 100.00 0.1<br />

1 3 2 7.0000000000e+000 0.0000000000e+000 100.00 0.1<br />

3 5 4 7.0000000000e+000 0.0000000000e+000 100.00 0.1<br />

7 9 8 7.0000000000e+000 0.0000000000e+000 100.00 0.1<br />

15 17 16 7.0000000000e+000 0.0000000000e+000 100.00 0.1<br />

31 33 28 6.0000000000e+000 0.0000000000e+000 100.00 0.1<br />

59 61 48 6.0000000000e+000 0.0000000000e+000 100.00 0.1<br />

89 91 74 6.0000000000e+000 0.0000000000e+000 100.00 0.1<br />

121 123 90 6.0000000000e+000 0.0000000000e+000 100.00 0.1<br />

151 153 112 5.0000000000e+000 0.0000000000e+000 100.00 0.2<br />

183 184 134 5.0000000000e+000 3.3333333333e-001 93.33 0.2<br />

215 216 160 5.0000000000e+000 3.3333333333e-001 93.33 0.2<br />

247 248 184 5.0000000000e+000 5.0000000000e-001 90.00 0.2<br />

280 280 209 5.0000000000e+000 5.0000000000e-001 90.00 0.2<br />

313 312 232 5.0000000000e+000 5.0000000000e-001 90.00 0.2<br />

346 345 251 5.0000000000e+000 5.8823529412e-001 88.24 0.3<br />

378 377 279 5.0000000000e+000 7.1428571429e-001 85.71 0.3<br />

410 409 299 5.0000000000e+000 1.0000000000e+000 80.00 0.3<br />

443 441 318 5.0000000000e+000 1.0000000000e+000 80.00 0.3<br />

477 475 340 5.0000000000e+000 1.0000000000e+000 80.00 0.3<br />

510 506 365 4.0000000000e+000 1.0000000000e+000 75.00 0.3<br />

A near optimal solution satisfying the absolute gap tolerance of 3.90e+000 has been located.<br />

Objective of best integer solution : 4.000000000000e+000<br />

Construct solution objective : Not employed<br />

User objective cut value : Not employed<br />

Number of cuts generated : 3<br />

Number of branches : 510<br />

Number of relaxations solved : 506<br />

Number of interior point iterations: 5<br />

Number of simplex iterations : 5581<br />

Time spend presolving the root : 0.00<br />

Time spend in the heuristic : 0.00<br />

Time spend in the sub optimizers : 0.00<br />

Time spend optimizing the root : 0.03<br />

Mixed integer optimizer terminated. Time: 0.34<br />

The mixed-integer optimizer terminated because the near optimal absolute gap tolerance<br />

was satisfied. (*10004*)<br />

Optimizer terminated. Time: 0.34<br />

Integer solution solution summary<br />

Problem status : PRIMAL_FEASIBLE<br />

Solution status : NEAR_INTEGER_OPTIMAL<br />

Primal. obj: 4.0000000000e+000 Viol. con: 0e+000 var: 0e+000 itg: 0e+000<br />

Return code - 10004 [MSK_RES_TRM_MIO_NEAR_ABS_GAP]: The mixed-integer optimizer terminated<br />

because the near optimal absolute gap tolerance was satisfied.<br />

The log then gives information about solving the model with discrete variables fixed in order to determine marginals. For<br />

this secltion, the fixed problem is solved as a regular LP with warm start information. So the log looks identical to the<br />

<strong>MOSEK</strong> simplex optimizer for linear programs:


368 <strong>MOSEK</strong><br />

Solving fixed problem...<br />

<strong>MOSEK</strong> 24.1.0 r39955 ALFA Released 27Apr13 VS8 x86/MS Windows<br />

M O S E K version 7.0.0.52(BETA) (Build date: 2013-4-15 08:20:40)<br />

Copyright (C) <strong>MOSEK</strong> ApS, Fruebjergvej 3, Box 16<br />

DK-2100 Copenhagen, Denmark<br />

http://www.mosek.com<br />

Optimizer started.<br />

Simplex optimizer started.<br />

Presolve started.<br />

Linear dependency checker started.<br />

Linear dependency checker terminated.<br />

Eliminator - tries : 0 time : 0.00<br />

Eliminator - elim’s : 31<br />

Lin. dep. - tries : 1 time : 0.00<br />

Lin. dep. - number : 0<br />

Presolve terminated. Time: 0.00<br />

Simplex optimizer terminated. Time: 0.00.<br />

Optimizer terminated. Time: 0.00<br />

Basic solution summary<br />

Problem status : PRIMAL_AND_DUAL_FEASIBLE<br />

Solution status : OPTIMAL<br />

Primal. obj: 4.0000000000e+000 Viol. con: 0e+000 var: 0e+000<br />

Dual. obj: 4.0000000000e+000 Viol. con: 0e+000 var: 0e+000<br />

Return code - 0 [MSK_RES_OK]: No error occurred.<br />

The log ends with the regular summary for MIP problems printing objective values, bounds and gaps:<br />

MIP Solution: 4.000000 (0 iterations, 0 nodes)<br />

Final Solve: 4.000000 (0 iterations)<br />

Best possible: 4.000000<br />

Absolute gap: 0.000000<br />

Relative gap: 0.000000

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!