How can I convert a non-linear constraint to a linear constraint for the mixed integer programming?

120 Views Asked by At

I have a nonlinear constraint:
$\sum\limits_{i\in N}\sum\limits_{j\in J} A_{ijt}\times Z_{ijt}\geq \sum\limits_{i\in N}\sum\limits_{j\in J} D_{ij} \hspace{0.5cm} \forall{t}$

Here, $Z_{ijt}$={0,1}; $A_{ijt}$ is a continuous decision variable ($A_{ijt}\geq 0$); and $D_{ij}$ is a parameter of any value 0 to inf. $Z_{ijt}=1$ only when $A_{ijt}\geq D_{ij}$. How can i make it linear? Thanks

1

There are 1 best solutions below

0
On BEST ANSWER

You can enforce $$Z_{ijt}=1 \implies A_{ijt} \ge D_{ij}$$ with the following (big-M) linear constraint: $$D_{ij} - A_{ijt} \le (D_{ij}-0)(1-Z_{ijt}),$$ which simplifies to $$A_{ijt} \ge D_{ij} Z_{ijt}.$$