Improved algorithms and novel applications of the FrankWolfe.jl library
Mathieu Besan\c{c}on, S\'ebastien Designolle, Jannis Halbey, Deborah Hendrych, Dominik Kuzinowicz, Sebastian Pokutta, Hannah Troppens, Daniel Viladrich Herrmannsdoerfer, Elias Wirth

TL;DR
This paper reviews the development and applications of the FrankWolfe.jl library, highlighting its high-performance implementations of FW algorithms, diverse use cases, and benchmarking results on large-scale constrained optimization problems.
Contribution
It provides a comprehensive overview of the FrankWolfe.jl library's design, its application in practice, and performance benchmarking of various FW variants.
Findings
FrankWolfe.jl offers high-performance implementations of FW variants.
The library is widely used in recent literature for constrained optimization.
Benchmarking shows competitive performance of FW variants on large-scale problems.
Abstract
Frank-Wolfe (FW) algorithms have emerged as an essential class of methods for constrained optimization, especially on large-scale problems. In this paper, we summarize the algorithmic design choices and progress made in the last years of the development of FrankWolfe.jl, a Julia package gathering high-performance implementations of state-of-the-art FW variants. We review key use cases of the library in the recent literature, which match its original dual purpose: first, becoming the de-facto toolbox for practitioners applying FW methods to their problem, and second, offering a modular ecosystem to algorithm designers who experiment with their own variants and implementations of algorithmic blocks. Finally, we demonstrate the performance of several FW variants on important problem classes in several experiments, which we curated in a separate repository for continuous benchmarking.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Algorithms and Data Compression · Advanced Data Storage Technologies
