Originally posted by: SystemAdmin
If I understand you correctly, you know (or you are at least pretty sure) that there can not be any solution of your minimization problem that is better (i.e., smaller) than some value B. You want to provide this value to CPLEX such that it can make good use of it in order to speed up the search process.
Unfortunately, a lower bound will not help much. The global dual bound is really of not much use during the search process. The only use it has is to trigger a gap based abort criterion.
Your hope that one can prune nodes with dual bound smaller than B is not justified. Namely, it could very well be that the optimal solution is in the sub tree rooted by such a node. In particular, the root node of the search tree will be such a node; why are you hoping that you can prune the root node?
The only two places where the dual bounds of the nodes are used in the algorithm are for pruning the node (when the node's dual bound exceeds the cutoff obtained from the primal bound) and for the node selection. The former does not apply in your case. So, the only somewhat reasonable thing to do with a user provided global dual bound information (besides the abort criterion) would be to prefer selecting nodes that have a dual bound that is close to B, instead of search in areas of the search tree where the dual bound is smaller. But I doubt that this will help much.
You already tried the obvious approach, namely to add c*x >= B as constraint. This has already been discussed multiple times in this forum. The summary is that such a constraint will typically not help at all. In contrast, it usually degrades performance significantly. The reason is that then all nodes will have the same dual bound, and CPLEX can no longer measure the impact of branching decisions by tracking the objective change that they triggered (so-called "pseudo cost branching"). Hence, branching will basically be random, and the search tree will usually get much bigger due to poor branching decisions.
Tobias
#CPLEXOptimizers#DecisionOptimization