# Disciplined Bilevel Programming

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

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 30 of its 69 references that are in the map.
- First posted on arXiv 1 Sep 2026.

## Builds on (most cited first, 30 of 30)

- [Convex optimization](https://mlsanity.com/paper/2106.01946/) (2021)
- [CVXPY: A Python-Embedded Modeling Language for Convex Optimization](https://mlsanity.com/paper/1603.00943/) (2016)
- [OptNet: Differentiable Optimization as a Layer in Neural Networks](https://mlsanity.com/paper/1703.00443/) (2017)
- [Differentiable Convex Optimization Layers](https://mlsanity.com/paper/1910.12430/) (2019)
- [Bilevel Programming for Hyperparameter Optimization and Meta-Learning](https://mlsanity.com/paper/1806.04910/) (2018)
- [Gradient-based Hyperparameter Optimization through Reversible Learning](https://mlsanity.com/paper/1502.03492/) (2015)
- [Optimizing Millions of Hyperparameters by Implicit Differentiation](https://mlsanity.com/paper/1911.02590/) (2019)
- [Hyperparameter optimization with approximate gradient](https://mlsanity.com/paper/1602.02355/) (2016)
- [A Rewriting System for Convex Optimization Problems](https://mlsanity.com/paper/1709.04494/) (2017)
- [A Review on Bilevel Optimization: From Classical to Evolutionary Approaches and Applications](https://mlsanity.com/paper/1705.06270/) (2017)
- [On Differentiating Parameterized Argmin and Argmax Problems with Application to Bi-level Optimization](https://mlsanity.com/paper/1607.05447/) (2016)
- [Differentiating Through a Cone Program](https://mlsanity.com/paper/1904.09043/) (2019)
- [JuMP: A Modeling Language for Mathematical Optimization](https://mlsanity.com/paper/1508.01982/) (2015)
- [Clarabel: An interior-point solver for conic programs with quadratic objectives](https://mlsanity.com/paper/2405.12762/) (2024)
- [JuMP 1.0: Recent improvements to a modeling language for mathematical optimization](https://mlsanity.com/paper/2206.03866/) (2022)
- [Disciplined Convex-Concave Programming](https://mlsanity.com/paper/1604.02639/) (2016)
- [Learning Convex Optimization Models](https://mlsanity.com/paper/2006.04248/) (2020)
- [Cardinal Optimizer (COPT) User Guide](https://mlsanity.com/paper/2208.14314/) (2022)
- [Convex Optimization in Julia](https://mlsanity.com/paper/1410.4821/) (2014)
- [Disciplined Geometric Programming](https://mlsanity.com/paper/1812.04074/) (2018)
- [Disciplined Quasiconvex Programming](https://mlsanity.com/paper/1905.00562/) (2019)
- [Disciplined Multi-Convex Programming](https://mlsanity.com/paper/1609.03285/) (2016)
- [Disciplined Saddle Programming](https://mlsanity.com/paper/2301.13427/) (2023)
- [Least Squares Auto-Tuning](https://mlsanity.com/paper/1904.05460/) (2019)
- [Differentiating Through a Quadratic Cone Program](https://mlsanity.com/paper/2508.17522/) (2025)
- [On the Inducibility of Stackelberg Equilibrium for Security Games](https://mlsanity.com/paper/1811.03823/) (2018)
- [Implementing a unified solver for nonlinearly constrained optimization](https://mlsanity.com/paper/2406.13454/) (2024)
- [Disciplined Biconvex Programming](https://mlsanity.com/paper/2511.01813/) (2025)
- [Disciplined Nonlinear Programming](https://mlsanity.com/paper/2606.02896/) (2026)
- [CVXPY 1.9: Recent Advances in Optimization Modeling Software](https://mlsanity.com/paper/2606.14891/) (2026)

## Abstract (arXiv)

Bilevel optimization provides a natural modeling language for hierarchical decision problems. However, applying existing numerical solvers usually requires substantial manual analysis and reformulation. In this paper, we introduce disciplined bilevel programming (DBLP), a symbolic framework that allows users to specify and solve optimistic bilevel problems in a high-level, human-readable way that is close to the mathematical formulation. For problems with a disciplined nonlinear upper problem and a convex lower problem satisfying the disciplined parameterized programming rules, DBLP automatically canonicalizes the lower problem into conic form and constructs an equivalent single-level reformulation using the conic Karush-Kuhn-Tucker conditions. We relax the resulting complementarity constraint and use a gap continuation procedure to approximately solve a sequence of smooth nonlinear problems. We implement DBLP in the open-source Python package BLVPY, an extension of CVXPY for bilevel programming. We demonstrate the modeling and solution capabilities of BLVPY on a range of bilevel optimization problems from several application domains. The proposed framework and implementation allow users to specify and solve bilevel optimization problems within a few lines of code, without prior expertise in bilevel modeling and numerical optimization.
