How to linearize this mixed-integer nonlinear constraint

540 Views Asked by At

Can someone please help me to linearize the following nonlinear/nonconvex constraint:

$\sum\limits_{n=1}^Na_n\rm{log_2}(1+x_ny_n)\le M\delta$

Here $a_n \in\{0,1\}$, binary integer variable

$0\le x_n \le 3$, continuous variable (bounded)

$\delta$, a continuous optimization varibale

$y_n$ and $M$ are known parameters

1

There are 1 best solutions below

3
On

Here might be an answer. We first define a variable $x_0$ via $\delta=-\frac{1}{M}\log_2(1+x_0)$. Set $y_0=1,a_0=1$, we can then rewrite the constraint as:

$$\sum\limits_{n=1}^N\frac{1}{M}a_n\rm{log_2}(1+x_ny_n)\le -\frac{1}{M}a_0\log_2(1+x_0 y_0)\tag{2}$$

We may then absorb the RHS of (2) into the LHS of (2) as:

$$\frac{1}{M}\sum\limits_{n=0}^Na_n\rm{log_2}(1+x_ny_n)\le0\tag{3}$$