ADMB Documentation  -a65f1c97
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
function_minimizer Class Referenceabstract

Description not yet available. More...

#include <admodel.h>

Public Member Functions

 function_minimizer (long int sz=0L)
 
virtual ~function_minimizer ()
 Destructor. More...
 
virtual void AD_uf_inner ()
 
virtual void AD_uf_outer ()
 
void adamoeba (const dmatrix &p, const dvector &y, int ndim, double ftol, int maxfn)
 Nelder-Mead simplex alogrithm. More...
 
double adapt_eps (int ii, int iseps, double eps, double alpha, double &adapt_delta, double &mu, dvector &epsvec, dvector &epsbar, dvector &Hbar)
 
void add_sample_dense (const int nvar, int &is2, dvector &m, dmatrix &m2, const independent_variables &q)
 Calculate running covariance using Welford's "online" algorithm. More...
 
void add_sample_diag (const int nvar, int &n, dvector &m, dvector &m2, const independent_variables &q)
 Calculate running covariance using Welford's "online" algorithm. More...
 
dvariable adromb (_func func, double a, double b, int ns=9)
 Romberg integration. More...
 
dvariable adromb (_func func, const dvariable &a, double b, int ns=9)
 Romberg integration. More...
 
dvariable adromb (_func func, const dvariable &a, const dvariable &b, int ns=9)
 Romberg integration. More...
 
dvariable adromb (_func func, double a, const dvariable &b, int ns=9)
 Romberg integration. More...
 
dvariable adrombo (_func func, double a, double b, int ns=9)
 
dvariable adrombo (_func func, const dvariable &a, double b, int ns=9)
 
dvariable adrombo (_func func, const dvariable &a, const dvariable &b, int ns=9)
 
dvariable adrombo (_func func, double a, const dvariable &b, int ns=9)
 
virtual void allocate ()
 
double amxxx (const dmatrix &p, const dvector &y, const dvector &psum, int ndim, int ihi, double fac)
 Description not yet available. More...
 
void begin_df1b2_funnel (void)
 
void begin_funnel_stuff (void)
 
void begin_gauss_hermite_stuff (void)
 
virtual void between_phases_calculations (void)
 
void build_tree (int nvar, dvector &gr, dmatrix &chd, double eps, dvector &p, dvector &y, dvector &gr2, double logu, int v, int j, double H0, dvector &_thetaprime, dvector &_thetaplus, dvector &_thetaminus, dvector &_rplus, dvector &_rminus, double &_alphaprime, int &_nalphaprime, bool &_sprime, int &_nprime, int &_nfevals, bool &_divergent, const random_number_generator &rng, dvector &gr2_end, dvector &_grprime, dvector &_gr2prime, double &_nllprime, double &_Hprime, independent_variables &_parsaveprime)
 
bool calculate_chd_and_inverse (int nvar, const dmatrix &metric, dmatrix &chd, dmatrix &chdinv)
 Calculate the Cholesky decomposition and its inverse given a mass matrix. More...
 
bool choleski_decomp_hmc (const dmatrix &metric, dmatrix &L)
 
void computations (int argc, char *argv[])
 
void computations (void)
 
void computations1 (int argc, char *argv[])
 
void computations_np (int argc, char *argv[])
 
int compute_next_window (int i, int warmup, int w1, int aws, int w3)
 
int constrained_minimization2 (int _n, int _nh, int _ng, dvector &__x)
 
void constraint_report (void)
 
virtual void constraints_minimize (void)
 
virtual void deallocate ()
 
dmatrix dep_hess_routine (const dvariable &dep)
 Description not yet available. More...
 
void depvars_routine (void)
 Calculate the derivatives of dependent variables with respect to the independent variables. More...
 
dmatrix diag_hess_routine (void)
 
double diag_projected_hess_determinant (const dvector &g, const int underflow_flag, dmatrix &dh)
 
dvariable do_gauss_hermite_integration (void)
 
int ef_ (double *f, double *x)
 
void end_df1b2_funnel (void)
 
void end_df1b2_funnel_stuff (void)
 
void end_gauss_hermite_stuff (void)
 
void end_get_importance_sampling_comnponent (void)
 
double exprnd (double p)
 
virtual void final_calcs (void)
 
double find_reasonable_stepsize (int nvar, dvector y, dvector p, dmatrix &chd, bool verbose_adapt_mass, bool verbose_find_epsilon, int chain)
 
void function_evaluation_block_pvm_slave (void)
 
void function_evaluation_block_pvm_slave_random_effects (int nvar, int _crit, independent_variables &x, const dvector &g, const double &f)
 
void function_evaluation_block_pvm_slave_random_effects (void)
 
void get_bigS (int ndvar, int nvar1, int nvar, dmatrix &S, dmatrix &BS, dvector &scale)
 Description not yet available. More...
 
std::string get_filename (const char *f)
 
void get_function_difference (void)
 
dmatrixget_hessian ()
 
dmatrixget_hessian_inverse ()
 
double get_hybrid_monte_carlo_value (int nvar, const independent_variables &y, dvector &g)
 Written by Dave, commented by Cole starting 8/31/2016 Description not yet available. More...
 
double get_ln_det_value () const
 
double get_monte_carlo_value (int nvar, const independent_variables &x)
 
double get_monte_carlo_value (int nvar, const independent_variables &x, dvector &g)
 
double get_monte_carlo_value (int nvar, const dvector &x)
 
void get_particular_grad (int iprof, int nvar, const dvector &fg, const dvector &g)
 
double hess_determinant (int underflow_flag)
 
bool hess_inv ()
 Symmetrize and invert the hessian. More...
 
void hess_routine (void)
 
void hess_routine_and_constraint (int iprof, const dvector &g, dvector &fg)
 
void hess_routine_master (void)
 
void hess_routine_noparallel (void)
 
void hess_routine_noparallel_random_effects (void)
 Description not yet available. More...
 
void hess_routine_noparallel_randomeffects (void)
 
void hess_routine_random_effects (void)
 Description not yet available. More...
 
void hess_routine_slave (void)
 
void hess_routine_slave_random_effects (void)
 Description not yet available. More...
 
void hess_step ()
 hess_step is used for HMC. See details in function_minimizer::hess_step. More...
 
void hybrid_mcmc_routine (int, int, double, int)
 Description not yet available. More...
 
double leapfrog (int nvar, dvector &gr, dmatrix &chd, double eps, dvector &p, dvector &x, dvector &gr2)
 Function to take a single HMC leapfrog step, given current position and momentum variables. More...
 
void likeprof_routine (double global_min)
 
void limited_memory_quasi_newton (const independent_variables &, int)
 
void limited_memory_quasi_newton (const independent_variables &, int, int)
 
void limited_memory_quasi_newton (double &f, const independent_variables &, int, int, int, double)
 
void limited_memory_quasi_newton_block (int nvar, int _crit, independent_variables &x, const dvector &_g, const double &_f, int nsteps)
 Description not yet available. More...
 
void mcmc_computations (void)
 
void mcmc_eval (void)
 Description not yet available. More...
 
void mcmc_routine (int, int, double, int)
 Monte Carlo Markov Chain minimization routine Approximate the target distribution by performing a random walk across parameter space, integrating at each step. More...
 
virtual void minimize (void)
 
void monte_carlo_routine (void)
 
void multint (int n, const dvar_vector &a, const dvar_vector &b, const dvar_vector &h, double al, int m, const dvariable &e, const dvariable &aint, const int &key, PMFVI f)
 
void multint4 (int n, const dvar_vector &a, const dvar_vector &b, const dvar_vector &h, double al, int m, const dvariable &e, const dvariable &aint1, const dvariable &aint2, dvariable &aint3, const dvariable &aint4, const int &key, PMFVIV4 f)
 
void neldmead (int n, dvector &_start, dvector &_xmin, double *ynewlo, double reqmin, double delta, int *icount, int *numres, int *ifault)
 Nelder-Mead simplex alogrithm. More...
 
void normalize_posterior_distribution (double udet, const dvector &siglevel, const ofstream &ofs2, int num_pp, const dvector &all_values, const dmatrix &actual_value, double global_min, int offset, const dmatrix &lprof, const dmatrix &ldet, const dmatrix &xdist, const dmatrix &penalties)
 
void nuts_mcmc_routine (int, int, double, int)
 The function implements the MCMC algorithm NUTS, which is a self-tuning variant of Hamiltonian Monte Carlo. More...
 
virtual void other_calculations (void)
 
void other_separable_stuff_begin (void)
 
void other_separable_stuff_end (void)
 
void pre_user_function (void)
 Description not yet available. More...
 
void pre_userfunction (void)
 
void print_mcmc_progress (int is, int nmcmc, int nwarmup, int chain, int refresh)
 
void print_mcmc_timing (double time_warmup, double time_total, int chain)
 
void prof_hess_routine (int ip, double new_value, double final_weight)
 
void prof_minimize (int iprof, double sigma, double new_value, const double &fprof, const int underflow_flag, double global_min, const double &penalties, const double &final_weight)
 
void prof_minimize_re (int iprof, double sigma, double new_value, const double &fprof, const int underflow_flag, double global_min, const double &penalties, const double &final_weight)
 
double projected_hess_determinant (const dvector &g, const int underflow_flag, const dvector &xscale, const double &ln_det_proj_jac)
 
double projected_hess_determinant (const dvector &g, const int underflow_flag)
 
double projected_hess_determinant (const dmatrix &hh, const dvector &g, const int underflow_flag)
 
double projected_hess_determinant (const dvector &fg, const dvector &g, const int underflow_flag, const dvector &curvscale, const dvector &xscale, double &ln_det_proj_jac, const double &tmp, const dmatrix &hesses)
 
double projected_jacobian (const dvector &g, const dvector &xscale)
 
void pvm_master_function_evaluation (double &f, independent_variables &x, const dvector &g, int nvar)
 
void pvm_master_function_evaluation_no_derivatives (double &f, independent_variables &x, int nvar)
 
void pvm_master_function_evaluation_profile (double &f, independent_variables &x, const dvector &g, int nvar, int iprof, double weight, double new_value)
 
double pvm_master_get_monte_carlo_value (int nvar, const dvector &x)
 
void pvm_master_mcmc_computations (void)
 
void pvm_master_mcmc_routine (int nmcmc, int iseed0, double dscale, int restart_flag)
 
void pvm_master_prof_minimize (int iprof, double sigma, double new_value, const double &_fprof, const int underflow_flag, double global_min, const double &_penalties, const double &_final_weight)
 
void pvm_slave_function_evaluation (void)
 
void pvm_slave_function_evaluation_no_derivatives (void)
 
void pvm_slave_function_evaluation_noder (void)
 
void pvm_slave_get_monte_carlo_value (int nvar)
 
void pvm_slave_likeprof_routine (void)
 
void pvm_slave_mcmc_computations (void)
 
void pvm_slave_mcmc_routine (void)
 
void pvm_slave_prof_minimize (int underflow_flag)
 
void quasi_newton_block (int nvar, int crit, independent_variables &x, const dvector &g, const double &f)
 Description not yet available. More...
 
void quasi_newton_block_pvm_master (int nvar, int _crit, independent_variables &x, const dvector &g, const double &f)
 
void quasi_newton_block_pvm_master_random_effects (int nvar, int _crit, independent_variables &x, const dvector &g, const double &f)
 
void quasi_newton_minimizer1 (int nvar, double _crit, double &f, const independent_variables &x, const dvector &g)
 
dvariable random_effects_maximization (const dvar_vector &v)
 
void read_mle_hmc (int nvar, dvector &mle)
 
dvector rotate_gradient (const dvector &x, const dmatrix &m)
 
dvector rotate_pars (const dvector &m, const dvector &x)
 
dvector rotate_pars (const dmatrix &m, const dvector &x)
 
void rwm_mcmc_routine (int, int, double, int)
 
void sd_routine (void)
 
void set_initial_simplex (const dmatrix &p, const dvector &y, int nvar, const dvector &x, double delta)
 
void set_multinomial_weights (dvector &d)
 
virtual void set_runtime (void)
 
virtual void set_runtime_crit (const char *)
 
virtual void set_runtime_maxfn (const char *)
 
void setup_quadprior_calcs (void)
 
void sgibbs_mcmc_routine (int, int, double, int)
 
void shmc_mcmc_routine (int, int, double, int)
 
bool slow_phase (int is, int warmup, int w1, int w3)
 
void sob_routine (int nmcmc, double dscale, int restart_flag)
 
void sobol_importance_routine (int nmcmc, int iseed0, double dscale, int restart_flag)
 
void start_get_importance_sampling_comnponent (void)
 
bool stop_criterion (int nvar, dvector &thetaminus, dvector &thetaplus, dvector &rminus, dvector &rplus)
 
void top_mcmc_routine (int, int, double, int)
 
dvariable trapzd (void *, double a, double b, int n)
 
dvariable trapzd (_func func, double a, double b, int n)
 Extended trapezoid rule. More...
 
dvariable trapzd (_func func, double a, const dvariable &b, int n)
 Extended trapezoid rule. More...
 
dvariable trapzd (_func func, const dvariable &a, double b, int n)
 Extended trapezoid rule. More...
 
dvariable trapzd (_func func, const dvariable &a, const dvariable &b, int n)
 Extended trapezoid rule. More...
 
void trust_region_update (int nvar, int _crit, independent_variables &x, const dvector &_g, const double &_f)
 Description not yet available. More...
 
double unrestricted_hess_determinant (void)
 
virtual dvar_matrix user_d2frandeff (const dvar_vector &x)
 
virtual dvar_vector user_dfrandeff (const dvar_vector &x)
 
virtual void user_function ()
 
virtual dvariable user_randeff (const dvar_vector &x)
 
virtual void userfunction (void)=0
 

Static Public Member Functions

static int inner_opt (void)
 

Public Attributes

double crit
 
double dfn
 
int diagonal_metric_flag
 
long iexit
 
long ifn
 
long ihang
 
long ihflag
 
int imax
 
int iprint
 
laplace_approximation_calculatorlapprox
 
int maxfn
 
int maxfn_flag
 
int mcmc2_flag
 
double min_improve
 
dvectormultinomial_weights
 
dmatrixnegdirections
 
int quit_flag
 
int repeatminflag
 
int robust_hybrid_flag
 
int scroll_flag
 
int spminflag
 

Static Public Attributes

static int bad_step_flag =0
 
static int constraint_exit_number
 
static int first_hessian_flag =0
 
static int inner_opt_flag =0
 
static int likeprof_flag
 
static int negative_eigenvalue_flag =0
 
static int output_flag = defaults::output
 
static named_dvar_vectorpg
 
static named_dvar_vectorph
 
static int random_effects_flag =0
 
static int test_trust_flag =0
 

Protected Member Functions

virtual void report (const dvector &gradients)
 
void report_function_minimizer_stats (void)
 

Protected Attributes

double ffbest
 

Static Protected Attributes

static dvector convergence_criteria
 
static int have_constraints =0
 
static dvector maximum_function_evaluations
 
static int sd_flag
 
static adstring user_data_file
 
static adstring user_par_file
 

Private Member Functions

dvariable do_gauss_hermite_integration_multi (void)
 

Private Attributes

dmatrix _hessian
 
dmatrix _hessian_inverse
 
double _ln_det_value
 
adstring_array param_labels
 
ivector param_size
 
gradient_structurepgs
 

Friends

class equality_constraint_vector
 
class inequality_constraint_vector
 

Detailed Description

Description not yet available.

Parameters

Definition at line 1850 of file admodel.h.

Constructor & Destructor Documentation

function_minimizer::function_minimizer ( long int  sz = 0L)

Definition at line 553 of file xmodelm3.cpp.

function_minimizer::~function_minimizer ( )
virtual

Destructor.

Definition at line 633 of file xmodelm3.cpp.

Member Function Documentation

void function_minimizer::AD_uf_inner ( )
virtual
void function_minimizer::AD_uf_outer ( )
virtual
void function_minimizer::adamoeba ( const dmatrix _p,
const dvector _y,
int  ndim,
double  ftol,
int  nfunk 
)

Nelder-Mead simplex alogrithm.

Parameters
_pMatrix
_yVector
ndimInteger
ftolDouble
nfunkInteger



The implementation of this algorithm was inspired by "Numerical Recipes in C", 2nd edition, Press, Teukolsky, Vetterling, Flannery, chapter 10

Deprecated:
User should use the neldmead function

Definition at line 38 of file amoeba.cpp.

Referenced by minimize().

double function_minimizer::adapt_eps ( int  ii,
int  iseps,
double  eps,
double  alpha,
double &  adapt_delta,
double &  mu,
dvector epsvec,
dvector epsbar,
dvector Hbar 
)

Definition at line 234 of file hmc_functions.cpp.

Referenced by nuts_mcmc_routine(), and shmc_mcmc_routine().

void function_minimizer::add_sample_dense ( const int  nvar,
int &  n,
dvector m,
dmatrix m2,
const independent_variables q 
)

Calculate running covariance using Welford's "online" algorithm.

Parameters
nis a count of samples m is a running vector of means (initialized at 0) m2 is a running vector of unscaled variances (initalized at 0) q is a vector of the new parameters used to update returns updated n, m, and m2 via reference m2/(n-1) is the covariance through n samples this is loosely based off of Stan's algorithm: welford_covar_estimator.hpp

Definition at line 621 of file hmc_functions.cpp.

Referenced by nuts_mcmc_routine().

void function_minimizer::add_sample_diag ( const int  nvar,
int &  n,
dvector m,
dvector m2,
const independent_variables q 
)

Calculate running covariance using Welford's "online" algorithm.

Parameters
nis a count of samples m is a running vector of means (initialized at 0) m2 is a running matrix of unscaled covariance (initalized at 0) q is a vector of the new parameters used to update returns updated n, m, and m2 via reference m2/(n-1) is the covariance through n samples this is loosely based off of Stan's algorithm: welford_covar_estimator.hpp

Definition at line 598 of file hmc_functions.cpp.

Referenced by nuts_mcmc_routine().

dvariable function_minimizer::adromb ( _func  func,
double  a,
double  b,
int  ns = 9 
)

Romberg integration.

Parameters
funcPointer to a member function of class model_parameters.
aLower limit of integration.
bUpper limit of inegration.
ns
Returns
The integral of the function from a to b using Romberg's method

Definition at line 40 of file dfqromb.cpp.

dvariable function_minimizer::adromb ( _func  func,
const dvariable a,
double  b,
int  ns = 9 
)

Romberg integration.

Parameters
funcPointer to a member function of class model_parameters.
aLower limit of integration.
bUpper limit of inegration.
ns
Returns
The integral of the function from a to b using Romberg's method

Definition at line 69 of file dfqromb.cpp.

dvariable function_minimizer::adromb ( _func  func,
const dvariable a,
const dvariable b,
int  ns = 9 
)

Romberg integration.

Parameters
funcPointer to a member function of class model_parameters.
aLower limit of integration.
bUpper limit of inegration.
ns
Returns
The integral of the function from a to b using Romberg's method

Definition at line 127 of file dfqromb.cpp.

dvariable function_minimizer::adromb ( _func  func,
double  a,
const dvariable b,
int  ns = 9 
)

Romberg integration.

Parameters
funcPointer to a member function of class model_parameters.
aLower limit of integration.
bUpper limit of inegration.
ns
Returns
The integral of the function from a to b using Romberg's method

Definition at line 98 of file dfqromb.cpp.

dvariable function_minimizer::adrombo ( _func  func,
double  a,
double  b,
int  ns = 9 
)
dvariable function_minimizer::adrombo ( _func  func,
const dvariable a,
double  b,
int  ns = 9 
)
dvariable function_minimizer::adrombo ( _func  func,
const dvariable a,
const dvariable b,
int  ns = 9 
)
dvariable function_minimizer::adrombo ( _func  func,
double  a,
const dvariable b,
int  ns = 9 
)
virtual void function_minimizer::allocate ( void  )
inlinevirtual
double function_minimizer::amxxx ( const dmatrix _p,
const dvector _y,
const dvector _psum,
int  ndim,
int  ihi,
double  fac 
)

Description not yet available.

Parameters

Definition at line 107 of file amoeba.cpp.

Referenced by adamoeba().

void function_minimizer::begin_df1b2_funnel ( void  )
inline

Definition at line 1877 of file admodel.h.

void function_minimizer::begin_funnel_stuff ( void  )

Definition at line 803 of file xmodelm3.cpp.

void function_minimizer::begin_gauss_hermite_stuff ( void  )

Definition at line 761 of file xmodelm3.cpp.

Referenced by begin_funnel_stuff().

virtual void function_minimizer::between_phases_calculations ( void  )
inlinevirtual

Definition at line 1937 of file admodel.h.

Referenced by minimize().

void function_minimizer::build_tree ( int  nvar,
dvector gr,
dmatrix chd,
double  eps,
dvector p,
dvector y,
dvector gr2,
double  logu,
int  v,
int  j,
double  H0,
dvector _thetaprime,
dvector _thetaplus,
dvector _thetaminus,
dvector _rplus,
dvector _rminus,
double &  _alphaprime,
int &  _nalphaprime,
bool &  _sprime,
int &  _nprime,
int &  _nfevals,
bool &  _divergent,
const random_number_generator rng,
dvector gr2_end,
dvector _grprime,
dvector _gr2prime,
double &  _nllprime,
double &  _Hprime,
independent_variables _parsaveprime 
)

Definition at line 75 of file hmc_functions.cpp.

Referenced by nuts_mcmc_routine().

bool function_minimizer::calculate_chd_and_inverse ( int  nvar,
const dmatrix metric,
dmatrix chd,
dmatrix chdinv 
)

Calculate the Cholesky decomposition and its inverse given a mass matrix.

Parameters
nvarNumber of active parameters metric Mass matrix chd Choleksy decomposition, updated via reference chdinv Inverse of chd, updated via reference returns nothing except updated matrices by reference

Definition at line 641 of file hmc_functions.cpp.

Referenced by nuts_mcmc_routine().

bool function_minimizer::choleski_decomp_hmc ( const dmatrix metric,
dmatrix L 
)

what is this?

Definition at line 686 of file hmc_functions.cpp.

Referenced by calculate_chd_and_inverse().

void function_minimizer::computations ( int  argc,
char *  argv[] 
)

Definition at line 39 of file modspmin.cpp.

void function_minimizer::computations ( void  )

Definition at line 397 of file modspmin.cpp.

void function_minimizer::computations1 ( int  argc,
char *  argv[] 
)

Definition at line 138 of file modspmin.cpp.

Referenced by computations(), and hess_step().

void function_minimizer::computations_np ( int  argc,
char *  argv[] 
)
int function_minimizer::compute_next_window ( int  i,
int  warmup,
int  w1,
int  aws,
int  w3 
)

Definition at line 34 of file hmc_functions.cpp.

Referenced by nuts_mcmc_routine().

int function_minimizer::constrained_minimization2 ( int  _n,
int  _nh,
int  _ng,
dvector __x 
)
void function_minimizer::constraint_report ( void  )
virtual void function_minimizer::constraints_minimize ( void  )
virtual

Referenced by computations1().

virtual void function_minimizer::deallocate ( void  )
inlinevirtual

Definition at line 1904 of file admodel.h.

Referenced by quasi_newton_block().

dmatrix function_minimizer::dep_hess_routine ( const dvariable dep)

Description not yet available.

Parameters

Definition at line 16 of file dep_hess.cpp.

void function_minimizer::depvars_routine ( void  )

Calculate the derivatives of dependent variables with respect to the independent variables.

Definition at line 488 of file mod_hess.cpp.

Referenced by computations1(), and hess_step().

dmatrix function_minimizer::diag_hess_routine ( void  )
double function_minimizer::diag_projected_hess_determinant ( const dvector g,
const int  underflow_flag,
dmatrix dh 
)
dvariable function_minimizer::do_gauss_hermite_integration ( void  )
dvariable function_minimizer::do_gauss_hermite_integration_multi ( void  )
private

Definition at line 31 of file xmodelm5.cpp.

Referenced by do_gauss_hermite_integration().

int function_minimizer::ef_ ( double *  f,
double *  x 
)
void function_minimizer::end_df1b2_funnel ( void  )
inline

Definition at line 1879 of file admodel.h.

void function_minimizer::end_df1b2_funnel_stuff ( void  )

Definition at line 830 of file xmodelm3.cpp.

void function_minimizer::end_gauss_hermite_stuff ( void  )

Definition at line 863 of file xmodelm3.cpp.

Referenced by end_df1b2_funnel_stuff().

void function_minimizer::end_get_importance_sampling_comnponent ( void  )

Definition at line 785 of file xmodelm3.cpp.

Referenced by end_df1b2_funnel_stuff().

double function_minimizer::exprnd ( double  p)
virtual void function_minimizer::final_calcs ( void  )
inlinevirtual

Definition at line 1934 of file admodel.h.

Referenced by computations().

double function_minimizer::find_reasonable_stepsize ( int  nvar,
dvector  y,
dvector  p,
dmatrix chd,
bool  verbose_adapt_mass,
bool  verbose_find_epsilon,
int  chain 
)

Definition at line 331 of file hmc_functions.cpp.

Referenced by nuts_mcmc_routine().

void function_minimizer::function_evaluation_block_pvm_slave ( void  )

Referenced by minimize().

void function_minimizer::function_evaluation_block_pvm_slave_random_effects ( int  nvar,
int  _crit,
independent_variables x,
const dvector g,
const double &  f 
)
void function_minimizer::function_evaluation_block_pvm_slave_random_effects ( void  )

Referenced by minimize().

void function_minimizer::get_bigS ( int  ndvar,
int  nvar1,
int  nvar,
dmatrix S,
dmatrix BS,
dvector scale 
)

Description not yet available.

Parameters

Definition at line 15 of file getbigs.cpp.

Referenced by sd_routine().

std::string function_minimizer::get_filename ( const char *  f)

Definition at line 63 of file hmc_functions.cpp.

Referenced by hess_step(), nuts_mcmc_routine(), and rwm_mcmc_routine().

void function_minimizer::get_function_difference ( void  )

Definition at line 823 of file xmodelm3.cpp.

Referenced by end_df1b2_funnel_stuff().

dmatrix& function_minimizer::get_hessian ( )
inline

Definition at line 2192 of file admodel.h.

dmatrix& function_minimizer::get_hessian_inverse ( )
inline

Definition at line 2193 of file admodel.h.

double function_minimizer::get_hybrid_monte_carlo_value ( int  nvar,
const independent_variables y,
dvector g 
)

Written by Dave, commented by Cole starting 8/31/2016 Description not yet available.

Parameters
yis vector of Choleski rotated parameters (i.e., unbounded space; y=chd*x where x is algorithm space). g is a vector of empty gradients returns the negative log likelihood (density), but also stores gradients at y in g

Definition at line 258 of file hmc_functions.cpp.

Referenced by find_reasonable_stepsize(), hybrid_mcmc_routine(), leapfrog(), nuts_mcmc_routine(), and shmc_mcmc_routine().

double function_minimizer::get_ln_det_value ( ) const
inline

Definition at line 2190 of file admodel.h.

double function_minimizer::get_monte_carlo_value ( int  nvar,
const independent_variables x 
)

Definition at line 11 of file mod_mc2.cpp.

Referenced by mcmc_eval(), mcmc_routine(), monte_carlo_routine(), and rwm_mcmc_routine().

double function_minimizer::get_monte_carlo_value ( int  nvar,
const independent_variables x,
dvector g 
)

Definition at line 75 of file mod_mc2.cpp.

double function_minimizer::get_monte_carlo_value ( int  nvar,
const dvector x 
)

Definition at line 10 of file mod_mc4.cpp.

void function_minimizer::get_particular_grad ( int  iprof,
int  nvar,
const dvector fg,
const dvector g 
)

Definition at line 175 of file newmodm2.cpp.

Referenced by likeprof_routine().

double function_minimizer::hess_determinant ( int  underflow_flag)

Definition at line 10 of file modhdet.cpp.

bool function_minimizer::hess_inv ( void  )

Symmetrize and invert the hessian.

Definition at line 574 of file mod_hess.cpp.

Referenced by computations1(), and hess_step().

void function_minimizer::hess_routine ( void  )

Definition at line 21 of file mod_hess.cpp.

Referenced by computations1(), and hess_step().

void function_minimizer::hess_routine_and_constraint ( int  iprof,
const dvector g,
dvector fg 
)

Definition at line 215 of file mod_hess.cpp.

void function_minimizer::hess_routine_master ( void  )

Referenced by hess_routine().

void function_minimizer::hess_routine_noparallel ( void  )

Definition at line 61 of file mod_hess.cpp.

Referenced by hess_routine().

void function_minimizer::hess_routine_noparallel_random_effects ( void  )

Description not yet available.

Parameters

Definition at line 129 of file mod_rhes.cpp.

Referenced by hess_routine_random_effects().

void function_minimizer::hess_routine_noparallel_randomeffects ( void  )
void function_minimizer::hess_routine_random_effects ( void  )

Description not yet available.

Parameters

Definition at line 99 of file mod_rhes.cpp.

Referenced by hess_routine().

void function_minimizer::hess_routine_slave ( void  )

Referenced by hess_routine().

void function_minimizer::hess_routine_slave_random_effects ( void  )

Description not yet available.

Parameters

Definition at line 556 of file mod_rhes.cpp.

Referenced by hess_routine_random_effects().

void function_minimizer::hess_step ( )

hess_step is used for HMC. See details in function_minimizer::hess_step.

Feature to try and get closer to the optimal point (minimum) using Newton steps with the inverse Hessian.

If successful it gives evidence that the mode has been reached and the nearby curvature is well approximated by a quadratic form.

Let x be the current MLE parameter vector. Then a single step consists of calculating x'=x-inv(Hessian)*gradient. This calculation is done in the unbounded parameter space.

This feature is initiated by calling "-hess_step N -hess_step_tol eps" to specify the maximum number of steps (N) and a minimum threshold (eps) for the maximum absolute gradient ('maxgrad'), below which is deemed sufficient and causes the function to exit early with success. The defaults are N=5 and eps=1e-12. The function will continue even if the maxgrad gets bigger because often sucessive steps improve the Hessian and can finish successfully. If successful, the new MLE is deemed improved and is propagated through the model to update all output files.

The upside of this feature is it confirms that the geometry near the mode is quadratic and well represented by the Hessian. It may also slightly improve the MLE and uncertainty estimates. The downside is that the Hessian needs to be recalculated and inverted at each step so it is costly computationally.

One technical issue is that because this is run after optimization, the model initialization needs to be considered. If there are inactive parameters in some cases they may not be intialized to what is in the template. A workaround is to specify initial values via the -ainp or -binp arguments, as is standard. Future versions should explore how to automate this, or only warn the user when there are inactive parameters.

Typical usage is to optimize model, then use this feature if convergence is suspect. If it reduces the maxgrad to zero this gives strong evidence for convergence.

Author
Cole Monnahan

Definition at line 49 of file output_checks.cpp.

Referenced by computations().

void function_minimizer::hybrid_mcmc_routine ( int  nmcmc,
int  iseed0,
double  dscale,
int  restart_flag 
)

Description not yet available.

Parameters

Definition at line 83 of file hybmcmc.cpp.

Referenced by mcmc_computations().

int function_minimizer::inner_opt ( void  )
static

Definition at line 39 of file xmodelm3.cpp.

Referenced by end_df1b2_funnel_stuff(), and pre_userfunction().

double function_minimizer::leapfrog ( int  nvar,
dvector gr,
dmatrix chd,
double  eps,
dvector p,
dvector x,
dvector gr2 
)

Function to take a single HMC leapfrog step, given current position and momentum variables.

Returns nll value but also updates position and momentum variables by reference.

Definition at line 408 of file hmc_functions.cpp.

Referenced by build_tree(), find_reasonable_stepsize(), and shmc_mcmc_routine().

void function_minimizer::likeprof_routine ( double  global_min)

Definition at line 67 of file mod_pmin.cpp.

Referenced by computations1().

void function_minimizer::limited_memory_quasi_newton ( const independent_variables _x,
int  m 
)

Definition at line 32 of file lmnewton.cpp.

Referenced by laplace_approximation_calculator::get_uhat_lm_newton(), and minimize().

void function_minimizer::limited_memory_quasi_newton ( const independent_variables ,
int  ,
int   
)
void function_minimizer::limited_memory_quasi_newton ( double &  f,
const independent_variables _x,
int  m,
int  noprintx,
int  maxfn,
double  crit 
)

Definition at line 231 of file lmnewton.cpp.

void function_minimizer::limited_memory_quasi_newton_block ( int  nvar,
int  _crit,
independent_variables x,
const dvector _g,
const double &  _f,
int  nsteps 
)

Description not yet available.

Parameters

Definition at line 23 of file df1b2lmn2.cpp.

Referenced by minimize().

void function_minimizer::mcmc_computations ( void  )

Definition at line 472 of file modspmin.cpp.

Referenced by computations1().

void function_minimizer::mcmc_eval ( void  )

Description not yet available.

Parameters

Definition at line 14 of file mceval.cpp.

Referenced by computations().

void function_minimizer::mcmc_routine ( int  nmcmc,
int  iseed0,
double  dscale,
int  restart_flag 
)

Monte Carlo Markov Chain minimization routine Approximate the target distribution by performing a random walk across parameter space, integrating at each step.

This routine also parses the command line arguments and performs actions for the following ones: -mcdiag Use diagonal covariance matrix with covariance = dscale. -mcrb N Modify covariance matrix to reduce high correlations. 1<=N<=9 where 1=10% and 9=90%. -mcec Read in empirical covariance matrix. This is a file with the program name prepended to extension '.ecm'. -mcpin NAME Read in starting values for MCMC from file NAME. NAME must be a valid ADMB '.par' file. -mcscale Dynamically scales covariance matrix until a reasonable acceptance rate is observed. -nosdmcmc Turn off calculation os sdreport variables during mcsave phase (saves a lot of CPU time). -mcu Use uniform multivariate distributions as bounds, if this is not specified then random normal multivariate distributions will be used. -mcnoscale Don't rescale step size based on acceptance rate. -mcr Continue MCMC from a previous -mcmc call. Uses '.mcm' file to accomplish this. -mcsave N Save parameter values from every Nth simulation instead of every single one. -mcprobe N Use probing strategy, 0.00001<N<=0.499. See the function new_probing_bounded_multivariate_normal() in prmonte.cpp for more detail. -mcgrope Deprecated, equivalent to -mcprobe

Parameters
intnmcmc The number of MCMC simulations to run.
intiseed0 Initial seed value for simulations.
doubledscale Scale value used only if -mcdiag is specified.
intrestart_flag Restart the MCMC, even if -mcr is specified.
Returns
Nothing.

Definition at line 126 of file xxmcmc.cpp.

Referenced by mcmc_computations().

void function_minimizer::minimize ( void  )
virtual
Todo:
What does the -uhess option do?

Definition at line 49 of file xmodelm3.cpp.

Referenced by computations(), and computations1().

void function_minimizer::monte_carlo_routine ( void  )

Definition at line 35 of file mod_mc.cpp.

void function_minimizer::multint ( int  n,
const dvar_vector a,
const dvar_vector b,
const dvar_vector h,
double  al,
int  m,
const dvariable e,
const dvariable aint,
const int &  key,
PMFVI  f 
)
void function_minimizer::multint4 ( int  n,
const dvar_vector a,
const dvar_vector b,
const dvar_vector h,
double  al,
int  m,
const dvariable e,
const dvariable aint1,
const dvariable aint2,
dvariable aint3,
const dvariable aint4,
const int &  key,
PMFVIV4  f 
)
void function_minimizer::neldmead ( int  n,
dvector _start,
dvector _xmin,
double *  ynewlo,
double  reqmin,
double  delta,
int *  icount,
int *  numres,
int *  ifault 
)

Nelder-Mead simplex alogrithm.

Parameters
nInteger
_startVector
_xminVector
ynewloDouble
reqminDouble
deltaDouble
icountInteger pointer
numresInteger pointer
ifaultInteger pointer

Definition at line 150 of file amoeba.cpp.

Referenced by minimize().

void function_minimizer::normalize_posterior_distribution ( double  udet,
const dvector siglevel,
const ofstream &  ofs2,
int  num_pp,
const dvector all_values,
const dmatrix actual_value,
double  global_min,
int  offset,
const dmatrix lprof,
const dmatrix ldet,
const dmatrix xdist,
const dmatrix penalties 
)

Definition at line 63 of file newmodmn.cpp.

Referenced by likeprof_routine().

void function_minimizer::nuts_mcmc_routine ( int  nmcmc,
int  iseed0,
double  dscale,
int  restart_flag 
)

The function implements the MCMC algorithm NUTS, which is a self-tuning variant of Hamiltonian Monte Carlo.

This function implements the original algorithm of Hoffman and Gelman (2014), namely dynamic trajectory lengths and step size adaptation via the dual averaging algorithm. In addition, it uses a diagonal mass matrix adaptation scheme based on Stan's. Thus, a covariance matrix is not necessary (so it works on models without an invertible Hessian).

This routine also parses the command line arguments and performs actions for the following ones: -adapt_delta Target acceptance rate [0,1]. Defaults to 0.8. -max_treedepth Maximum treedepth. Defaults to 12. Caps trajectory lengths at 2^12 -hyeps The step size to use. If not specified it will be adapted (recommended). -duration The maximum runtime in minutes. -mcdiag Initial mass matrix is unit diagonal -mcpin NAME Read in MCMC starting values for active parameters only from file NAME. -warmup The number of warmup iterations during which adaptation occurs. -refresh How often to refresh the console output (defaults to 10%) -adapt_mass Do diagonal mass matrix adaptation -adapt_mass_dense Do dense mass matrix adaptation -verbose_adapt_mass Flag whether to print mass adaptation updates to console -adapt_window Mass matrix adaptation initial window size

  • adapt_init_buffer Mass matrix adaptation initial buffer size
  • adapt_term_buffer Mass matrix adaptation terminal buffer size
    Parameters
    intnmcmc The number of MCMC simulations to run.
    intiseed0 Initial seed value for simulations.
    doubledscale Scale value used only if -mcdiag is specified. Disabled for NUTS.
    intrestart_flag Restart the MCMC, even if -mcr is specified. Disalbed for NUTS.
    Returns
    Nothing. Creates file <model>.psv with bounded parameters, and various files used by R package adnuts for diagnostics.

Mass matrix and inverse are now ready to be used.

Prepare initial value. Need to both back-transform, and then rotate this to be in the "x" space.

Now z0 is either the MLE or the user specified value

Start initializing the algorithm at the initial point. z0

Definition at line 51 of file nuts.cpp.

Referenced by mcmc_computations().

virtual void function_minimizer::other_calculations ( void  )
inlinevirtual

Definition at line 1933 of file admodel.h.

Referenced by computations().

void function_minimizer::other_separable_stuff_begin ( void  )

Definition at line 732 of file xmodelm3.cpp.

void function_minimizer::other_separable_stuff_end ( void  )

Definition at line 748 of file xmodelm3.cpp.

void function_minimizer::pre_user_function ( void  )
void function_minimizer::pre_userfunction ( void  )
void function_minimizer::print_mcmc_progress ( int  is,
int  nmcmc,
int  nwarmup,
int  chain,
int  refresh 
)

Definition at line 284 of file hmc_functions.cpp.

Referenced by nuts_mcmc_routine(), rwm_mcmc_routine(), and shmc_mcmc_routine().

void function_minimizer::print_mcmc_timing ( double  time_warmup,
double  time_total,
int  chain 
)

Definition at line 298 of file hmc_functions.cpp.

Referenced by nuts_mcmc_routine(), rwm_mcmc_routine(), and shmc_mcmc_routine().

void function_minimizer::prof_hess_routine ( int  ip,
double  new_value,
double  final_weight 
)
void function_minimizer::prof_minimize ( int  iprof,
double  sigma,
double  new_value,
const double &  fprof,
const int  underflow_flag,
double  global_min,
const double &  penalties,
const double &  final_weight 
)

Definition at line 221 of file newmodm2.cpp.

Referenced by likeprof_routine().

void function_minimizer::prof_minimize_re ( int  iprof,
double  sigma,
double  new_value,
const double &  fprof,
const int  underflow_flag,
double  global_min,
const double &  penalties,
const double &  final_weight 
)

Definition at line 17 of file newmodm5.cpp.

Referenced by likeprof_routine().

double function_minimizer::projected_hess_determinant ( const dvector g,
const int  underflow_flag,
const dvector xscale,
const double &  ln_det_proj_jac 
)

Definition at line 9 of file nnewmod2.cpp.

double function_minimizer::projected_hess_determinant ( const dvector g,
const int  underflow_flag 
)

Definition at line 17 of file newmodm2.cpp.

double function_minimizer::projected_hess_determinant ( const dmatrix hh,
const dvector g,
const int  underflow_flag 
)
double function_minimizer::projected_hess_determinant ( const dvector fg,
const dvector g,
const int  underflow_flag,
const dvector curvscale,
const dvector xscale,
double &  ln_det_proj_jac,
const double &  tmp,
const dmatrix hesses 
)
double function_minimizer::projected_jacobian ( const dvector g,
const dvector xscale 
)
void function_minimizer::pvm_master_function_evaluation ( double &  f,
independent_variables x,
const dvector g,
int  nvar 
)
void function_minimizer::pvm_master_function_evaluation_no_derivatives ( double &  f,
independent_variables x,
int  nvar 
)

Referenced by minimize().

void function_minimizer::pvm_master_function_evaluation_profile ( double &  f,
independent_variables x,
const dvector g,
int  nvar,
int  iprof,
double  weight,
double  new_value 
)
double function_minimizer::pvm_master_get_monte_carlo_value ( int  nvar,
const dvector x 
)

Definition at line 36 of file mod_mc2.cpp.

Referenced by monte_carlo_routine().

void function_minimizer::pvm_master_mcmc_computations ( void  )

Definition at line 598 of file modspmin.cpp.

Referenced by computations1().

void function_minimizer::pvm_master_mcmc_routine ( int  nmcmc,
int  iseed0,
double  dscale,
int  restart_flag 
)
void function_minimizer::pvm_master_prof_minimize ( int  iprof,
double  sigma,
double  new_value,
const double &  _fprof,
const int  underflow_flag,
double  global_min,
const double &  _penalties,
const double &  _final_weight 
)

Referenced by likeprof_routine().

void function_minimizer::pvm_slave_function_evaluation ( void  )
void function_minimizer::pvm_slave_function_evaluation_no_derivatives ( void  )

Referenced by minimize().

void function_minimizer::pvm_slave_function_evaluation_noder ( void  )
void function_minimizer::pvm_slave_get_monte_carlo_value ( int  nvar)

Definition at line 59 of file mod_mc2.cpp.

Referenced by monte_carlo_routine().

void function_minimizer::pvm_slave_likeprof_routine ( void  )

Definition at line 50 of file mod_pmin.cpp.

Referenced by computations1().

void function_minimizer::pvm_slave_mcmc_computations ( void  )

Definition at line 661 of file modspmin.cpp.

void function_minimizer::pvm_slave_mcmc_routine ( void  )
void function_minimizer::pvm_slave_prof_minimize ( int  underflow_flag)
void function_minimizer::quasi_newton_block ( int  nvar,
int  _crit,
independent_variables x,
const dvector _g,
const double &  _f 
)

Description not yet available.

Parameters

Definition at line 23 of file df1b2qnm.cpp.

Referenced by minimize().

void function_minimizer::quasi_newton_block_pvm_master ( int  nvar,
int  _crit,
independent_variables x,
const dvector g,
const double &  f 
)

Referenced by minimize().

void function_minimizer::quasi_newton_block_pvm_master_random_effects ( int  nvar,
int  _crit,
independent_variables x,
const dvector g,
const double &  f 
)

Referenced by minimize().

void function_minimizer::quasi_newton_minimizer1 ( int  nvar,
double  _crit,
double &  f,
const independent_variables x,
const dvector g 
)
dvariable function_minimizer::random_effects_maximization ( const dvar_vector v)

Definition at line 33 of file randeff.cpp.

void function_minimizer::read_mle_hmc ( int  nvar,
dvector mle 
)

Definition at line 432 of file hmc_functions.cpp.

Referenced by hess_step(), nuts_mcmc_routine(), and rwm_mcmc_routine().

virtual void function_minimizer::report ( const dvector gradients)
inlineprotectedvirtual

Definition at line 1915 of file admodel.h.

Referenced by minimize().

void function_minimizer::report_function_minimizer_stats ( void  )
inlineprotected

Definition at line 1914 of file admodel.h.

Referenced by minimize().

dvector function_minimizer::rotate_gradient ( const dvector x,
const dmatrix m 
)

Definition at line 547 of file hmc_functions.cpp.

Referenced by find_reasonable_stepsize(), leapfrog(), and nuts_mcmc_routine().

dvector function_minimizer::rotate_pars ( const dvector m,
const dvector x 
)
dvector function_minimizer::rotate_pars ( const dmatrix m,
const dvector x 
)

Definition at line 498 of file hmc_functions.cpp.

void function_minimizer::rwm_mcmc_routine ( int  nmcmc,
int  iseed0,
double  dscale,
int  restart_flag 
)

Definition at line 92 of file rwm.cpp.

Referenced by mcmc_computations().

void function_minimizer::sd_routine ( void  )

Definition at line 101 of file mod_sd.cpp.

Referenced by computations1().

void function_minimizer::set_initial_simplex ( const dmatrix p,
const dvector y,
int  nvar,
const dvector x,
double  delta 
)

Definition at line 656 of file xmodelm3.cpp.

Referenced by minimize().

void function_minimizer::set_multinomial_weights ( dvector d)

Definition at line 548 of file xmodelm3.cpp.

void function_minimizer::set_runtime ( void  )
virtual

Definition at line 451 of file modspmin.cpp.

Referenced by computations1().

void function_minimizer::set_runtime_crit ( const char *  s)
virtual

Definition at line 463 of file modspmin.cpp.

Referenced by computations1().

void function_minimizer::set_runtime_maxfn ( const char *  s)
virtual

Definition at line 453 of file modspmin.cpp.

Referenced by computations1().

void function_minimizer::setup_quadprior_calcs ( void  )
inline

Definition at line 1878 of file admodel.h.

void function_minimizer::sgibbs_mcmc_routine ( int  ,
int  ,
double  ,
int   
)
void function_minimizer::shmc_mcmc_routine ( int  nmcmc,
int  iseed0,
double  dscale,
int  restart_flag 
)

Definition at line 19 of file hmc.cpp.

Referenced by mcmc_computations().

bool function_minimizer::slow_phase ( int  is,
int  warmup,
int  w1,
int  w3 
)

Definition at line 53 of file hmc_functions.cpp.

Referenced by nuts_mcmc_routine().

void function_minimizer::sob_routine ( int  nmcmc,
double  dscale,
int  restart_flag 
)
void function_minimizer::sobol_importance_routine ( int  nmcmc,
int  iseed0,
double  dscale,
int  restart_flag 
)
void function_minimizer::start_get_importance_sampling_comnponent ( void  )

Definition at line 777 of file xmodelm3.cpp.

Referenced by begin_funnel_stuff().

bool function_minimizer::stop_criterion ( int  nvar,
dvector thetaminus,
dvector thetaplus,
dvector rminus,
dvector rplus 
)

Definition at line 214 of file hmc_functions.cpp.

Referenced by build_tree(), and nuts_mcmc_routine().

void function_minimizer::top_mcmc_routine ( int  ,
int  ,
double  ,
int   
)
dvariable function_minimizer::trapzd ( void *  ,
double  a,
double  b,
int  n 
)

Referenced by adromb().

dvariable function_minimizer::trapzd ( _func  func,
double  a,
double  b,
int  n 
)

Extended trapezoid rule.

This algorithm was adapted from function trapzd in "Numerical Recipes in C", 2nd edition, Press, Teukolsky, Vetterling, Flannery, chapter 4.2

Definition at line 156 of file dfqromb.cpp.

dvariable function_minimizer::trapzd ( _func  func,
double  a,
const dvariable b,
int  n 
)

Extended trapezoid rule.

This algorithm was adapted from function trapzd in "Numerical Recipes in C", 2nd edition, Press, Teukolsky, Vetterling, Flannery, chapter 4.2

Definition at line 211 of file dfqromb.cpp.

dvariable function_minimizer::trapzd ( _func  func,
const dvariable a,
double  b,
int  n 
)

Extended trapezoid rule.

This algorithm was adapted from function trapzd in "Numerical Recipes in C", 2nd edition, Press, Teukolsky, Vetterling, Flannery, chapter 4.2

Definition at line 184 of file dfqromb.cpp.

dvariable function_minimizer::trapzd ( _func  func,
const dvariable a,
const dvariable b,
int  n 
)

Extended trapezoid rule.

This algorithm was adapted from function trapzd in "Numerical Recipes in C", 2nd edition, Press, Teukolsky, Vetterling, Flannery, chapter 4.2

Definition at line 240 of file dfqromb.cpp.

void function_minimizer::trust_region_update ( int  nvar,
int  _crit,
independent_variables x,
const dvector _g,
const double &  _f 
)

Description not yet available.

Parameters

Definition at line 20 of file f1b2trst.cpp.

Referenced by minimize().

double function_minimizer::unrestricted_hess_determinant ( void  )

Definition at line 10 of file newmodm4.cpp.

Referenced by likeprof_routine().

dvar_matrix function_minimizer::user_d2frandeff ( const dvar_vector x)
virtual

Definition at line 26 of file model37.cpp.

Referenced by random_effects_maximization().

dvar_vector function_minimizer::user_dfrandeff ( const dvar_vector x)
virtual

Definition at line 18 of file model37.cpp.

Referenced by random_effects_maximization().

void function_minimizer::user_function ( )
virtual
dvariable function_minimizer::user_randeff ( const dvar_vector x)
virtual

Definition at line 9 of file model37.cpp.

Referenced by random_effects_maximization().

virtual void function_minimizer::userfunction ( void  )
pure virtual

Friends And Related Function Documentation

friend class equality_constraint_vector
friend

Definition at line 2166 of file admodel.h.

friend class inequality_constraint_vector
friend

Definition at line 2167 of file admodel.h.

Member Data Documentation

dmatrix function_minimizer::_hessian
private

Definition at line 2198 of file admodel.h.

Referenced by get_hessian(), get_ln_det_value(), and hess_inv().

dmatrix function_minimizer::_hessian_inverse
private

Definition at line 2199 of file admodel.h.

Referenced by get_hessian_inverse(), and hess_inv().

double function_minimizer::_ln_det_value
private

Definition at line 2197 of file admodel.h.

Referenced by get_ln_det_value(), and sd_routine().

int function_minimizer::bad_step_flag =0
static
int function_minimizer::constraint_exit_number
static

Definition at line 2031 of file admodel.h.

dvector function_minimizer::convergence_criteria
staticprotected
double function_minimizer::crit
double function_minimizer::dfn
int function_minimizer::diagonal_metric_flag
double function_minimizer::ffbest
protected
int function_minimizer::first_hessian_flag =0
static
int function_minimizer::have_constraints =0
staticprotected

Definition at line 1921 of file admodel.h.

Referenced by computations1().

long function_minimizer::iexit
long function_minimizer::ifn
long function_minimizer::ihang
long function_minimizer::ihflag
int function_minimizer::imax
int function_minimizer::inner_opt_flag =0
static
int function_minimizer::iprint
laplace_approximation_calculator* function_minimizer::lapprox

Definition at line 1862 of file admodel.h.

Referenced by laplace_approximation_calculator::banded_calculations_trust_region_approach(), begin_funnel_stuff(), begin_gauss_hermite_stuff(), laplace_approximation_calculator::block_diagonal_calculations(), calculate_importance_sample(), calculate_importance_sample_block_diagonal(), calculate_importance_sample_block_diagonal_funnel(), calculate_importance_sample_block_diagonal_option2(), calculate_importance_sample_block_diagonal_option_antithetical(), calculate_importance_sample_funnel(), calculate_importance_sample_shess(), calculate_laplace_approximation(), laplace_approximation_calculator::check_hessian_type(), laplace_approximation_calculator::check_hessian_type2(), computations1(), depvars_routine(), do_gauss_hermite_block_diagonal(), do_gauss_hermite_block_diagonal_multi(), do_gauss_hermite_integration(), do_gauss_hermite_integration_multi(), end_df1b2_funnel_stuff(), end_gauss_hermite_stuff(), end_get_importance_sampling_comnponent(), evaluate_function_with_quadprior(), function_minimizer(), get_bigS(), get_function_difference(), get_hybrid_monte_carlo_value(), get_monte_carlo_value(), get_particular_grad(), hess_routine(), hess_routine_noparallel_random_effects(), hess_routine_slave_random_effects(), limited_memory_quasi_newton_block(), minimize(), other_separable_stuff_begin(), pre_user_function(), pre_userfunction(), prof_minimize_re(), quasi_newton_block(), start_get_importance_sampling_comnponent(), trust_region_update(), and ~function_minimizer().

int function_minimizer::likeprof_flag
static

Definition at line 1854 of file admodel.h.

int function_minimizer::maxfn
int function_minimizer::maxfn_flag
dvector function_minimizer::maximum_function_evaluations
staticprotected
int function_minimizer::mcmc2_flag
double function_minimizer::min_improve
dvector* function_minimizer::multinomial_weights

Definition at line 1863 of file admodel.h.

Referenced by function_minimizer(), set_multinomial_weights(), and ~function_minimizer().

int function_minimizer::negative_eigenvalue_flag =0
static

Definition at line 1859 of file admodel.h.

Referenced by hess_inv(), and minimize().

dmatrix* function_minimizer::negdirections
int function_minimizer::output_flag = defaults::output
static
adstring_array function_minimizer::param_labels
private

Definition at line 1911 of file admodel.h.

Referenced by sd_routine().

ivector function_minimizer::param_size
private

Definition at line 1912 of file admodel.h.

Referenced by sd_routine().

named_dvar_vector* function_minimizer::pg
static

Definition at line 1906 of file admodel.h.

gradient_structure* function_minimizer::pgs
private

Definition at line 1910 of file admodel.h.

Referenced by function_minimizer(), and ~function_minimizer().

named_dvar_vector* function_minimizer::ph
static

Definition at line 1905 of file admodel.h.

int function_minimizer::quit_flag
int function_minimizer::random_effects_flag =0
static
int function_minimizer::repeatminflag

Definition at line 1884 of file admodel.h.

Referenced by computations1(), function_minimizer(), and minimize().

int function_minimizer::robust_hybrid_flag

Definition at line 1886 of file admodel.h.

Referenced by hybrid_mcmc_routine().

int function_minimizer::scroll_flag
int function_minimizer::sd_flag
staticprotected

Definition at line 1918 of file admodel.h.

int function_minimizer::spminflag

Definition at line 1883 of file admodel.h.

Referenced by computations1(), function_minimizer(), hess_inv(), and minimize().

int function_minimizer::test_trust_flag =0
static

Definition at line 1856 of file admodel.h.

Referenced by computations1(), and laplace_approximation_calculator::operator()().

adstring function_minimizer::user_data_file
staticprotected

Definition at line 1919 of file admodel.h.

adstring function_minimizer::user_par_file
staticprotected

Definition at line 1920 of file admodel.h.


The documentation for this class was generated from the following files: