Abstract :
[en] Many real-life problems can be tackled as Structured Mixed Integer Linear Programs (MILP), usually involving two tools : a modelling tool and a solver; this presentation focuses on modelling tools. Most modelling tools for mathematical programming typically fall into two broad categories: the Algebraic Modelling Languages (AMLs) and Object-Oriented Modelling Environments (OOMEs).
On the one hand, the Algebraic Modelling Languages (AMLs) are tools enabling the encoding of a broad class of mathematical prob- lems, with syntax close to the mathematical notation; they enable mod- els to be encoded by writing equations, i.e., providing the parameters, variables, constraints and objectives of a given problem. On the other hand, OOMEs choose a more object-oriented approach by providing the users with a library of generic pre-existing components - easy to manipulate and to assemble for building models. In other words, they are characterized by their ability to reuse predefined components and to assemble them to create instances of problems and build bigger models (features usually unavailable in AMLs).
Both AMLs and OOMEs suffer some drawbacks. Most AMLs fail to exploit the structure existing in structured MILPs or allow any reuse of subparts (or whole parts) of models; OOMEs lack expressiveness
2 -
Robert Fourer, Marcos Dominguez Velad, FIlipe Brandão
The ideal of model-based optimization is to describe your problem the way you think about it, while computers do the work of getting and re- porting solutions. Recent enhancements aim to bring the AMPL mod- eling language and system closer to this ideal, on two fronts. — First, modeling language extensions are enabling more natural expressions to be used directly in AMPL model formulations. Conversions to the forms required by large-scale solvers are handled automatically, with support from a new C++ AMPL-solver interface library that adapts to handle diverse solver requirements. The new extensions include general quadratic expressions, numerous logical operators and con- straints, and common near-linear and nonlinear functions, all combin- able with familiar algebraic expressions. — Second, modeling system extensions are letting AMPL fit more naturally into the increasingly popular Python application programming environment: installing as an "amplpy" Python package, importing and exporting data naturally from/to Python data structures and Pandas dataframes, and support- ing Jupyter notebooks that mix AMPL modeling and Python program- ming. In contrast to Python-only modeling solutions, AMPL’s Python API offers straightforward, efficient model processing while leverag- ing Python’s vast ecosystem for data pre-processing, solution analysis, and visualization. Examples include free prototyping in Google Colab and fast web app development using Streamlit.
BilevelJuMP.jl: Modeling and Solving Bilevel Optimiza- tion in Julia
Joaquim Dias Garcia, Guilherme Bodin
In this talk, we present BilevelJuMP.jl, a JuMP extension allow- ing users to model and to solve bilevel optimization problems.
48
IFORS 2023 TB-09
and hide the equations behind their components, making addition or modification complicated. Furthermore, OOMEs often rely on AMLs, making them inherit all their drawback.
In this presentation, we introduce the Graph-Based Optimization Mod- elling Language (GBOML), an open-source modeling tool combining the strengths of both worlds; it supports structure and offers an en- coding close to the mathematical one and library-like functionalities, such as reuse and component assembling. GBOML is designed to deal with structured MILPs; it exploits the existing structure from model encoding to the solving. By illustrating on GBOML, we show struc- ture exploitation can lead to a natural encoding of problems, faster time to build the intermediate representation and sometimes faster solving time. We benchmark GBOML, JuMP, Plasmo and Pyomo on a struc- tured MILP.
This presentation is based on two papers: https://joss.theoj.org/papers/10.21105/joss.04158 and
https://orbi.uliege.be/handle/2268/296930 (under review at Optimiza- tion Methods and Software journal).