bug-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-glpk] [Fwd: MIP solver bug]


From: Chris Matrakidis
Subject: Re: [Bug-glpk] [Fwd: MIP solver bug]
Date: Fri, 6 Jan 2017 19:14:29 +0200

Dear Emma,

What I meant is that for binary a and 0 <= x <= 0.0005

x – 1.0e16 a <= 0

is equivalent to

x – 0.0005 a <= 0

or a more relaxed

x – 1.0 a <= 0

since for a=0 then x can only be 0, while for a=1 any value of x in
the range specified is acceptable. (I've replaced all < with <= since
strict inequalities are not supported in linear programming). It is
safe to do this change, in the previous mail I was explaining why GLPK
is not doing it, but the reasons do not apply here.

> How is the solver returns x=0.0005 when a=0 ?

All practical linear programming solvers accept small bound violations
with a tolerance, to allow the use of finite precision floating point
arithmetic. There are some solvers that use exact arithmetic (GLPK has
one but not for integer programmes) but are quite slow. This is the
reason why large "big M" constants can cause problems, when divided by
them values easily become smaller than the accepted tolerance.

Best Regards,

Chris Matrakidis



reply via email to

[Prev in Thread] Current Thread [Next in Thread]