[Coin-bcpdiscuss] BCP: node buffering?

Laszlo Ladanyi ladanyi at us.ibm.com
Sat Mar 18 12:13:31 EST 2006


Actually, BCP is very wasteful from this point of view :-(. The whole tree is
kept until the end of computation, even if you do depth first search. When I'm
back from vacation I'll try to do something about this.

--Laci

On Fri, 17 Mar 2006, Joerg Herbers wrote:

> Francois,
> 
> thanks for the pointers. Cuts didn't pose any problems (I don't use any), but the deletion of user data for processed nodes seems to be a good idea. It reduces memory requirements considerably - below 2GB in my case.
> 
> Thanks again,
> Jörg
> 
> 
> >>> On 3/16/2006 at 6:21 pm, in message
> <Pine.LNX.4.61.0603161205150.14512 at farkas.tepper.cmu.edu>, Francois Margot
> <fmargot at andrew.cmu.edu> wrote:
> 
> > Joerg:
> > 
> > On Thu, 16 Mar 2006, Joerg Herbers wrote:
> > 
> >> I've got problems using BCP when very large search trees are explored. My 
> > BCP-based algorithm then runs out of memory - which may partly be attributed to 
> > the use of user data in the search nodes.
> > 
> > Normally, user data associated with explored nodes can be deleted in the
> > tree manager (see COIN/Examples/BAC for an illustration), so only user data 
> > associated with unexplored nodes matters.
> > If the memory is filled because you get a large number of unexplored nodes
> > in the queue, a quick fix is to change the exploration rule
> > to depth first search or switch to it after a while.
> > 
> >>
> >> By default, application memory is limited to 2GB on WinXP 32bit (see 
> > http://www.brianmadden.com/content/content.asp?ID=69), but the situation is 
> > not much better on Linux (32 bit). In fact, some gigabytes of memory are 
> > quickly exhausted when exploring large search trees.
> >>
> > 
> > Are you using cut generators? If yes, the problem might be a flaw (reported
> > previously) in the memory management of the cuts, namely that copies
> > of useless cuts are not deleted in the tree manager. To alleviate that,
> > make sure that the following cut management parameters are set to
> > their default values:
> > 
> > BCP_IneffectiveConstraints              2  // 0: keep all constraints
> >                                             // 1: based on non zero slack
> >                                             // 2: based on zero dual val
> >                                             // Default: 2
> > 
> > BCP_IneffectiveBeforeDelete             1  // Number of iterations a cut
> >                                             // is considered ineffective 
> > before
> >                                             // it is deleted
> >                                             // Default: 1
> > 
> > In addition, some cut generators (CglGomory, CglRedSplit) allow you to 
> > control the density of the generated cuts. Setting the density to a lower 
> > level might help.
> > 
> > The real solution to this problem might be implemented soon.
> > 
> >> Has anybody thought about implementing a node buffer (similar to the CPLEX 
> > node file) before? Is there interest in having one?
> >>
> > 
> > I don't think anybody works on that, and having it would be a plus.
> > However, it might not solve your problem if the culprit is cut management.
> > 
> > Francois
> 
> 
> _______________________________________________
> Coin-bcpdiscuss mailing list
> Coin-bcpdiscuss at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-bcpdiscuss
> 





More information about the Coin-bcpdiscuss mailing list