A Graph-Based, Distributed Memory, Modeling Abstraction for Optimization
By: David L. Cole , Jordan Jalving , Jonah Langlieb and more
Potential Business Impact:
Solves huge math problems faster on many computers.
We present a general, flexible modeling abstraction for building and working with distributed optimization problems called a RemoteOptiGraph. This abstraction extends the OptiGraph model in Plasmo.jl, where optimization problems are represented as hypergraphs with nodes that define modular subproblems (variables, constraints, and objectives) and edges that encode algebraic linking constraints between nodes. The RemoteOptiGraph allows OptiGraphs to be utilized in distributed memory environments through InterWorkerEdges, which manage linking constraints that span workers. This abstraction offers a unified approach for modeling optimization problems on distributed memory systems (avoiding bespoke modeling approaches), and provides a basis for developing general-purpose meta-algorithms that can exploit distributed memory structure such as Benders or Lagrangian decompositions. We implement this abstraction in the open-source package, Plasmo.jl and we illustrate how it can be used by solving a mixed integer capacity expansion model for the western United States containing over 12 million variables and constraints. The RemoteOptiGraph abstraction together with Benders decomposition performs 7.5 times faster than solving the same problem without decomposition.
Similar Papers
StarDist: A Code Generator for Distributed Graph Algorithms
Distributed, Parallel, and Cluster Computing
Makes big computer graphs work much faster.
StarDist: A Code Generator for Distributed Graph Algorithms
Distributed, Parallel, and Cluster Computing
Makes big computer graphs work much faster.
Optimizations on Graph-Level for Domain Specific Computations in Julia and Application to QED
Distributed, Parallel, and Cluster Computing
Makes super-fast computers solve hard science problems.