R: Soft (Inexact) Line Search

softline {pracma} | R Documentation

## Soft (Inexact) Line Search

### Description

Fletcher's inexact line search algorithm.

### Usage

    softline(x0, d0, f, g = NULL)

### Arguments

`x0` | initial point for linesearch.
`d0` | search direction from `x0`.
`f` | real function of several variables that is to be minimized.
`g` | gradient of objective function `f`; computed numerically if not provided.

### Details

Many optimization methods have been found to be quite tolerant to line search imprecision, therefore inexact line searches are often used in these methods.

### Value

Returns the suggested inexact optimization paramater as a real number `a0` such that `x0+a0*d0` should be a reasonable approximation.

### Note

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.

### References

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.

### See Also

`gaussNewton`

### Examples

    ##  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

[Package pracma version 2.0.4 Index]