Abstract :
[en] Many real-life problems can be tackled as Structured Mixed Integer Linear Programs
(MILP). The workflow when dealing with MILPs usually involves two tools : a
modelling tool and a solver. This work focuses on modelling tools. Most modelling
tools either enable an encoding close to the mathematical one but lack support
for structures or offer predefined components to assemble but adding components
or modifying them is difficult. In this work, we explain the inner workings of the
Graph-Based Optimization Modelling Language (GBOML), a modelling tool that
combines the strengths of both worlds. It supports structure and offers an encoding
close to the mathematical one and library-like functionalities such as reuse and
component assembling. We explain how GBOML consistently exploits the structure
from model encoding to the solving and show that structure 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 structured MILP. We show that GBOML and JuMP take a similar time
to build the intermediate representation and outperform Plasmo and Pyomo. With
parallelism, GBOML outperforms the three tools. In terms of memory footprint,
GBOML uses the least memory.
Funders :
Gouvernement Fédéral Belge
SPF Economie - Service Public Fédéral Économie, PME, Classes moyennes et Énergie
Scopus citations®
without self-citations
0