help-glpk
[Top][All Lists]
Advanced

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

[Help-glpk] different executions on different platforms


From: François Galea
Subject: [Help-glpk] different executions on different platforms
Date: Thu, 14 Feb 2008 13:58:04 +0100
User-agent: Mozilla-Thunderbird 2.0.0.9 (X11/20080110)

hi,

We have noticed that executing the glpsol command-line solver on different machines with the same input data could lead to different execution. The number of simplex iterations / branch-and-bound nodes may differ, which leads to different performance.

We have done our testings on three different platforms :
- cygwin on top of Windows XP (i386 processor)
- Debian GNU/Linux (i386)
- Debian GNU/Linux (amd64)

All testings were done using GLPK 4.25.

The three attached execution logs correspong the resolution of the pp08a.mps instance from MIPLIB 2003, using the --cuts option of glpsol.
In summary :
- on cygwin : 66 simplex iterations at root, 10059 total, 981 b&b nodes.
- i386 Linux : the values are 66, 16377, 1449.
- amd64 Linux : 67, 13155, 1445.

The execution times cannot be compared, as the executions were performed on different machines.

Does anybody have an explanation why there are such differencies ? I have started looking into the internal random number generator, but it seems to behave the same way on the different platforms.

Best regards,

François



lpx_read_freemps: reading problem data from `./Problemes/pp08a.mps'...
lpx_read_freemps: problem pp08a
lpx_read_freemps: 137 rows, 240 columns, 656 non-zeros
lpx_read_freemps: 64 integer columns, all of which are binary
lpx_read_freemps: 657 records were read
ipp_basic_tech:  1 row(s) and 0 column(s) removed
ipp_reduce_bnds: 2 pass(es) made, 64 bound(s) reduced
ipp_basic_tech:  0 row(s) and 0 column(s) removed
ipp_reduce_coef: 1 pass(es) made, 0 coefficient(s) reduced
lpx_intopt: presolved MIP has 136 rows, 240 columns, 480 non-zeros
lpx_intopt: 64 integer columns, all of which are binary
lpx_adv_basis: size of triangular part = 128
Solving LP relaxation...
      0:   objval =   8.580000000e+03   infeas =   1.000000000e+00 (0)
     60:   objval =   2.750607143e+03   infeas =   0.000000000e+00 (1)
*    60:   objval =   2.750607143e+03   infeas =   0.000000000e+00 (1)
*    66:   objval =   2.748345238e+03   infeas =   0.000000000e+00 (0)
OPTIMAL SOLUTION FOUND
Creating the conflict graph...
The conflict graph is either empty or too big
Generating cutting planes...
&    66: obj =   2.748345238e+03   frac =    53   cuts =     0 (0)
&    66: obj =   2.748345238e+03   frac =    53   cuts =     0 (0)
Integer optimization begins...
+    66: mip =     not found yet >=              -inf        (1; 0)
Gomory's cuts enabled
MIR cuts enabled
+   969: >>>>>   7.580000000e+03 >=   7.139485665e+03   5.8% (47; 0)
+  1882: >>>>>   7.510000000e+03 >=   7.171523233e+03   4.5% (136; 3)
+  3815: >>>>>   7.350000000e+03 >=   7.213155655e+03   1.9% (272; 58)
+ 10059: mip =   7.350000000e+03 >=     tree is empty   0.0% (0; 981)
INTEGER OPTIMAL SOLUTION FOUND
Time used:   6.0 secs
Memory used: 1.5 Mb (1602726 bytes)
lpx_read_freemps: reading problem data from `../Problemes/pp08a.mps'...
lpx_read_freemps: problem pp08a
lpx_read_freemps: 137 rows, 240 columns, 656 non-zeros
lpx_read_freemps: 64 integer columns, all of which are binary
lpx_read_freemps: 657 records were read
ipp_basic_tech:  1 row(s) and 0 column(s) removed
ipp_reduce_bnds: 2 pass(es) made, 64 bound(s) reduced
ipp_basic_tech:  0 row(s) and 0 column(s) removed
ipp_reduce_coef: 1 pass(es) made, 0 coefficient(s) reduced
lpx_intopt: presolved MIP has 136 rows, 240 columns, 480 non-zeros
lpx_intopt: 64 integer columns, all of which are binary
lpx_adv_basis: size of triangular part = 128
Solving LP relaxation...
      0:   objval =   8.580000000e+03   infeas =   1.000000000e+00 (0)
     60:   objval =   2.750607143e+03   infeas =   0.000000000e+00 (1)
*    60:   objval =   2.750607143e+03   infeas =   0.000000000e+00 (1)
*    66:   objval =   2.748345238e+03   infeas =   0.000000000e+00 (0)
OPTIMAL SOLUTION FOUND
Creating the conflict graph...
The conflict graph is either empty or too big
Generating cutting planes...
&    66: obj =   2.748345238e+03   frac =    53   cuts =     0 (0)
&    66: obj =   2.748345238e+03   frac =    53   cuts =     0 (0)
Integer optimization begins...
+    66: mip =     not found yet >=              -inf        (1; 0)
Gomory's cuts enabled
MIR cuts enabled
+   936: >>>>>   7.430000000e+03 >=   7.144570915e+03   3.8% (41; 0)
+  9213: >>>>>   7.390000000e+03 >=   7.263696178e+03   1.7% (509; 34)
+ 11681: >>>>>   7.370000000e+03 >=   7.284559348e+03   1.2% (449; 307)
+ 16050: >>>>>   7.360000000e+03 >=   7.332315412e+03   0.4% (288; 681)
+ 16236: >>>>>   7.350000000e+03 >=   7.334711878e+03   0.2% (178; 899)
+ 16377: mip =   7.350000000e+03 >=     tree is empty   0.0% (0; 1449)
INTEGER OPTIMAL SOLUTION FOUND
Time used:   8.0 secs
Memory used: 2.0 Mb (2075158 bytes)
lpx_read_freemps: reading problem data from `./Problemes/pp08a.mps'...
lpx_read_freemps: problem pp08a
lpx_read_freemps: 137 rows, 240 columns, 656 non-zeros
lpx_read_freemps: 64 integer columns, all of which are binary
lpx_read_freemps: 657 records were read
ipp_basic_tech:  1 row(s) and 0 column(s) removed
ipp_reduce_bnds: 2 pass(es) made, 64 bound(s) reduced
ipp_basic_tech:  0 row(s) and 0 column(s) removed
ipp_reduce_coef: 1 pass(es) made, 0 coefficient(s) reduced
lpx_intopt: presolved MIP has 136 rows, 240 columns, 480 non-zeros
lpx_intopt: 64 integer columns, all of which are binary
lpx_adv_basis: size of triangular part = 128
Solving LP relaxation...
      0:   objval =   8.580000000e+03   infeas =   1.000000000e+00 (0)
     60:   objval =   2.750607143e+03   infeas =   0.000000000e+00 (1)
*    60:   objval =   2.750607143e+03   infeas =   0.000000000e+00 (1)
*    67:   objval =   2.748345238e+03   infeas =   0.000000000e+00 (0)
OPTIMAL SOLUTION FOUND
Creating the conflict graph...
The conflict graph is either empty or too big
Generating cutting planes...
&    67: obj =   2.748345238e+03   frac =    52   cuts =     0 (0)
&    67: obj =   2.748345238e+03   frac =    52   cuts =     0 (0)
Integer optimization begins...
+    67: mip =     not found yet >=              -inf        (1; 0)
Gomory's cuts enabled
MIR cuts enabled
+   884: >>>>>   7.620000000e+03 >=   7.144497802e+03   6.2% (38; 0)
+  1472: >>>>>   7.530000000e+03 >=   7.182610473e+03   4.6% (102; 2)
+  5713: >>>>>   7.470000000e+03 >=   7.252173033e+03   2.9% (410; 35)
+  8034: >>>>>   7.400000000e+03 >=   7.268312618e+03   1.8% (468; 172)
+  9680: >>>>>   7.350000000e+03 >=   7.276647778e+03   1.0% (379; 491)
+ 13155: mip =   7.350000000e+03 >=     tree is empty   0.0% (0; 1445)
INTEGER OPTIMAL SOLUTION FOUND
Time used:   5.0 secs
Memory used: 0.0 Mb (0 bytes)

reply via email to

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