All the generic If-then constraints do not seem to be gaining me any insight into this. I would like to form a mixed-integer program with Lingo which can minimize cost given that a series of:
- When $X < 4$ Then $T \ge 1$ & $Y = 1$
- Otherwise, when $x > 4$, $T = 0$ & $Y = 0$.
This is a network problem to transport solid waste. If there is waste transported then there is a fixed cost plus a cost per unit.
If I understand you correctly, you want $$ x < 4 \rightarrow T \geq 1, y = 1$$ $$ x \geq 4 \rightarrow T = 0, y = 0$$
So, lets first address $y$: $$ y \geq \frac{4-x}{M}$$ $$ y \leq 1+\frac{4-x}{M}$$ where $M$ is a large constant. So if $x=0$, then you get $y \geq \epsilon, y \leq 1+\epsilon$ so $y=1$. If $x=5$ then you get $y \geq -\epsilon$ and $y \leq 1-\epsilon$ so $y=0$
As for $T$
$$ T \geq y $$ $$ T \leq My$$
should do it. If $y=0$, $0\leq T \leq M*0=0$. If $y=1$,$0\leq T \leq M$.
The quality of the LP relaxation of the MILP formulation is probably going to be very weak. You need some sort of bound on $x$ and $T$ to make this work, but you almost surely do in any real problem. The smaller you can make $M$ the better for both numerical stability and solve time.