Wolfe conditions

From HandWiki

In the unconstrained minimization problem, the Wolfe conditions are a set of inequalities for performing inexact line search, especially in quasi-Newton methods, first published by Philip Wolfe in 1969.[1][2] In these methods the idea is to find [math]\displaystyle{ \min_x f(\mathbf{x}) }[/math] for some smooth [math]\displaystyle{ f\colon\mathbb R^n\to\mathbb R }[/math]. Each step often involves approximately solving the subproblem [math]\displaystyle{ \min_{\alpha} f(\mathbf{x}_k + \alpha \mathbf{p}_k) }[/math] where [math]\displaystyle{ \mathbf{x}_k }[/math] is the current best guess, [math]\displaystyle{ \mathbf{p}_k \in \mathbb R^n }[/math] is a search direction, and [math]\displaystyle{ \alpha \in \mathbb R }[/math] is the step length.

The inexact line searches provide an efficient way of computing an acceptable step length [math]\displaystyle{ \alpha }[/math] that reduces the objective function 'sufficiently', rather than minimizing the objective function over [math]\displaystyle{ \alpha\in\mathbb R^+ }[/math] exactly. A line search algorithm can use Wolfe conditions as a requirement for any guessed [math]\displaystyle{ \alpha }[/math], before finding a new search direction [math]\displaystyle{ \mathbf{p}_k }[/math].

Armijo rule and curvature

A step length [math]\displaystyle{ \alpha_k }[/math] is said to satisfy the Wolfe conditions, restricted to the direction [math]\displaystyle{ \mathbf{p}_k }[/math], if the following two inequalities hold:

  1. [math]\displaystyle{ f(\mathbf{x}_k+\alpha_k\mathbf{p}_k)\leq f(\mathbf{x}_k) + c_1\alpha_k \mathbf{p}_k^{\mathrm T} \nabla f(\mathbf{x}_k), }[/math]
  2. [math]\displaystyle{ {-\mathbf{p}}_k^{\mathrm T}\nabla f(\mathbf{x}_k+\alpha_k\mathbf{p}_k) \leq -c_2\mathbf{p}_k^{\mathrm T}\nabla f(\mathbf{x}_k), }[/math]

with [math]\displaystyle{ 0 \lt c_1 \lt c_2 \lt 1 }[/math]. (In examining condition (ii), recall that to ensure that [math]\displaystyle{ \mathbf{p}_k }[/math] is a descent direction, we have [math]\displaystyle{ \mathbf{p}_k^{\mathrm T}\nabla f(\mathbf{x}_k) \lt 0 }[/math], as in the case of gradient descent, where [math]\displaystyle{ \mathbf{p}_k = -\nabla f(\mathbf{x}_k) }[/math], or Newton–Raphson, where [math]\displaystyle{ \mathbf{p}_k = -\mathbf{H}^{-1} \nabla f(\mathbf{x}_k) }[/math] with [math]\displaystyle{ \mathbf{H} }[/math] positive definite.)

[math]\displaystyle{ c_1 }[/math] is usually chosen to be quite small while [math]\displaystyle{ c_2 }[/math] is much larger; Nocedal and Wright give example values of [math]\displaystyle{ c_1 = 10^{-4} }[/math] and [math]\displaystyle{ c_2 = 0.9 }[/math] for Newton or quasi-Newton methods and [math]\displaystyle{ c_2=0.1 }[/math] for the nonlinear conjugate gradient method.[3] Inequality i) is known as the Armijo rule[4] and ii) as the curvature condition; i) ensures that the step length [math]\displaystyle{ \alpha_k }[/math] decreases [math]\displaystyle{ f }[/math] 'sufficiently', and ii) ensures that the slope has been reduced sufficiently. Conditions i) and ii) can be interpreted as respectively providing an upper and lower bound on the admissible step length values.

Strong Wolfe condition on curvature

Denote a univariate function [math]\displaystyle{ \varphi }[/math] restricted to the direction [math]\displaystyle{ \mathbf{p}_k }[/math] as [math]\displaystyle{ \varphi(\alpha)=f(\mathbf{x}_k+\alpha\mathbf{p}_k) }[/math]. The Wolfe conditions can result in a value for the step length that is not close to a minimizer of [math]\displaystyle{ \varphi }[/math]. If we modify the curvature condition to the following,

  1. [math]\displaystyle{ \big|\mathbf{p}_k^{\mathrm T}\nabla f(\mathbf{x}_k+\alpha_k\mathbf{p}_k)\big|\leq c_2\big|\mathbf{p}_k^{\mathrm T}\nabla f(\mathbf{x}_k)\big| }[/math]

then i) and iii) together form the so-called strong Wolfe conditions, and force [math]\displaystyle{ \alpha_k }[/math] to lie close to a critical point of [math]\displaystyle{ \varphi }[/math].


The principal reason for imposing the Wolfe conditions in an optimization algorithm where [math]\displaystyle{ \mathbf{x}_{k+1} = \mathbf{x}_k + \alpha \mathbf{p}_k }[/math] is to ensure convergence of the gradient to zero. In particular, if the cosine of the angle between [math]\displaystyle{ \mathbf{p}_k }[/math] and the gradient, [math]\displaystyle{ \cos \theta_k = \frac {\nabla f(\mathbf{x}_k)^{\mathrm T}\mathbf{p}_k }{\| \nabla f(\mathbf{x}_k)\| \|\mathbf{p}_k\| } }[/math] is bounded away from zero and the i) and ii) conditions hold, then [math]\displaystyle{ \nabla f(\mathbf{x}_k) \rightarrow 0 }[/math].

An additional motivation, in the case of a quasi-Newton method, is that if [math]\displaystyle{ \mathbf{p}_k = -B_k^{-1} \nabla f(\mathbf{x}_k) }[/math], where the matrix [math]\displaystyle{ B_k }[/math] is updated by the BFGS or DFP formula, then if [math]\displaystyle{ B_k }[/math] is positive definite ii) implies [math]\displaystyle{ B_{k+1} }[/math] is also positive definite.


Wolfe's conditions are more complicated than Armijo's condition, and a gradient descent algorithm based on Armijo's condition has a better theoretical guarantee than one based on Wolfe conditions (see the sections on "Upper bound for learning rates" and "Theoretical guarantee" in the Backtracking line search article).

See also


  1. Wolfe, P. (1969). "Convergence Conditions for Ascent Methods". SIAM Review 11 (2): 226–235. doi:10.1137/1011036. 
  2. Wolfe, P. (1971). "Convergence Conditions for Ascent Methods. II: Some Corrections". SIAM Review 13 (2): 185–188. doi:10.1137/1013035. 
  3. Nocedal, Jorge; Wright, Stephen (1999). Numerical Optimization. p. 38. https://books.google.com/books?id=epc5fX0lqRIC&pg=PA38. 
  4. Armijo, Larry (1966). "Minimization of functions having Lipschitz continuous first partial derivatives". Pacific J. Math. 16 (1): 1–3. doi:10.2140/pjm.1966.16.1. http://projecteuclid.org/euclid.pjm/1102995080. 

Further reading