softline | R Documentation |
Fletcher's inexact line search algorithm.
softline(x0, d0, f, g = NULL)
x0 |
initial point for linesearch. |
d0 |
search direction from |
f |
real function of several variables that is to be minimized. |
g |
gradient of objective function |
Many optimization methods have been found to be quite tolerant to line search imprecision, therefore inexact line searches are often used in these methods.
Returns the suggested inexact optimization paramater as a real number
a0
such that x0+a0*d0
should be a reasonable approximation.
Matlab version of an inexact linesearch algorithm by A. Antoniou and W.-S. Lu in their textbook “Practical Optimization”. Translated to R by Hans W Borchers.
Fletcher, R. (1980). Practical Methods of Optimization, Volume 1., Section 2.6. Wiley, New York.
Antoniou, A., and W.-S. Lu (2007). Practical Optimization: Algorithms and Engineering Applications. Springer Science+Business Media, New York.
gaussNewton
## Himmelblau function
f_himm <- function(x) (x[1]^2 + x[2] - 11)^2 + (x[1] + x[2]^2 - 7)^2
g_himm <- function(x) {
w1 <- (x[1]^2 + x[2] - 11); w2 <- (x[1] + x[2]^2 - 7)
g1 <- 4*w1*x[1] + 2*w2; g2 <- 2*w1 + 4*w2*x[2]
c(g1, g2)
}
# Find inexact minimum from [6, 6] in the direction [-1, -1] !
softline(c(6, 6), c(-1, -1), f_himm, g_himm)
# [1] 3.458463
# Find the same minimum by using the numerical gradient
softline(c(6, 6), c(-1, -1), f_himm)
# [1] 3.458463
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.