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

172 CHAPTER 13. THE ANALYZERS mosek -d iparam.infeas report auto onoffkey.on infeas.lp -info rinfeas.lp produces the files rinfeas.bas.inf.lp. In this case the content of the file rinfeas.bas.inf.lp is minimize Obj: + CFIXVAR st s0: + x11 + x12

13.2. ANALYZING INFEASIBLE PROBLEMS 173 is dual infeasible. This can be verified by proving that y1=-1, y2=-1, y3=0, y4=1, y5=1 is a certificate of dual infeasibility. (slightly edited): The following constraints are involved in the infeasibility. In this example the following infeasibility report is produced Index Name Activity Objective Lower bound Upper bound 0 x11 -1.000000e+00 NONE 1.000000e+00 4 x31 -1.000000e+00 NONE 1.000000e+00 The following variables are involved in the infeasibility. Index Name Activity Objective Lower bound Upper bound 3 y4 -1.000000e+00 -1.100000e+03 NONE NONE Interior-point solution Problem status : DUAL INFEASIBLE Solution status : DUAL INFEASIBLE CER Primal - objective: 1.1000000000e+03 eq. infeas.: 0.00e+00 max bound infeas.: 0.00e+00 cone infeas.: 0.00e+00 Dual - objective: 0.0000000000e+00 eq. infeas.: 0.00e+00 max bound infeas.: 0.00e+00 cone infeas.: 0.00e+00 Let x ∗ denote the reported primal solution. MOSEK states • that the problem is dual infeasible, • that the reported solution is a certificate of dual infeasibility, and • that the infeasibility measure for x ∗ is approximately zero. Since it was an maximization problem, this implies that c t x ∗ > 0. (13.2) For a minimization problem this inequality would have been reversed — see (13.5). From the infeasibility report we see that the variable y4, and the constraints x11 and x33 are involved in the infeasibility since these appear with non-zero values in the ”Activity” column. One possible strategy to ”fix” the infeasibility is to modify the problem so that the certificate of infeasibility becomes invalid. In this case we may do one the following things: • Put a lower bound in y3. This will directly invalidate the certificate of dual infeasibility. • Increase the object coefficient of y3. Changing the coefficients sufficiently will invalidate the inequality (13.2) and thus the certificate. • Put lower bounds on x11 or x31. This will directly invalidate the certificate of infeasibility. Please note that modifying the problem to invalidate the reported certificate does not imply that the problem becomes dual feasible — the infeasibility may simply ”move”, resulting in a new infeasibility. More often, the reported certificate can be used to give a hint about errors or inconsistencies in the model that produced the problem.

172 CHAPTER 13. THE ANALYZERS<br />

mosek -d iparam.infeas report auto onoffkey.on infeas.lp -info rinfeas.lp<br />

produces the files rinfeas.bas.inf.lp. In this case the content of the file rinfeas.bas.inf.lp is<br />

minimize<br />

Obj: + CFIXVAR<br />

st<br />

s0: + x11 + x12

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

Saved successfully!

Ooh no, something went wrong!