Optimization using Plasmo.jl Jordan Jalving & Victor M. Zavala - - PowerPoint PPT Presentation

optimization using plasmo jl
SMART_READER_LITE
LIVE PREVIEW

Optimization using Plasmo.jl Jordan Jalving & Victor M. Zavala - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

Graph-Based Modeling and Optimization using Plasmo.jl

Jordan Jalving & Victor M. Zavala Department of Chemical and Biological Engineering University of Wisconsin-Madison

1

Third Annual JuMP Development Workshop March 14th, 2019

slide-2
SLIDE 2

Motivation: Cyber-Physical Systems

2

Computing Aspects

Communication/Cyber Connections

Physical Aspects

Physical Models and Connections Challenges: Simulating real-time systems Challenges: Large-scale optimization problems

slide-3
SLIDE 3

Algebraic Graphs (Model Graphs)

3

Model Graph Formulation Connectivity Matrix JuMP Model JuMP Model JuMP Model Link JuMP Models

slide-4
SLIDE 4

4

Algebraic Graph Example

Create a Model-Graph (Algebraic Graph) Solve and Query Results JuMP Models Load Packages

slide-5
SLIDE 5

Hierarchical Algebraic Graphs

5

Link Systems Gas Infrastructure Graph Power Infrastructure Graph

slide-6
SLIDE 6

Hierarchical Modeling Example

6

slide-7
SLIDE 7

Decomposition Algorithms

7

Braulio Brunaud

slide-8
SLIDE 8

Graph Decomposition

8

Linear Algebra Decomposition (e.g., PIPS-NLP) Lagrangean Decomposition Modeled System Graph Partitions

slide-9
SLIDE 9

Model Graph Partitioning

9

➢ 1 million variable nonlinear programming problem ➢ Solves with PIPS-NLP ~40 minutes

slide-10
SLIDE 10

Model Graph Community Detection

10

slide-11
SLIDE 11

Graph-Based Modeling Abstractions

11

Algebraic Graphs Computing Graphs

  • Exploit physical topology
  • Nodes=Models, Edges=Static Connections
  • Exploit topology to decompose

large-scale optimization problems

  • Exploit communication topology
  • Nodes=Tasks, Edges=Dynamic Connections
  • Exploit topology to simulate behavior of

algorithms and computing architectures

slide-12
SLIDE 12

Computing Graphs

Challenge: Capture computing aspects (e.g., Asynchronicity, Delays, Latency) of a real-time system

12

Key Elements

Nodes: Tasks and Attributes (data) Tasks: Computing time Edges: Communication Clock: Scheduling & Management State-Space Description

slide-13
SLIDE 13

Computing Graphs

13

➢ Compute tasks and communication each require time ➢ A discrete-event queue coordinates simulation timings (the clock)

slide-14
SLIDE 14

Simulation of Distributed Optimization Algorithms

14

Master solution (and scenarios) Sub-problem solution

Idea: Predict Effects of Computing/Communication Delays and Failures Example: Benders Decomposition

Simulate parallel algorithm variants (synchronous & asynchronous) Sub-problem solution

slide-15
SLIDE 15

Plasmo.jl Implementation

15

  • 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
slide-16
SLIDE 16

Synchronous Benders Algorithm

16

CPU

  • Simulation Predicts Poor Parallel Efficiency (Idle Processors)

Idle CPU time

slide-17
SLIDE 17

Asynchronous Benders Algorithm

CPU

  • Simulation predicts much higher parallel efficiency (but longer solution time)

17

slide-18
SLIDE 18

Thank You

18

https://github.com/zavalab/Plasmo.jl