Power grid vulnerability analysis Daniel Bienstock Columbia University Dimacs 2010 Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 1
Background: a power grid is three systems GENERATION TRANSMISSION DISTRIBUTION Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 2
Challenges to analysis Power grids follow the laws of physics, characterized by nonlinear, nonconvex equations that make fast computation difficult. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 3
Challenges to analysis Power grids follow the laws of physics, characterized by nonlinear, nonconvex equations that make fast computation difficult. Furthermore, direct control is difficult: we cannot dictate how power will flow. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 3
Challenges to analysis Power grids follow the laws of physics, characterized by nonlinear, nonconvex equations that make fast computation difficult. Furthermore, direct control is difficult: we cannot dictate how power will flow. Power grids are subject to noise which is difficult to model accurately. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 3
Challenges to analysis Power grids follow the laws of physics, characterized by nonlinear, nonconvex equations that make fast computation difficult. Furthermore, direct control is difficult: we cannot dictate how power will flow. Power grids are subject to noise which is difficult to model accurately. Power grids can exhibit non-monotone behavior as a result of control or adversarial actions. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 3
Challenges to analysis Power grids follow the laws of physics, characterized by nonlinear, nonconvex equations that make fast computation difficult. Furthermore, direct control is difficult: we cannot dictate how power will flow. Power grids are subject to noise which is difficult to model accurately. Power grids can exhibit non-monotone behavior as a result of control or adversarial actions. Power grids can cascade. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 3
AC power flows polar coordinates Voltage at a node ( bus ) k is of the form U k e jθ k, where j = 1 Power flowing on edge ( line ) {k, m} equals p km + jq km, where p km = U 2 k g km U k U m g km cos θ km U k U m b km sin θ km q km = U 2 k (b km + b sh km ) + U k U m b km cos θ km U k U m g km sin θ km. Here, θ km = θk θ m g km, b km, bkm sh are known parameters (series conductance, series reactance, shunt susceptance) Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 4
Voltage at k = U k e jθ k ; power on line {k, m} = p km + jq km, where p km = U 2 k g km U k U m g km cos θ km U k U m b km sin θ km q km = U 2 k (b km + b sh km ) + U k U m b km cos θ km U k U m g km sin θ km ( θ km. = θk θ m ) P k = Σ {k,m} p km (active power), Q k = Σ {k,m} q km (reactive power) Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 5
Voltage at k = U k e jθ k ; power on line {k, m} = p km + jq km, where p km = U 2 k g km U k U m g km cos θ km U k U m b km sin θ km q km = U 2 k (b km + b sh km ) + U k U m b km cos θ km U k U m g km sin θ km ( θ km. = θk θ m ) P k = Σ {k,m} p km (active power), Q k = Σ {k,m} q km (reactive power) Power flow problem: Choose the vectors p, q, θ, P, Q so as to satisfy all equations above, and Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 5
Voltage at k = U k e jθ k ; power on line {k, m} = p km + jq km, where p km = U 2 k g km U k U m g km cos θ km U k U m b km sin θ km q km = U 2 k (b km + b sh km ) + U k U m b km cos θ km U k U m g km sin θ km ( θ km. = θk θ m ) P k = Σ {k,m} p km (active power), Q k = Σ {k,m} q km (reactive power) Power flow problem: Choose the vectors p, q, θ, P, Q so as to satisfy all equations above, and meet demand requirements and generator constraints Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 5
Voltage at k = U k e jθ k ; power on line {k, m} = p km + jq km, where p km = U 2 k g km U k U m g km cos θ km U k U m b km sin θ km q km = U 2 k (b km + b sh km ) + U k U m b km cos θ km U k U m g km sin θ km ( θ km. = θk θ m ) P k = Σ {k,m} p km (active power), Q k = Σ {k,m} q km (reactive power) Power flow problem: Choose the vectors p, q, θ, P, Q so as to satisfy all equations above, and meet demand requirements and generator constraints and, ideally, meet thermal constraints (flow limits) on the power lines Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 5
Research challenges Do we have fast and reliable algorithm for the power flow problem? Should not require human input in order to terminate. When no acceptable solution exists, should produce a certificate that this is the case. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 6
Research challenges Do we have fast and reliable algorithm for the power flow problem? Should not require human input in order to terminate. When no acceptable solution exists, should produce a certificate that this is the case. What about the cases where multiple solutions exist? Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 6
Research challenges Do we have fast and reliable algorithm for the power flow problem? Should not require human input in order to terminate. When no acceptable solution exists, should produce a certificate that this is the case. What about the cases where multiple solutions exist? After a contingency has take place, or a control has been applied: which solution should be instantiated? Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 6
Research challenges Do we have fast and reliable algorithm for the power flow problem? Should not require human input in order to terminate. When no acceptable solution exists, should produce a certificate that this is the case. What about the cases where multiple solutions exist? After a contingency has take place, or a control has been applied: which solution should be instantiated? What if all solutions are bad? Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 6
Solution methodologies Newton-Raphson (iterative) algorithms to solve system of equations Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 7
Solution methodologies Newton-Raphson (iterative) algorithms to solve system of equations The claim: this always works fast. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 7
Solution methodologies Newton-Raphson (iterative) algorithms to solve system of equations The claim: this always works fast. normal system. At least in the case of a Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 7
Solution methodologies Newton-Raphson (iterative) algorithms to solve system of equations The claim: this always works fast. normal system. At least in the case of a New result: Low et al (2010). Some (many?) optimal power flow problems can be solved using semidefinite programming. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 7
Linearized ( DC ) model: sin(θ i θ j ) (θ i θ j ) for θ i θ j A power flow is a solution f, θ to: ij f ij ij f ji = b i, for all i, where b i > 0 for each generator i, b i < 0 for demand node i, Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 8
Linearized ( DC ) model: sin(θ i θ j ) (θ i θ j ) for θ i θ j A power flow is a solution f, θ to: ij f ij ij f ji = b i, for all i, where b i > 0 for each generator i, b i < 0 for demand node i, x ij f ij θ i + θ j = 0 for all (i, j). ( x ij = reactance ) Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 8
Linearized ( DC ) model: sin(θ i θ j ) (θ i θ j ) for θ i θ j A power flow is a solution f, θ to: ij f ij ij f ji = b i, for all i, where b i > 0 for each generator i, b i < 0 for demand node i, x ij f ij θ i + θ j = 0 for all (i, j). ( x ij = reactance ) Lemma: Given a choice for b with i b i = 0 (a requirement), Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 8
Linearized ( DC ) model: sin(θ i θ j ) (θ i θ j ) for θ i θ j A power flow is a solution f, θ to: ij f ij ij f ji = b i, for all i, where b i > 0 for each generator i, b i < 0 for demand node i, x ij f ij θ i + θ j = 0 for all (i, j). ( x ij = reactance ) Lemma: Given a choice for b with i b i = 0 (a requirement), the system has a unique (in f) solution. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 8
A quote from: Final Report on the August 14, 2003 Blackout in the United States and Canada: Causes and Recommendations, U.S.-Canada Power System Outage Task Force, April 5, 2004. (https://reports.energy.gov) Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 9
A quote from: Final Report on the August 14, 2003 Blackout in the United States and Canada: Causes and Recommendations, U.S.-Canada Power System Outage Task Force, April 5, 2004. (https://reports.energy.gov) Cause 1 was inadequate system understanding Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 9
A quote from: Final Report on the August 14, 2003 Blackout in the United States and Canada: Causes and Recommendations, U.S.-Canada Power System Outage Task Force, April 5, 2004. (https://reports.energy.gov) Cause 1 was inadequate system understanding stated 20 times Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 9
A quote from: Final Report on the August 14, 2003 Blackout in the United States and Canada: Causes and Recommendations, U.S.-Canada Power System Outage Task Force, April 5, 2004. (https://reports.energy.gov) Cause 1 was inadequate system understanding stated 20 times Cause 2 was inadequate situational awareness stated 14 times Cause 3 was inadequate tree trimming stated 4 times Cause 4 was inadequate RC diagnostic support stated 5 times Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 9
Cascades Load (demand) Generator Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 10
Cascades Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 11
Cascades Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 12
Cascades Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 13
Cascades Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 14
Cascades = lost demand Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 15
Cascades Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 16
Cascades Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 17
Formal cascade model (Dobson et al) Initial fault event takes place (an act of God ). Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 18
Formal cascade model (Dobson et al) Initial fault event takes place (an act of God ). For r = 1, 2,..., 1. Reconfigure demands and generator output levels. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 18
Islanding supply > demand Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 19
Formal cascade model (Dobson et al) Initial fault event takes place (an act of God ). For r = 1, 2,..., 1. Reconfigure demands and generator output levels. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 20
Formal cascade model (Dobson et al) Initial fault event takes place (an act of God ). For r = 1, 2,..., 1. Reconfigure demands and generator output levels. 2. New power flows are instantiated. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 20
Formal cascade model (Dobson et al) Initial fault event takes place (an act of God ). For r = 1, 2,..., 1. Reconfigure demands and generator output levels. 2. New power flows are instantiated. 3. The next set of faults takes place. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 20
Formal cascade model (Dobson et al) Initial fault event takes place (an act of God ). For r = 1, 2,..., 1. Reconfigure demands and generator output levels. 2. New power flows are instantiated. 3. The next set of faults takes place. (Stochastic or history-dependent criterion) Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 20
Outage mechanism f e = flow on line e u e = flow limit (threshold) on e Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 21
Outage mechanism f e = flow on line e u e = flow limit (threshold) on e Prob( e fails) = F ( f e /u e ), where F (x) 1 as x +. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 21
Outage mechanism f e = flow on line e u e = flow limit (threshold) on e Prob( e fails) = F ( f e /u e ), where F (x) 1 as x +. Set f r e = α e fe r + (1 α e) f e r 1, where 0 α e 1 is given. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 21
Outage mechanism f e = flow on line e u e = flow limit (threshold) on e Prob( e fails) = F ( f e /u e ), where F (x) 1 as x +. Set f r e = α e fe r + (1 α e) f e r 1, where 0 α e 1 is given. f r e = running average of f e. r = round (time). Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 21
Outage mechanism f e = flow on line e u e = flow limit (threshold) on e Prob( e fails) = F ( f e /u e ), where F (x) 1 as x +. Set f r e = α e fe r + (1 α e) f e r 1, where 0 α e 1 is given. f r e = running average of f e. r = round (time). e fails if f e > u e. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 21
Outage mechanism f e = flow on line e u e = flow limit (threshold) on e Prob( e fails) = F ( f e /u e ), where F (x) 1 as x +. Set f r e = α e fe r + (1 α e) f e r 1, where 0 α e 1 is given. f r e = running average of f e. r = round (time). e fails if f e > u e. or: e fails if f e u e Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 21
Outage mechanism f e = flow on line e u e = flow limit (threshold) on e Prob( e fails) = F ( f e /u e ), where F (x) 1 as x +. Set f r e = α e fe r + (1 α e) fe r 1, where 0 α e 1 is given. f r e = two-round average of f e. r = round (time). e fails if f e > u e, Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 22
Outage mechanism f e = flow on line e u e = flow limit (threshold) on e Prob( e fails) = F ( f e /u e ), where F (x) 1 as x +. Set f r e = α e fe r + (1 α e) fe r 1, where 0 α e 1 is given. f r e = two-round average of f e. r = round (time). e fails if f e > u e, (or, e fails if f e u e ) Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 22
Stochastic faults e fails if u e < f r e, Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 23
Stochastic faults e fails if u e < f r e, e does not fail if (1 γ)u e > f e r, (γ = tolerance) Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 23
Stochastic faults e fails if u e < f r e, e does not fail if (1 γ)u e > f e r, (γ = tolerance) if (1 γ)u e f r e u e then e fails with probability 1/2 Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 23
Formal cascade model (Dobson et al) Initial outage event takes place (an act of God ). For r = 1, 2,..., 1. Reconfigure demands and generator output levels. 2. New power flows are instantiated. 3. The next set of outages takes place. (Stochastic or history-dependent criterion) Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 24
Formal cascade model (Dobson et al) Initial outage event takes place (an act of God ). For r = 1, 2,..., 1. Reconfigure demands and generator output levels. 2. New power flows are instantiated. 3. The next set of outages takes place. (Stochastic or history-dependent criterion) If no more faults occur or too much demand has been lost, STOP Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 24
Online control Initial outage event takes place. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 25
Online control Initial outage event takes place. Compute control algorithm. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 25
Online control Initial outage event takes place. Compute control algorithm. For r = 1, 2,..., R 1 1. Reconfigure demands and generator output levels. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 25
Online control Initial outage event takes place. Compute control algorithm. For r = 1, 2,..., R 1 1. Reconfigure demands and generator output levels. 2. New power flows are instantiated. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 25
Online control Initial outage event takes place. Compute control algorithm. For r = 1, 2,..., R 1 1. Reconfigure demands and generator output levels. 2. New power flows are instantiated. 3a. Take measurements and apply control to shed demand. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 25
Online control Initial outage event takes place. Compute control algorithm. For r = 1, 2,..., R 1 1. Reconfigure demands and generator output levels. 2. New power flows are instantiated. 3a. Take measurements and apply control to shed demand. 3b. Reconfigure generator outputs; Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 25
Online control Initial outage event takes place. Compute control algorithm. For r = 1, 2,..., R 1 1. Reconfigure demands and generator output levels. 2. New power flows are instantiated. 3a. Take measurements and apply control to shed demand. 3b. Reconfigure generator outputs; get new power flows. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 25
Online control Initial outage event takes place. Compute control algorithm. For r = 1, 2,..., R 1 1. Reconfigure demands and generator output levels. 2. New power flows are instantiated. 3a. Take measurements and apply control to shed demand. 3b. Reconfigure generator outputs; get new power flows. 4. The next set of outages takes place. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 25
Online control Initial outage event takes place. Compute control algorithm. For r = 1, 2,..., R 1 1. Reconfigure demands and generator output levels. 2. New power flows are instantiated. 3a. Take measurements and apply control to shed demand. 3b. Reconfigure generator outputs; get new power flows. 4. The next set of outages takes place. At round R, reduce demands so as to remove any line overloads. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 25
Deterministic, no history model Optimal control via integer programming formulation Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 26
Deterministic, no history model Optimal control via integer programming formulation? Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 26
Deterministic, no history model Optimal control via integer programming formulation? f r j y r j d r j = flow on arc j at round r = 1, if arc j fails in round r, 0 otherwise = demand at node i in round r and many other variables Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 26
Subject to: max X d R i i D 8 X f r j X f r < j = j δ + (i) j δ : (i) si r i G di r i D 0 otherwise 1 r R (1) f r j = π r j ν r j j A and 1 r R (2) π r j Dp r j, νr j Dn r j, j A and 1 r R (3) p r j + n r j r 1 X = 1 y h j, j A and 1 r R (4) h=1 π r j + ν r j u j π r j + ν r j Dy r j j A and 1 r R (5) u j y r j j A and 1 r R 1 (6) π R j + ν R j u j j A (7) φ r i φ r j x j f r r 1 X j M j y h j j A (8) h=1 0 s r i s i i G, 0 d r i d i i D, (9) p r j, nr ij, yr j = 0 or 1, j A and 1 r R (10) 0 π r j, 0 νr j, j A and 1 r R. (11) Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 27
What s bad about the formulation probably can t solve it for medium to large networks stochastic variant probably needed, harder Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 28
What s bad about the formulation probably can t solve it for medium to large networks stochastic variant probably needed, harder optimal solutions = complex policies Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 28
Adaptive affine controls For each demand v, and round r, control cv r, br v, sr v computed to be Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 29
Adaptive affine controls For each demand v, and round r, control cv r, br v, sr v computed to be Parameterized by integer r > 0. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 29
Adaptive affine controls For each demand v, and round r, control cv r, br v, sr v computed to be Parameterized by integer r > 0. At round r, Let κ = maximum overload of any line within radius r of v Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 29
Adaptive affine controls For each demand v, and round r, control cv r, br v, sr v computed to be Parameterized by integer r > 0. At round r, Let κ = maximum overload of any line within radius r of v If κ > cv r, demand at v reduced (scaled) by a factor max { 1, s r v (cr v κ) + br v}. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 29
Adaptive affine controls For each demand v, and round r, control cv r, br v, sr v computed to be Parameterized by integer r > 0. At round r, Let κ = maximum overload of any line within radius r of v If κ > cv r, demand at v reduced (scaled) by a factor max { 1, s r v (cr v κ) + br v}. The goal: pick control to maximize demand being served at the end of round R. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 29
For each demand v, and round r, control c r v, br v, sr v At round r, if κ > cv r, demand at v reduced (scaled) by a factor min { 1, [ s r v (cr v κ) + br v ]+ }. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 30
For each demand v, and round r, control c r v, br v, sr v At round r, if κ > cv r, demand at v reduced (scaled) by a factor min { 1, [ s r v (cr v κ) + br v ]+ }. This talk: r = n (number of nodes) Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 30
For each demand v, and round r, control c r v, br v, sr v At round r, if κ > cv r, demand at v reduced (scaled) by a factor min { 1, [ s r v (cr v κ) + br v ]+ }. This talk: r = n (number of nodes) Special case: (optimal scaling problem) Insist that for each r, (c r v, br v, sr v ) = (cr, b r, s r ) for every v Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 30
For each demand v, and round r, control c r v, br v, sr v At round r, if κ > cv r, demand at v reduced (scaled) by a factor min { 1, [ s r v (cr v κ) + br v ]+ }. This talk: r = n (number of nodes) Special case: (optimal scaling problem) Insist that for each r, (c r v, br v, sr v ) = (cr, b r, s r ) for every v Then, equivalent problem: In round r, let α r (K ) 1 be chosen for each component of the network in round r If node v component K, then its demand is scaled by α r (K ) Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 30
Notation: ˆβ = supply/demand vector at time 0 ˆf = corresponding power flows at time 0 Θ R (t, β) : R + R + = total demand, at the end of round R, using optimal control, if the supply/demand vector is t β Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 31
Notation: ˆβ = supply/demand vector at time 0 ˆf = corresponding power flows at time 0 Θ R (t, β) : R + R + = total demand, at the end of round R, using optimal control, if the supply/demand vector is t β Note: supply/demand = tβ means flow = t ˆf Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 31
Notation: ˆβ = supply/demand vector at time 0 ˆf = corresponding power flows at time 0 Θ R (t, β) : R + R + = total demand, at the end of round R, using optimal control, if the supply/demand vector is t β Note: supply/demand = tβ means flow = t ˆf Theorem: Θ R (t, ˆβ) is nondecreasing piecewise-linear with at most m R /R! + O(m R 1 ) breakpoints. m = no. of arcs Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 31
Notation: ˆβ = supply/demand vector at time 0 ˆf = corresponding power flows at time 0 Θ R (t, β) : R + R + = total demand, at the end of round R, using optimal control, if the supply/demand vector is t β Note: supply/demand = tβ means flow = t ˆf Theorem: Θ R (t, ˆβ) is nondecreasing piecewise-linear with at most m R /R! + O(m R 1 ) breakpoints. m = no. of arcs In round 1, the optimal scale is equal to u j /(t ˆf j ) for some arc j. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 31
Notation: ˆβ = supply/demand vector at time 0 ˆf = corresponding power flows at time 0 Θ R (t, β) : R + R + = total demand, at the end of round R, using optimal control, if the supply/demand vector is t β Note: supply/demand = tβ means flow = t ˆf Theorem: Θ R (t, ˆβ) is nondecreasing piecewise-linear with at most m R /R! + O(m R 1 ) breakpoints. m = no. of arcs In round 1, the optimal scale is equal to u j /(t ˆf j ) for some arc j. So arc j will become critical Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 31
Notation: ˆβ = supply/demand vector at time 0 ˆf = corresponding power flows at time 0 Θ R (t, β) : R + R + = total demand, at the end of round R, using optimal control, if the supply/demand vector is t β Note: supply/demand = tβ means flow = t ˆf Theorem: Θ R (t, ˆβ) is nondecreasing piecewise-linear with at most m R /R! + O(m R 1 ) breakpoints. m = no. of arcs In round 1, the optimal scale is equal to u j /(t ˆf j ) for some arc j. So arc j will become critical And recursively... Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 31
Notation: ˆβ = supply/demand vector at time 0 ˆf = corresponding power flows at time 0 Θ R (t, β) : R + R + = total demand, at the end of round R, using optimal control, if the supply/demand vector is t β Note: supply/demand = tβ means flow = t ˆf Theorem: Θ R (t, ˆβ) is nondecreasing piecewise-linear with at most m R /R! + O(m R 1 ) breakpoints. m = no. of arcs In round 1, the optimal scale is equal to u j /(t ˆf j ) for some arc j. So arc j will become critical And recursively... Robust/stochastic version? Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 31
General case: simulation-based optimization Given a control vector ũ = (cv r, br v, sr v ) (over all v and r), Θ(ũ) = throughput (total demand) satisfied at end of cascade Maximization of Θ(ũ) should be (very?) fast Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 32
General case: simulation-based optimization Given a control vector ũ = (cv r, br v, sr v ) (over all v and r), Θ(ũ) = throughput (total demand) satisfied at end of cascade Maximization of Θ(ũ) should be (very?) fast Optimization should be robust (noisy process) Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 32
General case: simulation-based optimization Given a control vector ũ = (cv r, br v, sr v ) (over all v and r), Θ(ũ) = throughput (total demand) satisfied at end of cascade Maximization of Θ(ũ) should be (very?) fast Optimization should be robust (noisy process) From a strict perspective, Θ(ũ) is not even continuous Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 32
General case: simulation-based optimization Given a control vector ũ = (cv r, br v, sr v ) (over all v and r), Θ(ũ) = throughput (total demand) satisfied at end of cascade Maximization of Θ(ũ) should be (very?) fast Optimization should be robust (noisy process) From a strict perspective, Θ(ũ) is not even continuous Θ(ũ) is obtained through a simulation Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 32
Derivative-free optimization Conn, Scheinberg, Vicente, others Rough description: Sample a number of control vectors ũ Use the sample points to construct a convex approximation to Θ Optimize this approximation; this yields a new sample point Scalability to large dimensionality? Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 33
First order method Given a control vector ũ 1 Estimate the gradient g = Θ(ũ) through finite differences. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 34
First order method Given a control vector ũ 1 Estimate the gradient g = Θ(ũ) through finite differences. Requires O(1) simulations per demand node. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 34
First order method Given a control vector ũ 1 Estimate the gradient g = Θ(ũ) through finite differences. Requires O(1) simulations per demand node. 2 Estimate step size argmax Θ(ũ + σg) Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 34
First order method Given a control vector ũ 1 Estimate the gradient g = Θ(ũ) through finite differences. Requires O(1) simulations per demand node. 2 Estimate step size argmax Θ(ũ + σg) Easily parallelizable Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 34
Line searches 0.91 ls3.1 0.9205 ls3.2 0.92 0.9 0.9195 0.89 0.919 0.9185 0.88 0.918 0.9175 0.87 0.917 0.86 0.9165 0.916 0.85 0 10 20 30 40 50 60 70 80 90 100 0.9155 0 10 20 30 40 50 60 70 80 90 100 0.55 ls4.2 0.5 0.45 0.4 0.35 0.3 0.25 0 10 20 30 40 50 60 70 80 Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 35
Current parallel implementation: boss-nerd Boss carries out search algorithm Nerds simulate cascades with given control Communication using Unix sockets Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 36
Scaling Example: 10000 nodes, 19309 lines 5 gradient steps 8-core i7 CPUs (3 machines total) cores wall-clock sec 2 94379 4 47592 8 28136 16 14618 24 9918 Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 37
Initial experiments with Eastern Interconnect 15023 nodes, 23769 lines. 2122 generator nodes, 6261 demand nodes Equivalent DC flow version Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 38
Initial experiments with Eastern Interconnect 15023 nodes, 23769 lines. 2122 generator nodes, 6261 demand nodes Equivalent DC flow version Methodology for experiments 1 Generate an interdiction of the grid ( initial event ) 2 Compute control and simulate Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 38
Initial experiments with Eastern Interconnect 15023 nodes, 23769 lines. 2122 generator nodes, 6261 demand nodes Equivalent DC flow version Methodology for experiments 1 Generate an interdiction of the grid ( initial event ) 2 Compute control and simulate 3 At least three rounds of cascade after initial event Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 38
Computing a control (1) Solve scaling problem let (c, b, s ) be optimal Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 39
Computing a control (1) Solve scaling problem let (c, b, s ) be optimal (2) Partition demand nodes into small number of segments Σ 1,..., Σ k. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 39
Computing a control (1) Solve scaling problem let (c, b, s ) be optimal (2) Partition demand nodes into small number of segments Σ 1,..., Σ k. Example = demand quantiles. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 39
Computing a control (1) Solve scaling problem let (c, b, s ) be optimal (2) Partition demand nodes into small number of segments Σ 1,..., Σ k. Example = demand quantiles. Perform segmented gradient search starting from (c, b, s ). Look for a control with (cv r, br v, sr v ) = constant for each given r and all v in a common Σ i. Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 39
Computing a control (1) Solve scaling problem let (c, b, s ) be optimal (2) Partition demand nodes into small number of segments Σ 1,..., Σ k. Example = demand quantiles. Perform segmented gradient search starting from (c, b, s ). Look for a control with (cv r, br v, sr v ) = constant for each given r and all v in a common Σ i. (3) Perform full gradient search starting from the output in (2). Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 39
Experiments K random lines taken out highly loaded lines more likely to be taken out; connectivity preserved Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 40
Experiments K random lines taken out highly loaded lines more likely to be taken out; connectivity preserved K yield, (%) yield, wallclock no control control (sec) 1 90.04 95.03 134 2 12.54 50.13 87 5 32.94 81.05 107 10 2.02 36.97 97 20 1.64 27.84 159 50 0.83 16.96 209 Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 40
Conjectures It is best to stop the cascade in the first round It is best to apply control in the first round only, and ride out the cascade Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 41
Conjectures It is best to stop the cascade in the first round It is best to apply control in the first round only, and ride out the cascade (Answer: both wrong) Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 41
Details: cascade with 50 (highly loaded) random lines taken out No control yield = 0% Optimal round 1 only constant control yield = 38% Optimal scaling control yield = 45% Plus segmented gradient seach yield = 50% Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 42
Load distribution at time zero (load of arc j = f j u j ) load no. of arcs 1505 1 58 1 48 2 32 1 22 2 19 1 11 1 7 2 6 2 5 4 4 6 3 18 2 181 Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 43
Load distribution at time zero (load of arc j = f j u j ) Optimal round 1 scale = 0.51, load no. of arcs 1505 1 58 1 48 2 32 1 22 2 19 1 11 1 7 2 6 2 5 4 4 6 3 18 2 181 Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 43
Load distribution at time zero (load of arc j = f j u j ) load no. of arcs 1505 1 58 1 48 2 32 1 22 2 19 1 11 1 7 2 6 2 5 4 4 6 3 18 2 181 Optimal round 1 scale = 0.51, so 44 faults Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 43
Out-of-sample testing: use stochastic faults at round r, e fails if u e < f r e, e does not fail if (1 γ)u e > f e r, (γ = tolerance) if (1 γ)u e f r e u e then e fails with probability 1/2 Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 44
Out-of-sample testing: use stochastic faults at round r, e fails if u e < f r e, e does not fail if (1 γ)u e > f e r, (γ = tolerance) if (1 γ)u e f r e u e then e fails with probability 1/2 What is the impact of γ? Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 44
γ = 0.03, 0.10, 0.20, 10000 runs 2500 3 percent 10 percent 20 percent 2000 1500 COUNT 1000 500 0 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 YIELD Daniel Bienstock (Columbia University) Power grid vulnerability analysis Dimacs 2010 45