[Couenne] Timer stuck in BB

Pietro Belotti pbelott at clemson.edu
Tue Oct 26 15:50:02 EDT 2010


Giacomo,

> 1) Sometimes, when I am doing Branch-and-Bound with Couenne, I notice 
> that the timer gets stuck. I suspect that this may be an issue with Cbc 
> instead of Couenne - I can't really tell, I've only had this happen 
> while using Couenne so far. So what happens is that Branch-and-Bound 
> ignores the time limit, because the timer does not advance and keeps 
> reporting always the same value. Is there a way to prevent this? Does it 
> depend on Couenne or Cbc?

I did observe sometime ago on an old laptop. The output and time 
measurement are both managed by Cbc or Bonmin, so I think this is 
something that should be investigated in their respective mailing lists.

> 2) On the last two lines of CouenneObject.cpp (function
> CouenneObject::setEstimates), there is the following assert:
> assert (downEstimate_ >= 0. &&
>          upEstimate_ >= 0.);
> When I compile in debug mode, sometimes this assert fails. If I just
> comment it out, everything seems to work. Is this assert needed? What
> is its effect?

This is a sanity check done in reliability branching. Although not 
necessary (it doesn't make Couenne fail if not checked), for branching to 
work correctly and effectively partition the solution set both variables 
should be strictly positive, hence the assert. I observed this in a couple 
of instances some time ago and am trying to fix this.

However, asserts are only run in debug mode. If you built Couenne in debug 
mode (i.e., configured with the option --enable-debug), performance may 
decrease. Just saying...

Hope this helps.

Pietro

--
Pietro Belotti
Dept. of Mathematical Sciences
Clemson University
email: pbelott at clemson.edu
phone: 864-656-6765
web:   myweb.clemson.edu/~pbelott

On Tue, 26 Oct 2010, Giacomo Nannicini wrote:

> Hi,
> I have two questions.
>
> 1) Sometimes, when I am doing Branch-and-Bound with Couenne, I notice
> that the timer gets stuck. I suspect that this may be an issue with
> Cbc instead of Couenne - I can't really tell, I've only had this
> happen while using Couenne so far. So what happens is that
> Branch-and-Bound ignores the time limit, because the timer does not
> advance and keeps reporting always the same value. Is there a way to
> prevent this? Does it depend on Couenne or Cbc?
>
> 2) On the last two lines of CouenneObject.cpp (function
> CouenneObject::setEstimates), there is the following assert:
> assert (downEstimate_ >= 0. &&
>          upEstimate_ >= 0.);
> When I compile in debug mode, sometimes this assert fails. If I just
> comment it out, everything seems to work. Is this assert needed? What
> is its effect?
>
> Thanks
>
> Giacomo
>
> _______________________________________________
> Couenne mailing list
> Couenne at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/couenne
>



More information about the Couenne mailing list