Originally posted by: Petr Vilím
Yes, that's right. You can also see the reason why CP Optimizer stopped at the bottom of the log. For example, in case of optimality:
! ----------------------------------------------------------------------------
! Search completed, 6 solutions found.
! Best objective : 45 (optimal - effective tol. is 0)
! Best bound : 45
! ----------------------------------------------------------------------------
Note that CP Optimizer may stop even in the case when LB < UB if the gap is very small. It is configured by parameters OptimalityTolerance and RelativeOptimalityTolerance. That's why there is also "effective tolerance" in the log: it shows UB-LB at the time when CP Optimizer stopped. Here is an example:
! ----------------------------------------------------------------------------
! Search completed, 11 solutions found.
! Best objective : 5000 (optimal - effective tol. is 0.5)
! Best bound : 4999.949
! ----------------------------------------------------------------------------
In this example UB=5000 and LB=4999.949 and effective tolerance is 0.5. Because default RelativeOptimalityTolerance is 0.0001 CP Optimizer stops.
Petr
#DecisionOptimization#OPLusingCPOptimizer