FrankWolfe.jl: A High-Performance and Flexible Toolbox for Frank–Wolfe Algorithms and Conditional Gradients
Mathieu Besançon, Alejandro Carderera, Sebastian Pokutta
Abstract
We present FrankWolfe.jl, an open-source implementation of several popular Frank–Wolfe and conditional gradients variants for first-order constrained optimization. The package is designed with flexibility and high performance in mind, allowing for easy extension and relying on few assumptions regarding the user-provided functions. It supports Julia’s unique multiple dispatch feature, and it interfaces smoothly with generic linear optimization formulations using MathOptInterface.jl.
Topics & Concepts
Computer scienceToolboxExtension (predicate logic)Flexibility (engineering)AlgorithmMathematical optimizationFeature (linguistics)MathematicsProgramming languagePhilosophyLinguisticsStatisticsSparse and Compressive Sensing TechniquesStochastic Gradient Optimization TechniquesAdvanced Optimization Algorithms Research