Resilience of water systems in wake of disruptions Lina Sela Dept. - - PowerPoint PPT Presentation

resilience of water systems in wake of disruptions
SMART_READER_LITE
LIVE PREVIEW

Resilience of water systems in wake of disruptions Lina Sela Dept. - - PowerPoint PPT Presentation

Resilience of water systems in wake of disruptions Lina Sela Dept. of Civil, Architectural & Environmental Engineering, UT Austin 1/48 The Bad News Water crisis in Flint, Mich., L.A.s aging water pipes; federal state of emergency a $1


slide-1
SLIDE 1

Resilience of water systems in wake of disruptions

Lina Sela

  • Dept. of Civil, Architectural & Environmental Engineering, UT Austin

1/48

slide-2
SLIDE 2

2/48

The Bad News

L.A.’s aging water pipes; a $1‐billion dilemma

February, 2015

Water crisis in Flint, Mich., federal state of emergency

January, 2016

slide-3
SLIDE 3

3/48

The Bad News

slide-4
SLIDE 4

4/48

The Good News: Smart Cities

slide-5
SLIDE 5

5/48

The Good News: Smart Homes

slide-6
SLIDE 6

6/48

Infrastructure systems

Reduce:

Water loss Water quality Energy requirements Infrastructure failures Supply interruptions

slide-7
SLIDE 7

12/48

Sensor placement

Objective

Sensor placement for detection and location identification of failures

Approach

  • 1. Influence model

Network and sensing models

  • 2. Combinatorial optimization

The minimum test cover (MTC) problem Augmented greedy solution algorithm

  • L. Sela and S. Amin. ““Robust sensor placement for pipeline monitoring: Mixed integer and greedy optimization.” Advanced

Engineering Informatics, 2018.

  • L. Sela, W. Abbas, X. Koutsoukos, and S. Amin. “Minimum test cover approach for fault location identification in flow networks.”

Automatica, 2016.

  • W. Abbas, L. Sela, X. Koutsoukos, and S. Amin. “An efficient approach to fault identification in urban water networks using

multi-level sensing.” ACM BuildSys 2015.

slide-8
SLIDE 8

13/48

Influence model

Sensing:

2 4 6 8 10 12 14 16 18 20 40 60 80 100 Pressure signal - p(t) Node 2 Node 5 2 4 6 8 10 12 14 16 18 1 Time [s] Sensor state - y(t) Node 2 Node 5

L = {ℓ1, . . . , ℓn} – set of n failure events S = {S1, . . . , Sm} – set of m sensor locations

Detection:

ySi(t, ℓj) =

  • 1

if ξ (pi,t − ˆ pi,t) ≥ ε,

  • therwise.

Fault signature: ySi(ℓj) =

  • 1

if ySi(t, ℓj) = 1, for any t > 0,

  • therwise.

Fault matrix: M (L, S) =      yS(ℓ1) yS(ℓ2) . . . yS(ℓn)     

slide-9
SLIDE 9

14/48

Influence model

Example:

2 4 6 8 10 12 14 16 18 20 40 60 80 100 Pressure signal - p(t) Node 2 Node 5 2 4 6 8 10 12 14 16 18 1 Time [s] Sensor state - y(t) Node 2 Node 5

1 2 3 4 5 6 7 8

X

ℓ1 ℓ2 ℓ10 ℓ5 ℓ9 ℓ3 ℓ8 ℓ6 ℓ7 ℓ4

M(L, S) =

        

S1 S2 S3 S4 S5 S6 S7 S8 ℓ1 1 1 1 1 ℓ2 1 1 1 1 1 ℓ3 1 1 1 1 1 ℓ4 1 1 1 1 1 1 ℓ5 1 1 1 1 1 ℓ6 1 1 1 1 1 1 ℓ7 1 1 1 1 1 1 ℓ8 1 1 1 1 1 ℓ9 1 1 1 1 1 ℓ10 1 1 1 1 1

        

slide-10
SLIDE 10

15/48

Detection as MSC

Detection

The detection problem is to select the minimum number of sensors S ⊆ S, such that when a detectable event occurs, at least one sensor in S detects the event.

Minimum set cover (MSC)

Let L be a finite set of elements, and C = {Ci : Ci ⊆ L} be the collection

  • f given subsets of L. The minimum set cover is to find Cs ⊆ C with the

minimum cardinality such that

Ci∈C

Ci =

  • Cj∈Cs

Cj.

Proposition

The detection problem is equivalent to the MSC problem where fD(CS) =

  • Ci∈CS

Ci

  • is the detection function, Ci ⊆ L is the set of link

failure events detected by the sensor Si, i.e., Ci = {ℓj ∈ L| ySi(ℓj) = 1}.

slide-11
SLIDE 11

16/48

Solving the MSC

The greedy approach

◮ In each iteration select:

(a) Select Ci∗ ∈ C covering the most uncovered elements in L. (b) Add to current set C∗ ← C∗ ∪ {Ci∗}. (c) Repeat until all elements in L are covered or no new element can be covered by any Ci ∈ C.

◮ Best approximation ratio of O(ln n). ◮ Running times O(mn). Can be made faster by reducing the number of

function evaluations exploiting the submodularity property. Lazy greedy (Krause et al 2008).

slide-12
SLIDE 12

16/48

Solving the MSC

The greedy approach

◮ In each iteration select:

(a) Select Ci∗ ∈ C covering the most uncovered elements in L. (b) Add to current set C∗ ← C∗ ∪ {Ci∗}. (c) Repeat until all elements in L are covered or no new element can be covered by any Ci ∈ C.

◮ Best approximation ratio of O(ln n). ◮ Running times O(mn). Can be made faster by reducing the number of

function evaluations exploiting the submodularity property. Lazy greedy (Krause et al 2008).

slide-13
SLIDE 13

17/48

Identification as MTC

Identification

The identification problem is to select the minimum number of sensors S ⊆ S that uniquely detect the events in L. Pair-wise event {ℓi, ℓj} is detectable, if there exists a sensor that gives different outputs for ℓi and ℓj, ∃Sp ∈ S : ySp(ℓi) = ySp(ℓj).

Minimum test cover (MTC)

The MTC is to find Ct ⊆ C with the minimum cardinality such that if for a pair of elements {ℓu, ℓv} ∈ L, there exists Ci ∈ C that contains either ℓu or ℓv but not both, then there exists some Cj ∈ Ct that also contains either ℓu

  • r ℓv, but not both.

Proposition

The problem of identification of link failures in networks is equivalent to the MTC problem.

slide-14
SLIDE 14

18/48

Example cont.:

Detection: {S2, S4}

        

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

        

◮ All events are detected ◮ Only three unique sensor outputs

Identification: {S1, S2, S3, S5}

        

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

        

◮ All events are detected ◮ All events are uniquely identified

slide-15
SLIDE 15

19/48

Solving the MTC

Greedy solution

  • 1. Input: C = {C1, · · · , Cm}, Ci ⊆ L.
  • 2. Transform: the MTC to the equivalent MSC

◮ Create a new set of events: Lt = {ℓt

12, · · · , ℓt (n−1)n}. For each

unordered pair {ℓi, ℓj}, define a new element ℓt

ij.

◮ Create a new sets of sensors’ outputs: Ct = {C t

1, · · · , C t m}, where

C t

v = {ℓt ij : |{ℓi, ℓj} ∩ Cv| = 1}, ∀k ∈ {1, · · · , m}.

  • 3. Solve: using greedy algorithm

(a) Select C t

i∗ ∈ Ct covering the most uncovered elements in Lt.

(b) Add to current set C∗ ← C∗ ∪ {Ci∗}. (c) Repeat until all elements in Lt are covered or no new element in Lt can be covered by any C t

i ∈ Ct.

  • 4. Output: MTC, C∗ ⊆ C.
slide-16
SLIDE 16

19/48

Solving the MTC

Greedy solution

  • 1. Input: C = {C1, · · · , Cm}, Ci ⊆ L.
  • 2. Transform: the MTC to the equivalent MSC

◮ Create a new set of events: Lt = {ℓt

12, · · · , ℓt (n−1)n}. For each

unordered pair {ℓi, ℓj}, define a new element ℓt

ij.

◮ Create a new sets of sensors’ outputs: Ct = {C t

1, · · · , C t m}, where

C t

v = {ℓt ij : |{ℓi, ℓj} ∩ Cv| = 1}, ∀k ∈ {1, · · · , m}.

  • 3. Solve: using greedy algorithm

(a) Select C t

i∗ ∈ Ct covering the most uncovered elements in Lt.

(b) Add to current set C∗ ← C∗ ∪ {Ci∗}. (c) Repeat until all elements in Lt are covered or no new element in Lt can be covered by any C t

i ∈ Ct.

  • 4. Output: MTC, C∗ ⊆ C.
slide-17
SLIDE 17

19/48

Solving the MTC

Greedy solution

  • 1. Input: C = {C1, · · · , Cm}, Ci ⊆ L.
  • 2. Transform: the MTC to the equivalent MSC

◮ Create a new set of events: Lt = {ℓt

12, · · · , ℓt (n−1)n}. For each

unordered pair {ℓi, ℓj}, define a new element ℓt

ij.

◮ Create a new sets of sensors’ outputs: Ct = {C t

1, · · · , C t m}, where

C t

v = {ℓt ij : |{ℓi, ℓj} ∩ Cv| = 1}, ∀k ∈ {1, · · · , m}.

  • 3. Solve: using greedy algorithm

(a) Select C t

i∗ ∈ Ct covering the most uncovered elements in Lt.

(b) Add to current set C∗ ← C∗ ∪ {Ci∗}. (c) Repeat until all elements in Lt are covered or no new element in Lt can be covered by any C t

i ∈ Ct.

  • 4. Output: MTC, C∗ ⊆ C.
slide-18
SLIDE 18

19/48

Solving the MTC

Greedy solution

  • 1. Input: C = {C1, · · · , Cm}, Ci ⊆ L.
  • 2. Transform: the MTC to the equivalent MSC

◮ Create a new set of events: Lt = {ℓt

12, · · · , ℓt (n−1)n}. For each

unordered pair {ℓi, ℓj}, define a new element ℓt

ij.

◮ Create a new sets of sensors’ outputs: Ct = {C t

1, · · · , C t m}, where

C t

v = {ℓt ij : |{ℓi, ℓj} ∩ Cv| = 1}, ∀k ∈ {1, · · · , m}.

  • 3. Solve: using greedy algorithm

(a) Select C t

i∗ ∈ Ct covering the most uncovered elements in Lt.

(b) Add to current set C∗ ← C∗ ∪ {Ci∗}. (c) Repeat until all elements in Lt are covered or no new element in Lt can be covered by any C t

i ∈ Ct.

  • 4. Output: MTC, C∗ ⊆ C.
slide-19
SLIDE 19

20/48

Example cont.

MTC to MSC

8 7 6 5 4 3 2 1 · · · i, j · · · 2, 4 2, 3 1, 10 · · · 1, 3 1, 2 9, 10

Sensors Pair-wise events

n 2

  • 1

2 3 4 5 6 7 8

        

S1 S2 S3 S4 S5 S6 S7 S8 ℓ1 1 1 1 1 ℓ2 1 1 1 1 1 ℓ3 1 1 1 1 1 ℓ4 1 1 1 1 1 1 ℓ5 1 1 1 1 1 ℓ6 1 1 1 1 1 1 ℓ7 1 1 1 1 1 1 ℓ8 1 1 1 1 1 ℓ9 1 1 1 1 1 ℓ10 1 1 1 1 1

        

slide-20
SLIDE 20

21/48

Example cont.

MTC to MSC

8 7 6 5 4 3 2 1 · · · i, j · · · 2, 4 2, 3 1, 10 · · · 1, 3 1, 2 9, 10

Sensors Pair-wise events

n 2

  • 1

2 3 4 5 6 7 8

        

S1 S2 S3 S4 S5 S6 S7 S8 ℓ1 1 1 1 1 ℓ2 1 1 1 1 1 ℓ3 1 1 1 1 1 ℓ4 1 1 1 1 1 1 ℓ5 1 1 1 1 1 ℓ6 1 1 1 1 1 1 ℓ7 1 1 1 1 1 1 ℓ8 1 1 1 1 1 ℓ9 1 1 1 1 1 ℓ10 1 1 1 1 1

        

slide-21
SLIDE 21

22/48

Example cont.

MTC to MSC

8 7 6 5 4 3 2 1 · · · i, j · · · 2, 4 2, 3 1, 10 · · · 1, 3 1, 2 9, 10

Sensors Pair-wise events

n 2

  • 1

2 3 4 5 6 7 8

        

S1 S2 S3 S4 S5 S6 S7 S8 ℓ1 1 1 1 1 ℓ2 1 1 1 1 1 ℓ3 1 1 1 1 1 ℓ4 1 1 1 1 1 1 ℓ5 1 1 1 1 1 ℓ6 1 1 1 1 1 1 ℓ7 1 1 1 1 1 1 ℓ8 1 1 1 1 1 ℓ9 1 1 1 1 1 ℓ10 1 1 1 1 1

        

slide-22
SLIDE 22

23/48

Example cont.

MTC to MSC

8 7 6 5 4 3 2 1 · · · i, j · · · 2, 4 2, 3 1, 10 · · · 1, 3 1, 2 9, 10

Sensors Pair-wise events

n 2

  • ◮ Equivalent MSC

          

S1 S2 S3 S4 S5 S6 S7 S8 ℓ1, ℓ2 1 1 1 ℓ1, ℓ3 1 1 1 ℓ1, ℓ4 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . ℓ1, ℓ10 1 1 1 1 1 1 1 ℓ2, ℓ3 1 1 1 1 ℓ2, ℓ4 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . ℓ9, ℓ10 1 1

          

◮ Solve using the greedy algorithm:

fI(CS) = fD(Ct

S)

slide-23
SLIDE 23

24/48

Augmented greedy MTC solution

Transformed greedy solution

Memory needed to transform MTC to the MSC in GB:

n

2

  • × m × 10−9

◮ m = 1000; n = 1000; ∼ 0.5GB ◮ m = 2000; n = 2000; ∼ 4GB ◮ m = 10000; n = 10000; ∼ 500GB

Augmented greedy solution

Avoid the complete transformation of the MTC to the MSC.

slide-24
SLIDE 24

24/48

Augmented greedy MTC solution

Transformed greedy solution

Memory needed to transform MTC to the MSC in GB:

n

2

  • × m × 10−9

◮ m = 1000; n = 1000; ∼ 0.5GB ◮ m = 2000; n = 2000; ∼ 4GB ◮ m = 10000; n = 10000; ∼ 500GB

Augmented greedy solution

Avoid the complete transformation of the MTC to the MSC.

slide-25
SLIDE 25

25/48

Augmented greedy MTC solution

Main idea

◮ A sensor i that detects k events (i.e., |Ci| = k) can distinguish

between k detected events and (n − k) undetected events, i.e. it detects k(n − k) pair-wise events (i.e., |C t

i | = k(n − k)). ◮ Let C ∗ ⊆ C be the (test) cover until the current iteration, and Ccov be

the set of link failures detected by the sensors that are included in the (test) cover, i.e., Ccov =

  • Cu∈C∗ Cu.

◮ The utility of adding Ci to C ∗ in each iteration is based on:

(i) xi – how many pair-wise events corresponding to undetected events, i.e., not in Ccov can be detected by Ci? (ii) yi – how many undetected pair-wise events corresponding to detected events, i.e, in Ccov can be detected by Ci?

slide-26
SLIDE 26

26/48

Main algorithm

1: Input: C = {C1, · · · , Cm}, Ci ⊆ L 2: Output: MTC: C∗ ⊆ C 3: Initialization: Ccov = ∅; C∗ = ∅; G0 = ∅; j = 1; n = |L|;

wi∗ = 1;

4: while wi∗ > 0 do 5:

nj ← n − |Ccov|

6:

for all i do

7:

Xi ← (Ci \ Ccov) ; ki,j ← |Xi|

8:

xi ← ki,j(nj − ki,j)

9:

Yi ← Ci ∩ Ccov

10:

yi ←

j−1

  • t=0

|α(Yi, Gt)|

11:

wi = xi + yi end for

12:

wi∗ ← max wi

13:

if wi∗ > 0 then

14:

C∗ ← C∗ ∪ {Ci∗}

15:

Ccov ← Ccov ∪ Ci∗

16:

Gj ← β(Xi∗)

17:

for t = 0 to j − 1 do

18:

Gt ← Gt \ α(Yi∗, Gt) end for

19:

j ← j + 1 end if end while

slide-27
SLIDE 27

27/48

Example cont.

Initialization:

8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 10

Sensors Events

Ccov = ∅; C∗ = ∅; G0 = ∅; n = 10;

1 3 5 7 9 2 4 6 8 10

Events

slide-28
SLIDE 28

28/48

Example cont.

Iteration 1:

8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 10

xi = ki,1(n − ki,1); x1 = 5(10 − 5) = 25; yi = 0; wi = xi + yi;

1 3 5 7 9 2 4 6 8 10

slide-29
SLIDE 29

29/48

Example cont.

Iteration 1:

8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 10 1 3 5 7 9 2 4 6 8 10

slide-30
SLIDE 30

30/48

Example cont.

End of Iteration 1:

8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 10

Ccov = {1, 2, 3, 4, 5}; n = 5;

1 3 5 7 9 2 4 6 8 10

G1 = {{1, 2}, {1, 3}, · · · , {4, 5}};

slide-31
SLIDE 31

38/48

Application example:

Net9@KY

Daily supply ∼ 1.5M[ gal

day ]; 260[km] pipe length;

> 950 junctions; > 1100 pipes;

slide-32
SLIDE 32

39/48

Net9@KY cont.

slide-33
SLIDE 33

40/48

MTC vs. MSC

Net9@KY cont.

5 10 15 20 25 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

  • No. of sensors

Detection score MTC MSC 5 10 15 20 25 0.02 0.04 0.06 0.08 0.1 0.12 0.14

  • No. of sensors

Localization score MTC MSC

slide-34
SLIDE 34

41/48

Simulations

Net 3 Net 5 Net 7 Net 8 Net 10 Net 12

slide-35
SLIDE 35

42/48

Computations

Network

  • No. of
  • No. of

TLG AG sensors pipes [min] [min] Net1 48 168 0.23 0.08 Net2 98 366 2.39 0.58 Net3 134 496 6.93 1.65 Net4 138 603 11.98 4.93 Net5 164 644 15.58 3.85 Net6 258 907 45.46 6.31 Net7 139 940 49.12 9.31 Net8 195 1124 80.55 28.07 Net9 359 1156 91.57 11.06 Net10 408 1614 257.41 39.48 Net11 712 3032 – 50.53 Net12 1001 14822 – 1800.08 TLG - transformed lazy greedy; AG - augmented greedy;

#Events 102 103 104 105 Time [min] 10-2 10-1 100 101 102 103 104 TLG AG

TLG – O

n 2

  • AG – O

mj

  • i

ki 2

  • i

ki 2

  • ≤ k

n

n 2