Is there a way to formulate the following Linear Program in a mixed-integer LP with big-M modelling?

$\max_{w_{i}}\sum_{i=1}^{N}w_{i}\cdot C_{i}$

subject to:

(1) $I\left(w_{i}=0\right)K_{2}+w_{i}\geq K_{2},\forall i$


$I\left(\cdot\right)=\begin{cases} 1 & \text{if } w_i =0\\ 0 & \text{otherwise} \end{cases}$

$K_1, K_2, C_i$ are just constants, and the idea is to have $w_i$ either bigger than $K_2$ or $0$.

The difference with other questions is that there is an equality in the indicator function.


$w_i$ larger than $K_2$ or $0$ is called semi-continuous, and is a logic supported natively in some solvers. To model it manually with a big-M strategy, you would do $-M\delta_i \leq w_i \leq M\delta_i, w_i \geq K_2\delta_i$, with $\delta_i \in \{0,1\}$

  • $\begingroup$ Thanks so much Johan! I just edited to precise that delta is binary! $\endgroup$ – Adrien A. Jul 4 at 20:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.