[Coin-discuss] bestPossibleObjective for Cbc

Kish Shen kish.shen at crosscoreop.com
Mon Jul 10 22:24:23 EDT 2006


Hi,

I am interested in obtaining the best possible bound on the objective value 
from a MIP solve. This value is stored in bestPossibleObjective in the 
CbcModel, but it seems that if the MIP search is exited without searching the 
whole tree, because of setting of the allowable MIP gap (e,g, as specified by 
CbcAllowableFractionGap), bestPossibleObjective is set to bestObjective at 
the end of the search.

For example, in the following MIP solve of the bell3a problem:

Cbc0012I Integer solution of 878430 found by heuristic after 150 iterations 
and 2 nodes (1.46 seconds)
Cbc0010I After 500 nodes, 156 on tree, 878430 best solution, best possible 
876741 (8.18 seconds)
Cbc0011I Exiting as integer gap of 1689.38 less than 1e-10 or 0.3%
Cbc0001I Search completed - best objective 878430, took 5109 iterations and 
501 nodes (8.19 seconds)

the search is exited early, with

bestPossibleObjective = 876741
bestObjective = 878430

but by the time I call getBestPossibleObjValue() immediately after the 
branchAndBound() call, it is already set to 878430. [I think this is done 
around line 1700 of my copy of CbcModel.cpp]
 
Is there any way I can get the original bestPossibleObjective before it was 
set to bestObjective? 

Thanks and cheers,

Kish



More information about the Coin-discuss mailing list