English

tvopt: A Python Framework for Time-Varying Optimization

Mathematical Software 2024-05-07 v2 Machine Learning Optimization and Control

Abstract

This paper introduces tvopt, a Python framework for prototyping and benchmarking time-varying (or online) optimization algorithms. The paper first describes the theoretical approach that informed the development of tvopt. Then it discusses the different components of the framework and their use for modeling and solving time-varying optimization problems. In particular, tvopt provides functionalities for defining both centralized and distributed online problems, and a collection of built-in algorithms to solve them, for example gradient-based methods, ADMM and other splitting methods. Moreover, the framework implements prediction strategies to improve the accuracy of the online solvers. The paper then proposes some numerical results on a benchmark problem and discusses their implementation using tvopt. The code for tvopt is available at https://github.com/nicola-bastianello/tvopt.

Keywords

Cite

@article{arxiv.2011.07119,
  title  = {tvopt: A Python Framework for Time-Varying Optimization},
  author = {Nicola Bastianello},
  journal= {arXiv preprint arXiv:2011.07119},
  year   = {2024}
}

Comments

Code available here: https://github.com/nicola-bastianello/tvopt -- IEEE CDC'21 paper