[Cbc] failure in small IP
John J Forrest
jjforre at us.ibm.com
Thu Sep 10 12:49:02 EDT 2009
Matt,
getBasics returns an array number of rows long. The entry for row 7 would
say which variable was actually pivoting on row 7. If you are looking at
tableau you may need that.
warmstart just gives status of each variable with no information as to
which row a basic variable would pivot on.
John
From: Matthew Galati <magh at lehigh.edu>
To: John J Forrest/Watson/IBM at IBMUS
Cc: "cbc at list.coin-or.org" <cbc at list.coin-or.org>
Date: 09/10/2009 12:39 PM
Subject: Re: [Cbc] failure in small IP
Thanks John. When you say "different" do you mean actually different or
just the way they are stored?
I.e., if I want to know which variables are basic after a solve - and I
getWarmStart and check the structural status - will that information match
what getBasics would return?
Matt,
Thanks.
As to getBasics - the two sets of information are different - but I will
modify to point out options to user.
John
Inactive hide details for Matthew Galati ---09/10/2009 12:37:54 AM---Here
is a fix. It was just missing an initialization in CbMatthew Galati
---09/10/2009 12:37:54 AM---Here is a fix. It was just missing an
initialization in CbcRounding constructor. [magala at orclus71 sr
From: Matthew Galati <
Matthew.Galati at sas.com>
To: Matthew Galati <
magh at lehigh.edu>
Cc: "cbc at list.coin-or.org" <
cbc at list.coin-or.org>
Date: 09/10/2009 12:37 AM
Subject: Re: [Cbc] failure in small IP
Sent by: cbc-bounces at list.coin-or.org
Here is a fix. It was just missing an initialization in CbcRounding
constructor.
[magala at orclus71 src]$ svn diff CbcHeuristic.cpp
Index: CbcHeuristic.cpp
===================================================================
--- CbcHeuristic.cpp (revision 1223)
+++ CbcHeuristic.cpp (working copy)
@@ -1538,6 +1538,9 @@
{
// Get a copy of original matrix (and by row for rounding);
assert(model.solver());
+ down_=NULL;
+ up_=NULL;
+ equal_=NULL;
if (model.solver()->getNumRows()) {
matrix_ = *model.solver()->getMatrixByCol();
matrixByRow_ = *model.solver()->getMatrixByRow();
From: Matthew Galati [mailto:magh at lehigh.edu]
Sent: Thursday, September 10, 2009 12:19 AM
To: Matthew Galati
Cc: cbc at list.coin-or.org
Subject: Re: [Cbc] failure in small IP
The run with cbc executable that does not fail was using a May 2009
version of code.
Using the current trunk it fails (same as when using CbcMain1):
[magala at orclus71 src]$ ./cbc ~/subProb.n0.c0.p1.b0.lp
Coin Cbc and Clp Solver version 1.2trunk, build Sep 10 2009
command line - ./cbc /users/magala/subProb.n0.c0.p1.b0.lp (default
strategy 1)
Continuous objective value is 46.6667 - 0.00 seconds
Cgl0003I 20 fixed, 0 tightened bounds, 0 strengthened rows, 0
substitutions
Cgl0003I 5 fixed, 0 tightened bounds, 0 strengthened rows, 8
substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 8
substitutions
Cgl0004I processed model has 0 rows, 0 columns (0 integer) and 0 elements
Segmentation fault
The following small IP fails using the CbcMain1 interface. It is a unique
case, because all rows and cols are removed by presolver.
http://coral.ie.lehigh.edu/~magh/tmp/subProb.n0.c0.p1.b0.lp
https://projects.coin-or.org/Cbc/ticket/79
CbcModel cbc(*subprobSI);
CbcMain0(cbc);
const char * argv[] = {"cbc","-solve","-quit"};
CbcMain1(3, argv, cbc);
Coin Cbc and Clp Solver version 1.2trunk, build Sep 9 2009
command line - cbc -solve -quit (default strategy 1)
Continuous objective value is 46.6667 - 0.00 seconds
Cgl0003I 20 fixed, 0 tightened bounds, 0 strengthened rows, 0
substitutions
Cgl0003I 5 fixed, 0 tightened bounds, 0 strengthened rows, 8
substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 8
substitutions
Cgl0004I processed model has 0 rows, 0 columns (0 integer) and 0 elements
gdb gives:
Program received signal SIGSEGV, Segmentation fault.
0x0000003ffa871f6b in free () from /lib64/libc.so.6
(gdb) where
#0 0x0000003ffa871f6b in free () from /lib64/libc.so.6
#1 0x000000000057bc41 in ~CbcRounding (this=0x7fffec90c080)
at ../../../Cbc/src/CbcHeuristic.cpp:1552
#2 0x00000000004ae837 in doHeuristics (model=0x1d1f3e00, type=1)
at ../../../Cbc/src/CbcSolver.cpp:3479
#3 0x00000000004c7776 in CbcMain1 (argc=3, argv=0x7fffec9150c0,
model=@0x7fffec914bb0, callBack=0x4a734c <dummyCallBack>)
at ../../../Cbc/src/CbcSolver.cpp:6680
#4 0x00000000004db968 in CbcMain1 (argc=3, argv=0x7fffec9150c0,
model=@0x7fffec914bb0) at ../../../Cbc/src/CbcSolver.cpp:3099
Note, if I run it from the command line using cbc executable, the error
does not occur.
[magala at orclus71 MMKP]$ ~/COIN/coin-Cbc/build-g/bin/cbc
subProb.n0.c0.p1.b0.lp
Coin Cbc and Clp Solver version 1.2trunk, build May 27 2009
command line - /users/magala/COIN/coin-Cbc/build-g/bin/cbc
subProb.n0.c0.p1.b0.lp (default strategy 1)
Continuous objective value is 46.6667 - 0.00 seconds
Cgl0003I 20 fixed, 0 tightened bounds, 0 strengthened rows, 0
substitutions
Cgl0003I 5 fixed, 0 tightened bounds, 0 strengthened rows, 8
substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 8
substitutions
Cgl0004I processed model has 0 rows, 0 columns (0 integer) and 0 elements
Cbc3007W No integer variables - nothing to do
Cuts at root node changed objective from 46.6667 to -1.79769e+308
Probing was tried 0 times and created 0 cuts of which 0 were active after
adding rounds of cuts (0.000 seconds)
Gomory was tried 0 times and created 0 cuts of which 0 were active after
adding rounds of cuts (0.000 seconds)
Knapsack was tried 0 times and created 0 cuts of which 0 were active
after adding rounds of cuts (0.000 seconds)
Clique was tried 0 times and created 0 cuts of which 0 were active after
adding rounds of cuts (0.000 seconds)
MixedIntegerRounding2 was tried 0 times and created 0 cuts of which 0
were active after adding rounds of cuts (0.000 seconds)
FlowCover was tried 0 times and created 0 cuts of which 0 were active
after adding rounds of cuts (0.000 seconds)
TwoMirCuts was tried 0 times and created 0 cuts of which 0 were active
after adding rounds of cuts (0.000 seconds)
Result - Finished objective 46.66667 after 0 nodes and 0 iterations -
took 0.00 seconds (total time 0.01)
Total time 0.01
_______________________________________________
Cbc mailing list
Cbc at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/cbc
_______________________________________________
Cbc mailing list
Cbc at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/cbc
_______________________________________________
Cbc mailing list
Cbc at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/cbc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.coin-or.org/pipermail/cbc/attachments/20090910/7f276608/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/cbc/attachments/20090910/7f276608/attachment-0002.gif
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ecblank.gif
Type: image/gif
Size: 45 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/cbc/attachments/20090910/7f276608/attachment-0003.gif
More information about the Cbc
mailing list