4

Is there any method to linearize the following optimization problem?

\begin{align} \min_{x,y} &~~ c~[x; y] \\ \text{s.t.} &~~ \sum x\leq \alpha_1 \\ &~~ \sum |y|\leq \alpha_2 \\ &~~ \sum y= 0 \\ &~~ x+|y| \leq 1 \\ &~~ (x,y)\in \{0,1\} \times \{-1,0,1\} \end{align}

EDIT 01/29/2022

Thanks to @RobPratt for the trick.

Is this an equivalent problem?

\begin{align} \min_{x,y,z} &~~ c~[x; y] \\ \text{s.t.} &~~ \sum x\leq \alpha_1 \\ &~~ \sum z\leq \alpha_2 \\ &~~ \sum y= 0 \\ &~~ x+z \leq 1 \\ &~~ y-z \leq 0 \\ &~~ -y-z \leq 0 \\ &~~ (x,y,z)\in \{0,1\} \times \{-1,0,1\} \times\{0,1\} \end{align}

RobPratt
  • 50,938
Reda
  • 326

1 Answers1

6

For each $y_i$, introduce nonnegative variable $z_i$ to replace $|y_i|$, and impose linear constraints $-z_i \le y_i \le z_i$.

RobPratt
  • 50,938
  • I don't know why this works. Is there some literature I can read up on to help with this? – Sal_99 Mar 16 '25 at 21:27
  • 1
    The essential idea is that $|y|\le z$ is equivalent to $\max(y,-y)\le z$, which is equivalent to $y\le z \land -y\le z$. This linearization is likely to be covered in any linear programming textbook. – RobPratt Mar 16 '25 at 22:04