[Coin-symphony] tracking cuts

Ted Ralphs tkralphs at lehigh.edu
Wed Jul 13 15:05:05 EDT 2005


Michael Hennebry wrote:
> On Mon, 11 Jul 2005, Ted Ralphs wrote:

> I thought that was the idea of a global cut pool.
> Once a subtour cut was generated, it would lie in
> wait until it was needed again.  At that point,
> it would be fetched from the global cut pool
> instead of being regenerated in user_find_cuts.

Yes, that is the idea of the global pool, but the pool is not checked 
every iteration by default (this is configurable) and it is not checked 
until after user_is_feasible() is called in the LP processing loop. 
Furthermore, cut generation is still performed, even when the pool is 
checked. For classes of inequalities for which there is an exact 
separation algorithm (such as subtour constraints), this means that the 
pool will not have any effect because any violated cuts previously 
generated will be re-generated by the cut generation routines before 
they are found in the pool. Generally speaking, one should not store 
cuts that are "easy" to re-generate in the pool. In particular, this 
includes any class for which there is efficient exact separation. For 
classes that are difficult to separate or for which only heuristic 
separation is possible, the pool will be much more effective. Hope this 
helps. Let me know if you find out there really is a bug in there somewhere.

Cheers,

Ted
-- 
Dr. Ted Ralphs
Assistant Professor
Industrial and Systems Engineering
Lehigh University
(610)758-4784
tkralphs at lehigh.edu
www.lehigh.edu/~tkr2



More information about the Symphony mailing list