BilevelJuMP.jl: Modeling and Solving Bilevel Optimization in Julia

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 … Read more

Application-Driven Learning via Joint Prediction and Optimization of Demand and Reserves Requirement

Forecasting and decision-making are generally modeled as two sequential steps with no feedback, following an open-loop approach. In power systems, operators first forecast loads trying to minimize errors with respect to historical data. They also size reserve requirements based on error estimates. Next, energy and reserves are scheduled and the system is operated following the … Read more

MathOptInterface: a data structure for mathematical optimization problems

JuMP is an open-source algebraic modeling language in the Julia language. In this work, we discuss a complete re-write of JuMP based on a novel abstract data structure, which we call \textit{MathOptInterface}, for representing instances of mathematical optimization problems. MathOptInterface is significantly more general than existing data structures in the literature, encompassing, for example, a … Read more

Exploiting Low-Rank Structure in Semidefinite Programming by Approximate Operator Splitting

In contrast with many other convex optimization classes, state-of-the-art semidefinite programming solvers are yet unable to efficiently solve large scale instances. This work aims to reduce this scalability gap by proposing a novel proximal algorithm for solving general semidefinite programming problems. The proposed methodology, based on the primal-dual hybrid gradient method, allows the presence of … Read more