Operations Research topics: SAS/OR,
SAS Optimization, and SAS Simulation Studio

IML - NLPNRA sub-routine

Reply
N/A
Posts: 0

IML - NLPNRA sub-routine

Hi,

I programmed a likelihood function with 465 unknowns and trying to maximize log-likelihood using this sub-routine. As the number of unknowns are large, the sub-routine throws a note "I/O required temporary file to be open" and "Initial allocation of symbol space exhausted. You may specify SYMSIZE = option on PROC IML statement to increase its allocation for more efficiency". As suggested by the sub-routine, I increased the symsize to 30000 (max limit), still it throws the same error. I guess this happens as the symbol space is exhausted. Could anyone tell me how to resolve this and suggest an alternative so that I can estimate unknowns. Many thanks. Bhaskar
N/A
Posts: 0

Re: IML - NLPNRA sub-routine

Hi..just to know if my program working or not, I reduced the number of unknowns to 58 so that the sub-routine doesnt run out of symbol space. This idea worked avoiding symbol space problem but only one iteration happened and the "ABSGCONV" satisfied leaving the final solution at initial values. Would any one of you know the reason for this. That would be of great help. Thanks - Bhaskar
SAS Employee
Posts: 94

Re: IML - NLPNRA sub-routine

As for the premature convergence for the 58 variable case, you probably need to check over your termination criteria. In the IML doc, go to
SAS Products->SAS/IML User's Guide->Nonlinear Optimization Examples->Details->Termination Criteria. There are several possible criteria that you can use to determine when to stop iterating the solver, and my guess is that the default gradient-based termination criteria is too loose for your particular problem. If you can't figure it out, work with SAS Technical Support. You can send your code to them if necessary for a specific diagnosis.
N/A
Posts: 0

Re: IML - NLPNRA sub-routine

Thanks Joe, I have not set any termination criteria and left default. However, I take your point of discussing with SAS technical support. In which whom should I contact and how. If you could let me know that would be great. Thanks, Bhaskar
SAS Employee
Posts: 94

Re: IML - NLPNRA sub-routine

You might try setting the SAS MEMSIZE= configuration option to MAX, as this limits how much you can request for the SYMSIZE option in proc iml. I'm not sure what the default is on your machine, but it might be worth a try. I also suggest you check with SAS Technical support, as they have direct access to the SAS developer, if they get stumped.
SAS Employee
Posts: 3

Re: IML - NLPNRA sub-routine

You can contact SAS technical support by any of the ways suggested at this site:

http://support.sas.com/techsup/contact/index.html

It would be beneficial for you to email your problem description, code, and data so that technical support can attempt to reproduce your problem to further diagnose it.
Ask a Question
Discussion stats
  • 5 replies
  • 327 views
  • 0 likes
  • 3 in conversation