25.11.2015 Views

The MOSEK command line tool Version 7.0 (Revision 141)

The MOSEK command line tool. Version 7.0 ... - Documentation

The MOSEK command line tool. Version 7.0 ... - Documentation

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.1. HOW AN OPTIMIZER WORKS 35<br />

5.1.1.2 Eliminator<br />

<strong>The</strong> purpose of the eliminator is to eliminate free and implied free variables from the problem using<br />

substitution. For instance, given the constraints<br />

y = ∑ x j ,<br />

y, x ≥ 0,<br />

y is an implied free variable that can be substituted out of the problem, if deemed worthwhile.<br />

If the eliminator consumes too much time or memory compared to the reduction in problem size<br />

gained it may be disabled. This can be done with the parameter MSK IPAR PRESOLVE ELIMINATOR USE<br />

to MSK OFF.<br />

In rare cases the eliminator may cause that the problem becomes much hard to solve.<br />

5.1.1.3 Linear dependency checker<br />

<strong>The</strong> purpose of the <strong>line</strong>ar dependency check is to remove <strong>line</strong>ar dependencies among the <strong>line</strong>ar equalities.<br />

For instance, the three <strong>line</strong>ar equalities<br />

x 1 + x 2 + x 3 = 1,<br />

x 1 + 0.5x 2 = 0.5,<br />

0.5x 2 + x 3 = 0.5<br />

contain exactly one <strong>line</strong>ar dependency. This implies that one of the constraints can be dropped without<br />

changing the set of feasible solutions. Removing <strong>line</strong>ar dependencies is in general a good idea since it<br />

reduces the size of the problem. Moreover, the <strong>line</strong>ar dependencies are likely to introduce numerical<br />

problems in the optimization phase.<br />

It is best practise to build models without <strong>line</strong>ar dependencies. If the <strong>line</strong>ar dependencies are removed<br />

at the modeling stage, the <strong>line</strong>ar dependency check can safely be disabled by setting the parameter<br />

MSK IPAR PRESOLVE LINDEP USE to MSK OFF.<br />

5.1.2 Dualizer<br />

All <strong>line</strong>ar, conic, and convex optimization problems have an equivalent dual problem associated with<br />

them. <strong>MOSEK</strong> has built-in heuristics to determine if it is most efficient to solve the primal or dual<br />

problem. <strong>The</strong> form (primal or dual) solved is displayed in the <strong>MOSEK</strong> log. Should the internal<br />

heuristics not choose the most efficient form of the problem it may be worthwhile to set the dualizer<br />

manually by setting the parameters:<br />

• MSK IPAR INTPNT SOLVE FORM: In case of the interior-point optimizer.<br />

• MSK IPAR SIM SOLVE FORM: In case of the simplex optimizer.<br />

Note that currently only <strong>line</strong>ar problems may be dualized.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!