How to linearise this nonlinear constraint

191 Views Asked by At

I want to linearize or convexify this following constraint.

Here $c_t$ is binary integer variables, $p_t$ are continuous variable which are bounded. $\gamma$ is a continuous variable. $h_t$ and $V$ are known parameters

$\sum\limits_{t=1}^Tc_t{\rm{log_2}}(1+p_th_t)\le V\gamma$ or

$\prod\limits_{t=1}^T(1+p_th_t)^{c_t}\le 2^{V\gamma}$ or

$\prod\limits_{t=1}^T(1+c_tp_th_t)\le 2^{V\gamma} $

You are welcome to linearize anyone of these three equivalent constraints..

Note: These two constraints are equivalent (only when $c_t\in\{0,1\}$).

For example, Lets say $T=2$, $h=[10 \hspace{3mm}20]$, $V=1.001$ and $0\le p\le 3$

1

There are 1 best solutions below

4
On

We first define $h_0=1$,$(1+p_0)^{c_0}:=2^{-V\gamma}$ and rewrite the first one as:

$$\prod\limits_{i=0}^N(1+p_i h_i)^{c_i}\le 1\tag{1}$$

Similarly We define $h_0=1$,$(1+c_0 p_0 h_0):=2^{-V\gamma}$ and rewrite the second one as:

$$\prod\limits_{i=0}^N(1+c_i p_i h_i)\le 1\tag{2}$$

Hope this method may work for you.