Nothing
## ----setup, include = FALSE, echo = FALSE, message = FALSE--------------------
knitr::opts_chunk$set(echo = TRUE, collapse = TRUE, comment = "#>")
library(mize)
## ----Test data----------------------------------------------------------------
rb_fg <- list(
fn = function(x) { 100 * (x[2] - x[1] * x[1]) ^ 2 + (1 - x[1]) ^ 2 },
gr = function(x) { c( -400 * x[1] * (x[2] - x[1] * x[1]) - 2 * (1 - x[1]),
200 * (x[2] - x[1] * x[1])) })
rb0 <- c(-1.2, 1)
## ----termination by max_iter--------------------------------------------------
res <- mize(rb0, rb_fg, max_iter = 10)
res$terminate
res$f
res$par
## ----Absolute tolerance-------------------------------------------------------
res <- mize(rb0, rb_fg, max_iter = 100, abs_tol = 1e-8)
res$terminate
res$f
res$par
## ----Relative tolerance-------------------------------------------------------
res <- mize(rb0, rb_fg, max_iter = 100, rel_tol = 1e-3)
# hit relative tolerance
res$terminate
# but stopped too early!
res$iter
res$f
res$par
## ----Gradient 2-norm tolerance------------------------------------------------
res <- mize(rb0, rb_fg, abs_tol = 0, grad_tol = 1e-3)
res$terminate
res$f
res$par
## ----Gradient infinity-norm tolerance-----------------------------------------
res <- mize(rb0, rb_fg, rel_tol = NULL, abs_tol = NULL, ginf_tol = 1e-3)
res$terminate
res$f
res$par
## ----Step tolerance-----------------------------------------------------------
# set abs_tol to zero to stop it from triggering instead of step_tol
res <- mize(rb0, rb_fg, abs_tol = 0, step_tol = .Machine$double.eps)
res$terminate
res$iter
res$f
res$par
## ----Maximum number of function evaluations-----------------------------------
res <- mize(rb0, rb_fg, max_fn = 10)
res$terminate
res$nf
res$f
res$par
## ----Maximum number of gradient evaluations-----------------------------------
res <- mize(rb0, rb_fg, max_gr = 10)
res$terminate
res$ng
res$f
res$par
## ----Maximum number of function and gradient evaluations----------------------
res <- mize(rb0, rb_fg, max_fg = 10)
res$terminate
res$nf
res$ng
res$f
res$par
## ----Checking convergence less often------------------------------------------
res <- mize(rb0, rb_fg, grad_tol = 1e-3, check_conv_every = 5, verbose = TRUE)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.