Frank–Wolfe algorithm

This is an old revision of this page, as edited by Encyclops (talk | contribs) at 18:35, 14 November 2005 (Trying to add some meat on these bones.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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. At each step the objective function is linearized and then a step is take in a direction that reduces the objective while maintaining feasibility. The algorithm can be seen as a generalization of the primal Simplex Algorithm for Linear Programming. In recent years it has been widely used for determining the equilibrium flows in transportation networks.

Problem statement

Minimize
subject to .

Where the n×n matrix E is positive semidefinite, h is an n×1 vector, and 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 and let be any point in .

Step 2. Convergence test. If then Stop, we have found the minimum.

Step 3. Direction-finding subproblem. Solve for

Minimize
Subject to to

(note that this is a Linear Program).

Step 4. Step size determination. Find that minimizes subject to . If then Stop, we have found the minimum.

Step 5. Update. Let , let 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.