linear equivalent min{} constraint

111 Views Asked by At

Activities are assigned to venues. Each activity $a_i$ has maximum size $b_i$ and demand $c_i$. Each venue $v_j$ has maximum size $d_j$.

An activity can be assigned to multiple venues, and we need to make sure that the total capacity is at least as great as the demand for each venue.

Denote $X_{i,j}$ to be $1$ if activity $i$ is assigned to venue $j$, or $0$ otherwise.

The constraint: $$ \sum_{j}X_{i,j} \times \text{min}\{b_i, d_j\} \geq c_i \quad \forall i $$ ensures that the demand is satisfied from the effective capacity (the minimum of the activity/venue capacity pair).

What I actually want to do is to store these results in a set of variable $Y_i$ representing the total capacity for activity $a_i$ so that I can use it elsewhere in my model.

$$ Y_i = \sum_{j}X_{i,j} \times \text{min}\{b_i,d_j\} \quad \forall i \\ Y_i \geq c_i \quad \forall i $$

How can I write this without a $\text{min}\{\}$ function?

1

There are 1 best solutions below

1
On

Store the $min\{b_i,d_j\}$ in an another variable say $Z_{ij}=min\{b_i,d_j\}$ and use $$Y_i = \sum_j X_{i,j} \times Z_{ij}, \forall i$$ $$Y_i \geq c_i $$