over(i) = 1 --------> y(i) >= 1
over(i) = 0 --------> y(i) <= 0
under(i) = 1 ------> y(i) <= -1
under(i) = 0 -------> y(i) >= 0
over(i) , under(i) are binary variables. y(i) is a integer variable.
Thanks
Arush.
If y has bounds ymin and ymax, then the following will work:
1 - y <= M_1 * (1 - over)
y - 0 <= M_2 * over
y + 1 <= M_3 * (1 - under)
0 - y <= M_4 * under
where
M_1 = 1 - ymin
M_2 = ymax
M_3 = ymax + 1
M_4 = -ymin
Rob Pratt