[Cbc] failure in small IP

John J Forrest jjforre at us.ibm.com
Thu Sep 10 12:32:13 EDT 2009


Matt,

Thanks.

As to getBasics - the two sets of information are different - but I will
modify to point out options to user.

John


                                                                                                   
  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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.coin-or.org/pipermail/cbc/attachments/20090910/a9672c3b/attachment.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/a9672c3b/attachment.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/a9672c3b/attachment-0001.gif 


More information about the Cbc mailing list