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.

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

5.2.3 <strong>The</strong> simplex based optimizer<br />

An alternative to the interior-point optimizer is the simplex optimizer.<br />

<strong>The</strong> simplex optimizer uses a different method that allows exploiting an initial guess for the optimal<br />

solution to reduce the solution time. Depending on the problem it may be faster or slower to use an<br />

initial guess; see section 5.2.4 for a discussion.<br />

<strong>MOSEK</strong> provides both a primal and a dual variant of the simplex optimizer — we will return to this<br />

later.<br />

5.2.3.1 Simplex termination criterion<br />

<strong>The</strong> simplex optimizer terminates when it finds an optimal basic solution or an infeasibility certificate.<br />

A basic solution is optimal when it is primal and dual feasible; see (4.1) and (4.2) for a definition<br />

of the primal and dual problem. Due the fact that to computations are performed in finite precision<br />

<strong>MOSEK</strong> allows violation of primal and dual feasibility within certain tolerances. <strong>The</strong> user<br />

can control the allowed primal and dual infeasibility with the parameters MSK DPAR BASIS TOL X and<br />

MSK DPAR BASIS TOL S.<br />

5.2.3.2 Starting from an existing solution<br />

When using the simplex optimizer it may be possible to reuse an existing solution and thereby reduce<br />

the solution time significantly. When a simplex optimizer starts from an existing solution it is said to<br />

perform a hot-start. If the user is solving a sequence of optimization problems by solving the problem,<br />

making modifications, and solving again, <strong>MOSEK</strong> will hot-start automatically.<br />

Setting the parameter MSK IPAR OPTIMIZER to MSK OPTIMIZER FREE SIMPLEX instructs <strong>MOSEK</strong> to<br />

select automatically between the primal and the dual simplex optimizers. Hence, <strong>MOSEK</strong> tries to<br />

choose the best optimizer for the given problem and the available solution.<br />

By default <strong>MOSEK</strong> uses presolve when performing a hot-start. If the optimizer only needs very few<br />

iterations to find the optimal solution it may be better to turn off the presolve.<br />

5.2.3.3 Numerical difficulties in the simplex optimizers<br />

Though <strong>MOSEK</strong> is designed to minimize numerical instability, completely avoiding it is impossible<br />

when working in finite precision. <strong>MOSEK</strong> counts a ”numerical unexpected behavior” event inside the<br />

optimizer as a set-back. <strong>The</strong> user can define how many set-backs the optimizer accepts; if that number<br />

is exceeded, the optimization will be aborted. Set-backs are implemented to avoid long sequences<br />

where the optimizer tries to recover from an unstable situation.<br />

Set-backs are, for example, repeated singularities when factorizing the basis matrix, repeated loss<br />

of feasibility, degeneracy problems (no progress in objective) and other events indicating numerical<br />

difficulties. If the simplex optimizer encounters a lot of set-backs the problem is usually badly scaled;<br />

in such a situation try to reformulate into a better scaled problem. <strong>The</strong>n, if a lot of set-backs still<br />

occur, trying one or more of the following suggestions may be worthwhile:

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

Saved successfully!

Ooh no, something went wrong!