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

Create successful ePaper yourself

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

34 CHAPTER 5. THE OPTIMIZERS FOR CONTINUOUS PROBLEMS<br />

5.1.1 Presolve<br />

Before an optimizer actually performs the optimization the problem is preprocessed using the so-called<br />

presolve. <strong>The</strong> purpose of the presolve is to<br />

• remove redundant constraints,<br />

• eliminate fixed variables,<br />

• remove <strong>line</strong>ar dependencies,<br />

• substitute out (implied) free variables, and<br />

• reduce the size of the optimization problem in general.<br />

After the presolved problem has been optimized the solution is automatically postsolved so that the<br />

returned solution is valid for the original problem. Hence, the presolve is completely transparent. For<br />

further details about the presolve phase, please see [3], [4].<br />

It is possible to fine-tune the behavior of the presolve or to turn it off entirely. If presolve consumes<br />

too much time or memory compared to the reduction in problem size gained it may be disabled. This<br />

is done by setting the parameter MSK IPAR PRESOLVE USE to MSK PRESOLVE MODE OFF.<br />

<strong>The</strong> two most time-consuming steps of the presolve are<br />

• the eliminator, and<br />

• the <strong>line</strong>ar dependency check.<br />

<strong>The</strong>refore, in some cases it is worthwhile to disable one or both of these.<br />

5.1.1.1 Numerical issues in the presolve<br />

During the presolve the problem is reformulated so that it hopefully solves faster. However, in rare<br />

cases the presolved problem may be harder to solve then the original problem. <strong>The</strong> presolve may also<br />

be infeasible although the orinal problem is not.<br />

If it is suspected that presolved problem is much harder to solve than the original then it is suggested<br />

to first turn the eliminator off by setting the parameter MSK IPAR PRESOLVE ELIMINATOR USE. If that<br />

does not help, then trying to turn presolve off may help.<br />

Since all computations are done in finite prescision then the presolve employs some tolerances when<br />

concluding a variable is fixed or constraint is redundant. If it happens that <strong>MOSEK</strong> incorrectly<br />

concludes a problem is primal or dual infeasible, then it is worthwhile to try to reduce the parameters<br />

MSK DPAR PRESOLVE TOL X and MSK DPAR PRESOLVE TOL S. However, if actually help reducing the<br />

parameters then this should be taken as an indication of the problem is badly formulated.

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

Saved successfully!

Ooh no, something went wrong!