When I reoptimize a model with a parameter value (e.g. CPX_PARAM_EPINT) changed, CPLEX doesn't seem to take into consideration this effect. Why?
CPLEX's behavior regarding reoptimizations and parameter settings depends on the algorithm and problem type. For MIPs, changing a parameter and reoptimizing typically invalidates the branch and bound tree associated with the previous optimization. So, if the advanced start indicator is on, CPLEX must choose between respecting the advanced start indicator and the new parameter settings. CPLEX chooses the advanced start indicator, so a previously optimal solution remains optimal. In contrast, with continuous models solved by the simplex method, the new parameter settings do not invalidate the previous optimization. Instead, CPLEX can apply them to the optimal basis and proceed. So, CPLEX will use the new settings as it reoptimizes. For the barrier method, CPLEX will always restart from scratch, as the barrier method currently lacks the restarting capabilities of the simplex method.Therefore, this question only pertains to CPLEX's MIP optimizer. As long as the advanced start indicator is on, CPLEX will not start the second optimization if the first problem solved has not been changed. So, when you reoptimize the same MIP model with a changed parameter setting, you need to either turn the advance indicator parameter off (set CPX_PARAM_ADVIND to 0) or, remove the problem object from memory and re-load it. This way you will ensure that CPLEX solves the problem again.
|Business Integration||IBM ILOG CPLEX Optimization Studio||General||AIX, HP-UX, Linux, Solaris, Windows, Mac OS||12.2||All Editions|