Originally posted by: SystemAdmin
I am not quite sure whether I understand you correctly, so I am summarizing how I interpret what you have been doing before answering:
1. You solve the MIP problem P to minimize an integer variable 1 <= y <= 15 to optimality. The initial root LP relaxation value yields a lower bound of 9. CPLEX finds and proves the optimal solution of value 15 in 20,000 simplex iterations.
2. You solve the same problem P again, giving the optimal solution of value 15 as a MIP start and changing the lower bound of the objective function variable y to 14. This time, CPLEX needs much longer (2,000,000 simplex iterations) to prove optimality of the MIP start solution.
3. You wonder why this is the case, as in (2) you gave much more information to CPLEX than in (1).
As I said earlier, providing a MIP start is usually a good idea, but because MIP is NP-hard you never know and for a single model it could very well happen that it deteriorates the solver performance.
But: Providing a valid
lower bound for a minimization problem (in your case by means of increasing the lower bound of y; more generally by adding a constraint c*x >= l) is typically a very
bad idea.
This sounds counter-intuitive (as you reduce the search space often substantially by this constraint), but there is an algorithmic reason for this. Namely, adding a constraint that is parallel to the objective function makes your LP relaxation of the problem terribly degenerate. In the LP relaxation, you have suddenly a very big face of the LP polyhedron that is LP optimal. So, whatever CPLEX tries to do to get away from fractional solutions on this face (cutting planes or branching) will almost never show any effect in the objective function. In your case, CPLEX will stay at value 14 for the whole solving process until it finally proves that no solution of value 14 exists. The change in the objective function after adding a cut or branching on a variable is an important measure that CPLEX uses heuristically to decide whether the cut or branching was a good choice or not. Introducing this degeneracy means that CPLEX will conclude that none of its strategies has a positive effect and everything looks completely identical. This is particularly harmful to branching, as usually CPLEX tries to learn from previous branching decisions what it should do in the future. Thus, you may end up with almost random branchings, while without the lower objective bound CPLEX can identify the structurally important variables and come up with a much smaller search tree.
Tobias
#CPLEXOptimizers#DecisionOptimization