Generally what hyperparameters should one try when getting the above two exit codes? I tried increasing max_iter to 10,000 which noticeably slowed down the optimization but I’m still getting ITERATION_LIMIT. One thing I’m not 100% sure is whether Ipopt is by-default running a first-order or second-order gradient method?
Note: I’m running optmiization multiple times and based on different initialization/objective parameter values, get either ITERATION_LIMIT or NUMERICAL_ERROR.
Hoping there are some generic solutions to try before providing more details about my specific use-case. Code:
Answering my own question. I solved this by using NLopt (with LD_SLSQP) instead of Ipopt. It seems to work much better out of the box which is better for noobies. It also allowed me to remove the tolerance hack.