[en] The Graph-Based Optimization Modeling Language (GBOML) is a modeling language for mathematical programming enabling the easy implementation of a broad class of structured mixed-integer linear programs typically found in applications ranging from energy system planning to supply chain management. More precisely, the language is particularly well-suited for representing problems involving the optimization of discrete-time dynamical systems over a finite time horizon and possessing a block structure that can be encoded by a hierarchical hypergraph. The language combines elements of both algebraic and object-oriented modeling languages in order to facilitate problem encoding and model re-use, speed up model generation, expose problem structure to specialised solvers and simplify post-processing. The GBOML parser, which is implemented in Python, turns GBOML input files into hierarchical graph data structures representing optimization models. The associated tool provides both a command-line interface and a Python API. It also directly interfaces with a variety of open-source and commercial solvers, including structure-exploiting ones.
Disciplines :
Computer science
Author, co-author :
Miftari, Bardhyl ✱; Université de Liège - ULiège > Montefiore Institute of Electrical Engineering and Computer Science
Berger, Mathias ✱; Université de Liège - ULiège > Montefiore Institute of Electrical Engineering and Computer Science
Djelassi, Hatim
Ernst, Damien ; Université de Liège - ULiège > Montefiore Institute of Electrical Engineering and Computer Science
✱ These authors have contributed equally to this work.