bilevel programs are optimization problems where some variables are solutions
to optimization problems themselves, and they arise in a variety of control
applications, including: control of vehicle traffic networks, inverse
reinforcement learning and inverse optimization, and robust co