Graph-Based Modeling and Optimization using Plasmo.jl Jordan Jalving & Victor M. Zavala Department of Chemical and Biological Engineering University of Wisconsin-Madison Third Annual JuMP Development Workshop March 14 th , 2019 1
Motivation: Cyber-Physical Systems Physical Aspects Computing Aspects Physical Models and Connections Communication/Cyber Connections Challenges: Large-scale optimization problems Challenges: Simulating real-time systems 2
Algebraic Graphs (Model Graphs) Model Graph Formulation Connectivity Matrix JuMP Model JuMP Model Link JuMP Models JuMP Model 3
Algebraic Graph Example Load Packages Create a Model-Graph (Algebraic Graph) JuMP Models Solve and Query Results 4
Hierarchical Algebraic Graphs Gas Infrastructure Graph Power Infrastructure Graph Link Systems 5
Hierarchical Modeling Example 6
Decomposition Algorithms Braulio Brunaud 7
Graph Decomposition Graph Partitions Modeled System Linear Algebra Decomposition (e.g., PIPS-NLP) Lagrangean Decomposition 8
Model Graph Partitioning ➢ 1 million variable nonlinear programming problem ➢ Solves with PIPS-NLP ~40 minutes 9
Model Graph Community Detection 10
Graph-Based Modeling Abstractions Algebraic Graphs • Exploit physical topology • Nodes =Models, Edges =Static Connections • Exploit topology to decompose large-scale optimization problems Computing Graphs • Exploit communication topology • Nodes =Tasks, Edges =Dynamic Connections • Exploit topology to simulate behavior of algorithms and computing architectures 11
Computing Graphs Challenge: Capture computing aspects ( e.g., Asynchronicity, Delays, Latency) of a real-time system Key Elements Nodes: Tasks and Attributes (data) State-Space Description Tasks: Computing time Edges: Communication Clock: Scheduling & Management 12
Computing Graphs ➢ Compute tasks and communication each require time ➢ A discrete-event queue coordinates simulation timings (the clock) 13
Simulation of Distributed Optimization Algorithms Example: Benders Decomposition Simulate parallel algorithm variants (synchronous & asynchronous) Sub-problem Sub-problem solution solution Master solution (and scenarios) Idea: Predict Effects of Computing/Communication Delays and Failures 14
Plasmo.jl Implementation 1. Create Computing Graph 2. Add Master Node with Attributes (Data) and Tasks 3. Initialize Graph 4. Add Sub-nodes and Connections 5. Execute Computing Graph 15
Synchronous Benders Algorithm CPU Idle CPU time • Simulation Predicts Poor Parallel Efficiency (Idle Processors) 16
Asynchronous Benders Algorithm CPU • Simulation predicts much higher parallel efficiency (but longer solution time) 17
Thank You https://github.com/zavalab/Plasmo.jl 18
Recommend
More recommend