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

176 CHAPTER 13. THE ANALYZERS

Chapter 14 Primal feasibility repair Section 13.2.2 discusses how MOSEK treats infeasible problems. In particular, it is discussed which information MOSEK returns when a problem is infeasible and how this information can be used to pinpoint the cause of the infeasibility. In this section we discuss how to repair a primal infeasible problem by relaxing the constraints in a controlled way. For the sake of simplicity we discuss the method in the context of linear optimization. 14.1 Manual repair Subsequently we discuss an automatic method for repairing an infeasible optimization problem. However, it should be observed that the best way to repair an infeasible problem usually depends on what the optimization problem models. For instance in many optimization problem it does not make sense to relax the constraints x ≥ 0 e.g. it is not possible to produce a negative quantity. Hence, whatever automatic method MOSEK provides it will never be as good as a method that exploits knowledge about what is being modelled. This implies that it is usually better to remove the underlying cause of infeasibility at the modelling stage. Indeed consider the example minimize subject to x 1 + x 2 = 1, x 3 + x 4 = 1, − x 1 − x 3 = − 1 + ɛ − x 2 − x 4 = − 1, x 1 , x 2 , x 3 , x 4 ≥ 0 (14.1) then if we add the equalties together we obtain the implied equality 0 = ɛ 177

Chapter 14<br />

Primal feasibility repair<br />

Section 13.2.2 discusses how <strong>MOSEK</strong> treats infeasible problems. In particular, it is discussed which<br />

information <strong>MOSEK</strong> returns when a problem is infeasible and how this information can be used to<br />

pinpoint the cause of the infeasibility.<br />

In this section we discuss how to repair a primal infeasible problem by relaxing the constraints in a<br />

controlled way. For the sake of simplicity we discuss the method in the context of linear optimization.<br />

14.1 Manual repair<br />

Subsequently we discuss an automatic method for repairing an infeasible optimization problem. However,<br />

it should be observed that the best way to repair an infeasible problem usually depends on what<br />

the optimization problem models. For instance in many optimization problem it does not make sense<br />

to relax the constraints x ≥ 0 e.g. it is not possible to produce a negative quantity. Hence, whatever<br />

automatic method <strong>MOSEK</strong> provides it will never be as good as a method that exploits knowledge<br />

about what is being modelled. This implies that it is usually better to remove the underlying cause of<br />

infeasibility at the modelling stage.<br />

Indeed consider the example<br />

minimize<br />

subject to x 1 + x 2 = 1,<br />

x 3 + x 4 = 1,<br />

− x 1 − x 3 = − 1 + ɛ<br />

− x 2 − x 4 = − 1,<br />

x 1 , x 2 , x 3 , x 4 ≥ 0<br />

(14.1)<br />

then if we add the equalties together we obtain the implied equality<br />

0 = ɛ<br />

177

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

Saved successfully!

Ooh no, something went wrong!