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

Optimizer API for Python - Documentation - Mosek Optimizer API for Python - Documentation - Mosek

25.11.2015 Views

156 CHAPTER 12. THE OPTIMIZERS FOR MIXED-INTEGER PROBLEMS Name Run-to-run deterministic Parallelized Strength Cost Mixed-integer conic Yes Yes Conic Free add-on Mixed-integer No Partial Linear Payed add-on Table 12.1: Mixed-integer optimizers. The mixed-integer optimization problem z ∗ = minimize c T x subject to Ax = b, x ≥ 0 x j ∈ Z, ∀j ∈ J , (12.1) has the continuous relaxation z = minimize c T x subject to Ax = b, x ≥ 0 (12.2) The continuos relaxation is identical to the mixed-integer problem with the restriction that some variables must be integer removed. There are two important observations about the continuous relaxation. Firstly, the continuous relaxation is usually much faster to optimize than the mixed-integer problem. Secondly if ˆx is any feasible solution to (12.1) and then ¯z := c T ˆx z ≤ z ∗ ≤ ¯z. This is an important observation since if it is only possible to find a near optimal solution within a reasonable time frame then the quality of the solution can nevertheless be evaluated. The value z is a lower bound on the optimal objective value. This implies that the obtained solution is no further away from the optimum than ¯z − z in terms of the objective value. Whenever a mixed-integer problem is solved MOSEK rapports this lower bound so that the quality of the reported solution can be evaluated. 12.2 The mixed-integer optimizers MOSEK includes two mixed-integer optimizer which is compared in Table 12.1. Both optimizers can handle problems with linear, quadratic objective and constraints and conic constraints. However, a problem must not contain both quadratic objective and constraints and conic constraints.

12.3. THE MIXED-INTEGER CONIC OPTIMIZER 157 The mixed-integer conic optimizer is specialized for solving linear and conic optimization problems. It can also solve pure quadratic and quadratically constrained problems, these problems are automatically converted to conic problems before being solved. Whereas the mixed-integer optimizer deals with quadratic and quadratically constrained problems directly. The mixed-integer conic optimizer is run-to-run deterministic. This means that if a problem is solved twice on the same computer with identical options then the obtained solution will be bit-for-bit identical for the two runs. However, if a time limit is set then this may not be case since the time taken to solve a problem is not deterministic. Moreover, the mixed-integer conic optimizer is parallelized i.e. it can exploit multiple cores during the optimization. Finally, the mixed-integer conic optimizer is a free addon to the continuous optimizers. However, for some linear problems the mixed-integer optimizer may outperform the mixed-integer conic optimizer. On the other hand the mixed-integer conic optimizer is included with continuous optimizers free of charge and usually the fastest for conic problems. None of the mixed-integer optimizers handles symmetric matrix variables i.e semi-definite optimization problems. 12.3 The mixed-integer conic optimizer The mixed-integer conic optimizer is employed by setting the parameter iparam.optimizer to optimizertype.mixed int c The mixed-integer conic employs three phases: Presolve: In this phase the optimizer tries to reduce the size of the problem using preprocessing techniques. Moreover, it strengthens the continuous relaxation, if possible. Heuristic: Using heuristics the optimizer tries to guess a good feasible solution. Optimization: The optimal solution is located using a variant of the branch-and-cut method. 12.3.1 Presolve In the preprocessing stage redundant variables and constraints are removed. The presolve stage can be turned off using the iparam.mio presolve use parameter. 12.3.2 Heuristic Initially, the integer optimizer tries to guess a good feasible solution using a heuristic. 12.3.3 The optimization phase This phase solves the problem using the branch and cut algorithm.

156 CHAPTER 12. THE OPTIMIZERS FOR MIXED-INTEGER PROBLEMS<br />

Name Run-to-run deterministic Parallelized Strength Cost<br />

Mixed-integer conic Yes Yes Conic Free add-on<br />

Mixed-integer No Partial Linear Payed add-on<br />

Table 12.1: Mixed-integer <strong>optimizer</strong>s.<br />

<strong>The</strong> mixed-integer optimization problem<br />

z ∗ = minimize c T x<br />

subject to Ax = b,<br />

x ≥ 0<br />

x j ∈ Z, ∀j ∈ J ,<br />

(12.1)<br />

has the continuous relaxation<br />

z = minimize c T x<br />

subject to Ax = b,<br />

x ≥ 0<br />

(12.2)<br />

<strong>The</strong> continuos relaxation is identical to the mixed-integer problem with the restriction that some<br />

variables must be integer removed.<br />

<strong>The</strong>re are two important observations about the continuous relaxation. Firstly, the continuous relaxation<br />

is usually much faster to optimize than the mixed-integer problem. Secondly if ˆx is any feasible<br />

solution to (12.1) and<br />

then<br />

¯z := c T ˆx<br />

z ≤ z ∗ ≤ ¯z.<br />

This is an important observation since if it is only possible to find a near optimal solution within a<br />

reasonable time frame then the quality of the solution can nevertheless be evaluated. <strong>The</strong> value z is<br />

a lower bound on the optimal objective value. This implies that the obtained solution is no further<br />

away from the optimum than ¯z − z in terms of the objective value.<br />

Whenever a mixed-integer problem is solved <strong>MOSEK</strong> rapports this lower bound so that the quality of<br />

the reported solution can be evaluated.<br />

12.2 <strong>The</strong> mixed-integer <strong>optimizer</strong>s<br />

<strong>MOSEK</strong> includes two mixed-integer <strong>optimizer</strong> which is compared in Table 12.1. Both <strong>optimizer</strong>s can<br />

handle problems with linear, quadratic objective and constraints and conic constraints. However, a<br />

problem must not contain both quadratic objective and constraints and conic constraints.

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

Saved successfully!

Ooh no, something went wrong!