Originally posted by: hllsen
Hello,
I solve an LP iteratively by adding cuts (Benders) using Cplex 12.7.0 callable library. To get the most out of the re-optimization features, I use the same cpxenv and cpxlp, and add the generated cuts to the lp and re-optimize. With some instances, CPXlpopt finds the model unbounded but the LP is bounded (in which all variables are bounded from below and above). However, when I write out this model (either as lp or sav), the interactive optimizer quickly finds the optimal (even with the sav file which includes the basis that supposed to lead to the unboundedness). I thought this might be because of a numerical difficulty and tested with numerical emphasis on but nothing changed (the condition number of the basis is not huge, 1e+4).
I am guessing, there are some internal parameters which are modified by cplex during the optimization process (for example, Markowitz threshold is one of them) and they are kept at those values after solution process has ended. Then, when a new constraint is added and the model is re-optimized these modified parameters lead to incorrect result. Does this make sense? If so, is there a way to prevent it without resorting to using a new environment for each LP? Or is there a way to print/reset these internally modified parameters?
Thank you,
h.
PS: I couldn't attach the lp file due to size limit. Let me know if you need it.
Edit: Forget to attach the other files. Need to write this note to pass the spam prevention algorithm.
#CPLEXOptimizers#DecisionOptimization