Q: I solve a mixed-linear integer problem with Cplex and I get the following message:
Final LP did not return an optimal solution. Proven optimal solution.
What is the difference between this solution and the one obtained when the message is just:
Proven optimal solution.
Is it related with the quality of the solution obtained?
You can follow what happened in the log. After finding optimal values for the discrete variables with the Cplex branch and cut algorithm, GAMS wants us to return a complete solution including dual values. So, we fix the discrete variables at the values returned by the branch and cut algorithm and solve a final LP. That LP turns out to be infeasible. Having this happens tells you that the model has numerical problems. We return the solution so that it can be analyzed. Most likely you'll see is that there are small infeasibilities but otherwise the solution will look pretty good.
You can often make this go away by turning on a more aggressive scaling (preferred, Cplex option:
scaind 1) or by specifying a smaller integrality tolerance (Cplex option
epint). You could also work on figuring out why the model is numerically difficult, as well as, try if Cplex option
numericalemphasis makes a difference. If you are only interested in the primal solution of your model, the Cplex option
solvefinal 0 will turn of the solution of the final LP. In that case no duals will be reported.