As an engineer who is currently working with some optimization problem I am currently running into a difficult reformulation problem. Here $a$ is a binary decision variable, $\phi \in [0,1]$ and $d$ are just two decision variables. In addition to that, $B$ and $C$ are just two positive numbers that describe the operational characteristic of the system and they are not decision variables.

And hence, my constraint system for situation 1 ($a=1$) is as follows:

$\left\{ {\begin{array}{*{20}{c}} {a = 1 \Rightarrow \frac{B}{\phi } \le d \le C}&{\left( {c1} \right)}\\ {\phi \le a}&{\left( {c2} \right)}\\ {0 \le \phi \le 1}&{\left( {c3} \right)}\\ {d \ge 0}&{\left( {c4} \right)} \end{array}} \right.$

In the future, I am not sure if constraint $c_2$ should be a hard constraint or soft constraint but there is still some room for compromise because the spec is not clear at this point. For now, let temporarily consider $c_2$ to be a hard constraint.

For this system it is quite easy to construct a big M formulation when $a=1$ for constraint $c_1$ as follows: $\frac{B}{\phi } - M\left( {1 - a} \right) \le d \le C + M\left( {1 - a} \right)$

However for the case of $a=0$ (situation 2), constraint $c_2$ ruining the mathematical formulation. Particularly, $a = 0 \Rightarrow \phi = 0$ which leads to an infeasible (division by zero) constraint $\underbrace {\frac{B}{\phi }}_{ + \infty } - \underbrace {M\left( {1 - a} \right)}_{{\rm{finite}}} \le d \le \underbrace C_{{\rm{finite}}} + \underbrace {M\left( {1 - a} \right)}_{{\rm{finite}}}$.

Therefore, my question is "Given that $c_2$ is a hard constraint, is there any way to construct a formulation such that when $a=0$ the bounded relationship ${\frac{B}{\phi } \le d \le C}$ become redundant or not needed or maybe to turn ${\frac{B}{\phi } \le d \le C}$ into a soft constraint when $a=0$ ?"

P/S: Note that in the future, $c_2$ may become a soft constraint after some compromise between the engineers.

  • 1
    $\begingroup$ Your big-M formulation is not linear (because of $B/\phi$) $\endgroup$
    – Kuifje
    Commented Jul 8 at 15:51
  • 1
    $\begingroup$ Within the context of whatever engineering problem you are addressing, does $a=0$ mean that $d$ is free to take on any nonnegative value, no matter how large or small? $\endgroup$
    – prubin
    Commented Jul 8 at 18:34
  • $\begingroup$ Not linear is ok. But at least it is convex in some sense. Well within my context when $a=0$ then $d$ should take a small non-negative value. But If you are providing a case where $d$ is large then I am willing to listen to your advice ! $\endgroup$ Commented Jul 9 at 2:55
  • $\begingroup$ @TuongNguyenMinh, for simplicity you can drop $d \leq C$ as a bound constraint. Now and if at the moment the non-linearity does not matter, why not try $((a=1) \implies (B \leq d \phi))$ that yields $(B \leq d \phi + M(1-a))$. By that if $a = 0$ then $\phi$ can be zero without complaint of any division by zero. $\endgroup$
    – A.Omidi
    Commented Jul 9 at 6:56
  • $\begingroup$ Well sadly it is very difficult to drop the upper bound constraint $\endgroup$ Commented Jul 9 at 7:50


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.