Partial conditional constraint in mixed integer linear program

constraintslinear programmingoptimization

I have an integer parameter $\rho$, and 2 variables, $g$, which is a matrix of binary variables of shape $(m, t)$, and $x$, which is a list of binary variables of shape $t$.

I want to formulate a constraint that allows me to get the following if condition:

$
if \sum_{m}g_{m,t} \ge \rho \implies x_{t} = 1 \qquad\forall t
$

However, if that condition isn't met, $x_t$ can have a value of 0 or 1.

I suppose that this could be solved with some type of Big-M constraint, but I can't figure out how to formulate it.

Thanks you very much in advance!

EDIT:

To clarify:

$
if \sum_{m}g_{m,t} < \rho \implies x_{t} \le 1 \qquad\forall t
$

Best Answer

Equivalently, you want to enforce the contrapositive $$x_t = 0 \implies \sum_m g_{m,t} \le \rho - 1$$ You can do so via linear big-M constraint $$\sum_m g_{m,t} - \rho + 1 \le M_t x_t $$

Related Question