[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