1
$\begingroup$

I have a set of variables: $x_1,x_2,x_3,x_4$

$x_1$ is a binary integer variable while the rest are real numbers all between $0$ and $1$.

I want a constraint such that:

if $x_2+x_3+x_4>0$ then $x_1=1$,

and

if $x_2+x_3+x_4=0$ then $x_1=0$.

$\endgroup$
0
$\begingroup$

This looks like a fixed cost problem, and it is easy to model if you have an objective function such as $$ Min \quad x_1 $$ If so, all you have to do is add the following constraint: $$ x_2+x_3+x_4\le x_1 \\ x_1 \in \{0,1\} $$

Indeed, if $x_2+x_3+x_4>0$, then necessarily you will have $x_1=1$. Otherwise, the objective function will "pull down" $x_1$ to $0$.

$\endgroup$
  • $\begingroup$ What about my answer? Also, what's up with the last line? I think your constraint applies only to the first statement ($x_2+x_3+x_4 > 0 \to x_1=1$)? $\endgroup$ – BCLC May 11 '16 at 17:45
0
$\begingroup$

Here is my suggestion: $$ 0.001 x_1 \le x_2+x_3+x_4 \le 3x_1$$ This will work because:

  • if $x_1=0$ then $0\le x_2+x_3+x_4 \le 0$, so $x_2+x_3+x_4 = 0$
  • if $x_1=1$ then $0.001 \le x_2+x_3+x_4 \le 3$, and thus $x_2+x_3+x_4 > 0$

You may need to split the sandwich equation into two inequalities to make it acceptable as input for your LP solver.

$\endgroup$
  • $\begingroup$ What about my answer? Also, your answer seems to exclude certain possibilities like $x_2 = x_3 = x_4 = 0.0000000001$? $\endgroup$ – BCLC May 11 '16 at 17:48
  • $\begingroup$ which part is wrong? $\endgroup$ – BCLC May 12 '16 at 13:45
  • $\begingroup$ you've gotta be kidding me. Contrapositive? I triple checked $\endgroup$ – BCLC May 12 '16 at 15:00
  • $\begingroup$ why did you delete your comments? $\endgroup$ – BCLC May 18 '16 at 20:04
0
$\begingroup$

You can think about it logically:

If $x_2 + x_3 + x_4 > 0$, then $x_1 = 1$

$\iff$

$x_2 + x_3 + x_4 = 0$ if $x_1 = 0$

$\iff$

$x_2 + x_3 + x_4 = 0$ or $x_1 = 1$

$\iff$

$x_2 = x_3 = x_4 = 0$ or $x_1 = 1$

$\iff$

$x_2 = x_3 = x_4 = 0$ or $x_1 = 1$

$\iff$

$[x_2 = 0 \ and \ x_3 = 0 \ and \ x_4 = 0]$ or $x_1 = 1$

$\iff$

$x_2 = 0 \ or \ x_1 = 1$

and

$x_3 = 0 \ or \ x_1 = 1$

and

$x_4 = 0 \ or \ x_1 = 1$

$\iff$

$1-x_2 = 1 \ or \ x_1 = 1$

and

$1-x_3 = 1 \ or \ x_1 = 1$

and

$1-x_4 = 1 \ or \ x_1 = 1$

$\iff$

$1-x_2 + x_1 \ge 1$

and

$1-x_3 + x_1 \ge 1$

and

$1-x_4 + x_1 \ge 1$

Alternative:

$$x_2+x_3+x_4 \le M(x_1)$$

Alternative:

What Kuifje said.


If $x_2 + x_3 + x_4 = 0$, then $x_1 = 0$

$\iff$

$x_2 + x_3 + x_4 > 0$ if $x_1 = 1$

$\iff$

$x_2 > 0 \ or \ x_3 > 0 \ or \ x_4 > 0$ if $x_1 = 1$

$\iff$

$x_2 > 0 \ or \ x_3 > 0 \ or \ x_4 > 0 \ or \ 1 - x_1 = 1$

$\iff$

$x_2 > 0 \ or \ x_3 > 0 \ or \ x_4 > 0 \ or \ 1 - x_1 > 0$

$\iff$

$x_2 + x_3 + x_4 + 1 - x_1 > 0$

$\iff$

$x_2 + x_3 + x_4 > x_1 - 1$

Alternative:

$$-(x_2+x_3+x_4) < M(1-x_1)$$


Don't forget

$$x_1 \in \{0,1\}$$

$$1 \ge x_2, x_3, x_4 \ge 0$$

$\endgroup$
0
$\begingroup$

According to you $x_1$ is a binary decision variable. So the constraints will look like this

[ $x_1$= \begin{cases} 1,& \text{if } x_2+x_3+x_4>0\\ 0, & \text{if } x_2+x_3+x_4 =0 \end{cases} ]

I think this constraint suitable for MILP.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.