Originally posted by: EdKlotz
I ran both CPLEX 12.6.3 (the latest available) and 12.6.0. In both cases CPLEX returns a solution with in objective 200, but in
neither case does it claim that the solution is an optimal one. Here's the output I get with interactive CPLEX (either version):
Nodes Cuts/
Node Left Objective IInf Best Integer Best Bound ItCnt Gap
0 0 -1.00000e+37 0 200.0000 0 ---
Root node processing (before b&c):
Real time = 0.00 sec. (0.03 ticks)
Parallel b&c, 4 threads:
Real time = 0.00 sec. (0.00 ticks)
Sync time (average) = 0.00 sec.
Wait time (average) = 0.00 sec.
------------
Total (root+branch&cut) = 0.00 sec. (0.03 ticks)
Solution pool: 1 solution saved.
MIP - Constructed relaxation is unbounded: Objective = 2.0000000000e+02
Current MIP best bound is infinite.
How does this compare with your runs? If you got the same thing, then that explains it. If CPLEX claimed that solution
was optimal, the some additional investigation is need. Otherwise, if you can put some finite upper bounds on the z variables
in your model, CPLEX then will find the optimal solution with objective 100 that you mention (at least it did for me when I used
upper bounds of 1000 on the z variables).
So you didn't do anything wrong, but you need to always check the solution status, whether it be manually when using
interactive CPLEX, or in your code when calling CPLEX from one of its numerous APIs.
#CPLEXOptimizers#DecisionOptimization