PEPit: computer-assisted worst-case analyses of first-order optimization methods in Python

Goujaud, Baptiste;Moucer, Céline;Glineur, François;Hendrickx, Julien;Dieuleveut, Aymeric;et.al.
(2024) Mathematical Programming Computation — Vol. 16, n° 3, p. 337-367 (2024)

Files

s12532-024-00259-7.pdf
  • Open Access
  • Adobe PDF
  • 675.17 KB

Details

Authors
  • Goujaud, BaptisteCMAP, École Polytechnique, Institut Polytechnique de Paris, Paris, France
    Author
  • Moucer, CélineINRIA & D.I. École Normale Supérieure, CNRS & PSL Research University, Paris, Franc
    Author
  • Author
  • Author
  • Dieuleveut, AymericCMAP, École Polytechnique, Institut Polytechnique de Paris, Paris, France
    Author
Show more
Abstract
PEPit is a python package aiming at simplifying the access to worst-case analyses of a large family of first-order optimization methods possibly involving gradient, projection, proximal, or linear optimization oracles, along with their approximate, or Bregman variants. In short, PEPit is a package enabling computer-assisted worst-case analyses of first-order optimization methods. The key underlying idea is to cast the problem of performing a worst-case analysis, often referred to as a performance estimation problem (PEP), as a semidefinite program (SDP) which can be solved numerically. To do that, the package users are only required to write first-order methods nearly as they would have implemented them. The package then takes care of the SDP modeling parts, and the worst-case analysis is performed numerically via standard solvers.
Affiliations

Citations

Goujaud, B., Moucer, C., Glineur, F., Hendrickx, J., Taylor, A. B., & Dieuleveut, A. (2024). PEPit: computer-assisted worst-case analyses of first-order optimization methods in Python. Mathematical Programming Computation, 16(3), 337-367. https://doi.org/10.1007/s12532-024-00259-7 (Original work published 2024)