Optimal Operation of Transient Gas Transport Networks Kai - - PowerPoint PPT Presentation

optimal operation of transient gas transport networks
SMART_READER_LITE
LIVE PREVIEW

Optimal Operation of Transient Gas Transport Networks Kai - - PowerPoint PPT Presentation

Optimal Operation of Transient Gas Transport Networks Kai Hoppmann-Baum Combinatorial Optimization @ Work 2020 Gas Network Control Problem General Description Optimizing the short-term transient control of large real-world gas transport


slide-1
SLIDE 1

Optimal Operation of Transient Gas Transport Networks

Kai Hoppmann-Baum Combinatorial Optimization @ Work 2020

slide-2
SLIDE 2

Gas Network Control Problem

General Description

◮ Optimizing the short-term transient control of large real-world gas transport networks ◮ “Navigation system” for gas network operators Source: Open Grid Europe

Problem

Given ◮ Network topology ◮ Initial network state ◮ Short-term supply/demand and pressure forecast, e.g., 12–24 hours Goal ◮ Control each element such that the network is operated “best” ◮ Good control here means: Satisfy all supplies and demands while changing network control as little as possible

1

slide-3
SLIDE 3

Example Gas Grid

2

slide-4
SLIDE 4

Example Gas Grid - Network Stations

3

slide-5
SLIDE 5

Two Main Sources of Complexity

Combinatorics of Network Stations ∂ρ ∂t + ∂(ρv) ∂x = 0 ∂(ρv) ∂t + ∂p ∂x + ∂(ρv 2) ∂x + λa 2Da |v|vρ + gsaρ = 0 Transient Gas Flow in Pipelines Isothermal Euler Equations

4

slide-6
SLIDE 6

KOMPASS - Basic Algorithmic Framework

  • 1. Replace network stations by simplified graph representation

5

slide-7
SLIDE 7

KOMPASS - Basic Algorithmic Framework

  • 1. Replace network stations by simplified graph representation
  • 2. Further network simplifications:

5

slide-8
SLIDE 8

KOMPASS - Basic Algorithmic Framework

  • 1. Replace network stations by simplified graph representation
  • 2. Further network simplifications:

◮ Merge pipes (parallel, sequential)

5

slide-9
SLIDE 9

KOMPASS - Basic Algorithmic Framework

  • 1. Replace network stations by simplified graph representation
  • 2. Further network simplifications:

◮ Merge pipes (parallel, sequential) ◮ Remove distribution network parts

5

slide-10
SLIDE 10

KOMPASS - Basic Algorithmic Framework

  • 1. Replace network stations by simplified graph representation
  • 2. Further network simplifications:

◮ Merge pipes (parallel, sequential) ◮ Remove distribution network parts ◮ . . .

5

slide-11
SLIDE 11

KOMPASS - Basic Algorithmic Framework

  • 1. Replace network stations by simplified graph representation
  • 2. Further network simplifications:

◮ Merge pipes (parallel, sequential) ◮ Remove distribution network parts ◮ . . .

  • 3. Solve transient operation problem using linearized gas flow equations

(Netmodel Algorithm)

5

slide-12
SLIDE 12

KOMPASS - Basic Algorithmic Framework

  • 1. Replace network stations by simplified graph representation
  • 2. Further network simplifications:

◮ Merge pipes (parallel, sequential) ◮ Remove distribution network parts ◮ . . .

  • 3. Solve transient operation problem using linearized gas flow equations

(Netmodel Algorithm)

  • 4. Retrieve pressure value and flow value time-series for the boundaries nodes of network stations

5

slide-13
SLIDE 13

KOMPASS - Basic Algorithmic Framework

  • 1. Replace network stations by simplified graph representation
  • 2. Further network simplifications:

◮ Merge pipes (parallel, sequential) ◮ Remove distribution network parts ◮ . . .

  • 3. Solve transient operation problem using linearized gas flow equations

(Netmodel Algorithm)

  • 4. Retrieve pressure value and flow value time-series for the boundaries nodes of network stations
  • 5. Solve transient operation problem for original network stations

(Station Model Algorithm)

5

slide-14
SLIDE 14

KOMPASS - Basic Algorithmic Framework

  • 1. Replace network stations by simplified graph representation
  • 2. Further network simplifications:

◮ Merge pipes (parallel, sequential) ◮ Remove distribution network parts ◮ . . .

  • 3. Solve transient operation problem using linearized gas flow equations

(Netmodel Algorithm)

  • 4. Retrieve pressure value and flow value time-series for the boundaries nodes of network stations
  • 5. Solve transient operation problem for original network stations

(Station Model Algorithm)

  • 6. Retrieve control suggestions for dispatchers, i.e., operation modes, target values,. . .

5

slide-15
SLIDE 15

Outside Network Stations - Pipelines

Gasflow in a pipe (u, v) between timesteps ti and ti+1 can be described by pu,ti+1 − pu,ti 2 + pv,ti+1 − pv,ti 2 + Rs T z ∆t L A (qv,ti+1 − qu,ti+1) = 0 λ Rs T z L 4 A2 D |qu,ti| qu,ti pu,ti + |qv,ti| qv,ti pv,ti

  • +

g s L 2 Rs T z (pu,ti + pv,ti) + pv,ti − pu,ti = 0

6

slide-16
SLIDE 16

Outside Network Stations - Pipelines

Gasflow in a pipe (u, v) between timesteps ti and ti+1 can be described by pu,ti+1 − pu,ti 2 + pv,ti+1 − pv,ti 2 + Rs T z ∆t L A (qv,ti+1 − qu,ti+1) = 0 λ Rs T z L 4 A2 D |qu,ti| qu,ti pu,ti + |qv,ti| qv,ti pv,ti

  • +

g s L 2 Rs T z (pu,ti + pv,ti) + pv,ti − pu,ti = 0

7

slide-17
SLIDE 17

Outside Network Stations - Pipelines

Gasflow in a pipe (u, v) between timesteps ti and ti+1 can be described by pu,ti+1 − pu,ti 2 + pv,ti+1 − pv,ti 2 + Rs T z ∆t L A (qv,ti+1 − qu,ti+1) = 0 Fixing absolute velocity: λ L 4 A D

  • |vu,0| qu,ti + |vv,0| qv,ti
  • +

g s L 2 Rs T z (pu,ti + pv,ti) + pv,ti − pu,ti = 0

8

slide-18
SLIDE 18

Simplifying Network Stations

◮ Network stations are bounded by fence nodes

9

slide-19
SLIDE 19

Simplifying Network Stations

◮ Network stations are bounded by fence nodes

9

slide-20
SLIDE 20

Simplifying Network Stations

◮ Network stations are bounded by fence nodes ◮ Elements between fence nodes are removed

9

slide-21
SLIDE 21

Simplifying Network Stations

◮ Network stations are bounded by fence nodes ◮ Elements between fence nodes are removed ◮ Fence nodes with similar “behaviour” are grouped into fence groups

9

slide-22
SLIDE 22

Simplifying Network Stations

◮ Network stations are bounded by fence nodes ◮ Elements between fence nodes are removed ◮ Fence nodes with similar “behaviour” are grouped into fence groups ◮ Nodes in a fence group are merged into a single nodes

9

slide-23
SLIDE 23

Simplifying Network Stations

◮ Network stations are bounded by fence nodes ◮ Elements between fence nodes are removed ◮ Fence nodes with similar “behaviour” are grouped into fence groups ◮ Nodes in a fence group are merged into a single nodes

9

slide-24
SLIDE 24

Simplifying Network Stations

◮ Network stations are bounded by fence nodes ◮ Elements between fence nodes are removed ◮ Fence nodes with similar “behaviour” are grouped into fence groups ◮ Nodes in a fence group are merged into a single nodes ◮ Auxiliary nodes (for modelling purposes) may be introduced

9

slide-25
SLIDE 25

Simplifying Network Stations

◮ Network stations are bounded by fence nodes ◮ Elements between fence nodes are removed ◮ Fence nodes with similar “behaviour” are grouped into fence groups ◮ Nodes in a fence group are merged into a single nodes ◮ Auxiliary nodes (for modelling purposes) may be introduced

9

slide-26
SLIDE 26

Simplifying Network Stations

◮ Network stations are bounded by fence nodes ◮ Elements between fence nodes are removed ◮ Fence nodes with similar “behaviour” are grouped into fence groups ◮ Nodes in a fence group are merged into a single nodes ◮ Auxiliary nodes (for modelling purposes) may be introduced ◮ Auxiliary links represent the capabilities of a network station

9

slide-27
SLIDE 27

Flow Directions and Simple States

For each network station (V , A) we are given ◮ Flow directions F ⊆ P(V ) × P(V ) with f = (f +, f −) ∈ F ◮ Simple states S ⊆ P(F) × P(A) × P(A) with s = (sf , son

a , soff a ) ∈ S

10

slide-28
SLIDE 28

Example I

11

slide-29
SLIDE 29

Example II

12

slide-30
SLIDE 30

Flow Directions and Simple States

For each network station (V , A) we are given ◮ Flow directions F ⊆ P(V ) × P(Vi) (example: (f +, f −)) ◮ Simple states S ⊆ P(F) × P(A) × P(A) (example: (sf , son

a , soff a ))

◮ xf ,t ∈ {0, 1} for flow direction f ∈ F and time step t ∈ T ◮ xs,t ∈ {0, 1} for simple state s ∈ S and time step t ∈ T ◮ xa,t ∈ {0, 1} for artificial arc a ∈ A and time step t ∈ T

  • f ∈F xf ,t = 1

∀t ∈ T

  • f ∈sf xf ,t ≥ xs,t

∀s ∈ S, ∀t ∈ T

  • s∈S xs,t = 1

∀t ∈ T xs,t ≤ xa,t ∀s ∈ S, ∀a ∈ son

a , ∀t ∈ T

1 − xs,t ≥ xa,t ∀s ∈ S, ∀a ∈ soff

a , ∀t ∈ T

... additional flow direction related constraints ...

13

slide-31
SLIDE 31

Shortcuts

For a shortcut a = (u, v) and each t ∈ T: Not Active (xa,t = 0): ◮ Decoupled pressure values ◮ No flow allowed Active (xa,t = 1): ◮ Coupled pressure values ◮ Bidirectional flow up to an amount of qa (Big-M). pu,t − pv,t ≤ (1 − xa,t)(pv − pu) pu,t − pv,t ≥ (1 − xa,t)(pv − pu) q→

a,t ≤ xa,tqa

q←

a,t ≤ xa,tqa.

14

slide-32
SLIDE 32

Regulating Arcs

For a regulating arc a = (u, v) and each t ∈ T: Not Active (xa,t = 0): ◮ Decoupled pressure values ◮ No flow allowed Active (xa,t = 1): ◮ Pressure at u not smaller than pressure at v ◮ Unidirectional flow up to an amount of qa (Big-M). pu,t − pv,t ≥ (1 − xa,t)(pv − pu) q→

a,t ≤ xa,tqa.

15

slide-33
SLIDE 33

Compressing Arcs

Not Active (xa,t = 0): ◮ No machine assigned ◮ Decoupled pressure values ◮ No flow allowed Active (xa,t = 1): ◮ Assign machines to compressing arc ◮ Pressure at v not smaller than pressure at u ◮ Pressure at v at most ra times greater than pu,0 ◮ Flow limited by sum of max flows of assigned machines ◮ Respect approximated power bound equation

16

slide-34
SLIDE 34

Compressing Arcs - MILP Model

For each machine i ∈ M and for each timestep t ∈ T we have

  • a∈A:i∈Ma y i

a,t ≤ 1

y i

a,t ≤ xa,t

For each compressing arc a and for each timestep t ∈ T we have q→

a,t ≤

  • i∈Ma F iy i

a,t

ra,t = 1 +

  • i∈Ma(1 − Ri)y i

a,t

πa,t ≤

  • i∈Ma Piy i

a,t

pu,t − pv,t ≤ (1 − xa,t)(pv − pu) rapu,0 − pv,t ≥ (1 − xa,t)(pu,0 − pv,t) α1pu,t + α2pv,t + α3q→

a,t + α4πa,t ≤ βxa,t + (1 − xa,t)(α1pu + α2pv + α3qa)

α1pu,t + α2pv,t + α3q→

a,t + α4πa,t ≥ βxa,t + (1 − xa,t)(α1pu + α2pv + α4πa)

17

slide-35
SLIDE 35

Combined Arcs

Introduce binary variables xr

a,t, xc a,t ∈ {0, 1} indicating whether the arc is regulating or compressing:

xr

a,t + xc a,t = xa,t

Not Active (xa,t = 0): ◮ No machine assigned ◮ Decoupled pressure values ◮ No flow allowed Active and regulating (xa,t = 1 and xr

a,t = 1):

◮ Like regulating arc Active and compressing (xa,t = 1 and xc

a,t = 1):

◮ Like compressing arc

18

slide-36
SLIDE 36

Coupling Pipelines and Network Stations & Objective

Flow conservation holds at all nodes in the network

  • utgoing flow −
  • ingoing flow = bv,t

where bv,t = 0 for inner nodes, bv,t ≥ 0 for entries, and bv,t ≤ 0 for exits.

19

slide-37
SLIDE 37

Coupling Pipelines and Network Stations & Objective

Flow conservation holds at all nodes in the network

  • utgoing flow −
  • ingoing flow = bv,t

where bv,t = 0 for inner nodes, bv,t ≥ 0 for entries, and bv,t ≤ 0 for exits. The (current) objective of Netmodel-MILP is to minimize the number of

  • 1. flow direction changes,
  • 2. simple state changes,
  • 3. and artificial link switches.

19

slide-38
SLIDE 38

Coupling Pipelines and Network Stations & Objective

Flow conservation holds at all nodes in the network

  • utgoing flow −
  • ingoing flow = bv,t

where bv,t = 0 for inner nodes, bv,t ≥ 0 for entries, and bv,t ≤ 0 for exits. The (current) objective of Netmodel-MILP is to minimize the number of

  • 1. flow direction changes,
  • 2. simple state changes,
  • 3. and artificial link switches.

Currently, we discuss to additionally penalize ◮ compressor/combined links being active, ◮ assigning machines, ◮ power used for compression, ◮ . . .

19

slide-39
SLIDE 39

3-Stage Approach and Solution Smoothening

To avoid infeasibility, we have a 3-Stage Approach

  • 1. Initial MILP

20

slide-40
SLIDE 40

3-Stage Approach and Solution Smoothening

To avoid infeasibility, we have a 3-Stage Approach

  • 1. Initial MILP
  • 2. Stage 1 infeasible ⇒ add (expensive) slack on supplies/demands

20

slide-41
SLIDE 41

3-Stage Approach and Solution Smoothening

To avoid infeasibility, we have a 3-Stage Approach

  • 1. Initial MILP
  • 2. Stage 1 infeasible ⇒ add (expensive) slack on supplies/demands
  • 3. Stage 2 infeasible ⇒ add (highly expensive) slack on pressure bounds

20

slide-42
SLIDE 42

3-Stage Approach and Solution Smoothening

To avoid infeasibility, we have a 3-Stage Approach

  • 1. Initial MILP
  • 2. Stage 1 infeasible ⇒ add (expensive) slack on supplies/demands
  • 3. Stage 2 infeasible ⇒ add (highly expensive) slack on pressure bounds

The last MILP should always admit a feasible solution.

20

slide-43
SLIDE 43

3-Stage Approach and Solution Smoothening

To avoid infeasibility, we have a 3-Stage Approach

  • 1. Initial MILP
  • 2. Stage 1 infeasible ⇒ add (expensive) slack on supplies/demands
  • 3. Stage 2 infeasible ⇒ add (highly expensive) slack on pressure bounds

The last MILP should always admit a feasible solution. It should...

20

slide-44
SLIDE 44

3-Stage Approach and Solution Smoothening

To avoid infeasibility, we have a 3-Stage Approach

  • 1. Initial MILP
  • 2. Stage 1 infeasible ⇒ add (expensive) slack on supplies/demands
  • 3. Stage 2 infeasible ⇒ add (highly expensive) slack on pressure bounds

The last MILP should always admit a feasible solution. It should... For a Netmodel-MILP solution we solve a smoothening given by

20

slide-45
SLIDE 45

3-Stage Approach and Solution Smoothening

To avoid infeasibility, we have a 3-Stage Approach

  • 1. Initial MILP
  • 2. Stage 1 infeasible ⇒ add (expensive) slack on supplies/demands
  • 3. Stage 2 infeasible ⇒ add (highly expensive) slack on pressure bounds

The last MILP should always admit a feasible solution. It should... For a Netmodel-MILP solution we solve a smoothening given by

  • 1. Fix all binary variables in Netmodel-MILP

20

slide-46
SLIDE 46

3-Stage Approach and Solution Smoothening

To avoid infeasibility, we have a 3-Stage Approach

  • 1. Initial MILP
  • 2. Stage 1 infeasible ⇒ add (expensive) slack on supplies/demands
  • 3. Stage 2 infeasible ⇒ add (highly expensive) slack on pressure bounds

The last MILP should always admit a feasible solution. It should... For a Netmodel-MILP solution we solve a smoothening given by

  • 1. Fix all binary variables in Netmodel-MILP
  • 2. Introduce variables and constraints accounting for pressure and flow differences at boundaries

between t and t − i

20

slide-47
SLIDE 47

3-Stage Approach and Solution Smoothening

To avoid infeasibility, we have a 3-Stage Approach

  • 1. Initial MILP
  • 2. Stage 1 infeasible ⇒ add (expensive) slack on supplies/demands
  • 3. Stage 2 infeasible ⇒ add (highly expensive) slack on pressure bounds

The last MILP should always admit a feasible solution. It should... For a Netmodel-MILP solution we solve a smoothening given by

  • 1. Fix all binary variables in Netmodel-MILP
  • 2. Introduce variables and constraints accounting for pressure and flow differences at boundaries

between t and t − i

  • 3. Minimize the sum of these variables

20

slide-48
SLIDE 48

Netmodel-Algorithm

1: Solve MILP 2: if MILP is infeasible then 3:

Add slack on supply/demands and resolve

4:

if MILP is infeasible then

5:

Add slack on pressure bounds and resolve

6: sol0 ← smoothened solution of MILP

21

slide-49
SLIDE 49

Future Work and Challenges

◮ Automatization of simplified graph representation

22

slide-50
SLIDE 50

Future Work and Challenges

◮ Automatization of simplified graph representation ◮ Solution for non-linear Momentum Equations

22

slide-51
SLIDE 51

Future Work and Challenges

◮ Automatization of simplified graph representation ◮ Solution for non-linear Momentum Equations ◮ Feedback from Station Model to Netmodel

22

slide-52
SLIDE 52

Future Work and Challenges

◮ Automatization of simplified graph representation ◮ Solution for non-linear Momentum Equations ◮ Feedback from Station Model to Netmodel ◮ More realistic element modelling

22

slide-53
SLIDE 53

Future Work and Challenges

◮ Automatization of simplified graph representation ◮ Solution for non-linear Momentum Equations ◮ Feedback from Station Model to Netmodel ◮ More realistic element modelling

◮ Air temperature dependent compression power bound

22

slide-54
SLIDE 54

Future Work and Challenges

◮ Automatization of simplified graph representation ◮ Solution for non-linear Momentum Equations ◮ Feedback from Station Model to Netmodel ◮ More realistic element modelling

◮ Air temperature dependent compression power bound ◮ Semi-fixed elements

22

slide-55
SLIDE 55

Future Work and Challenges

◮ Automatization of simplified graph representation ◮ Solution for non-linear Momentum Equations ◮ Feedback from Station Model to Netmodel ◮ More realistic element modelling

◮ Air temperature dependent compression power bound ◮ Semi-fixed elements ◮ Single special network elements

22

slide-56
SLIDE 56

Future Work and Challenges

◮ Automatization of simplified graph representation ◮ Solution for non-linear Momentum Equations ◮ Feedback from Station Model to Netmodel ◮ More realistic element modelling

◮ Air temperature dependent compression power bound ◮ Semi-fixed elements ◮ Single special network elements ◮ Reduce simplifications made in the Netmodel

22

slide-57
SLIDE 57

Future Work and Challenges

◮ Automatization of simplified graph representation ◮ Solution for non-linear Momentum Equations ◮ Feedback from Station Model to Netmodel ◮ More realistic element modelling

◮ Air temperature dependent compression power bound ◮ Semi-fixed elements ◮ Single special network elements ◮ Reduce simplifications made in the Netmodel

◮ Stable solutions over sequential runs

22

slide-58
SLIDE 58

Future Work and Challenges

◮ Automatization of simplified graph representation ◮ Solution for non-linear Momentum Equations ◮ Feedback from Station Model to Netmodel ◮ More realistic element modelling

◮ Air temperature dependent compression power bound ◮ Semi-fixed elements ◮ Single special network elements ◮ Reduce simplifications made in the Netmodel

◮ Stable solutions over sequential runs ◮ Increase network size

22

slide-59
SLIDE 59

The Last Slide

Thanks for watching! kai.hoppmann@zib.de hoppmannkai Combinatorial Optimization @ Work 2020

23