BilevelJuMP.jl: Modeling and Solving Bilevel Optimization in Julia
Joaquim Dias Garcia, Guilherme Bodin, Alexandre Street

TL;DR
BilevelJuMP.jl is a Julia package that simplifies modeling and solving complex bilevel optimization problems using JuMP's syntax and various reformulation techniques.
Contribution
The paper introduces BilevelJuMP, a flexible Julia library that enables modeling of bilevel problems with diverse constraints and supports multiple solution approaches.
Findings
Supports modeling of bilevel problems with conic and nonlinear constraints
Allows reformulation into MPEC for solution
Enables quick experimentation with bilevel models
Abstract
In this paper we present BilevelJuMP, a new Julia package to support bilevel optimization within the JuMP framework. The package is a Julia library that enables the user to describe both upper and lower-level optimization problems using the JuMP algebraic syntax. Due to the generality and flexibility our library inherits from JuMP's syntax, our package allows users to model bilevel optimization problems with conic constraints in the lower level and all JuMP supported constraints in the upper level (Conic, Quadratic, Non-Linear, Integer, etc.). Moreover, the user-defined problem can be subsequently solved by various techniques relying on mathematical program with equilibrium constraints (MPEC) reformulations. Manipulations on the original problem data are possible due to MathOptInterface.jl's structures and Dualization.jl features. Hence, the proposed package allows quickly model,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Optimization Algorithms Research · Pediatric Hepatobiliary Diseases and Treatments · Risk and Portfolio Optimization
