I define a objective function and use optimization subroutine NLPNMS to optimize it in IML. After a long time runing, the following error pops up in log window:
ERROR: NMSIMP Optimization cannot be completed. ERROR: The function value of the objective function cannot be computed during the optimization process. ERROR: Execution error as noted previously. (rc=100)
operation : NLPNMS at line 501 column 1 operands : *LIT1287, x0, , constr
*LIT1287 1 row 1 col (character, size 2)
x0 1 row 6 cols (numeric)
0.5 0.1 0.1 0.5 0.1 0.1
constr 2 rows 6 cols (numeric)
-0.99 0.01 0.01 -0.99 0.01 1 0.99 . . 0.99 . .
statement : CALL at line 501 column 1 501! /*call Nelder-Mead Simplex optimization subroutine*/ 502 print xr; ERROR: Matrix xr has not been set to a value.
If I use the xr at this step as my suboptimal result, how can i get it?
For most optimization methods you can print out the iteration history by specifying a large value for the "how much printed output do you want" option. The iteration history will help you to determine if the optimization is diverging to infinity (bad, don't use the final estimate) or is converging, but very slowly.
See the doc for NLP options. The option is opt. I can't remember if you need opt=1 or opt=4.
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.