Article (Scientific journals)
GBOML: A Structure-exploiting Optimization Modelling Language in Python
Miftari, Bardhyl; Berger, Mathias; Derval, Guillaume et al.
2023In Optimization Methods and Software
Peer Reviewed verified by ORBi
 

Files


Full Text
GBOML_structure.pdf
Author preprint (744.74 kB) Creative Commons License - Attribution
Download
Annexes
Miftari_GBOML_a_modelling_tool.pdf
(332.5 kB) Creative Commons License - Attribution
Download

All documents in ORBi are protected by a user license.

Send to



Details



Keywords :
GBOML; MILP; Optimization; Linear Programming; Graph structure; Structure exploitation; Modelling; Tool
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.
Research center :
Montefiore Institute - Montefiore Institute of Electrical Engineering and Computer Science - ULiège
Disciplines :
Computer science
Engineering, computing & technology: Multidisciplinary, general & others
Author, co-author :
Miftari, Bardhyl ;  Université de Liège - ULiège > Département d'électricité, électronique et informatique (Institut Montefiore) > Smart grids
Berger, Mathias ;  Université de Liège - ULiège > Département d'électricité, électronique et informatique (Institut Montefiore) > Smart grids
Derval, Guillaume ;  Université de Liège - ULiège > Département d'électricité, électronique et informatique (Institut Montefiore) > Smart grids
Louveaux, Quentin ;  Université de Liège - ULiège > Département d'électricité, électronique et informatique (Institut Montefiore) > Systèmes et modélisation : Optimisation discrète
Ernst, Damien  ;  Université de Liège - ULiège > Département d'électricité, électronique et informatique (Institut Montefiore) > Smart grids
Language :
English
Title :
GBOML: A Structure-exploiting Optimization Modelling Language in Python
Publication date :
08 September 2023
Journal title :
Optimization Methods and Software
ISSN :
1055-6788
eISSN :
1029-4937
Publisher :
Taylor & Francis, United Kingdom
Peer reviewed :
Peer Reviewed verified by ORBi
Funders :
Gouvernement Fédéral Belge [BE]
SPF Economie - Service Public Fédéral Économie, PME, Classes moyennes et Énergie [BE]
Funding number :
INTEGRATION
Available on ORBi :
since 01 December 2022

Statistics


Number of views
482 (130 by ULiège)
Number of downloads
275 (47 by ULiège)

Scopus citations®
 
0
Scopus citations®
without self-citations
0
OpenCitations
 
0

Bibliography


Similar publications



Contact ORBi