Can we increase maximum number of function evaluations?

6 messages 4 people Latest: Aug 30, 2006
From: musor000@optonline.net Subject: [NMusers] Can we increase maximum number of function evaluations? Date: Sun, 27 Aug 2006 13:39:11 -0400 Hello Nonmem Users, I have a problem, which converges slowly. Is that possible to increase maximum number of function evaluations? Thank you, Pavel
From: Mark Sale - Next Level Solutions mark@nextlevelsolns.com Subject: RE: [NMusers] Can we increase maximum number of function evaluations? Date: Sun, 27 Aug 2006 13:36:30 -0700 Sure, easy, put this code at the top of the $PK block: " FIRST " COMMON /PRCOMG/ IDUM1,IDUM2,IMAX " INTEGER IDUM1,IDUM2,IMAX " IMAX=10000000 but, also consider if your DE system is "stiff" - meaning that the rate of change of the slowest compartment is much, much slower than the fastest (i.e., KA is 10 and Ke is 0.001). Might consider trying ADVAN8 or ADVAN9 - which do much better for stiff systems. Mark Sale MD Next Level Solutions, LLC www.NextLevelSolns.com
From: Nick Holford n.holford@auckland.ac.nz Subject: RE: [NMusers] Can we increase maximum number of function evaluations? Date: Mon, 28 Aug 2006 10:08:46 +1200 Hi, Pavel is rather vague about the problem he is having and why he is interested in changing function evaluations. It seems there are two issues here: First, in NONMEM speak the number of function evaluations usually means the number of objective function evaluations. It is controlled by the $ESTIMATION option MAXEVALS. The maximum possible is MAXEVALS=9999. This can be used to limit the amount of work that NONMEM does when searching for parameters. Typically one uses either MAXEVALS=9999 or MAXEVALS=0. I dont have much use for other values. MAXEVALS=n2 Maximum allowable number of evaluations of the objective function during the Estimation Step. Default: a generous number. (Each evaluation of the objective function requires one pass through the data set.) This is also referred to as a "function evalua- tion.") MAXEVAL=0 omits the Estimation Step; it is useful with POSTHOC. MAXEVALS=-1 may be specified when a $MSFI record is present. It requests that NONMEM re-use the value from the pre- vious run, and is the default with $MSFI. Second, Mark has shown some verbatim code for increasing the number of differential equation evaluations used by the differential equation solver. This has little to do with the job that NONMEM is doing i.e. estimating the model parameters, but has to do with the work required to solve the differential equations. Mark gives an example for increasing the rather small number of DE evaluations that is supplied by default. The online help indicates the verbatim option FIRST should start immediately after the ". FIRST verbatim code Verbatim lines which must be positioned immediately after the declarations which are part of the normal subroutine header, and prior to the FIRST executable statement of the subroutine, must precede the first line of abbreviated code and must start with the line "FIRST. I am not sure if it makes any difference to do it the way that Mark wrote it. However, it is essential to have at least one blank between " and COMMON. If not then NM-TRAN will treat this record as a Fortran comment statement. Nick -- Nick Holford, Dept Pharmacology & Clinical Pharmacology University of Auckland, 85 Park Rd, Private Bag 92019, Auckland, New Zealand email:n.holford@auckland.ac.nz tel:+64(9)373-7599x86730 fax:373-7556 http://www.health.auckland.ac.nz/pharmacology/staff/nholford/
From: "Bill Bachman" bachmanw@comcast.net Subject: RE: [NMusers] Can we increase maximum number of function evaluations? Date: Sun, 27 Aug 2006 19:31:50 -0400 There are legitimate uses for other than values of 0 or 9999. For example, with long slow runs using differential equations, one might want to do a preliminary timing experiment with maxeval=10 or 100 with ADVANs 6, 8, & 9 to determine which advan is fastest. You could then use the fastest advan (for the particular problem) to do the complete run(s).
From: Mark Sale - Next Level Solutions mark@nextlevelsolns.com Subject: RE: [NMusers] Can we increase maximum number of function evaluations? Date: Sun, 27 Aug 2006 17:27:26 -0700 I see that I misread the question - it wasn't about iterations. The only way I'm aware of to increase the nunber of function evaluations is to run 9999, save to a MSF, use that as the initial for the next and run another 9999. I'm pretty sure this can be done in the same run, using multiple problems. Interestingly, the only reason, that I'm aware of for this limit is the only 4 spaces are available for this number in the FCON file. NONMEM itself has no such limit (possibly a INTEGER type, limit of 32,000) Mark Sale MD Next Level Solutions, LLC www.NextLevelSolns.com
From: musor000@optonline.net Subject: RE: [NMusers] Can we increase maximum number of function evaluations? Date: Wed, 30 Aug 2006 15:32:57 -0400 Hello Nick, I am getting strange results. When I use $EST .... MSFO=MSF44.MSF in a job which ends quickly, the output MSF file is created. When I run a job which is interrupted due to large number of function evaluations, the output MSF file is not created. Thank you, Pavel _______________________________________________________