[ADMB Users] Values greater than 1.e+307 in ADMB?

Louis du Buisson louis.dubuisson at ird.fr
Fri May 16 02:11:54 PDT 2014

Dear ADMB users,

Does anybody know how to deal with values greater than 1.e+307 in 
This might seem strange, but let me explain briefly:
I am trying to fit a relatively complex model that consists of 
numerous equations before reaching the final objective function. One 
of these equations predicts a ‘biomass’ with depth profile at a 
specific location and time (This is not really biomass and is unitless 
- call it eqn1.). This is then standardised by dividing biomass at 
depth by the total biomass of the profile of the water column to give 
a relative profile (eqn2.). There are a few more steps after this, but 
the objective function compares this profile (eqn2.) vs the observed 
data (also standardised).

The problem is that eqn1. is an exponential equation that results in 
values greater than 1.e+307, which become Inf in ADMB, in some of the 
iterations. This has a knock on effect that throws the objective 
function out, and the final stats for the parameters estimated give 
-1.#IND and 1.#QNB. I get no warning message usually at the end of 
running the model and I get estimates for the parameters, but the 
stats around the parameter estimates are as mentioned.

I have tried numerous approaches to get around the problem:
1. I tested the problem in matlab. I identified the parameters that 
seem to be causing the trouble in eqn1. by pushing it over Inf. I 
estimate these parameters using a logit approach because they can only 
be between 0 and 1, and therefore I used the logit approach to soften 
the bounds. Before the hard 0 and 1 bounds or anywhere in between this 
caused problems. Therefore, I need to keep the bounds as open as 
possible and can’t constrain these further.
2. Adding penalties to prevent the values of eqn 1. going near Inf. 
This does not work.
3. Mathematically solving the problem: This does not work. I have 
tried numerous approaches here, but the shape of the profile from 
eqn2. is changed every time. This shape cannot be changed.

So, is there any way of telling ADMB to handle those large numbers 
without having to change anything else?

Many thanks,

More information about the Users mailing list