[SCIP] Add callback function to solver to terminate at db threshold

Ambros Gleixner gleixner at zib.de
Tue Jul 10 17:36:04 CEST 2018


Dear Øystin,

Sorry for the very slow reply this time.  I hope it is still relevant. 
Since you want to monitor the dual bound, setting a gap limit will not help.

You could set the parameter limits/objective to your threshold.  Then 
SCIP would stop if the dual bound reaches this threshold, but on the 
down side it would also not accept primal solutions that have worse 
objective.

Expert solution: implement an event handler, probably catching 
SCIP_EVENTTYPE_NODESOLVED, checking SCIPgetDualbound(), and call 
SCIPinterruptSolve() if desired.

See http://scip.zib.de/doc-6.0.0/html/EVENT.php for further 
instructions.  An example implementation of an event handler can be 
found in the example

http://scip.zib.de/doc-6.0.0/html/EVENTHDLR_MAIN.php

Best,
Ambros


Am 18.06.2018 um 22:35 schrieb Øystein Schønning-Johansen:
> Hi!
> 
> I think I've found a smart way to solve my optimization problem, however 
> I need some more api help.
> 
> I need to have a callback to the solve function, such that I can 
> terminate the solver if the dualbound reaches a threshold value. Can 
> that be easily done?
> 
> -Øystin
> 
> 
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
> 

-- 
Ambros Gleixner, Research Group Mathematical Optimization Methods at 
Zuse Institute Berlin, http://www.zib.de/gleixner


More information about the Scip mailing list