25.11.2015 Views

The MOSEK Python optimizer API manual Version 7.0 (Revision 141)

Optimizer API for Python - Documentation - Mosek

Optimizer API for Python - Documentation - Mosek

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

12.3. THE MIXED-INTEGER CONIC OPTIMIZER 157<br />

<strong>The</strong> mixed-integer conic <strong>optimizer</strong> is specialized for solving linear and conic optimization problems. It<br />

can also solve pure quadratic and quadratically constrained problems, these problems are automatically<br />

converted to conic problems before being solved. Whereas the mixed-integer <strong>optimizer</strong> deals with<br />

quadratic and quadratically constrained problems directly.<br />

<strong>The</strong> mixed-integer conic <strong>optimizer</strong> is run-to-run deterministic. This means that if a problem is solved<br />

twice on the same computer with identical options then the obtained solution will be bit-for-bit identical<br />

for the two runs. However, if a time limit is set then this may not be case since the time taken to solve<br />

a problem is not deterministic. Moreover, the mixed-integer conic <strong>optimizer</strong> is parallelized i.e. it can<br />

exploit multiple cores during the optimization. Finally, the mixed-integer conic <strong>optimizer</strong> is a free addon<br />

to the continuous <strong>optimizer</strong>s. However, for some linear problems the mixed-integer <strong>optimizer</strong> may<br />

outperform the mixed-integer conic <strong>optimizer</strong>. On the other hand the mixed-integer conic <strong>optimizer</strong><br />

is included with continuous <strong>optimizer</strong>s free of charge and usually the fastest for conic problems.<br />

None of the mixed-integer <strong>optimizer</strong>s handles symmetric matrix variables i.e semi-definite optimization<br />

problems.<br />

12.3 <strong>The</strong> mixed-integer conic <strong>optimizer</strong><br />

<strong>The</strong> mixed-integer conic <strong>optimizer</strong> is employed by setting the parameter iparam.<strong>optimizer</strong> to <strong>optimizer</strong>type.mixed int c<br />

<strong>The</strong> mixed-integer conic employs three phases:<br />

Presolve:<br />

In this phase the <strong>optimizer</strong> tries to reduce the size of the problem using preprocessing techniques.<br />

Moreover, it strengthens the continuous relaxation, if possible.<br />

Heuristic:<br />

Using heuristics the <strong>optimizer</strong> tries to guess a good feasible solution.<br />

Optimization:<br />

<strong>The</strong> optimal solution is located using a variant of the branch-and-cut method.<br />

12.3.1 Presolve<br />

In the preprocessing stage redundant variables and constraints are removed. <strong>The</strong> presolve stage can<br />

be turned off using the iparam.mio presolve use parameter.<br />

12.3.2 Heuristic<br />

Initially, the integer <strong>optimizer</strong> tries to guess a good feasible solution using a heuristic.<br />

12.3.3 <strong>The</strong> optimization phase<br />

This phase solves the problem using the branch and cut algorithm.

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

Saved successfully!

Ooh no, something went wrong!