Content deleted Content added
sent to Math stubs |
Trying to add some meat on these bones. |
||
Line 1:
The '''Frank-Wolfe algorithm''', also known as the Convex Combination algorithm, is a classic algorithm in [[Operations Research]]. It was originally proposed by Marguerite Frank and Phil Wolfe in 1956 as a procedure for solving [[quadratic programming]] problems with linear constraints.
''Problem statement''
:Minimize <math> f(\mathbf{x}) = \frac{1}{2} \mathbf{x}^{\mathrm{T}} E\mathbf{x} + \mathbf{h}^{\mathrm{T}} \mathbf{x} </math>
:subject to <math> \mathbf{x} \epsilon \mathbf{P}</math>.
Where the n×n matrix E is positive semidefinite, h is an n×1 vector, and <math>\mathbf{P}</math> represents a feasible region defined by a mix of linear inequality and equality constraints (for example Ax ≤ b, Cx = d).
''Algorithm''
Step 1. Initialization. Let <math>k \leftarrow 0</math> and let <math>x_0</math> be any point in <math>\mathbf{P}</math>.
Step 2. Convergence test. If <math> \nabla f(x_k)=0</math> then Stop, we have found the minimum.
Step 3. Direction-finding subproblem. Solve for <math>\bar{x_k}</math>
:Minimize <math>\nabla^T f(x_k) \bar{x_k}</math>
:Subject to to <math> \mathbf{x} \epsilon \mathbf{P}</math>
(note that this is a Linear Program).
Step 4. Step size determination. Find <math>\lambda</math> that minimizes <math> f(x_k+\lambda(\bar{x_k}-x_k))</math> subject to <math>0 \le \lambda \le 1</math> . If <math>\lambda = 0</math> then Stop, we have found the minimum.
Step 5. Update. Let <math>x_{k+1}\leftarrow x_k+\lambda(\bar{x_k}-x_k)</math>, let <math>k \leftarrow k+1</math> and go back to Step 2.
''Comments''
To be added.
''References''
M. Frank and P. Wolfe, An algorithm for quadratic programming, Naval Research Logistics Quarterly, 3 (1956), pp. 95--110.
{{Math-stub}}
|