# A Graph-Based Modeling Abstraction for Optimization: Concepts and Implementation in Plasmo.jl

arXiv: https://arxiv.org/abs/2006.05378 · HTML: https://mlsanity.com/paper/2006.05378/

## Key facts

- Cited by 3 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 9 Jun 2020.

## Built on by (most cited first, 3 of 3)

- [Accelerating process control and optimization via machine learning: A review](https://mlsanity.com/paper/2412.18529/) (2024)
- [Deep learning enhanced mixed integer optimization: Learning to reduce model dimensionality](https://mlsanity.com/paper/2401.09556/) (2024)
- [PlasmoData.jl -- A Julia Framework for Modeling and Analyzing Complex Data as Graphs](https://mlsanity.com/paper/2401.11404/) (2024)

## Abstract (arXiv)

We present a general graph-based modeling abstraction for optimization that we call an OptiGraph. Under this abstraction, any optimization problem is treated as a hierarchical hypergraph in which nodes represent optimization subproblems and edges represent connectivity between such subproblems. The abstraction enables the modular construction of highly complex models in an intuitive manner, facilitates the use of graph analysis tools (to perform partitioning, aggregation, and visualization tasks), and facilitates communication of structures to decomposition algorithms. We provide an open-source implementation of the abstraction in the Julia-based package Plasmo.jl. We provide tutorial examples and large application case studies to illustrate the capabilities.
