The Journal of Open Source Software · 2022 · 20 citations · 10 references
ComputingComputer ScienceMathematicsAlgorithmsOptimizationProgramming LanguagesCombinatorial OptimizationEnergy System ModelingGraph AlgorithmsLinear ProgrammingModel FormulationOptimization ModelingGraph Data StructuresGraph OptimizationGraph-based ModelingHierarchical StructuresInteger Linear ProgrammingMathematical Programming ModelsMixed-integer Linear ProgrammingMixed-integer Programming
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.
10
JuMP: A MODELING LANGUAGE FOR MATHEMATICAL OPTIMIZATION
2016 · 1.4K citations
JuMP: A Modeling Language for Mathematical Optimization
SIAM Review · 2017 · 1.2K citations · Full text
A Modeling Language for Mathematical Programming
Robert Fourer, David M. Gay, Brian W. Kernighan · Management Science · 1990 · 651 citations
PyPSA: Python for Power System Analysis
Journal of Open Research Software · 2018 · 502 citations · Full text
Engineering, Electrical Engineering, Systems Engineering +16