[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-glpk] Error: unable to factorize the basis matrix
From: |
Andrew Makhorin |
Subject: |
Re: [Help-glpk] Error: unable to factorize the basis matrix |
Date: |
Fri, 30 Aug 2013 23:53:46 +0400 |
There is something wrong in your installation. The error happens due to
nan, which must not appear:
> * 634: obj = -nan infeas = 0.000e+00 (0)
> OPTIMAL LP SOLUTION FOUND
> Integer optimization begins...
> + 634: mip = not found yet >= -inf (1; 0)
> Assertion failed: temp1 > 0.0 && temp2 > 0.0
> Error detected in file glpios03.c at line 205
> Aborted (core dumped)
>
>
Unfortunately, I'm unable to reproduce the error. I tried glpsol 4.52
(compiled with gcc (Debian 4.4.5-8) 4.4.5) and it solved your mip
successfully:
GLPSOL: GLPK LP/MIP Solver, v4.52
Parameter(s) specified in the command line:
--lp example.lp --log example.log
Reading problem data from 'example.lp'...
example.lp:1282: warning: missing final end of line
952 rows, 634 columns, 2536 non-zeros
317 integer variables, all of which are binary
1282 lines were read
GLPK Integer Optimizer, v4.52
952 rows, 634 columns, 2536 non-zeros
317 integer variables, all of which are binary
Preprocessing...
952 rows, 634 columns, 2536 non-zeros
317 integer variables, all of which are binary
Scaling...
A: min|aij| = 1.000e+00 max|aij| = 4.134e+04 ratio = 4.134e+04
GM: min|aij| = 1.655e-01 max|aij| = 6.043e+00 ratio = 3.652e+01
EQ: min|aij| = 2.738e-02 max|aij| = 1.000e+00 ratio = 3.652e+01
2N: min|aij| = 1.514e-02 max|aij| = 1.240e+00 ratio = 8.194e+01
Constructing initial basis...
Size of triangular part is 952
Solving LP relaxation...
GLPK Simplex Optimizer, v4.52
952 rows, 634 columns, 2536 non-zeros
0: obj = 6.675300000e+03 infeas = 1.388e+02 (0)
500: obj = 8.180770197e+03 infeas = 7.211e+01 (0)
* 634: obj = 1.185575775e+04 infeas = 0.000e+00 (0)
* 957: obj = 7.589768643e+02 infeas = 0.000e+00 (0)
OPTIMAL LP SOLUTION FOUND
Integer optimization begins...
+ 957: mip = not found yet >= -inf (1; 0)
+ 1371: >>>>> 8.712560000e+03 >= 1.314220420e+03 84.9% (301; 0)
+ 1482: >>>>> 4.443280000e+03 >= 1.358039358e+03 69.4% (304; 6)
+ 1511: >>>>> 2.317350000e+03 >= 1.444905676e+03 37.6% (158; 164)
+ 1511: mip = 2.317350000e+03 >= tree is empty 0.0% (0; 619)
INTEGER OPTIMAL SOLUTION FOUND
Time used: 1.6 secs
Memory used: 1.5 Mb (1615554 bytes)
Note that there is some difference on the scaling stage. Your log
reports:
Scaling...
A: min|aij| = 1.000e+00 max|aij| = 4.134e+04 ratio = 4.134e+04
GM: min|aij| = 1.655e-01 max|aij| = 6.043e+00 ratio = 3.652e+01
EQ: min|aij| = 2.738e-02 max|aij| = 1.000e+00 ratio = 3.652e+01
2N: min|aij| = 3.027e-02 max|aij| = 1.262e+00 ratio = 4.167e+01
while in my case it reports:
A: min|aij| = 1.000e+00 max|aij| = 4.134e+04 ratio = 4.134e+04
GM: min|aij| = 1.655e-01 max|aij| = 6.043e+00 ratio = 3.652e+01
EQ: min|aij| = 2.738e-02 max|aij| = 1.000e+00 ratio = 3.652e+01
2N: min|aij| = 1.514e-02 max|aij| = 1.240e+00 ratio = 8.194e+01
However, the scaling results should be near the same.
Which version of gcc are you using? (Type 'gcc --version' to get it.)