Barzilai-Borwein Method
Given a differentiable function $f\colon\mathbf{R}^n\to\mathbf{R}$ and $x_0\in\mathbf{R}^n$, this application uses Barzilai-Borwein method to solve the unconstrained optimization: \[ \min_{x\in\mathbf{R}^n} f(x). \] This method finds the local minimizer using the iteration: \[ x_{k+1} = x_k - \alpha_k g_k \] where $g=\nabla f$ and \[ \alpha_k = \frac{\langle x_k-x_{k-1},g_k-g_{k-1}\rangle}{\langle g_k-g_{k-1},g_k-g_{k-1}\rangle} \] The iteration stops when $k=200$ or $|g_k| < 10^{-8}$ which in the latter case $x_k$ is a local minimizer of $f(x)$.
Reference
- Barzilai, J. and Borwein, J.M. (1988), Two-point step size gradient methods, IMA J. Numerical Analysis, Vol. 8, pp. 141–148.
Input Data
This application requires $f(x)$ and $x_0$ in the same format as Unconstraied Optimization Solver.