getLBFGSInfo: Generation function of L-BFGS parameter settings

Description Usage Arguments Value Examples

View source: R/DiscrimOD_assist.r

Description

Create a list with L-BFGS parameters for optimal discrimination design search.

Usage

1
2
3
4
5
getLBFGSInfo(IF_INNER_LBFGS = TRUE, LBFGS_RETRY = 1, LBFGS_MAXIT = 0,
  LBFGS_LM = 6, FVAL_EPS = 0, GRAD_EPS = 1e-05,
  LINESEARCH_MAXTRIAL = 20, LINESEARCH_MAX = 1e+20,
  LINESEARCH_MIN = 1e-20, LINESEARCH_ARMIJO = 1e-04,
  LINESEARCH_WOLFE = 0.9, FD_DELTA = 0.001)

Arguments

IF_INNER_LBFGS

The logical input TRUE/FALSE to turn on/off L-BFGS algorithm for the inner optimization problem (minimizing the distance among parameter space). If IF_INNER_LBFGS = FALSE, then the NestedPSO algorithm in Chen et al. (2015) is used for optimal discrimination design search.

LBFGS_RETRY

The integer number of total trials of L-BFGS in computing the minimal distance with randomly generated initial values. The default is 1.

LBFGS_MAXIT

The integer number of maximal iteration of L-BFGS algorithm. The default is 0 and L-BFGS stops when it converges.

LBFGS_LM

The integer number of corrections to approximate the inverse hessian matrix. The default is 6.

FVAL_EPS

The tolerance value, \varepsilon_f, of the stopping criterion on objective function value, |f'-f|/f<\varepsilon_f where f' and f are the objective function values in the previous and current iterations, respectively. The default is 0 and L-BFGS ignores this stopping criterion.

GRAD_EPS

The tolerance value, \varepsilon_g, of the stopping criterion on gradients, \|g\|/\|x\|<\varepsilon_g where g is the gradient, x is the current position and \|a\|=√{a^\top a}. The default is 1e-5.

LINESEARCH_MAXTRIAL

The integer number of maximal trial of More-Thuente line search routine. The default is 20.

LINESEARCH_MAX

The maximal step size in the line search routine. The default is 1e20.

LINESEARCH_MIN

The minimal step size in the line search routine. The default is 1e-20.

LINESEARCH_ARMIJO

A parameter to control the accuracy of the line search routine. The default value is 1e-4. This parameter should be greater than zero and smaller than 0.5.

LINESEARCH_WOLFE

A coefficient for the Wolfe condition in the line search routine. The default value is 0.9. This parameter should be greater than LINESEARCH_ARMIJO parameter and smaller than 1.0.

FD_DELTA

A small value for the gap of finite difference method for computing the gradient. The default is 1e-3.

Value

The list of L-BFGS parameter settings.

Examples

1
2
3
4
5
6
7
8
9
# Get default settings with 2 repeatedly trails for L-BFGS algorithm.
LBFGS_INFO <- getLBFGSInfo(LBFGS_RETRY = 2)

# If wanted to disable L-BFGS for the inner optimization loop and
# use NestedPSO algorithm (Chen et al., 2015), we need the options
# for the two-layer PSO: c(outer loop option, inner loop option)
NESTEDPSO_INFO <- getPSOInfo(nSwarm = c(16, 32), maxIter = c(100, 200))
# Also, disable the L-BFGS algorithm
LBFGS_NOTRUN <- getLBFGSInfo(IF_INNER_LBFGS = FALSE)

PingYangChen/DiscrimOD documentation built on Jan. 30, 2022, 5:25 p.m.