Originally posted by: J.M.
Attached is a MATLAB script which is a minimal runnable excerpt from a bigger project.
It contains two MIQP problems which are identical except for one modification: In Problem 2 the upper bound on one variable is reduced, compared to Problem 1.
This would imply that the optimal value of Problem 2 is greater or equal than the optimal value of Problem 1, since the domain of Problem 2 is smaller.
However, if I run the problem through cplexmiqp, I get the solutions: Problem 1: 6.6061e+03 and Problem 2: -1.9836e+04
Clearly, the solution to Problem 1 is wrong. I have also put the solution x vector from Problem 2 into the constraints of Problem 1 which shows it is a valid solution.
How can this be? It seems like adding the redundant constraint in Problem 2 helped CPLEX find the optimum. Does cplexmiqp not find global solutions?
This was tested under Windows 7 x64, MATLAB R2015a x64, with both CPLEX 12.6.1 and 12.6.3
#CPLEXOptimizers#DecisionOptimization