Is the equation below means in a MIP model

284 views Asked by At

As the title mentioned

sum((r,l), Mer.l(e,r) * Mel(e,l)) =e= 0;

I use a GAMS mip model to solve a problem, and Mer(e,r) and Mel(e,l) are both binary variables, and if I did not write the .l suffix, the compile will give Endogenous relational operations require model type "dnlp"" error message, but I am not sure the equation above staying the original meaning that is the Mer(e,r) still a variable? and is it still changeable with the mip solving process?

1

There are 1 answers

3
Lutz On BEST ANSWER

If you use Mer.l, the model will not use Mer as a variable that gets optimized anymore, but will use the (initial) levels of the variables Mer as constant numbers. But you could reformualte your equation, so that it stays linear. As I understand it, you want to make sure that for each e and each combination of r and l you will never get Mer=1 and Mel=1 (one could be 1 or both should be 0). So you could formulate is as e.g.:

equation e(e,r,l);
e(e,r,l).. Mer(e,r) + Mel(e,l) =l= 1;

I hope that helps, Lutz