ie-or seminar april 18, 2006
DESCRIPTION
IE-OR Seminar April 18, 2006. Evolutionary Algorithms in Addressing Contamination Threat Management in Civil Infrastructures Ranji S. Ranjithan Department of Civil Engineering, NCSU. Many security threat problems in civil infrastructure systems. - PowerPoint PPT PresentationTRANSCRIPT
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
So
urc
e 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
So
urc
e 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
Co
nce
ntr
atio
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
Co
nce
ntr
atio
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
So
urc
e 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 uncertainty
Optimization 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 uncertainty
Optimization 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)
Co
nc
en
tra
tio
n (
mg
/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)
Co
nc
en
tra
tio
n (
mg
/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)
Co
nc
en
tra
tio
n (
mg
/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)
Co
nc
en
tra
tio
n (
mg
/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)
Co
nc
en
tra
tio
n (
mg
/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.60
0.80
1.00
1.20
1.40
1.60
0 500 1000 1500 2000
Co
nc.
(m
g/L
)
PredictedConcentration
ObservedConcentration
Alt. 2
0.00
0.20
0.40
0.60
0.80
1.00
1.20
1.40
1.60
0 500 1000 1500 2000
Alt. 3
0.000.20
0.400.60
0.801.00
1.201.40
1.60
0 500 1000 1500 2000
Time (days)
Co
nc.
(m
g/L
)
Alt. 4
0.00
0.20
0.40
0.600.80
1.00
1.20
1.40
1.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.60
0.80
1.00
1.20
1.40
1.60
0 500 1000 1500 2000
Co
nc.
(m
g/L
)
PredictedConcentration
ObservedConcentration
Alt. 2
0.00
0.20
0.40
0.60
0.80
1.00
1.20
1.40
1.60
0 500 1000 1500 2000
Alt. 3
0.00
0.200.40
0.60
0.80
1.001.20
1.40
1.60
0 500 1000 1500 2000
Time (days)
Co
nc.
(m
g/L
)
Alt. 4
0.00
0.20
0.40
0.600.80
1.00
1.20
1.40
1.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.60
0.80
1.00
1.20
1.40
1.60
0 500 1000 1500 2000
Co
nc.
(m
g/L
)
PredictedConcentration
ObservedConcentration
Alt. 2
0.00
0.20
0.40
0.60
0.80
1.00
1.20
1.40
1.60
0 500 1000 1500 2000
Alt. 3
0.00
0.200.40
0.600.80
1.00
1.201.40
1.60
0 500 1000 1500 2000
Time (days)
Co
nc.
(m
g/L
)
Alt. 4
0.00
0.20
0.40
0.60
0.80
1.00
1.20
1.40
1.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
Co
nc.
(m
g/L
)
PredictedConcentration
ObservedConcentration
Alt. 2
0.00
0.20
0.40
0.60
0.80
1.00
1.20
1.40
1.60
0 500 1000 1500 2000
Alt. 3
0.00
0.200.40
0.60
0.80
1.001.20
1.40
1.60
0 500 1000 1500 2000
Time (days)
Co
nc.
(m
g/L
)
Alt. 4
0.00
0.20
0.40
0.60
0.80
1.00
1.20
1.40
1.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 || Ci
t(obs) – Cit(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)
Co
nc
en
tra
tio
n (
mg
/L)
Source 1 Source 2
1
t
c
t
ADOPT…
Contaminant source identification
Minimize Prediction Error ∑i,t || Ci
t(obs) – Cit(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)
Co
nc
en
tra
tio
n (
mg
/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
Co
nce
ntr
atio
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
Co
nce
ntr
atio
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
So
urc
e 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