[Scip] Dual values of constraints of own constraint handler

Marco Luebbecke marco.luebbecke at rwth-aachen.de
Fri Jun 22 12:39:18 MEST 2012


Hi Grit,

just a remark from a column generation / B&P point of view: you should
avoid adding extra branching constraints altogether. If you branch on
"original" variables (which are always available or constructable or
interpretable from the pricing subproblem) you can branch by only
locally modifying the bounds of master variables (eg by propagation),
and you don't need the dual information at all. This is also true for
specialized "constraint branching" like Ryan/Foster's scheme or
generalizations thereof.

Not that this would help you with the question but...  ;-)

Bests,
Marco


classen> Hello, this email somehow continues my question on
classen> SCIP_ConsData from the beginnig of this week. I have
classen> implemented the constraint handler for branching constraints
classen> in my Branch-and-Price framework. But now in my pricer, I
classen> also have to consider the new constructed branching
classen> constraints with their dual values. The question is how to
classen> get the dual values of the constraints of my branching
classen> constraint handler?

classen> I have included a "SCIP_ROW* row" member in my SCIP_ConsData
classen> to be able to call SCIProwGetDualsol(...). However, I do not
classen> know when the rows are created. Do I have to create them in a
classen> callback function of the constraint handler? I tried to
classen> create the rows when creating the branching constraints. But
classen> there must be an error somewhere since my program creates the
classen> same branching constraints twice (consecutively). I presume
classen> that the rows are not handled correctly.

classen> An alternative way I can think of is to create the rows in
classen> the sepalp callback. Would this be the correct way? Anyway,
classen> do I have to handle the rows to be able to get dual values of
classen> my branching constraints?


More information about the Scip mailing list