English

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

Optimization and Control 2024-06-18 v2 Machine Learning Mathematical Software Numerical Analysis Numerical Analysis

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 a standard solver.

Keywords

Cite

@article{arxiv.2201.04040,
  title  = {PEPit: computer-assisted worst-case analyses of first-order optimization methods in Python},
  author = {Baptiste Goujaud and Céline Moucer and François Glineur and Julien Hendrickx and Adrien Taylor and Aymeric Dieuleveut},
  journal= {arXiv preprint arXiv:2201.04040},
  year   = {2024}
}

Comments

Reference work for the PEPit package (available at https://github.com/bgoujaud/PEPit)