Package minimise :: Package line_search :: Module nocedal_wright_wolfe
[hide private]
[frames] | no frames]

Module nocedal_wright_wolfe

source code

Functions [hide private]
 
nocedal_wright_wolfe(func, func_prime, args, x, f, g, p, a_init=1.0, max_a=100000.0, mu=0.001, eta=0.9, tol=1e-10, print_flag=0)
A line search algorithm implemented using the strong Wolfe condittions.
source code
 
print_data(text, k, a)
Temp func for debugging.
source code
 
zoom(func, func_prime, args, f_count, g_count, x, f, g, p, mu, eta, i, a0, a_lo, a_hi, tol, print_flag=0)
Find the minimum function value in the open interval (a_lo, a_hi)
source code

Imports: deepcopy, copy, dot, sqrt, cubic_ext, quadratic_fafbga, quadratic


Function Details [hide private]

nocedal_wright_wolfe(func, func_prime, args, x, f, g, p, a_init=1.0, max_a=100000.0, mu=0.001, eta=0.9, tol=1e-10, print_flag=0)

source code 
A line search algorithm implemented using the strong Wolfe condittions.

Algorithm 3.2, page 59, from 'Numerical Optimization' by Jorge Nocedal and Stephen J. Wright, 1999
Requires the gradient function.

These functions require serious debugging and recoding to work properly (especially the safeguarding).

Function options
~~~~~~~~~~~~~~~~

func            - The function to minimise.
func_prime      - The function which returns the gradient vector.
args            - The tuple of arguments to supply to the functions func and dfunc.
x               - The parameter vector at minimisation step k.
f               - The function value at the point x.
g               - The function gradient vector at the point x.
p               - The descent direction.
a_init          - Initial step length.
a_max           - The maximum value for the step length.
mu              - Constant determining the slope for the sufficient decrease condition (0 < mu < eta < 1).
eta             - Constant used for the Wolfe curvature condition (0 < mu < eta < 1).

zoom(func, func_prime, args, f_count, g_count, x, f, g, p, mu, eta, i, a0, a_lo, a_hi, tol, print_flag=0)

source code 

Find the minimum function value in the open interval (a_lo, a_hi)

Algorithm 3.3, page 60, from 'Numerical Optimization' by Jorge Nocedal and Stephen J. Wright, 1999