[Cbc] Missing event CbcEvent::solution when LP relaxation is integral

Sebastian Niemann sebastian.niemann at inform-software.com
Thu May 16 09:48:25 EDT 2013


Hi all,

we are using a custom event handler (which we derive from 
CbcEventHandler and pass in via passInEventHandler()) to get notified as 
soon as a new solution is found. For this, in the event handler method 
::event(CbcEvent whichEvent) we check if whichEvent is either 
CbcEvent::solution or CbcEvent::heuristicSolution.

While events are getting fired for the majority of solutions (e.g. those 
found by heuristics, strong branching etc.) it seems as if the 
CbcEvent::solution event is missing in case the LP relaxation of a node 
is already integral (line 3898 in trunk/Cbc/src/CbcModel.cpp).
This may lead to situations in which model.getBestSolution() returns an 
optimal integer solution although neither CbcEvent::solution nor 
CbcEvent::heuristicSolution have ever been fired, e.g. when the root LP 
relaxation is integral.

Cheers,
Sebastian


More information about the Cbc mailing list