[Scip] SCIP_ConsData in constraint handler using C++
Stefan Heinz
heinz at zib.de
Tue Jun 19 12:58:36 MEST 2012
Hi Grit,
On 06/18/12 17:23, Grit Claßen wrote:
> Hello,
>
> I am implementing a constraint handler for branching constraints in a
> Branch-and-Price framework. To store some information on the
> constraints, I would like to define a specific SCIP_ConsData.
> Following the examples (bin packing or graph coloring), the
> SCIP_ConsData could be defined like this:
>
> struct SCIP_ConsData
> {
> int itemid1; /**< item id one */
> int itemid2; /**< item id two */
> CONSTYPE type; /**< stores whether the
> items have to be in the SAME or DIFFER packing */
> int npropagatedvars; /**< number of variables
> that existed, the last time, the related node was
> * propagated, used to
> determine whether the constraint should be
> * repropagated*/
> int npropagations; /**< stores the number
> propagations runs of this constraint */
> unsigned int propagated:1; /**< is constraint
> already propagated? */
> SCIP_NODE* node; /**< the node in the
> B&B-tree at which the cons is sticking */
> };
>
>
> However, as I am using C++ this overload of "typedef struct
> SCIP_ConsData SCIP_CONSDATA" does not work, i.e., I cannot use
> SCIP_CONSDATA instead of SCIP_ConsData when implementing the callback
> functions of the constraint handler. The only way to handle constraint
> data, I can think of, is to use some maps (e.g. constraint to
> constraint data etc.). Is there a less cumbersome way?
Since you are using the C++ classes, the "objects" are just (private)
members of you constraint handler class. Which could look like the
following pricer class:
http://scip.zib.de/doc/examples/VRP/pricer__vrp_8h_source.html
BTW: You can also use the C plugins combined with C++ stuff (ike
std::vector). The only thing you have to do, is to compile all the stuff
with "g++" instead of "gcc".
Best Stefan
>
> Thanks,
> Grit
> --
>
> Dipl.-Comp.Math. Grit Claßen
>
> UMIC Research Centre and Lehrstuhl II für Mathematik
> RWTH Aachen University
> 52056 Aachen
> Germany
>
> phone: +49 241 80 20753 or +49 241 80 94999
> http://www.math2.rwth-aachen.de
> http://www.isek.rwth-aachen.de
>
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip
More information about the Scip
mailing list