message:"Function minimizer: Step size too small -- ialph=1"

159 views
Skip to first unread message

Nan Yao

unread,
Jul 5, 2016, 5:02:23 PM7/5/16
to ADMB Users
Hi, ADMB user,

Can anyone help me with ADMB model: my model did not converge and ADMB displays the message:"Function minimizer: Step size  too small -- ialph=1." and the warning "Hessian does not appear to be positive definite". So I use the derivatives tracker. And this is my result: 

10    -386006        -386006
 5     -12032.9       -12032.9
 12   -10255.1       -10255.1
 6     -6792.69       -6792.69
 8     -6711.44        -6711.44
 11    6565.36       -6565.36
 13   -3919.64       -3919.64
 7    -1659.74        -1659.74
 15   -1223.39        -1223.39
 9     -914.994        -914.994
 1      8.90793        -8.90793
 14     -4.76506      -4.76506
 2      1.03379        -1.03379
 3      0.389371      -0.389371
 4      0.299615      -0.299615
As you can see, none of my derivatives are 0, so does the message I receive means that my data is not agreed with my model?

Thanks advance!

Nan 

Dave Fournier

unread,
Jul 5, 2016, 5:09:05 PM7/5/16
to ADMB Users

Hi,

that's interesting.  the derivatvies for parameters 1 2 3 and 4 have the wrong sign. So something is non differentiable at the
point where you are estimating them.  If you post the tpl file and the dat file and if necessary the pin file I might be able to say more.

          Dave



 

Nan 

Nan Yao

unread,
Jul 6, 2016, 1:34:22 PM7/6/16
to ADMB Users
Hi, Dave,

Thanks so much for the responds. I attached my .tpl and .dat file. Please let me know what you think.

Nan 
gromat_H.dat
gromat_M.dat
gromat_N.dat
initial.dat
Prior.dat
SPSSM.dat
SPSSM.tpl

Dave Fournier

unread,
Jul 6, 2016, 6:39:18 PM7/6/16
to ADMB Users

On Wednesday, July 6, 2016 at 10:34:22 AM UTC-7, Nan Yao wrote:
Hi, Dave,

Thanks so much for the responds. I attached my .tpl and .dat file. Please let me know what you think.


   If you run the model with  the -dd 1 option. ( I change everything to lower case).

       ./spssm -dd 1

and when prompted enter 1 and then 0 to check for uninitialized variables you will get
Entering derivative checker.
   Enter index (1 ... 15) of derivative to check.
     To check all derivatives, enter 0;
     To quit  enter -1: 1
   Enter step size.
      To quit derivative checker enter -1;
      to check for unitialized variables enter 0): 0

       X           Function     Analytical     Finite Diff;  Index
There appear to be uninitialized variables in the objective function
    f1 = 1263303.50749835 f2 = 1263456.88759496

So there are probably ininitialied variables in the model. these are variables that you accumulate into but do
not initialize, such as

    double x;   // x is not initialized

    for (int i=1;i<=10;i++)
      x+=i;












 

Nan Yao

unread,
Jul 7, 2016, 5:45:09 PM7/7/16
to ADMB Users
Hi, Dave,

Thanks so much for you help. I fixed the problem based on your advises. 

Nan 
Reply all
Reply to author
Forward
0 new messages