3

I have following problem:

$c_i = 1$ if $X + \sum_j^N G_j = T$ else $c_i = 0$

Also there is another constraint which upper bounds equation $X + \sum_j^N G_j \le T$.

  • $c_i$ is binary

  • $X, T$ are constant

  • $G_j$ is continuous.

My attempt:

\begin{align}c_i &\ge 1 - M\left(X + \sum_j^N G_j -T\right)\\c_i &\le 1 + M \left(X + \sum_j^N G_j -T\right)\end{align}

This enforces the binary variable to get value $1$. For $0$, I reduced $T$ to $T-\delta$, where $\delta$ is a very small value

$$c_i \le X + \sum_j^N G_j - (T - \delta) \text{ (This is where I need help for $c_i = 0$)}.$$

Since my objective function is $\max\sum_i c_i$, it is necessary for zero condition of $c_i$ to be tight.

dhasson
  • 1,667
  • 1
  • 9
  • 21
ooo
  • 1,589
  • 4
  • 12

1 Answers1

8

Let $L$ be a constant lower bound on $X + \sum_j^N G_j$. You want $$X + \sum_j^N G_j \in [L,T-\delta] \cup [T,T]$$ with $c_i=0$ for the first interval and $c_i=1$ for the second (single-point) interval. You can enforce that with the following linear constraints: $$L(1-c_i)+T c_i \le X + \sum_j^N G_j \le (T-\delta)(1-c_i)+T c_i$$

RobPratt
  • 32,006
  • 1
  • 44
  • 84