[Cbc] cbc executable behaving very differently on different platforms (Linux and Moac OS X)
Kish Shen
kisshen at cisco.com
Wed Jan 30 11:27:23 EST 2008
Hi,
I have been having this problem with using CBC (with CLP as the linear
solver) that was reported by a user of our system. Initially, this was
from using my own code that interfaces to CBC, but I have now managed to
reproduce some of the problems with the cbc executable that comes with
CBC, by feeding it MPS files representing my problems.
I have done this for two problems, both of which are (different)
formulation of a `stable marriage problem', and both are solved to find
a feasible solution to the problem (i.e. it has a dummy objective). Both
problems should be feasible, and indeed when I ran them with CPLEX,
solutions are given for both. However, when I use the cbc executable (as
well as my own code interfacing to CBC/CLP), I get different results,
depending on the platform I ran on.
I have tried this problem on a Linux (x86, 32 bit) box, and also on an
Intel Mac OS X (also 32 bit). Each machine is able to find a feasible
solution for one of the problem, i.e. one of the problem is feasible on
the Intel Mac but is infeasible on the Linux box and vise versa for the
other problem.
I have noticed from the log of the cbc execution that the problems seem
to be treated very differently on the two platforms. For example, for
the same problem, here is what CBC log shows after the processing:
Intel Mac:
mediaLab-MacPro:~/RR20080121 kish$
~/Coin-Cbc20071109/i386_macosx/bin/cbc gen.mps
Coin Cbc and Clp Solver version 2.00.00, build Nov 20 2007
command line - /Users/kish/Coin-Cbc20071109/i386_macosx/bin/cbc gen.mps
At line 1 NAME BLANK FREE
At line 2 ROWS
At line 1828 COLUMNS
At line 7733 RHS
At line 8518 BOUNDS
At line 11751 ENDATA
Problem BLANK has 1824 rows, 2848 columns and 9232 elements
Coin0008I BLANK read with 0 errors
...
and after processing:
Cgl0004I processed model has 1578 rows, 2354 columns (2354 integer) and
8240 elements
...
and a solution is returned:
Result - Finished objective 0 after 4150 nodes and 667378 iterations -
took 436.20 seconds (total time 436.24)
and for Linux:
kish at bodgerix:~/Bugs/RR20080121> ~/Coin-Cbc20071109/i386_linux/bin/cbc
gen.mps
Coin Cbc and Clp Solver version 2.00.00, build Nov 30 2007
command line - /homes/kish/Coin-Cbc20071109/i386_linux/bin/cbc gen.mps
At line 1 NAME BLANK FREE
At line 2 ROWS
At line 1828 COLUMNS
At line 7733 RHS
At line 8518 BOUNDS
At line 11751 ENDATA
Problem BLANK has 1824 rows, 2848 columns and 9232 elements
Coin0008I BLANK read with 0 errors
....
but after processing, the model seem to have a lot more rows:
Cgl0004I processed model has 10094 rows, 2329 columns (2329 integer) and
25161 elements
and the problem cannot be solved:
Result - Finished objective 1e+50 after 0 nodes and 0 iterations - took
48.70 seconds (total time 48.81)
Total time 48.82
-----
with very different nodes and iteration for the MIP search...
Any idea if the runs of the same problem on different platform should be
so different?
The same CBC source is used in both cases (downloaded 9 Nov 2007) from
the trunk branch, and the same options were given to configure to
configure the code for compilation. The gcc on the Mac is version 4.0.1,
and on Linux is 3.3.5. The same MPS file is feed to both.
I can provide the two MPS files for the two problems I have tried.
Thanks in advance for any help/information!
Yours sincerely,
Kish Shen
More information about the Cbc
mailing list