The MOSEK Python optimizer API manual Version 7.0 (Revision 141)
Optimizer API for Python - Documentation - Mosek Optimizer API for Python - Documentation - Mosek
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.
- Page 127 and 128: 8.1. PORTFOLIO OPTIMIZATION 105 63
- Page 129 and 130: 8.1. PORTFOLIO OPTIMIZATION 107 8.1
- Page 131 and 132: 8.1. PORTFOLIO OPTIMIZATION 109 110
- Page 133 and 134: 8.1. PORTFOLIO OPTIMIZATION 111 z j
- Page 135 and 136: 8.1. PORTFOLIO OPTIMIZATION 113 Var
- Page 137 and 138: 8.1. PORTFOLIO OPTIMIZATION 115 56
- Page 139 and 140: 8.1. PORTFOLIO OPTIMIZATION 117 172
- Page 141 and 142: Chapter 9 Usage guidelines The purp
- Page 143 and 144: 9.3. WRITING TASK DATA TO A FILE 12
- Page 145 and 146: Chapter 10 Problem formulation and
- Page 147 and 148: 10.1. LINEAR OPTIMIZATION 125 be a
- Page 149 and 150: 10.2. CONIC QUADRATIC OPTIMIZATION
- Page 151 and 152: 10.2. CONIC QUADRATIC OPTIMIZATION
- Page 153 and 154: 10.3. SEMIDEFINITE OPTIMIZATION 131
- Page 155 and 156: 10.4. QUADRATIC AND QUADRATICALLY C
- Page 157 and 158: Chapter 11 The optimizers for conti
- Page 159 and 160: 11.1. HOW AN OPTIMIZER WORKS 137 11
- Page 161 and 162: 11.2. LINEAR OPTIMIZATION 139 11.2.
- Page 163 and 164: 11.2. LINEAR OPTIMIZATION 141 Whene
- Page 165 and 166: 11.2. LINEAR OPTIMIZATION 143 11.2.
- Page 167 and 168: 11.2. LINEAR OPTIMIZATION 145 • R
- Page 169 and 170: 11.5. NONLINEAR CONVEX OPTIMIZATION
- Page 171 and 172: 11.6. SOLVING PROBLEMS IN PARALLEL
- Page 173 and 174: 11.6. SOLVING PROBLEMS IN PARALLEL
- Page 175 and 176: 11.6. SOLVING PROBLEMS IN PARALLEL
- Page 177: Chapter 12 The optimizers for mixed
- Page 181 and 182: 12.5. TERMINATION CRITERION 159 •
- Page 183 and 184: 12.7. UNDERSTANDING SOLUTION QUALIT
- Page 185 and 186: Chapter 13 The analyzers 13.1 The p
- Page 187 and 188: 13.1. THE PROBLEM ANALYZER 165 Cons
- Page 189 and 190: 13.2. ANALYZING INFEASIBLE PROBLEMS
- Page 191 and 192: 13.2. ANALYZING INFEASIBLE PROBLEMS
- Page 193 and 194: 13.2. ANALYZING INFEASIBLE PROBLEMS
- Page 195 and 196: 13.2. ANALYZING INFEASIBLE PROBLEMS
- Page 197 and 198: 13.2. ANALYZING INFEASIBLE PROBLEMS
- Page 199 and 200: Chapter 14 Primal feasibility repai
- Page 201 and 202: 14.2. AUTOMATIC REPAIR 179 One way
- Page 203 and 204: 14.3. FEASIBILITY REPAIR IN MOSEK 1
- Page 205 and 206: 14.3. FEASIBILITY REPAIR IN MOSEK 1
- Page 207 and 208: Chapter 15 Sensitivity analysis 15.
- Page 209 and 210: 15.4. SENSITIVITY ANALYSIS FOR LINE
- Page 211 and 212: 15.4. SENSITIVITY ANALYSIS FOR LINE
- Page 213 and 214: 15.4. SENSITIVITY ANALYSIS FOR LINE
- Page 215 and 216: 15.5. SENSITIVITY ANALYSIS FROM THE
- Page 217 and 218: 15.6. SENSITIVITY ANALYSIS WITH THE
- Page 219 and 220: 15.6. SENSITIVITY ANALYSIS WITH THE
- Page 221 and 222: Appendix A API reference This chapt
- Page 223 and 224: 201 • Task.relaxprimal Obtain inf
- Page 225 and 226: A.1. EXCEPTIONS 203 • Task.putvar
- Page 227 and 228: A.2. CLASS TASK 205 Arguments which
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.