Optimization: principles and algorithms, by Michel Bierlaire
Functions
bfgs.m File Reference

Algorithm 13.1: BFGS method with line search. More...

Go to the source code of this file.

Functions

function bfgs (in obj, in x0, in eps, in maxiter)
 Applies BFGS algorithm with line search to solve $\min_x f(x)$ where $f:\mathbb{R}^n\to\mathbb{R}$. More...
 

Detailed Description

Algorithm 13.1: BFGS method with line search.

Implementation of algorithm 13.1 of [1]

Author
Michel Bierlaire
Date
Sat Mar 21 16:29:03 2015

Definition in file bfgs.m.

Function Documentation

◆ bfgs()

function bfgs ( in  obj,
in  x0,
in  eps,
in  maxiter 
)

Applies BFGS algorithm with line search to solve $\min_x f(x)$ where $f:\mathbb{R}^n\to\mathbb{R}$.

Note
Tested with run0508bfgs.m
Tested with runRosenbrockBfgs.m
Calls lineSearch
Parameters
objthe name of the Octave function defining f(x) and its derivatives
x0the starting point
epsalgorithm stops if $\|\nabla f(x)\| \leq \varepsilon $.
maxitermaximum number of iterations (Default: 100)
Returns
[solution,iteres,niter]
solution: local minimum of the function
iteres: sequence of iterates generated by the algorithm. It contains n+2 columns. Columns 1:n contains the value of the current iterate. Column n+1 contains the value of the objective function. Column n+2 contains the value of the norm of the gradient. It contains maxiter rows, but only the first niter rows are meaningful.
niter: total number of iterations
Copyright 2015-2018 Michel Bierlaire