<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Here is a fix. It was just missing an initialization in
CbcRounding constructor.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>[magala@orclus71 src]$ svn diff CbcHeuristic.cpp<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Index: CbcHeuristic.cpp<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>===================================================================<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>--- CbcHeuristic.cpp&nbsp;&nbsp;&nbsp; (revision 1223)<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>+++ CbcHeuristic.cpp&nbsp;&nbsp;&nbsp; (working copy)<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>@@ -1538,6 +1538,9 @@<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>&nbsp;{<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>&nbsp;&nbsp; // Get a copy of original matrix (and by row for rounding);<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>&nbsp;&nbsp; assert(model.solver());<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>+&nbsp; down_=NULL;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>+&nbsp; up_=NULL;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>+&nbsp; equal_=NULL;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>&nbsp;&nbsp; if (model.solver()-&gt;getNumRows()) {<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp; matrix_ = *model.solver()-&gt;getMatrixByCol();<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp; matrixByRow_ = *model.solver()-&gt;getMatrixByRow();<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Matthew Galati
[mailto:magh@lehigh.edu] <br>
<b>Sent:</b> Thursday, September 10, 2009 12:19 AM<br>
<b>To:</b> Matthew Galati<br>
<b>Cc:</b> cbc@list.coin-or.org<br>
<b>Subject:</b> Re: [Cbc] failure in small IP<o:p></o:p></span></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='margin-bottom:12.0pt'>The run with cbc executable
that does not fail was using a May 2009 version of code. <br>
<br>
Using the current trunk it fails (same as when using CbcMain1):<o:p></o:p></p>

<div>

<p>[magala@orclus71 src]$ ./cbc ~/subProb.n0.c0.p1.b0.lp<o:p></o:p></p>

<p>Coin Cbc and Clp Solver version 1.2trunk, build Sep 10 2009<o:p></o:p></p>

<p>command line - ./cbc /users/magala/subProb.n0.c0.p1.b0.lp (default strategy
1)<o:p></o:p></p>

<p>Continuous objective value is 46.6667 - 0.00 seconds<o:p></o:p></p>

<p>Cgl0003I 20 fixed, 0 tightened bounds, 0 strengthened rows, 0 substitutions<o:p></o:p></p>

<p>Cgl0003I 5 fixed, 0 tightened bounds, 0 strengthened rows, 8 substitutions<o:p></o:p></p>

<p>Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 8 substitutions<o:p></o:p></p>

<p>Cgl0004I processed model has 0 rows, 0 columns (0 integer) and 0 elements<o:p></o:p></p>

<p>Segmentation fault<o:p></o:p></p>

<p class=MsoNormal style='margin-bottom:12.0pt'><br>
<br>
<br>
<o:p></o:p></p>

<div>

<div>

<p>The following small IP fails using the CbcMain1 interface. It is a unique
case, because all rows and cols are removed by presolver.<o:p></o:p></p>

<p>&nbsp;<o:p></o:p></p>

<p><a href="http://coral.ie.lehigh.edu/%7Emagh/tmp/subProb.n0.c0.p1.b0.lp"
target="_blank">http://coral.ie.lehigh.edu/~magh/tmp/subProb.n0.c0.p1.b0.lp</a><o:p></o:p></p>

<p>&nbsp;<o:p></o:p></p>

<p><a href="https://projects.coin-or.org/Cbc/ticket/79" target="_blank">https://projects.coin-or.org/Cbc/ticket/79</a><o:p></o:p></p>

<p>&nbsp;<o:p></o:p></p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;CbcModel
cbc(*subprobSI);<o:p></o:p></p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;CbcMain0(cbc);<o:p></o:p></p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;const char * argv[] =
{&quot;cbc&quot;,&quot;-solve&quot;,&quot;-quit&quot;};<o:p></o:p></p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;CbcMain1(3, argv,
cbc);<o:p></o:p></p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></p>

<p>Coin Cbc and Clp Solver version 1.2trunk, build Sep&nbsp; 9 2009<o:p></o:p></p>

<p>command line - cbc -solve -quit (default strategy 1)<o:p></o:p></p>

<p>Continuous objective value is 46.6667 - 0.00 seconds<o:p></o:p></p>

<p>Cgl0003I 20 fixed, 0 tightened bounds, 0 strengthened rows, 0 substitutions<o:p></o:p></p>

<p>Cgl0003I 5 fixed, 0 tightened bounds, 0 strengthened rows, 8 substitutions<o:p></o:p></p>

<p>Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 8 substitutions<o:p></o:p></p>

<p>Cgl0004I processed model has 0 rows, 0 columns (0 integer) and 0 elements<o:p></o:p></p>

<p>&nbsp;<o:p></o:p></p>

<p>gdb gives:<o:p></o:p></p>

<p>&nbsp;<o:p></o:p></p>

<p>Program received signal SIGSEGV, Segmentation fault.<o:p></o:p></p>

<p>0x0000003ffa871f6b in free () from /lib64/libc.so.6<o:p></o:p></p>

<p>(gdb) where<o:p></o:p></p>

<p>#0&nbsp; 0x0000003ffa871f6b in free () from /lib64/libc.so.6<o:p></o:p></p>

<p>#1&nbsp; 0x000000000057bc41 in ~CbcRounding (this=0x7fffec90c080)<o:p></o:p></p>

<p>&nbsp;&nbsp;&nbsp; at ../../../Cbc/src/CbcHeuristic.cpp:1552<o:p></o:p></p>

<p>#2&nbsp; 0x00000000004ae837 in doHeuristics (model=0x1d1f3e00, type=1)<o:p></o:p></p>

<p>&nbsp;&nbsp;&nbsp; at ../../../Cbc/src/CbcSolver.cpp:3479<o:p></o:p></p>

<p>#3&nbsp; 0x00000000004c7776 in CbcMain1 (argc=3, argv=0x7fffec9150c0,<o:p></o:p></p>

<p>&nbsp;&nbsp;&nbsp; model=@0x7fffec914bb0, callBack=0x4a734c
&lt;dummyCallBack&gt;)<o:p></o:p></p>

<p>&nbsp;&nbsp;&nbsp; at ../../../Cbc/src/CbcSolver.cpp:6680<o:p></o:p></p>

<p>#4&nbsp; 0x00000000004db968 in CbcMain1 (argc=3, argv=0x7fffec9150c0,<o:p></o:p></p>

<p>&nbsp;&nbsp;&nbsp; model=@0x7fffec914bb0) at
../../../Cbc/src/CbcSolver.cpp:3099<o:p></o:p></p>

<p>&nbsp;<o:p></o:p></p>

<p>&nbsp;<o:p></o:p></p>

<p>&nbsp;<o:p></o:p></p>

<p>Note, if I run it from the command line using cbc executable, the error does
not occur.<o:p></o:p></p>

<p>&nbsp;<o:p></o:p></p>

<p>[magala@orclus71 MMKP]$ ~/COIN/coin-Cbc/build-g/bin/cbc subProb.n0.c0.p1.b0.lp<o:p></o:p></p>

<p>Coin Cbc and Clp Solver version 1.2trunk, build May 27 2009<o:p></o:p></p>

<p>command line - /users/magala/COIN/coin-Cbc/build-g/bin/cbc
subProb.n0.c0.p1.b0.lp (default strategy 1)<o:p></o:p></p>

<p>Continuous objective value is 46.6667 - 0.00 seconds<o:p></o:p></p>

<p>Cgl0003I 20 fixed, 0 tightened bounds, 0 strengthened rows, 0 substitutions<o:p></o:p></p>

<p>Cgl0003I 5 fixed, 0 tightened bounds, 0 strengthened rows, 8 substitutions<o:p></o:p></p>

<p>Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 8 substitutions<o:p></o:p></p>

<p>Cgl0004I processed model has 0 rows, 0 columns (0 integer) and 0 elements<o:p></o:p></p>

<p>Cbc3007W No integer variables - nothing to do<o:p></o:p></p>

<p>Cuts at root node changed objective from 46.6667 to -1.79769e+308<o:p></o:p></p>

<p>Probing was tried 0 times and created 0 cuts of which 0 were active after
adding rounds of cuts (0.000 seconds)<o:p></o:p></p>

<p>Gomory was tried 0 times and created 0 cuts of which 0 were active after
adding rounds of cuts (0.000 seconds)<o:p></o:p></p>

<p>Knapsack was tried 0 times and created 0 cuts of which 0 were active after
adding rounds of cuts (0.000 seconds)<o:p></o:p></p>

<p>Clique was tried 0 times and created 0 cuts of which 0 were active after
adding rounds of cuts (0.000 seconds)<o:p></o:p></p>

<p>MixedIntegerRounding2 was tried 0 times and created 0 cuts of which 0 were
active after adding rounds of cuts (0.000 seconds)<o:p></o:p></p>

<p>FlowCover was tried 0 times and created 0 cuts of which 0 were active after
adding rounds of cuts (0.000 seconds)<o:p></o:p></p>

<p>TwoMirCuts was tried 0 times and created 0 cuts of which 0 were active after
adding rounds of cuts (0.000 seconds)<o:p></o:p></p>

<p>Result - Finished objective 46.66667 after 0 nodes and 0 iterations - took
0.00 seconds (total time 0.01)<o:p></o:p></p>

<p>Total time 0.01<o:p></o:p></p>

</div>

</div>

<p class=MsoNormal style='margin-bottom:12.0pt'><br>
_______________________________________________<br>
Cbc mailing list<br>
<a href="mailto:Cbc@list.coin-or.org">Cbc@list.coin-or.org</a><br>
<a href="http://list.coin-or.org/mailman/listinfo/cbc" target="_blank">http://list.coin-or.org/mailman/listinfo/cbc</a><o:p></o:p></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

</body>

</html>