[Coin-symphony] naming cuts

Ted Ralphs tkralphs at lehigh.edu
Sat May 27 23:03:07 EDT 2006


Anureet Saxena wrote:

> I am using SYMPHONY for experimenting with a class of cutting planes. I
> generate these cutting planes using the COIN/Cgl framework and add these in the
> generate_cgl_cuts function of SYMPHONY/src/LP/lp_solver.c .

> I would like to know if there is a way in which I can give a name (or any kind
> of identification) to these cuts, which can be used in successive rounds to
> identify them among other constraints in the incumbent LP relaxation. Also, I
> would like these names to persist in case the cut is removed from the working
> formulation, kept in a cut-pool and re-added later.

The answer is "yes," but with some caveats. Each cut does have a "type" 
by which it is identified (there is a "type" field in the structure 
called "cut_data" in BB_types.h). You could define a new type that would 
allow you to identify your cuts from among the others, but you would 
also have to then modify either the user_unpack_cuts() or 
unpack_cuts_u() to allow SYMPHONY to handle the new type of cut. 
Currently, all CGL cuts are of type "EXPLICIT_ROW," so it should be 
relatively easy to just duplicate the implementation for this cut type 
in unpack_cuts_u(). Alternatively, you could just add a field to the 
cut_data structure in BB_types.h, which SYMPHONY would ignore, but you 
could use to identify your cuts. If you need more help, please feel free 
to post another e-mail and I'll provide some more details. Hope this helps!

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