# Progress in Mathematical Programming Solvers from 2001 to 2020

arXiv: https://arxiv.org/abs/2206.09787 · HTML: https://mlsanity.com/paper/2206.09787/

## Key facts

- Cited by 10 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 20 Jun 2022.

## Built on by (most cited first, 10 of 10)

- [Logic-Based Explainability in Machine Learning](https://mlsanity.com/paper/2211.00541/) (2022)
- [Algorithmic progress in language models](https://mlsanity.com/paper/2403.05812/) (2024)
- [NeuroBench: A Framework for Benchmarking Neuromorphic Computing Algorithms and Systems](https://mlsanity.com/paper/2304.04640/) (2023)
- [Algorithmic progress in computer vision](https://mlsanity.com/paper/2212.05153/) (2022)
- [Federated K-Means Clustering via Dual Decomposition-based Distributed Optimization](https://mlsanity.com/paper/2307.13267/) (2023)
- [Bias Detection via Maximum Subgroup Discrepancy](https://mlsanity.com/paper/2502.02221/) (2025)
- [Piecewise Polynomial Regression of Tame Functions via Integer Programming](https://mlsanity.com/paper/2311.13544/) (2023)
- [Intersectional Fairness via Mixed-Integer Optimization](https://mlsanity.com/paper/2601.19595/) (2026)
- [Buffered AUC maximization for scoring systems via mixed-integer optimization](https://mlsanity.com/paper/2601.05544/) (2026)
- [Speeding Up Mixed-Integer Programming Solvers with Sparse Learning for Branching](https://mlsanity.com/paper/2604.00094/) (2026)

## Abstract (arXiv)

This study investigates the progress made in LP and MILP solver performance during the last two decades by comparing the solver software from the beginning of the millennium with the codes available today. On average, we found out that for solving LP/MILP, computer hardware got about 20 times faster, and the algorithms improved by a factor of about nine for LP and around 50 for MILP, which gives a total speed-up of about 180 and 1,000 times, respectively. However, these numbers have a very high variance and they considerably underestimate the progress made on the algorithmic side: many problem instances can nowadays be solved within seconds, which the old codes are not able to solve within any reasonable time.
