[Coin-symphony] Problem reading integer variables from MPS

Ted Ralphs tkralphs at lehigh.edu
Wed Oct 12 11:08:34 EDT 2005


According to the MPS standard, if the bounds of an integer variable are
not defined, then the variable is assumed to be binary. Not all readers
comply with this standard (GLPKs reader does not, for instance). At
least one of the bounds should be set to tell the reader that the
variable is not binary. To fix this problem, you try setting the upper
bounds of X1, X2 to 200 which yields the optimal solution
X1=X2=199,X3=100,Y1=1. This is correct with these bounds---they are set
too low to allow the optimal solution without bounds to be found. If you
either set the lower bounds to 0 (no need to set the upper bounds) or
set the upper bounds something larger than 299.00, you will get the true
optimal solution X1=X2=299, X3=Y1=0.

Cheers,

Ted

ZT wrote:
> hello Ted,
> 
> thanks for taking the time. Ok, here is the situation:
> i have 4 variables:
> 0 <= X1 <= inf
> 0 <= X2 <= inf
> 100 <= X3 <= 200 or X3 = 0
> Y1 &#8364; {0, 1}...binary
> 
> Problem is with X3, which has two intervals. I solved
> this with a trick, combining it with Y1, making 2
> constraints:
> -X3 + 100*Y1 <= 0
> X3 - 200*Y1 <= 0
> 
> The solver has to choose the solution, that is more
> profitable:
> if Y1 = 0 -> X3 = 0
> if Y1 = 1 -> 100 <= X3 <= 200
> 
> But here comes the problem. When i put MARKERS in the
> MPS and in the BOUNDS section define Y1 as binary, the
> GLPK solves it correctly. It doesnt take the variables
> to be binaries and it rather maximizes X1=X2=299 and
> says Y1=0 -> X3=0(which brings less to objective
> function). On the other hand, SYMPHONY takes MARKERS
> as a sign that all the variables are binaries. The
> solution to this would be that in the BOUNDS section i
> define the intervals. But if i do that, SYMPHONY
> always computes Y1=1, which means that X3 is between
> 100 and 200, although it would be more profitable if
> it said that Y1=0 -> X3=0 and X1=X2=299. Same happens
> if i dont put MARKERS in.
> Do you know what seems to be the problem?
> 
> thanks, bye

-- 
Dr. Ted Ralphs
Assistant Professor
Industrial and Systems Engineering
Lehigh University
(610)758-4784
tkralphs at lehigh.edu
www.lehigh.edu/~tkr2



More information about the Symphony mailing list