I have x_j=\sum_{i=1}^Na_{i,j}f_{i,j}

The constraint is: x_j\ge ty_j

Here, a_{i,j}\in\{0,1\} is a binary variable and 0\le f_{i,j}\le 1 is a continuous variable.

In order to linearize the multiplication of a binary variable and continuous variable, I use the following linearization technique.

Let z_{i,j}=a_{i,j}f_{i,j}. From the Big-M linearization technique I have the following linear constraints

i. z_{i,j}\le a_{i,j}

ii. z_{i,j}\ge 0

iii. z_{i,j}\le f_{i,j}

iv. z_{i,j}\ge f_{i,j}-(1-a_{i,j})

since we have f_{i,j}^{lb} (lower bound of f_{i,j})=0 and f_{i,j}^{ub} (upper bound of f_{i,j})=3.

I can solve this in CVX. But, I do not the results I expect.

For some a_{i,j}=1, I have f_{i,j}=0. Why?

But, if a_{i,j}=1, I must have f_{i,j}>0.

What is the mistake here?