Attached is the output from one optimization using NPLMNS, it turns out that the objective function stops changing beyond iteration 10. from iteration 10 to iteration 300, the output keeps showing -66205. The objective function change keeps showing 0.00813. Similarly the simplex size also attenuates.
Seems like its unnecessarily calling iterating without any improvement. How can I handle this?
You can use the TC= option to specify the values for each termination criteria. For example, if you want to limit the number of function evaluations to 1000 (instead of the default, 3000), you can use:
tct = j(10, 1, .);
tc = 1000;
call NLPNMS( ... ) TC=tc;
Other termination criteria are specified in a similar manner.
If you are fitting parameters of a model to data (for example, maximum likelihood optimization), this behavior often indicates that the model does not fit the data and the likelihood function is very flat. It can indicate a misspecified model or a sample size that is too small.
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.