[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 15:53:07 +0200 |
Dear Emma,
Your mail had to be forwarded manually because you are not subscribed
to the list.
> ยท M is a large constant, says, 1e16
The problem is that the M is very large, which results in reduced
accuracy in the calculations. Ideally, one would use the smallest M
that will do what you want, even different values of M for different
constraints.
In this example, M = 1 will do, but other small values are acceptable, up to 49.
> It only happens once x is in a small range, such as [0, 0.0005].
GLPK has code to reduce such big M values, but for the constraint "x -
M a < 0", M can be as low as the upper bound of x, which is below the
threshold (0.001) used to avoid other accuracy issues, so only the M
in "y - M b < 0" is reduced to 1 (upper bound of y) as seen in the
following line;
> 1 constraint coefficient(s) were reduced
If the upper bound of x is 0.001 or more, both M values are reduced
and the problem can be solved correctly.
> I also notice that some constraint have been remove from output from
> solver:
The constraints removed are "x + M a > 0" and "y + M b > 0" that are
always true.
Best Regards,
Chris Matrakidis
Re: [Bug-glpk] [Fwd: MIP solver bug], Heinrich Schuchardt, 2017/01/06