[Coin-discuss] How to cut off "optimal" solution in CBC
Lou Hafer
lou at cs.sfu.ca
Wed Aug 24 13:08:37 EDT 2005
I lean toward Tobias' and Francois' line of thought. When I read Jim
Hurd's email, my first thought was ``Yeah, that's how it's supposed to work.''
Record the solution and then change the goal posts so as not to discover
equivalent solutions. Deciding to reject a newly discovered best solution
should be an independent decision, not necessarily associated with a cut
generator. Maximum flexibility would give three options:
* discard incumbent in favour of newly discovered solution (the current
action)
* retain incumbent, discard newly discovered solution
* discard both (utility unclear, but easy given previous two)
My suggestion would be a checkFeasible() associated with a CbcEvalSoln
class created for this purpose. (Akin to current architecture for branching,
node selection.) Implement checkFeasible as a virtual function with a default
that recommends keeping the newly discovered solution (i.e., no change in
behaviour). User could derive a more intelligent function if desired. A
checkFeasible could be associated with a cut generator, but this should not be
the only option.
Lou
More information about the Coin-discuss
mailing list