Rewrite the constraint $ p(x)=0 \Rightarrow q(x)=0 $ in an optimization problem

104 Views Asked by At

I am trying to reformulate an optimisation problem with unknown $x$ into a mixed-integer program. In this respect, I would like your help to rewrite the following constraint $$ p(x)=0 \Rightarrow q(x)=0 $$ where $p:\mathbb{R}^k\rightarrow \mathbb{R}$ and $q:\mathbb{R}^k\rightarrow [-1,1]^m$, $p$ and $q$ linear in $x$.

using the big-M modelling approach (as here for example).

Any suggestion?


I'm trying to understand the answer below. My understanding of the answer is that $$ p(x)=0 \Rightarrow q(x)=0 $$ is equivalent to $$ \begin{cases} q(x)\geq -M(1-\delta_2)\\ q(x)\leq M(1-\delta_2)\\ -----------\\ p(x)\leq M(1-\delta_1)-\epsilon\\ -----------\\ p(x)\leq M(1-\delta_2)+\epsilon\\ p(x)\geq -M(1-\delta_2)-\epsilon\\ -----------\\ p(x)\geq -M(1-\delta_3)+\epsilon\\ -----------\\ \delta_1+\delta_2+\delta_3=1 \end{cases} $$

If this is the correct understanding of the answer, I have doubts:

(1) $q(x)\geq -M(1-\delta_2), q(x)\leq M(1-\delta_2)$ forces $q(x)=0$ when $\delta_2=1$

(2) $p(x)\leq M(1-\delta_1)-\epsilon$ sets $\delta_1=1$ when $p(x)+\epsilon>0$ (so that $\delta_2=\delta_3=1$ and hence $q(x)$ is not activated) and leaves $\delta_1$ free otherwise

(3) $p(x)\geq -M(1-\delta_3)+\epsilon$ sets $\delta_3=0$ when $p(x)-\epsilon<0$ (so that $\delta_2=1$ or $\delta_1=1$ and hence $q(x)$ may be activated) and leaves $\delta_3$ free otherwise

(4) $p(x)\leq M(1-\delta_2)+\epsilon$ sets $\delta_2=0$ when $p(x)-\epsilon>0$ (so that $\delta_1=1$ or $\delta_3=1$ and hence $q(x)$ is not activated) and leaves $\delta_2$ free otherwise

(5) $p(x)\geq -M(1-\delta_2)-\epsilon$ sets $\delta_2=0$ when $p(x)+\epsilon<0$ (so that $\delta_1=1$ or $\delta_3=1$ and hence $q(x)$ is not activated) and leaves $\delta_2$ free otherwise.

What is the correct way of reading all this? I can't see the closure of the logic.

1

There are 1 best solutions below

13
On BEST ANSWER

One simple way is by subdividing everything into disjoint cases. Introduce three binaries $\delta_i$ and you have

$\delta_1=1 \Rightarrow p\leq -\epsilon$

$\delta_2=1 \Rightarrow -\epsilon \leq p\leq \epsilon, q = 0$

$\delta_3=1 \Rightarrow p\geq \epsilon$

$\delta_1+\delta_2 + \delta_3 = 1$

The big-M model of an implication between a binary $\delta$ and an inequality $g(x)\geq 0$ is $g(x)\geq -M(1-\delta)$ where $M$ is the infamous big-M constant (which should be called as-small-as-possible-but-sufficiently-large, i.e. it should be so large that $g(x)\geq -M$ is redundant)