[SCIP] how to augment the lower bound

Brannon King countprimes at gmail.com
Mon Oct 16 18:39:17 CEST 2023


I have a scheduling problem with a poor LP relaxation. However, given
a relaxed solution, I can augment that using some additional problem
knowledge. In other words, I want the ability to manually increase
every node's lower bound.

When I attempt to do this via cuts, either up front or lazily, my
problem takes longer to solve. This is a common problem in scheduling
problems; cuts that try to prop up the makespan destroy the search
direction. How can I use my augmented relaxation without destroying
the search direction? I picture that my improved lower bound would
eliminate poor subtrees sooner, but it would not change the overall
branching strategy.

I originally pictured that I would take the LP relaxator, inherit from
it, and make a minor modification to where it sets the lower bound. In
looking around, though, it seems that the LP relaxation is not in a
plugin. Where is it done presently? Where would I intercept this?

Maybe I should use a node selector plugin? This seems different than
overriding the lower bound, though. I don't understand how the node
priority is set already. Does it come from the lower bound? Or is it
based on properties of the variables, which one looks like it needs to
branch, etc?

Thanks for your time,
Brannon


More information about the Scip mailing list