Hello,
I detected that after solving a problem (optimal solution with solver knitro) and “restarting” the solving process once again (same problem, no additional AMPL commands), the solving process runs into an infeasibility. How can this happen? Any ideas?
Best regards,
Lothar
Knitro’s first “optimal solution” isn’t exactly optimal; it satisfies optimality conditions to within some small tolerances. Thus, even though the second solve sends Knitro the first solve’s solution as a starting point, Knitro often has to do additional iterations to verify optimality the second time. This is especially the case when Knitro’s interior-point algorithm is used, because that algorithm is not especially well suited to taking advantage of a “warm start”.
It is conceivable that at the second solve, Knitro would go off on a different iteration path entirely, and would get stuck at some local optimum of its infeasibility function — though this does seem unlikely.
To investigate further, set
option knitro_options 'outlev=3';
before the first solve; or, if you are already defining a knitro_options
string, add outlev=3
to it. That will produce a detailed log of the two solves, showing many details of what is happening in Knitro. Then to get more help, you can post the logs (or files containing the logs) here.
Thank’s for the fast reply, Robert. I will do this (setting outlev=3) and will investigate the results.
Best regards,
Lothar