gboml 0.1.9

Creator: bigcodingguy24

Last updated:

Add to Cart

Description:

gboml 0.1.9

GBOML: Graph-Based Optimization Modeling Language

Contents

About
Quick start
Documentation
Community guidelines
Citing GBOML
License


About
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 to construct models, and directly interfaces with a variety of open source and commercial solvers, including structure-exploiting ones.
Quick start
GBOML has been tested on Windows, macOS and Linux. The simplest way to install it is via the pip package manager in a terminal window:
pip install gboml

Please refer to the online documentation for more information on how to install GBOML. Note that optimization solvers are also required to solve GBOML models and installation instructions are also provided in the online documentation.
Several examples are provided in this repository (in the examples directory) and explained in the online documentation.
Documentation
Documentation is available on Read the Docs:

Read the documentation online

Community guidelines
To contribute changes:

Fork the project on Gitlab
Create a feature branch to work on in your fork (git checkout -b new-feature)
Commit your changes to the feature branch
Push the branch to Gitlab (git push origin my-new-feature)
On Gitlab, create a new pull request from the feature branch

Issues and questions shall be reported in the issues directory.
Citing GBOML
@article{Miftari2022,
doi = {10.21105/joss.04158},
url = {https://doi.org/10.21105/joss.04158},
year = {2022},
publisher = {The Open Journal},
volume = {7},
number = {72},
pages = {4158},
author = {Bardhyl Miftari and Mathias Berger and Hatim Djelassi and Damien Ernst},
title = {GBOML: Graph-Based Optimization Modeling Language},
journal = {Journal of Open Source Software}
}

License
Copyright (C) since 2020 Bardhyl Miftari, Mathias Berger, Hatim Djelassi, Damien Ernst, University of Liege . Licensed under the MIT License (see LICENSE file).

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.