Hi all, I am trying to linearize Xy where X is binary variable and y is a semicontinuous variable. whenever X=0, M<=y<=2M (M is big M), if X=1 then 1<=y<=5. any hint to help me to linearize X*y would be appreciated. Thank you
Hesam asked 22 Feb '13, 15:22 hesameivazy
showing 5 of 6
show 1 more comments

\(1 + (M1)(1x)\le y \le 5 + (2M5)(1x)\) answered 25 Feb '13, 08:40 Paul Rubin ♦ 2
True. I decided to give the overly precise answer in case someone else stumbled on this and had a less arbitrary alternative interval in mind. Plus, this "M1, M, what the heck" attitude is how we get such large budget deficits. :)
(25 Feb '13, 08:58)
Paul Rubin ♦
I write here what I have, I am not pretty sure if it is true, but it may give some idea to other people:
Upper bound and lower bound of y are as follows:
Now:
Since
(25 Feb '13, 09:47)
hesameivazy

If you want y between either 1 and 5 or M and 2M, depending on x, then y is not semicontinuous. A semicontinuous variable is either 0 or falls within a specified range (such as [1, 5]). So which do you mean?
Another question: What is y representing and why does it make sense to have y between two effectively arbitrary large values in the one case? (I have to say, that sounds like the sort of logic puzzle that might come up in a homework problem on logical conditions in mixed integer programming class.)
Hi Paul, sorry I used a wrong term for y. y is not a semicontinuous variable, it is between either 1 and 5 or M and 2M, depending on x.
@ Matthew Saltzman: X represents a binary variable deciding to/not to select an activity in a resource constrained project scheduling problem. y is the start time of one activity. If X=0, then y should be very large (it means that the activity would start at very much far from now, then no resource would be used by this activity in the project life time). that's why y is between M and 2M. Right now I think I have already linearized Xy. This is not a homework or part of a homework, it is part of my research to formulate an underground mine scheduling problem.
Thanks for clarifying. It does seem that simply y >= M would serve the purpose of the first constraint, with any upper bound being arbitrary.
@ Matthew Saltzman: No problem. Yes any arbitrary upper bound more than M would work.