Does anyone have any idea of how I can linearize the following logical constraints set? $$(\sum_{t'=1}^t x_{it'}<1 \quad \rightarrow \quad \lambda_{it}=0), \quad \forall i,t$$ $$(\sum_{t'=1}^t x_{it'}=1 \quad \rightarrow \quad \lambda_{it}=1), \quad \forall i,t$$ $$\lambda_{it} \in \textbf{boolean}$$ $$x_{it} \in [0,1]$$
asked
monash |

You cannot. Strict inequalities are incompatible with mathematical programming. You can linearize, but only one of two relaxations. You either have to convert \(\ldots < 1\) to \(\ldots \le 1\) (which means \(\lambda_{it}\) can be either 0 or 1 if the sum equals 1), or \(\ldots < 1\) to \(\ldots \le 1 - \epsilon\) for some \(\epsilon > 0\) (in which case any value between \(1-\epsilon\) and 1 for the sum becomes infeasible). Linearizing implications is a FAQ here, so details for whichever one you choose shouldn't be too hard to find using the search functionality.
answered
Paul Rubin ♦♦ |