GBOML: Graph-Based Optimization Modeling Language

Bardhyl Miftari, Mathias Berger, Hatim Djelassi, Damien Ernst · The Journal of Open Source Software · 2022

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 commandline interface and a Python API.It also directly interfaces with a variety of open-source and commercial solvers, including structure-exploiting ones.

Read the paper · More papers on PaperTik