Unconstrained Numerical Optimization Algorithms

Optimization algorithms implemented in R, including conjugate gradient (CG), Broyden-Fletcher-Goldfarb-Shanno (BFGS) and the limited memory BFGS (L-BFGS) methods. Most internal parameters can be set through the call interface. The solvers hold up quite well for higher-dimensional problems.


News

mize 0.2.0

New features

  • New method: Truncated Newton (method = "TN"). Can be controlled using the tn_init and tn_exit options.
  • New method: SR1 (method = "SR1"), falling back to the BFGS direction if a descent direction is not found.
  • New option preconditioner, which applies to the conjugate gradient and truncated newton methods. The only value currently available is preconditioner = "L-BFGS" which uses L-BFGS to estimate the inverse Hessian for preconditioning. The number of updates to store for this preconditioner is controlled by the memory parameter, just as if you were using method = "L-BFGS".
  • BFGS, SR1, L-BFGS methods will now make use of a user-supplied inverse Hessian function if provided. In the input fg list, supply a function hi, that takes the par vector as input. The function can return a matrix (obviously not a great idea for memory use), or a vector, the latter of which is assumed to be the diagonal of the matrix.
  • ls_max_alpha (for line_search = "More-Thuente" only): sets maximum value of alpha that can be attained during line search.
  • ls_max_alpha_mult (for Wolfe-type line search only): sets maximum value that can be attained by the ratio of the initial guess for alpha for the current line search, to the final value of alpha of the previous line search. Used to stop line searches diverging due to very large initial guesses.
  • ls_safe_cubic (for line_search = "More-Thuente" only): if TRUE, use the safe-guarded cubic modification suggested by Xie and Schlick.
  • cg_update = "prfr", the "PR-FR" (Polak-Ribiere/Fletcher-Reeves) conjugate gradient update suggested by Gilbert and Nocedal.

Bug fixes

  • Error occurred when checking if a step size was finite during line search.
  • DBD method didn't use momentum when asked to.
  • Fix incorrectly specified conjugate gradient descent methods: Hestenes-Steifel (cg_udpate = "hs"), Conjugate Descent (cg_udpate = "cd"), Dai-Yuan ((cg_udpate = "dy") and Liu-Storey (cg_udpate = "ls").

mize 0.1.1

Initial release.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("mize")

0.2.0 by James Melville, 6 months ago


http://github.com/jlmelville/mize


Report a bug at http://github.com/jlmelville/mize/issues


Browse source code at https://github.com/cran/mize


Authors: James Melville [aut, cre]


Documentation:   PDF Manual  


Task views: Optimization and Mathematical Programming


BSD 2-clause License + file LICENSE license


Imports methods

Suggests testthat, knitr, rmarkdown, covr


See at CRAN