Graph-Based Modeling and Decomposition of Hierarchical Optimization Problems
David L. Cole, Filippo Pecci, Omar J. Guerra, Harsha Gangammanavar, Jesse D. Jenkins, Victor M. Zavala
TL;DR
Using a graph-centered $OptiGraph$ representation implemented in Plasmo.jl, the paper presents a general framework to model hierarchical optimization and to solve it via a graph-based Benders Decomposition ($gBD$); it formalizes the underlying mathematics, provides the open-source PlasmoBenders.jl, and demonstrates through three power-system case studies that graph partitioning and root-subgraph selection enable scalable, structure-exploiting solutions with substantial runtime gains and flexible decomposition options.
Abstract
We present a graph-theoretic modeling approach for hierarchical optimization that leverages the OptiGraph abstraction implemented in the Julia package Plasmo.jl. We show that the abstraction is flexible and can effectively capture complex hierarchical connectivity that arises from decision-making over multiple spatial and temporal scales (e.g., integration of planning, scheduling, and operations in manufacturing and infrastructures). We also show that the graph abstraction facilitates the conceptualization and implementation of decomposition and approximation schemes. Specifically, we propose a graph-based Benders decomposition (gBD) framework that enables the exploitation of hierarchical (nested) structures and that uses graph aggregation/partitioning procedures to discover such structures. In addition, we provide a Julia implementation of gBD, which we call PlasmoBenders.jl. We illustrate the capabilities using examples arising in the context of energy and power systems.
