bug-glpk
[Top][All Lists]
Advanced

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

Re: [Bug-glpk] glp_intopt recovery feature added


From: Andrew Makhorin
Subject: Re: [Bug-glpk] glp_intopt recovery feature added
Date: Wed, 16 Mar 2016 22:41:21 +0300

> > > Also attached is a model in free mps format that illustrates the effect.
> > > (This model looks "innocent", but it has some pathological properties
> > > that makes it very hard to solve with glpk.)
> > 
> > This model is quite useful to demonstrate issues with the solver.
> 
> In this case all the issues are caused by inappropriate pivot choice in
> the dual simplex solver. For example, decreasing piv_tol from 1e-9
> (default) to, say, 1e-6, prevents the basis to be ill-conditioned and
> makes the solution process stable; however, sometimes this leads to
> skipping significant constraints, that in turn, causes numerical
> instability (i.e. excessive bound violation).
> 

Evidence:

GLPSOL: GLPK LP/MIP Solver, v4.59
Parameter(s) specified in the command line:
 C:/temp/fails/water.mps --flip --pcost --mir
Reading problem data from 'C:/temp/fails/water.mps'...
Problem: water
[...]
MIR cuts enabled
+   221: mip =     not found yet >=              -inf        (1; 0)
Cuts on level 0: mir = 28;
[...]
best_ratio = 5.8484e-07
best_ratio = 2.1089e-15   <--- this causes error
Error: unable to factorize the basis matrix (1)
Constructing initial basis...
[...]

Best_ratio is |t[p,q]| / max |t[p,*]|, where t[p,*] is p-th row of the
simplex tableau used to choose a non-basic variable xN[q] in the dual
simplex. Currently the solver makes up to 5 attempts to choose an
appropriate column, i.e. having not too small pivot, but the pivot
magnitude is not checked.





reply via email to

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