How to linearize the following constraint? (a summation of a product of a integer with a bounded continuous variable)

506 Views Asked by At

I need to linearize the following function. Variable $0\leq y_{b,n,j} \leq1$ and variable $z_{nj}$ is a non-negative integer that I can specify an upper-bound such as 20 if it is needed.

$$y_{b,n,j} =\frac{{a_{bnj}z_{nj}}}{\displaystyle\sum_{j \in J}\sum_{n \in N^{'}}{b_{bnj}}+{\sum_{n \in N}}{a_{bnj}z_{nj}}}. \quad \forall b \in B, n \in N^{'},j \in J$$

It is worth to mention that $\sum\limits_{n \in N}{z_{nj}}\leq k_{j} x_{j}$ $(\forall j \in J)$, which $ x_{j}$ is a binary variable. All the other notations are parametrs.

Would you please help me with that?

1

There are 1 best solutions below

2
On

Recipe:

  1. Multiply both sides by denominator
  2. On the left you have now multiplication of a continuous variable $y$ times an integer variable $z$.
  3. Expand $z$ to a sum of binary variables.
  4. Now we have multiplications of a continuous variable times a binary variable.
  5. This can be linearized easily.