> Please forgive me if this is not in the correct format. If there is a > better way to submit this report please advise me.
> A research group I work with has been using GLPK and CPLEX for the > past four years to solve queueing network problems. Most of our work > occurs during the summer. Recently I upgraded the version of GLPK we > were using from 4.29 to 4.38 but noticed that some programs written in > MathProg that used to work correctly (i.e. GLPK gave the same results as > CPLEX) no longer did so. > After a bit of work, I figured out: > Version 4.29 and Verison 4.30 work okay, Version 4.31 and Version 4.38 > do not. I assume that the versions between 4.31 and 4.38 also fail, but > I've not tested them. > Attached is a MathProg program that illustrates the problem. I run > with "glpsol --math seriesexp3bad.mod" > The output from Version 4.30 isReading model section from seriesexp3bad.mod... > Reading data section from seriesexp3bad.mod... > 128 lines were read > Display statement at line 31 > lambda = 1 > Lambda = 3.75 > B = 0.833333333333333 > Display statement at line 32 > i = 1 > c[1] = 1 > mu[1] = 1.5 > i = 2 > c[2] = 2 > mu[2] = 1.25 > Generating cost_per_hour... > Generating Type_1... > Generating Type10... > Generating Type00... > Generating Type1a... > Generating Type1b... > Generating Type2a1... > Generating Type2a2... > Generating Type2b... > Generating Type4a... > Generating Quadratic... > Generating EXP2... > Model has been successfully generated > glp_simplex: original LP has 131 rows, 9 columns, 1074 non-zeros > glp_simplex: presolved LP has 128 rows, 7 columns, 826 non-zeros > lpx_adv_basis: size of triangular part = 128 > * 0: obj = 0.000000000e+00 infeas = 0.000e+00 (0) > * 17: obj = 6.612454212e+00 infeas = 3.264e-14 (0) > OPTIMAL SOLUTION FOUND > Time used: 0.0 secs > Memory used: 0.4 Mb (378322 bytes) > The output from Version 4.38 isGLPSOL: GLPK LP/MIP Solver 4.38 > Reading model section from seriesexp3bad.mod... > Reading data section from seriesexp3bad.mod... > 128 lines were read > Display statement at line 31 > lambda = 1 > Lambda = 3.75 > B = 0.833333333333333 > Display statement at line 32 > i = 1 > c[1] = 1 > mu[1] = 1.5 > i = 2 > c[2] = 2 > mu[2] = 1.25 > Generating cost_per_hour... > Generating Type_1... > Generating Type10... > Generating Type00... > Generating Type1a... > Generating Type1b... > Generating Type2a1... > Generating Type2a2... > Generating Type2b... > Generating Type4a... > Generating Quadratic... > Generating EXP2... > Model has been successfully generated > glp_simplex: original LP has 131 rows, 9 columns, 1074 non-zeros > glp_simplex: presolved LP has 128 rows, 7 columns, 826 non-zeros > Scaling... > A: min|aij| = 1.355e-20 max|aij| = 7.438e+01 ratio = 5.488e+21 > GM: min|aij| = 6.755e-06 max|aij| = 1.480e+05 ratio = 2.192e+10 > EQ: min|aij| = 4.563e-11 max|aij| = 1.000e+00 ratio = 2.192e+10 > Crashing... > Size of triangular part = 128 > * 0: obj = 0.000000000e+00 infeas = 0.000e+00 (0) > Warning: numerical instability (primal simplex, phase II) > 6: obj = 5.142018849e+00 infeas = 7.140e-02 (0) > * 30: obj = 5.172971112e+00 infeas = 4.714e-09 (0) > Warning: numerical instability (primal simplex, phase II) > 31: obj = 5.085248263e+00 infeas = 2.024e-01 (0) > * 60: obj = 5.138363589e+00 infeas = 3.042e-09 (0) > * 62: obj = 1.308182055e+01 infeas = 9.367e-08 (0) > OPTIMAL SOLUTION FOUND > Time used: 0.0 secs > Memory used: 0.4 Mb (459402 bytes) Thank you for your bug report. The error is caused by tiny constraint/objective coefficients in the original model (of order 1e-20 in the magnitude). To avoid the error you need to disable the lp preprocessor as well as automating scaling as follows: glpsol --nopresol --noscale ... _______________________________________________ Bug-glpk mailing list Bug-glpk@gnu.org http://lists.gnu.org/mailman/listinfo/bug-glpk