IE-OR Seminar April 18, 2006 Evolutionary Algorithms in Addressing Contamination Threat Management...

Post on 18-Jan-2018

220 views 0 download

description

Contamination threat problem in water distribution networks

Transcript of IE-OR Seminar April 18, 2006 Evolutionary Algorithms in Addressing Contamination Threat Management...

IE-OR SeminarApril 18, 2006

Evolutionary Algorithms in Addressing Contamination Threat

Management in Civil Infrastructures

Ranji S. RanjithanDepartment of Civil Engineering, NCSU

Many security threat problems in civil infrastructure systems

Contamination threat problemin water distribution networks

Water distribution networks… Solve for network hydraulics (i.e., pressure, flow)

Depends on Water demand/usage Properties of network components

Uncertainty/variability Dynamic system

Solve for contamination transport Depends on existing hydraulic conditions Spatial/temporal variation

time series of contamination concentration

Water distribution networks…Contaminant source profile

0

500

1000

1500

2000

2500

3000

3500

1 26 51 76 101 126 151 176 201 226 251 276Time step

Sour

ce m

ass

(mg/

min

)

Water distribution networks…Contaminant source profile

0

500

1000

1500

2000

2500

3000

3500

1 26 51 76 101 126 151 176 201 226 251 276Time step

Sour

ce m

ass

(mg/

min

)

Water distribution networks… Explain the

contamination issues Show animation

Water distribution networks…

Concentration for node 115

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0 24 48 72 96 120 144 168 192 216 240 264 288Time step

Con

cent

ratio

n(m

g/L)

Concentration for node 265

0

0.0002

0.0004

0.0006

0.0008

0.001

0.0012

0.0014

0 24 48 72 96 120 144 168 192 216 240 264 288Time step

Con

cent

ratio

n(m

g/L)

Contaminant source profile

0

500

1000

1500

2000

2500

3000

3500

1 26 51 76 101 126 151 176 201 226 251 276Time step

Sour

ce m

ass

(mg/

min

)

Why is this an important problem? Potentially lethal and public health hazard Cause short term chaos and long term issues Diversionary action to cause service outage

Reduction in fire fighting capacity Distract public & system managers

What needs to be done? Determine

Location of the contaminant source(s) Contamination release history

Identify threat management options Sections of the network to be shut down Flow controls to

Limit spread of contamination Flush contamination

What needs to be done? Determine

Location of the contaminant source(s) Contamination release history

Identify threat management options Sections of the network to be shut down Flow controls to

Limit spread of contamination Flush contamination

Example math formulation Find: L(x,y), {Mt}, T0

Minimize Prediction Error ∑i,t || Ci

t(obs) – Cit(L(x,y), {Mt}, T0) ||

where L(x,y) – contamination source location (x,y) Mt – contaminant mass loading at time t T0 – contamination start time Ci

t(obs) – observed concentration Ci

t(L(x,y), {Mt}, T0) – concentration from system simulation model i – observation (sensor) location t – time of observation

Example math formulation Find: L(x,y), {Mt}, T0

Minimize Prediction Error ∑i,t || Ci

t(obs) – Cit(L(x,y), {Mt}, T0) ||

where L(x,y) – contamination source location (x,y) Mt – contaminant mass loading at time t T0 – contamination start time Ci

t(obs) – observed concentration Ci

t(L(x,y), {Mt}, T0) – concentration from system simulation model i – observation (sensor) location t – time of observation

• unsteady• nonlinear• uncertainty/error

Example math formulation Find: L(x,y), {Mt}, T0

Minimize Prediction Error ∑i,t || Ci

t(obs) – Cit(L(x,y), {Mt}, T0) ||

where L(x,y) – contamination source location (x,y) Mt – contaminant mass loading at time t T0 – contamination start time Ci

t(obs) – observed concentration Ci

t(L(x,y), {Mt}, T0) – concentration from system simulation model i – observation (sensor) location t – time of observation

• estimate solution state with currently available data• identify possible solutions that fit the data• assess confidence in current estimate of solution(s)

Interesting challenges Non-unique solutions

Due to limited observations (in space & time)

Resolve non-uniqueness Incrementally adaptive search

Due to dynamically updated information stream

Optimization under dynamic environments Search under noisy conditions

Due to data errors & model uncertaintyOptimization under uncertain environments

Interesting challenges Non-unique solutions

Due to limited observations (in space & time)

Resolve non-uniqueness Incrementally adaptive search

Due to dynamically updated information stream

Optimization under dynamic environments Search under noisy conditions

Due to data errors & model uncertaintyOptimization under uncertain environments

Evolutionary algorithm-based solution approach Evolutionary algorithms (EAs) for numeric

search Genetic algorithms, evolution strategies

Key characteristics Population-based probabilistic search Directed “random” search Conditional sampling of decision space

Updated statistics/likelihood values Based on quality of prior solutions (samples)

Resolving non-uniqueness Underlying premise

In addition to the “optimal” solution, identify other “good” solutions that fit the observations

Are there different solutions with similar performance in objective space?

Search for alternative solutions

[work conducted by Dr. Emily Zechman]

Resolving non-uniqueness… Search for alternative solutions

x

f(x)

Resolving non-uniqueness… Search for different solutions that are far apart in

decision space

x

f(x)

Resolving non-uniqueness…

x

f(x)

Effects of uncertainty

Resolving non-uniqueness…

x

f(x)

Search for solutions that are far apart in decision space and are within an objective threshold of best solution

Resolving non-uniqueness…EAs for Generating Alternatives (EAGA)

Create n subpopulations

Sub Pop 1

Evaluate objfunction values

Best solution (X*, Z*)

Evaluate pop centroid(C1) in decision space

Selection(obj fn values)& EA operators

STOP?

Best Solutions

Sub Pop 2

Evaluate objfunction values

Feasible/Infeasible?

Evaluate distance in decisionspace to other populations

Selection(feasibility, dist)& EA operators

STOP?N Y NY

...

...

EAGA…Illustration using a test function y = [(1 - 10x)*sin(11*x)]2 / [2.83*(10x)1.46]

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

y = [(1 - 10x)*sin(11*x)]2 / [2.83*(10x)1.46]

Generate 3 different solutions Optimal and two alternatives Within a 75% threshold of the optimal solution Search using Evolution Strategies

EAGA…Illustration using a test function

EAGA…Illustration using a test function y = [(1 - 10x)*sin(11*x)]2 / [2.83*(10x)1.46]

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

EAGA…Illustration using a test function

Contaminant source identification

0

5

10

15

20

25

30

0 10 20 30 40 50

Well 1

Well 2Source 1

Observations at Well 2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

0 500 1000 1500 2000 2500

Time (days)

Con

cent

ratio

n (m

g/L)

Source 1 Source 2

1

t

c

Groundwater contamination problem

Resolving non-uniqueness

0

5

10

15

20

25

30

0 10 20 30 40 50

Well 1

Well 2Source 1

0

5

10

15

20

25

30

0 10 20 30 40 50

Source 2Well 1

Well 2

Observations at Well 1

0

0.2

0.4

0.6

0.8

1

1.2

1.4

0 500 1000 1500 2000 2500

Time (days)

Con

cent

ratio

n (m

g/L)

Source 1 Source 2

Resolving non-uniqueness…

0

5

10

15

20

25

30

0 10 20 30 40 50

Well 1

Well 2Source 1

0

5

10

15

20

25

30

0 10 20 30 40 50

Source 2Well 1

Well 2

Observations at Well 1

0

0.2

0.4

0.6

0.8

1

1.2

1.4

0 500 1000 1500 2000 2500

Time (days)

Con

cent

ratio

n (m

g/L)

Source 1 Source 2

Observations at Well 2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

0 500 1000 1500 2000 2500

Time (days)

Con

cent

ratio

n (m

g/L)

Source 1 Source 2

Resolving non-uniqueness…Using EAGA

0

5

10

15

20

25

30

0 10 20 30 40 50

Well 1

Well 2Source 1

Observations at Well 2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

0 500 1000 1500 2000 2500

Time (days)

Con

cent

ratio

n (m

g/L)

Source 1 Source 2

1

Decision Variables:- center of source (x, y)- size in x direction- size in y direction- concentration

Objective function:- minimize prediction error

EAGA settings:- four different solutions- evolution strategies- = 200, µ = 100- 40 generations- subpopulation size 100- 30 random trials

Resolving non-uniqueness, using EAGA… Observations from Well 1 only

Resolving non-uniqueness, using EAGA… Observations from Well 1 only…

Alt. 1

0.00

0.20

0.40

0.600.80

1.00

1.20

1.40

1.60

0 500 1000 1500 2000

Con

c. (m

g/L)

PredictedConcentrationObservedConcentration

Alt. 2

0.000.20

0.400.600.80

1.001.20

1.401.60

0 500 1000 1500 2000

Alt. 3

0.000.200.400.600.801.001.201.401.60

0 500 1000 1500 2000

Time (days)

Con

c. (m

g/L)

Alt. 4

0.000.200.400.600.801.001.201.401.60

0 500 1000 1500 2000

Time (days)

PredictionsAt Well 1

Resolving non-uniqueness, using EAGA… Observations from Well 1 only…

PredictionsAt Well 2

Alt. 1

0.00

0.20

0.40

0.600.80

1.00

1.20

1.40

1.60

0 500 1000 1500 2000

Con

c. (m

g/L)

PredictedConcentrationObservedConcentration

Alt. 2

0.00

0.200.40

0.600.80

1.00

1.201.40

1.60

0 500 1000 1500 2000

Alt. 3

0.000.200.400.600.801.001.201.401.60

0 500 1000 1500 2000

Time (days)

Con

c. (m

g/L)

Alt. 4

0.000.200.400.600.801.001.201.401.60

0 500 1000 1500 2000

Time (days)

Resolving non-uniqueness, using EAGA… Observations from Wells 1 & 2

Resolving non-uniqueness, using EAGA… Observations from Wells 1 & 2…

Alt. 1

0.00

0.20

0.40

0.600.80

1.00

1.20

1.40

1.60

0 500 1000 1500 2000

Con

c. (m

g/L)

PredictedConcentrationObservedConcentration

Alt. 2

0.000.20

0.400.600.80

1.001.20

1.401.60

0 500 1000 1500 2000

Alt. 3

0.000.200.400.600.801.001.201.401.60

0 500 1000 1500 2000

Time (days)

Con

c. (m

g/L)

Alt. 4

0.000.200.400.600.801.001.201.401.60

0 500 1000 1500 2000

Time (days)

PredictionsAt Well 1

Resolving non-uniqueness, using EAGA… Observations from Wells 1 & 2…

PredictionsAt Well 2

Alt. 1

0.00

0.20

0.40

0.60

0.80

1.00

1.20

1.40

1.60

0 500 1000 1500 2000

Con

c. (m

g/L)

PredictedConcentrationObservedConcentration

Alt. 2

0.000.20

0.400.60

0.801.00

1.201.40

1.60

0 500 1000 1500 2000

Alt. 3

0.000.200.400.600.801.001.201.401.60

0 500 1000 1500 2000

Time (days)

Con

c. (m

g/L)

Alt. 4

0.000.200.400.600.801.001.201.401.60

0 500 1000 1500 2000

Time (days)

Interesting challenges Non-unique solutions

Due to limited observations (in space & time)

Resolve non-uniqueness Incrementally adaptive search

Due to dynamically updated information stream

Optimization under dynamic environments Search under noisy conditions

Due to data errors & model uncertainty

Optimization under uncertain environments

Dynamic optimization Minimize Prediction Error

∑i,t || Cit(obs) – Ci

t(L(x,y), {Mt}, T0) ||

Cit(obs) – streaming data

Objective function is dynamically updated Dynamically update estimate of source

characteristics

Dynamic optimization… Underlying premise

Predict solutions using available information at any time step

Search for a diverse set of solutions (EAGA) Current solutions are good starting points for

search in the next time step

[work conducted by Ms. Li Liu]

Dynamic optimization…

x

f(x)

t = 1

Dynamic optimization…

x

f(x)

t = 2

Dynamic optimization…

x

f(x)

t = 3

Dynamic optimization…Adaptive Dynamic OPt Technique (ADOPT)

1. Set time step t=0

2. Initialize sub-populations with random solutions

3. Construct obj function for time step t+1

4. Apply EAGA to all sub-populations

5. Merge solutions to identify unique set of solutions

6. If t < Tmax, go to Step 3

7. Record solution and stop

ADOPT…Illustration using a test function Test function

where B(x) is a time-invariant “basis” landscape P is the function defining the shape of peak i each of peak has its own time-varying parameters

h (height) w (width) p (shift)

35 time steps

)))(),(),(,(max),(max(),(...1

tptwthxPxBtxF iiimi

ADOPT…Illustration using a test function

2-D case

ADOPT…Results for the test function

5-D case; avg error & std over all time steps, & 30 random trials

Dynamic optimization

methods{h=7, w=1}

changes severities

{7,3}

changes severities

{15,1}

changes severities

{15,3}

Time-based objective 12.06 ± 0.64 12.96 ± 0.81 12.06 ± 0.80 15.06 ± 1.00

Random objective 11.29 ± 0.55 12.30 ± 0.96 14.79 ± 0.66 14.20 ± 0.83

Inverse objective 12.37 ± 0.87 13.96 ± 0.87 15.98 ± 0.89 15.28 ± 0.88

DCN 9.52 ± 0.45 10.42 ± 0.71 12.68 ± 0.60 12.56 ± 0.62

ADI 9.74 ± 0.35 9.31 ± 0.51 13.18 ± 0.52 13.00 ± 0.63

DBI 12.24 ± 0.55 11.79 ± 0.71 14.05 ± 0.61 13.96 ± 0.74

ADOPT 6.93 ± 0.19 8.57 ± 0.21 9.20 ± 0.15 9.82± 0. 17

ADOPT…Illustration using a test function

5-D case; avg error & std dev over all time steps

Dynamic optimization

methods{h=7, w=1} {h=7, w=3} {h=15, w=1} {h=15, w=3}

Time-based objective 12.06 ± 0.64 12.96 ± 0.81 12.06 ± 0.80 15.06 ± 1.00

Random objective 11.29 ± 0.55 12.30 ± 0.96 14.79 ± 0.66 14.20 ± 0.83

Inverse objective 12.37 ± 0.87 13.96 ± 0.87 15.98 ± 0.89 15.28 ± 0.88

DCN 9.52 ± 0.45 10.42 ± 0.71 12.68 ± 0.60 12.56 ± 0.62

ADI 9.74 ± 0.35 9.31 ± 0.51 13.18 ± 0.52 13.00 ± 0.63

DBI 12.24 ± 0.55 11.79 ± 0.71 14.05 ± 0.61 13.96 ± 0.74

ADOPT 6.93 ± 0.19 8.57 ± 0.21 9.20 ± 0.15 9.82± 0. 17

Contaminant source identification

0

5

10

15

20

25

30

0 10 20 30 40 50

Well 1

Well 2Source 1

Observations at Well 2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

0 500 1000 1500 2000 2500

Time (days)

Con

cent

ratio

n (m

g/L)

Source 1 Source 2

1

t

c

t

ADOPT…Contaminant source identification Minimize Prediction Error

∑i,t || Cit(obs) – Ci

t(L(x,y), {Mt}) ||

Cit(obs) – streaming data

Objective function is dynamically updated

Is available information sufficient to be confident about current solution?

Dynamic optimization, using ADOPT… Observations from Well 1 only

Measurement Time Step: 1

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Well 1 only

Measurement Time Step: 2

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Well 1 only

Measurement Time Step: 3

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Well 1 only

Measurement Time Step: 4

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Well 1 only

Measurement Time Step: 5

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Well 1 only

Measurement Time Step: 6

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Well 1 only

Measurement Time Step: 7

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Well 1 only

Measurement Time Step: 8

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Well 1 only

Measurement Time Step: 9

0

10

20

30

40

50

60

0 20 40 60 80 100

Dynamic optimization, using ADOPT… Observations from Well 1 only

Measurement Time Step: 10

0

10

20

30

40

50

60

0 20 40 60 80 100

Dynamic optimization, using ADOPT… Observations from Well 1 only

Measurement Time Step: 15

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Well 1 only

Measurement Time Step: 20

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Contaminant source identification…Observations from wells 1 & 2

0

5

10

15

20

25

30

0 10 20 30 40 50

Well 1

Well 2Source 1

Observations at Well 2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

0 500 1000 1500 2000 2500

Time (days)

Con

cent

ratio

n (m

g/L)

Source 1 Source 2

1

t

c

t

Dynamic optimization, using ADOPT… Observations from Wells 1 & 2

Measurement Time Step: 1

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Wells 1 & 2

Measurement Time Step: 2

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Wells 1 & 2

Measurement Time Step: 3

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Wells 1 & 2

Measurement Time Step: 4

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Wells 1 & 2

Measurement Time Step: 5

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Wells 1 & 2

Measurement Time Step: 6

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Wells 1 & 2

Measurement Time Step: 7

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Wells 1 & 2

Measurement Time Step: 8

0

10

20

30

40

50

60

0 10 20 30 40 50 60 70 80 90 100

Dynamic optimization, using ADOPT… Observations from Wells 1 & 2

Measurement Time Step: 9

0

10

20

30

40

50

60

0 20 40 60 80 100

Dynamic optimization, using ADOPT… Observations from Wells 1 & 2

Measurement Time Step: 10

0

10

20

30

40

50

60

0 20 40 60 80 100

Dynamic optimization, using ADOPT… Observations from Wells 1 & 2

Measurement Time Step: 11

0

10

20

30

40

50

60

0 20 40 60 80 100

Final remarks & ongoing/future work EA-based algorithms to address new

challenges Non-uniqueness Dynamic environments Uncertain environments Multiple sources

Application to water distribution network threat management

Water distribution networks…

Concentration for node 115

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0 24 48 72 96 120 144 168 192 216 240 264 288Time step

Con

cent

ratio

n(m

g/L)

Concentration for node 265

0

0.0002

0.0004

0.0006

0.0008

0.001

0.0012

0.0014

0 24 48 72 96 120 144 168 192 216 240 264 288Time step

Con

cent

ratio

n(m

g/L)

Contaminant source profile

0

500

1000

1500

2000

2500

3000

3500

1 26 51 76 101 126 151 176 201 226 251 276Time step

Sour

ce m

ass

(mg/

min

)

Acknowledgements Thank you for listening NSF funding

ITR (Information Tech Research) Program DDDAS (Dyn Data Driven Application Systems) Program

Collaborators Mahinthakumar, Brill

People who made this possible Li Liu, Emily Zechman Others in the research group: Mirghani, Xin, Tryby