Frank-Wolfe Method
Frank-Wolfe Method
The following problem is given:
subjet to
from which we get the solution
where:
The Frank-Wolfe is an iterative method to solve the problem with the following steps
0. Find a feasible solution
The first step is to find any feasible solution
This solution has to meet the condition
1. Define the subproblem
The Frank-Wolfe method works generating a new problem, called a subproblem. This is still an optimization problem but is allegedly easier to solve.
In order to define the new problem, we first need to find the Gradient of
subj to:
from which we get the value
Calculate the descent direction
The, we need to calculate a new vector, called the direction, that will allow us to get the solution for the next step of the algorithm.
2. Stopping criteria
We need some sort of stopping criteria to know if the solution
We calculate a relative gap,
We define a relative gap that we find suitable. This is going to be a very small value,
If
3. Line search
The new solution will be given by
where
This can be solved finding the first derivative of
In the particular case that all elements of
where:
4. Update
After having found