Modeling Bilevel Programs in Pyomo.

We describe new capabilities for modeling bilevel programs within the Pyomo modeling software. These capabilities include new modeling components that represent subproblems, modeling transformations for re-expressing models with bilevel structure in other forms, and optimize bilevel programs with meta-solvers that apply transformations and then perform optimization on the resulting model. We illustrate the breadth of Pyomo’s modeling capabilities for bilevel programs, and we describe how Pyomo’s meta-solvers can perform local and global optimization of bilevel programs.