<div><br> </div>
<div>
<div>Hi Lou<br> </div>
<div>You are right. I have been trying several things since yesterday. And in CbcModel.cpp</div>
<div>it is mentioned that after branchAndBound() call, we must check the status and the </div>
<div>secondary status:</div>
<div> </div>
<div> /** Final status of problem<br> Some of these can be found out by is...... functions<br> -1 before branchAndBound<br> 0 finished - check isProvenOptimal or isProvenInfeasible to see if solution found
<br> (or check value of best solution)<br> 1 stopped - on maxnodes, maxsols, maxtime<br> 2 difficulties so run was abandoned<br> (5 event user programmed event occurred)<br> */<br> inline int status() const
<br> { return status_;};<br> /** Secondary status of problem<br> -1 unset (status_ will also be -1)<br> 0 search completed with solution<br> 1 linear relaxation not feasible (or worse than cutoff)
<br> 2 stopped on gap<br> 3 stopped on nodes<br> 4 stopped on time<br> 5 stopped on user event<br> 6 stopped on solutions<br> */<br> </div>
<div>However, I am still facing the problem since I cannot call those functions in my program since I am using Flopcpp and I must use the same set of functions with their new names mentioned in</div>
<div>OsiCbcSolverInterface.hpp....and here the behaviour of these function is seemingly different.</div>
<div> </div>
<div> virtual bool isAbandoned() const;<br> /// Is optimality proven?<br> virtual bool isProvenOptimal() const;<br> /// Is primal infeasiblity proven?<br> virtual bool <strong>isProvenPrimalInfeasible()</strong> const;
<br> /// Is dual infeasiblity proven?<br> virtual bool isProvenDualInfeasible() const;<br> /// Is the given primal objective limit reached?<br> virtual bool isPrimalObjectiveLimitReached() const;<br> /// Is the given dual objective limit reached?
<br> virtual bool isDualObjectiveLimitReached() const;<br> /// Iteration limit reached?<br> virtual bool isIterationLimitReached() const;<br> </div>
<div>regards, </div>
<div>vishy<br> </div></div>
<div><br> </div>
<div><span class="gmail_quote">On 5/11/07, <b class="gmail_sendername">Lou Hafer</b> <<a href="mailto:lou@cs.sfu.ca">lou@cs.sfu.ca</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Vishy,<br><br> Perhaps you're expecting too much from minimum.cpp. It's exactly what<br>it says, an absolute minimal driver. In particular, it doesn't analyse the
<br>status at the end of branch-and-cut, it simply asks for a solution. Looking at<br>the output, I see:<br><br><snip><br>Coin0002I Problem BLANK has 858 rows, 196 columns and 2851 elements<br>Coin0008I BLANK read with 0 errors
<br>Clp0006I 0 Obj 20000 Primal inf 140114 (68)<br>Clp0006I 184 Obj 1.54172e+06<br>Clp0000I Optimal - objective value 1.54172e+06<br>Clp0000I Optimal - objective value 1.54172e+06<br>Clp0006I 0 Obj 1.54172e+06 Primal inf
27.3355 (2)<br>Clp0006I 29 Obj 1.56244e+06<br>Clp0000I Optimal - objective value 1.56244e+06<br>Cbc0001I Search completed - best objective 1e+50, took 0 iterations and 0 nodes<br>(0.33 seconds)<br>Cbc0032I Strong branching done 12 times (246 iterations), fathomed 1 nodes and
<br>fixed 2 variables<br>Cbc0035I Maximum depth 0, 0 variables fixed on reduced cost<br>Clp0006I 0 Obj 1.56244e+06 Primal inf 17 (30) Dual inf 3.99999e+10 (4)<br>Clp0006I 7 Obj 1.56244e+06 Primal inf 17 (30)<br>Clp0001I Primal infeasible - objective value
1.56244e+06<br>0 has value 1<br>1 has value 1<br>6 has value 0.548986<br>7 has value 0.451014<br>9 has value 0.513514<br>10 has value 0.486486<br>12 has value 0.548986<br>13 has value 0.451014<br>15 has value 0.513514<br>
16 has value 0.486486<br>18 has value 0.742278<br><snip><br><br>You'll notice that Cbc reports branch-and-cut search completed with an objective<br>of 1e+50 --- this is the condition for `no solution'. If you add a call to
<br>model.isProvenInfeasible(), it will report true. The `solution' you're seeing<br>is simply the result of clp trying to comply with a request for a solution that<br>doesn't exist. The values reported are the primal variables at the point where
<br>clp declared infeasibility.<br><br> The cbc executable does the necessary checks and properly reports this<br>problem as infeasible.<br><br> Lou<br><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">http://list.coin-or.org/mailman/listinfo/cbc</a><br></blockquote></div><br><br clear="all">
<br>-- <br>Best Regards,<br>Vishv Jeet, Ph.D.,<br>Operations Research Scientist,<br>Gravitant Inc.,<br>(The Business Governance Company)<br><a href="http://www.gravitant.com">http://www.gravitant.com</a><br>Austin, TX, USA.
<br>Cell : 1-512-657-8678<br>Home : 1-512-788-5795<br>Work : 1-512-535-7399 <br>_______________________<br>Youngest Music Meastro<br><a href="http://www.mayanksahu.net">http://www.mayanksahu.net</a>