Per minimizzare una funzione convessa (in blu) su un insieme convesso (in verde), l'algoritmo di Frank-Wolfe considera la linearizzazione della funzione obiettivo all'iterazione corrente (in rosso)
* Passo 0 (Inizializzazione): Si sceglie un punto e si pone
* Passo 1: Si determina .
* Passo 2: Si determina .
* Passo 3: Si pone .
* Passo 4: Si pone e si torna al Passo 1.
A ogni iterazione l'algoritmo determina la direzione e la dimensione del passo lungo quella direzione in modo da minimizzare l'approssimazione lineare del problema. A differenza di metodi per l'ottimizzazione non vincolata, quali ad esempio la discesa del gradiente, l'algoritmo di Frank-Wolfe non necessita di proiezioni, poiché in ciascuna iterazione richiede soltanto la soluzione di un problema lineare sull'insieme .