0

How can I simulate the disjunction (OR) of the following two linear inequalities in terms of linear inequalities?:

$$ \begin{cases} a_1^\top x \geq b_1 \\ \text{or}\\ a_2^\top x \geq b_2 \end{cases} $$

Assumptions: elements of $a_i$, and $b$ are positive. $x$ is a binary vector.

Side note: when the inequalities are $\leq$ it is easy to do: $$ \begin{cases} a_1^\top x \leq b_1 \\ \text{or}\\ a_2^\top x \leq b_2 \end{cases} $$

We introduce another binary variable $y$, and the new linear inequalities is:

$$ \begin{cases} a_1^\top x - b_1 y \leq 0 \\ a_2^\top x - b_2 (1-y) \leq 0 \end{cases} $$

If $y = 1$, the first inequality is in place, while the second one is null (similar argument when $y = 0$)

Daniel
  • 2,760

1 Answers1

1

Looks to me you have it somewhat reversed. The first case is the easier one. I.e. $$\begin{matrix}\boxed{\begin{align}&z_1 \ge b_1\\&\text{or}\\&z_2\ge b_2\\&z_1,z_2\ge0\end{align}}&\iff & \boxed{\begin{align}&z_1\ge\delta b_1\\&z_2\ge(1-\delta)b_2\\&\delta\in\{0,1\}\\&z_i\ge 0\end{align}}\end{matrix} $$ The second case is actually more difficult: $$\begin{matrix}\boxed{\begin{align}&z_1 \le b_1\\&\text{or}\\&z_2\le b_2\\&0 \le z_i\le M_i\end{align}}&\iff & \boxed{\begin{align}&z_1\le\delta b_1+(1-\delta)M_1\\&z_2\le(1-\delta)b_2+\delta M_2\\&\delta\in\{0,1\}\\&0 \le z_i \le M_i\end{align}}\end{matrix} $$ Update: I should have added that $M_i$ is an upper bound on $z_i$. In practice we like these bounds to be as small as possible, for numerical reasons.

Erwin Kalvelagen
  • 4,367
  • 2
  • 13
  • 16
  • Ah yes you're right I have it reversed. And clarification: M1 and M2 are the maximum attainable values for z1 and z2; right? – Daniel Sep 26 '16 at 04:00
  • Yes that is correct: $M_i= z_i^{UP}$. – Erwin Kalvelagen Sep 26 '16 at 04:27
  • @ErwinKalvelagen: hey Erwin, could you take a look at this? http://math.stackexchange.com/questions/1989667/is-there-an-effective-algorithm-to-solve-this-binary-integer-linear-programming/1989726#1989726 your expertise is most welcome :) – Kuifje Oct 30 '16 at 17:38