Namespaces

Types in MathNet.Numerics.Optimization.LineSearch

Type WeakWolfeLineSearch

Namespace MathNet.Numerics.Optimization.LineSearch

Parent WolfeLineSearch

Search for a step size alpha that satisfies the weak Wolfe conditions. The weak Wolfe Conditions are i) Armijo Rule: f(x_k + alpha_k p_k) <= f(x_k) + c1 alpha_k p_k^T g(x_k) ii) Curvature Condition: p_k^T g(x_k + alpha_k p_k) >= c2 p_k^T g(x_k) where g(x) is the gradient of f(x), 0 < c1 < c2 < 1. Implementation is based on http://www.math.washington.edu/~burke/crs/408/lectures/L9-weak-Wolfe.pdf references: http://en.wikipedia.org/wiki/Wolfe_conditions http://www.math.washington.edu/~burke/crs/408/lectures/L9-weak-Wolfe.pdf

Constructors

Methods

Public Constructors

WeakWolfeLineSearch(double c1, double c2, double parameterTolerance, int maxIterations)

Public Methods

bool Equals(object obj)

LineSearchResult FindConformingStep(IObjectiveFunctionEvaluation startingPoint, Vector<T> searchDirection, double initialStep)

Implemented following http://www.math.washington.edu/~burke/crs/408/lectures/L9-weak-Wolfe.pdf
Parameters
IObjectiveFunctionEvaluation startingPoint

The objective function being optimized, evaluated at the starting point of the search

Vector<T> searchDirection

Search direction

double initialStep

Initial size of the step in the search direction

LineSearchResult FindConformingStep(IObjectiveFunctionEvaluation startingPoint, Vector<T> searchDirection, double initialStep, double upperBound)

Parameters
IObjectiveFunctionEvaluation startingPoint

The objective function being optimized, evaluated at the starting point of the search

Vector<T> searchDirection

Search direction

double initialStep

Initial size of the step in the search direction

double upperBound

The upper bound

int GetHashCode()

Type GetType()

string ToString()