power grid vulnerability, new models, algorithms and...

91
Power grid vulnerability, new models, algorithms and computing Daniel Bienstock Abhinav Verma Columbia University, New York July, 2009 Daniel Bienstock Abhinav Verma ( Columbia University, New York) Power grid vulnerability, new models, algorithms and computing July, 2009 1 / 43

Upload: others

Post on 25-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Power grid vulnerability, new models, algorithmsand computing

Daniel BienstockAbhinav Verma

Columbia University, New York

July, 2009

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 1 / 43

Page 2: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

The N-k problem in power grids

Given a power grid modeled by a network, delete a small set of arcs,such that in the resulting network all feasible flows have smallthroughput

Used to model “natural” blackouts

“Small” throughput: we satisfy less than some amount Dmin oftotal demand

“Small” set of arcs = very small

Delete 1 arc = the “N-1” problem

Of interest: delete k = 2, 3, 4, . . . edges

Naive enumeration blows up

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 2 / 43

Page 3: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

The N-k problem in power grids

Given a power grid modeled by a network, delete a small set of arcs,such that in the resulting network all feasible flows have smallthroughput

Used to model “natural” blackouts

“Small” throughput: we satisfy less than some amount Dmin oftotal demand

“Small” set of arcs = very small

Delete 1 arc = the “N-1” problem

Of interest: delete k = 2, 3, 4, . . . edges

Naive enumeration blows up

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 2 / 43

Page 4: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

The N-k problem in power grids

Given a power grid modeled by a network, delete a small set of arcs,such that in the resulting network all feasible flows have smallthroughput

Used to model “natural” blackouts

“Small” throughput: we satisfy less than some amount Dmin oftotal demand

“Small” set of arcs = very small

Delete 1 arc = the “N-1” problem

Of interest: delete k = 2, 3, 4, . . . edges

Naive enumeration blows up

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 2 / 43

Page 5: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

The N-k problem in power grids

Given a power grid modeled by a network, delete a small set of arcs,such that in the resulting network all feasible flows have smallthroughput

Used to model “natural” blackouts

“Small” throughput: we satisfy less than some amount Dmin oftotal demand

“Small” set of arcs = very small

Delete 1 arc = the “N-1” problem

Of interest: delete k = 2, 3, 4, . . . edges

Naive enumeration blows up

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 2 / 43

Page 6: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

The N-k problem in power grids

Given a power grid modeled by a network, delete a small set of arcs,such that in the resulting network all feasible flows have smallthroughput

Used to model “natural” blackouts

“Small” throughput: we satisfy less than some amount Dmin oftotal demand

“Small” set of arcs = very small

Delete 1 arc = the “N-1” problem

Of interest: delete k = 2, 3, 4, . . . edges

Naive enumeration blows up

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 2 / 43

Page 7: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

The N-k problem in power grids

Given a power grid modeled by a network, delete a small set of arcs,such that in the resulting network all feasible flows have smallthroughput

Used to model “natural” blackouts

“Small” throughput: we satisfy less than some amount Dmin oftotal demand

“Small” set of arcs = very small

Delete 1 arc = the “N-1” problem

Of interest: delete k = 2, 3, 4, . . . edges

Naive enumeration blows up

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 2 / 43

Page 8: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

The N-k problem in power grids

Given a power grid modeled by a network, delete a small set of arcs,such that in the resulting network all feasible flows have smallthroughput

Used to model “natural” blackouts

“Small” throughput: we satisfy less than some amount Dmin oftotal demand

“Small” set of arcs = very small

Delete 1 arc = the “N-1” problem

Of interest: delete k = 2, 3, 4, . . . edges

Naive enumeration blows up

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 2 / 43

Page 9: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Linear power flow model

We are given a network G with:

A set of S of supply nodes (the “generators”); for each generatori an “operating range” 0 ≤ SL

i ≤ SUi ,

A set D of demand nodes (the “loads”); for each load i a“maximum demand” 0 ≤ Dmax

i .

For each arc (i, j) values xij and uij .

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 3 / 43

Page 10: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Linear power flow model

We are given a network G with:

A set of S of supply nodes (the “generators”); for each generatori an “operating range” 0 ≤ SL

i ≤ SUi ,

A set D of demand nodes (the “loads”); for each load i a“maximum demand” 0 ≤ Dmax

i .

For each arc (i, j) values xij and uij .

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 3 / 43

Page 11: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Linear power flow model

We are given a network G with:

A set of S of supply nodes (the “generators”); for each generatori an “operating range” 0 ≤ SL

i ≤ SUi ,

A set D of demand nodes (the “loads”); for each load i a“maximum demand” 0 ≤ Dmax

i .

For each arc (i, j) values xij and uij .

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 3 / 43

Page 12: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Feasible power flows

A power flow is a solution f , θ to:∑ij fij −

∑ij fji = bi , for all i , where

SLi ≤ bi ≤ SU

i OR bi = 0, for each i ∈ S,

0 ≤ −bi ≤ Dmaxi for i ∈ D,

and bi = 0, otherwise.

xij fij − θi + θj = 0 for all (i, j). (Ohm’s equation)

Lemma Given a choice for b with∑

i bi = 0, the system has aunique solution.

The solution is feasible if |fij | ≤ uij for every (i, j).

Its throughput is∑

i∈D −bi .Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 4 / 43

Page 13: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Feasible power flows

A power flow is a solution f , θ to:∑ij fij −

∑ij fji = bi , for all i , where

SLi ≤ bi ≤ SU

i OR bi = 0, for each i ∈ S,

0 ≤ −bi ≤ Dmaxi for i ∈ D,

and bi = 0, otherwise.

xij fij − θi + θj = 0 for all (i, j). (Ohm’s equation)

Lemma Given a choice for b with∑

i bi = 0, the system has aunique solution.

The solution is feasible if |fij | ≤ uij for every (i, j).

Its throughput is∑

i∈D −bi .Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 4 / 43

Page 14: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Feasible power flows

A power flow is a solution f , θ to:∑ij fij −

∑ij fji = bi , for all i , where

SLi ≤ bi ≤ SU

i OR bi = 0, for each i ∈ S,

0 ≤ −bi ≤ Dmaxi for i ∈ D,

and bi = 0, otherwise.

xij fij − θi + θj = 0 for all (i, j). (Ohm’s equation)

Lemma Given a choice for b with∑

i bi = 0, the system has aunique solution.

The solution is feasible if |fij | ≤ uij for every (i, j).

Its throughput is∑

i∈D −bi .Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 4 / 43

Page 15: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Feasible power flows

A power flow is a solution f , θ to:∑ij fij −

∑ij fji = bi , for all i , where

SLi ≤ bi ≤ SU

i OR bi = 0, for each i ∈ S,

0 ≤ −bi ≤ Dmaxi for i ∈ D,

and bi = 0, otherwise.

xij fij − θi + θj = 0 for all (i, j). (Ohm’s equation)

Lemma Given a choice for b with∑

i bi = 0, the system has aunique solution.

The solution is feasible if |fij | ≤ uij for every (i, j).

Its throughput is∑

i∈D −bi .Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 4 / 43

Page 16: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Feasible power flows

A power flow is a solution f , θ to:∑ij fij −

∑ij fji = bi , for all i , where

SLi ≤ bi ≤ SU

i OR bi = 0, for each i ∈ S,

0 ≤ −bi ≤ Dmaxi for i ∈ D,

and bi = 0, otherwise.

xij fij − θi + θj = 0 for all (i, j). (Ohm’s equation)

Lemma Given a choice for b with∑

i bi = 0, the system has aunique solution.

The solution is feasible if |fij | ≤ uij for every (i, j).

Its throughput is∑

i∈D −bi .Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 4 / 43

Page 17: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Three types of successful attacks

Type 1: Network becomes disconnected with a mismatch of supplyand demand.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 5 / 43

Page 18: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Three types of successful attacks

Type 2: Lower bounds on generator ouptuts cause line overload

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 6 / 43

Page 19: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Three types of successful attacks

Type 3: Uniqueness of power flows means exceeded capacities orinsufficient supply.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 7 / 43

Page 20: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

A game:

The controller’s problem: Given a set A of arcs that has beendeleted by the attacker, choose a set G of generators to operate, so asto feasibly meet demand (at least) Dmin.

The attacker’s problem: Choose a set A of arcs to delete, so as todefeat the controller, no matter how the controller chooses G.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 8 / 43

Page 21: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

A game:

The controller’s problem: Given a set A of arcs that has beendeleted by the attacker, choose a set G of generators to operate, so asto feasibly meet demand (at least) Dmin.

The attacker’s problem: Choose a set A of arcs to delete, so as todefeat the controller, no matter how the controller chooses G.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 8 / 43

Page 22: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

A game:

The controller’s problem: Given a set A of arcs that has beendeleted by the attacker, choose a set G of generators to operate, so asto feasibly meet demand (at least) Dmin.

The attacker’s problem: Choose a set A of arcs to delete, so as todefeat the controller, no matter how the controller chooses G.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 8 / 43

Page 23: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

2

3

1

nom=D

36

T =min

1/2

=12

x 1P =

2

max

4

2=P 0

min

x23

=1

=523

u

12u =1

= 3u13

=113

x

P1

max4=

P =12

min

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 9 / 43

Page 24: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

The controller’s problem for a given choice of generators

Given a set A of arcs that has been deleted by the attacker, AND achoice G of which generators to operate, set demands and suppliesso as to feasibly meet total demand (at least) Dmin.

This a linear program:

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 10 / 43

Page 25: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

The controller’s problem for a given choice of generators

Given a set A of arcs that has been deleted by the attacker, AND achoice G of which generators to operate, set demands and suppliesso as to feasibly meet total demand (at least) Dmin.

This a linear program:

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 10 / 43

Page 26: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

tA(G).= min t

Subject to:∑ij fij −

∑ij fji − bi = 0, for all nodes i ,

Smini ≤ bi ≤ Smax

i for i ∈ G, 0 ≤ −bi ≤ Dmaxi for i ∈ D

bi = 0 otherwise.

xij fij − θi + θj = 0 for all (i, j) /∈ A

−∑

i∈D bi + Dmin t ≥ 2Dmin

uij t ≥ |fij | for all (i, j) /∈ A

fij = 0 for all (i, j) ∈ A

Lemma: tA(G) > 1 iff the attack is successful against the choice G.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 11 / 43

Page 27: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

tA(G).= min t

Subject to:∑ij fij −

∑ij fji − bi = 0, for all nodes i ,

Smini ≤ bi ≤ Smax

i for i ∈ G, 0 ≤ −bi ≤ Dmaxi for i ∈ D

bi = 0 otherwise.

xij fij − θi + θj = 0 for all (i, j) /∈ A

−∑

i∈D bi + Dmin t ≥ 2Dmin

uij t ≥ |fij | for all (i, j) /∈ A

fij = 0 for all (i, j) ∈ A

Lemma: tA(G) > 1 iff the attack is successful against the choice G.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 11 / 43

Page 28: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

tA(G).= min t

Subject to:∑ij fij −

∑ij fji − bi = 0, for all nodes i ,

Smini ≤ bi ≤ Smax

i for i ∈ G, 0 ≤ −bi ≤ Dmaxi for i ∈ D

bi = 0 otherwise.

xij fij − θi + θj = 0 for all (i, j) /∈ A

−∑

i∈D bi + Dmin t ≥ 2Dmin

uij t ≥ |fij | for all (i, j) /∈ A

fij = 0 for all (i, j) ∈ A

Lemma: tA(G) > 1 iff the attack is successful against the choice G.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 11 / 43

Page 29: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

tA(G).= min t

Subject to:∑ij fij −

∑ij fji − bi = 0, for all nodes i ,

Smini ≤ bi ≤ Smax

i for i ∈ G, 0 ≤ −bi ≤ Dmaxi for i ∈ D

bi = 0 otherwise.

xij fij − θi + θj = 0 for all (i, j) /∈ A

−∑

i∈D bi + Dmin t ≥ 2Dmin

uij t ≥ |fij | for all (i, j) /∈ A

fij = 0 for all (i, j) ∈ A

Lemma: tA(G) > 1 iff the attack is successful against the choice G.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 11 / 43

Page 30: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

tA(G).= min t

Subject to:∑ij fij −

∑ij fji − bi = 0, for all nodes i ,

Smini ≤ bi ≤ Smax

i for i ∈ G, 0 ≤ −bi ≤ Dmaxi for i ∈ D

bi = 0 otherwise.

xij fij − θi + θj = 0 for all (i, j) /∈ A

−∑

i∈D bi + Dmin t ≥ 2Dmin

uij t ≥ |fij | for all (i, j) /∈ A

fij = 0 for all (i, j) ∈ A

Lemma: tA(G) > 1 iff the attack is successful against the choice G.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 11 / 43

Page 31: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

tA(G).= min t

Subject to:∑ij fij −

∑ij fji − bi = 0, for all nodes i ,

Smini ≤ bi ≤ Smax

i for i ∈ G, 0 ≤ −bi ≤ Dmaxi for i ∈ D

bi = 0 otherwise.

xij fij − θi + θj = 0 for all (i, j) /∈ A

−∑

i∈D bi + Dmin t ≥ 2Dmin

uij t ≥ |fij | for all (i, j) /∈ A

fij = 0 for all (i, j) ∈ A

Lemma: tA(G) > 1 iff the attack is successful against the choice G.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 11 / 43

Page 32: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

tA(G).= min t

Subject to:∑ij fij −

∑ij fji − bi = 0, for all nodes i ,

Smini ≤ bi ≤ Smax

i for i ∈ G, 0 ≤ −bi ≤ Dmaxi for i ∈ D

bi = 0 otherwise.

xij fij − θi + θj = 0 for all (i, j) /∈ A

−∑

i∈D bi + Dmin t ≥ 2Dmin

uij t ≥ |fij | for all (i, j) /∈ A

fij = 0 for all (i, j) ∈ A

Lemma: tA(G) > 1 iff the attack is successful against the choice G.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 11 / 43

Page 33: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

tA(G).= min t

Subject to:∑ij fij −

∑ij fji − bi = 0, for all nodes i ,

Smini ≤ bi ≤ Smax

i for i ∈ G, 0 ≤ −bi ≤ Dmaxi for i ∈ D

bi = 0 otherwise.

xij fij − θi + θj = 0 for all (i, j) /∈ A

−∑

i∈D bi + Dmin t ≥ 2Dmin

uij t ≥ |fij | for all (i, j) /∈ A

for all (i, j) ∈ A, t ≥ 1 + |fij |/uij

Lemma: tA(G) > 1 iff the attack is successful against the choice G.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 12 / 43

Page 34: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Attack problem

min∑

ij zij

Subject to:

zij = 0 or 1, for all arcs (i, j), (choose which arcs to delete)

tsuppt(z)(G) > 1, for every subset G of generators.

[ suppt(v) = support of v]

→ Use LP dual to represent tsuppt(z)(G)

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 13 / 43

Page 35: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Attack problem

min∑

ij zij

Subject to:

zij = 0 or 1, for all arcs (i, j), (choose which arcs to delete)

tsuppt(z)(G) > 1, for every subset G of generators.

[ suppt(v) = support of v]

→ Use LP dual to represent tsuppt(z)(G)

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 13 / 43

Page 36: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Building the dual

tA(G).= min t

Subject to:∑ij fij −

∑ij fji − bi = 0, for all nodes i , (αi)

Smini ≤ bi ≤ Smax

i for i ∈ G,

0 ≤ −bi ≤ Dmaxi for i ∈ D

bi = 0 otherwise.

xij fij − θi + θj = 0 for all (i, j) /∈ A (βij)

−(∑

i∈D bi)/Dmin + t ≥ 2

uij t ≥ |fij | for all (i, j) /∈ A (pij , qij)

uij t ≥ uij + |fij | for all (i, j) ∈ A (r+ij , r−

ij )

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 14 / 43

Page 37: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Building the dual

∑ij fij −

∑ij fji − bi = 0, for all nodes i , (αi)

xij fij − θi + θj = 0 for all (i, j) /∈ A (βij)

uij t ≥ |fij | for all (i, j) /∈ A (pij , qij)

uij t ≥ uij + |fij | for all (i, j) ∈ A (r+ij , r−

ij )∑ij βij −

∑ji βji = 0 ∀i

αi − αj + xijβij = pij − qij + r+ij − r−

ij ∀(i, j)

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 15 / 43

Page 38: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Building the dual

∑ij fij −

∑ij fji − bi = 0, for all nodes i , (αi)

xij fij − θi + θj = 0 for all (i, j) /∈ A (βij)

uij t ≥ |fij | for all (i, j) /∈ A (pij , qij)

uij t ≥ uij + |fij | for all (i, j) ∈ A (r+ij , r−

ij )∑ij βij −

∑ji βji = 0 ∀i

αi − αj + xijβij = pij − qij + r+ij − r−

ij ∀(i, j)

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 15 / 43

Page 39: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Building the dual

∑ij fij −

∑ij fji − bi = 0, for all nodes i , (αi)

xij fij − θi + θj = 0 for all (i, j) /∈ A (βij)

uij t ≥ |fij | for all (i, j) /∈ A (pij , qij)

uij t ≥ uij + |fij | for all (i, j) ∈ A (r+ij , r−

ij )∑ij βij −

∑ji βji = 0 ∀i

αi − αj + xijβij = pij − qij + r+ij − r−

ij ∀(i, j)

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 15 / 43

Page 40: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Again:

∑ij βij −

∑ji βji = 0 ∀i

αi − αj + xijβij = pij − qij + r+ij − r−

ij ∀(i, j)

0-1 -ify: form mip-dual

pij + qij ≤ Mij(1 − zij)

r+ij + r−

ij ≤ M ′ijzij

→ “big M” formulation: what’s the problem

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 16 / 43

Page 41: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Again:

∑ij βij −

∑ji βji = 0 ∀i

αi − αj + xijβij = pij − qij + r+ij − r−

ij ∀(i, j)

0-1 -ify: form mip-dual

pij + qij ≤ Mij(1 − zij)

r+ij + r−

ij ≤ M ′ijzij

→ “big M” formulation: what’s the problem

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 16 / 43

Page 42: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Again:

∑ij βij −

∑ji βji = 0 ∀i

αi − αj + xijβij = pij − qij + r+ij − r−

ij ∀(i, j)

0-1 -ify: form mip-dual

pij + qij ≤ Mij(1 − zij)

r+ij + r−

ij ≤ M ′ijzij

→ “big M” formulation: what’s the problem

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 16 / 43

Page 43: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

I hate math

Mij =√xij max(k ,l) (

√xkl ukl)

−1

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 17 / 43

Page 44: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

A formulation for the attack problem

min∑

ij zij

Subject to:

zij = 0 or 1, for all arcs (i, j), (choose which arcs to delete)

tsuppt(z)(G) > 1, for every subset G of generators.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 18 / 43

Page 45: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

A formulation for the attack problem

min∑

ij zij

Subject to:

zij = 0 or 1, for all arcs (i, j), (choose which arcs to delete)

value of dual mip (G) > 1, for every subset G of generators.

→ very large

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 19 / 43

Page 46: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

A formulation for the attack problem

min∑

ij zij

Subject to:

zij = 0 or 1, for all arcs (i, j), (choose which arcs to delete)

value of dual mip (G) > 1, for every subset G of generators.

→ very large

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 19 / 43

Page 47: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Dnom

= 5

Dnom

= 5

Pmax

Pmax

Pmin

= 8

Pmin

= 8

min= 0.3T

Pmax

1

2

3

4

5

6

u = 10

u = 10

u = 10

u = 10x = 1

x = 1

x = 1

x = 1

x = 0.1

x = 0.1

u = 3

u = 3

=10

=10

=10

Pmin= 0

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 20 / 43

Page 48: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Algorithm outline

→ Maintain a “master (attacker) MIP”:

Made up of valid inequalities (for the attacker)Initially empty

Iterate:

1. Solve master MIP, obtain 0 − 1 vector z∗.

2. Solve controller problem to test whether supp(z∗) is a successfulattack:

If successful, then z∗ is an optimal solution

If not, then for some set of generators G, tsupp(z∗)(G) ≤ 1.

3. Add to master MIP a system that cuts off z∗ and go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 21 / 43

Page 49: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Algorithm outline

→ Maintain a “master (attacker) MIP”:

Made up of valid inequalities (for the attacker)Initially empty

Iterate:

1. Solve master MIP, obtain 0 − 1 vector z∗.

2. Solve controller problem to test whether supp(z∗) is a successfulattack:

If successful, then z∗ is an optimal solution

If not, then for some set of generators G, tsupp(z∗)(G) ≤ 1.

3. Add to master MIP a system that cuts off z∗ and go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 21 / 43

Page 50: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Algorithm outline

→ Maintain a “master (attacker) MIP”:

Made up of valid inequalities (for the attacker)Initially empty

Iterate:

1. Solve master MIP, obtain 0 − 1 vector z∗.

2. Solve controller problem to test whether supp(z∗) is a successfulattack:

If successful, then z∗ is an optimal solution

If not, then for some set of generators G, tsupp(z∗)(G) ≤ 1.

3. Add to master MIP a system that cuts off z∗ and go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 21 / 43

Page 51: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Algorithm outline

→ Maintain a “master (attacker) MIP”:

Made up of valid inequalities (for the attacker)Initially empty

Iterate:

1. Solve master MIP, obtain 0 − 1 vector z∗.

2. Solve controller problem to test whether supp(z∗) is a successfulattack:

If successful, then z∗ is an optimal solution

If not, then for some set of generators G, tsupp(z∗)(G) ≤ 1.

3. Add to master MIP a system that cuts off z∗ and go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 21 / 43

Page 52: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Algorithm outline

→ Maintain a “master (attacker) MIP”:

Made up of valid inequalities (for the attacker)Initially empty

Iterate:

1. Solve master MIP, obtain 0 − 1 vector z∗.

2. Solve controller problem to test whether supp(z∗) is a successfulattack:

If successful, then z∗ is an optimal solution

If not, then for some set of generators G, tsupp(z∗)(G) ≤ 1.

3. Add to master MIP a system that cuts off z∗ and go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 21 / 43

Page 53: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Algorithm outline

→ Maintain a “master (attacker) MIP”:

Made up of valid inequalities (for the attacker)Initially empty

Iterate:

1. Solve master MIP, obtain 0 − 1 vector z∗.

2. Solve controller problem to test whether supp(z∗) is a successfulattack:

If successful, then z∗ is an optimal solution

If not, then for some set of generators G, tsupp(z∗)(G) ≤ 1.

3. Add to master MIP a system that cuts off z∗ and go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 21 / 43

Page 54: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Algorithm outline

→ Maintain a “master (attacker) MIP”:

Made up of valid inequalities (for the attacker)Initially empty

Iterate:

1. Solve master MIP, obtain 0 − 1 vector z∗.

2. Solve controller problem to test whether supp(z∗) is a successfulattack:

If successful, then z∗ is an optimal solution

If not, then for some set of generators G, tsupp(z∗)(G) ≤ 1.

3. Add to master MIP a system that cuts off z∗ and go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 21 / 43

Page 55: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Cutting planes = Benders’ cuts

For a given 0 − 1 vector z, and a set of generators G,

tsuppt(z)(G) = max µT y

s.t.

Ay ≤ bz

y ∈ P

for some vectors µ, b, matrix A and polyhedron P,(all dependent on G, but not z).

→ If tsuppt(z)(G) ≤ 1, use LP duality to separate z,

getting a cut αtz ≥ β violated by z.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 22 / 43

Page 56: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Cutting planes = Benders’ cuts

For a given 0 − 1 vector z, and a set of generators G,

tsuppt(z)(G) = max µT y

s.t.

Ay ≤ bz

y ∈ P

for some vectors µ, b, matrix A and polyhedron P,(all dependent on G, but not z).

→ If tsuppt(z)(G) ≤ 1, use LP duality to separate z,

getting a cut αtz ≥ β violated by z.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 22 / 43

Page 57: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Plus:

Given an unsuccessful attack z∗,

“Pad” it: choose arcs a1, a2, . . . , ak such that

supp(z∗) ∪ {a1, a2, . . . , ak−1, ak} is successful, but

supp(z∗) ∪ {a1, a2, . . . , ak−1} is not

Then separate supp(z∗) ∪ {a1, a2, . . . , ak−1}

→ other definitions of “padding”

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 23 / 43

Page 58: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Plus:

Given an unsuccessful attack z∗,

“Pad” it: choose arcs a1, a2, . . . , ak such that

supp(z∗) ∪ {a1, a2, . . . , ak−1, ak} is successful, but

supp(z∗) ∪ {a1, a2, . . . , ak−1} is not

Then separate supp(z∗) ∪ {a1, a2, . . . , ak−1}

→ other definitions of “padding”

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 23 / 43

Page 59: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Plus:

Given an unsuccessful attack z∗,

“Pad” it: choose arcs a1, a2, . . . , ak such that

supp(z∗) ∪ {a1, a2, . . . , ak−1, ak} is successful, but

supp(z∗) ∪ {a1, a2, . . . , ak−1} is not

Then separate supp(z∗) ∪ {a1, a2, . . . , ak−1}

→ other definitions of “padding”

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 23 / 43

Page 60: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Plus, combinatorial relaxations

Strengthen controller or weaken attacker → obtain valid attacks(e.g. upper bounds)

Example: fractional controller

Strengthen attacker or weaken controller → obtain valid lowerbounds.

Example: when an arc is attacked, flow goes to zero, but Ohm’s lawstill applies

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 24 / 43

Page 61: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Plus, combinatorial relaxations

Strengthen controller or weaken attacker → obtain valid attacks(e.g. upper bounds)

Example: fractional controller

Strengthen attacker or weaken controller → obtain valid lowerbounds.

Example: when an arc is attacked, flow goes to zero, but Ohm’s lawstill applies

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 24 / 43

Page 62: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

IEEE 57 nodes, 78 arcs, 4 generatorsEntries show: (iteration count), CPU seconds,

Attack status (F = cardinality too small, S = attack success)Attack cardinality

Min. 2 3 4 5 6thrpt0.75 (1), 2, F (2), 3, S0.70 (1), 1, F (3), 7, F (48), 246, F (51), 251, S0.60 (2), 2, F (3), 6, F (6), 21, F (6), 21, S0.50 (2), 2, F (3), 7, F (6), 13, F (6), 13, F (6), 13, S0.30 (1), 1, F (2), 3, F (2), 3, F (2), 3, F (2), 3, F

Table: IEEE 57-bus test case

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 25 / 43

Page 63: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

118 nodes, 186 arcs, 17 generatorsEntries show: (iteration count), CPU seconds,

Attack status (F = cardinality too small, S = attack success)Attack cardinality

Min. 2 3 4thrpt0.92 (4), 18, S0.90 (5), 180, F (6), 193, S0.88 (4), 318, F (6), 595, S0.84 (2), 23, F (6), 528, F (148), 6562, S0.80 (2), 18, F (5), 394, F (7), 7755, F0.75 (2), 14, F (4), 267, F (7), 6516, F

Table: IEEE 118-bus test case

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 26 / 43

Page 64: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

98 nodes, 204 arcsEntries show: (iteration count), time,

Attack status (F = cardinality too small, S = attack success)12 generators

Attack cardinalityMin. throughput 2 3 4

0.92 (2), 318, F (11), 7470, F (14), 11819, S0.90 (2), 161, F (11), 14220, F (18), 16926, S0.88 (2), 165, F (10), 11178, F (15), 284318, S0.84 (2), 150, F (9), 4564, F (16), 162645, F0.75 (2), 130, F (9), 7095, F (15), 93049, F

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 27 / 43

Page 65: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

98 nodes, 204 arcsEntries show: (iteration count), time,

Attack status (F = cardinality too small, S = attack success)15 generators

Attack cardinalityMin. throughput 2 3 4

0.94 (2), 223, F (11), 654, S0.92 (2), 201, F (11), 10895, F (18), 11223, S0.90 (2), 193, F (11), 6598, F (16), 206350, S0.88 (2), 256, F (9), 15445, F (18), 984743, F0.84 (2), 133, F (9), 5565, F (15), 232525, F0.75 (2), 213, F (9), 7550, F (11), 100583, F

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 28 / 43

Page 66: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Min. Throughput Min. Attack Size Time (sec.)0.95 2 20.90 3 200.85 4 2460.80 5 4630.75 6 21580.70 6 17570.65 7 37360.60 7 13450.55 8 23430.50 8 1328

Table: 49 nodes, 84 arcs, one configuration

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 29 / 43

Page 67: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

A different model

What are we looking for? “Hidden”, “small”, “counterintuitive”weaknesses of a grid.

→ The expectation is that such weaknesses exist, and we need amethod to reveal them

→ Allow the adversary to selectively place stress on the grid in orderto cause failure

→ Allow the adversary the ability to exceed the laws of physics, in alimited way, so as to cause failure

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 30 / 43

Page 68: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

A different model

What are we looking for? “Hidden”, “small”, “counterintuitive”weaknesses of a grid.

→ The expectation is that such weaknesses exist, and we need amethod to reveal them

→ Allow the adversary to selectively place stress on the grid in orderto cause failure

→ Allow the adversary the ability to exceed the laws of physics, in alimited way, so as to cause failure

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 30 / 43

Page 69: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

A different model

What are we looking for? “Hidden”, “small”, “counterintuitive”weaknesses of a grid.

→ The expectation is that such weaknesses exist, and we need amethod to reveal them

→ Allow the adversary to selectively place stress on the grid in orderto cause failure

→ Allow the adversary the ability to exceed the laws of physics, in alimited way, so as to cause failure

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 30 / 43

Page 70: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

A different model

What are we looking for? “Hidden”, “small”, “counterintuitive”weaknesses of a grid.

→ The expectation is that such weaknesses exist, and we need amethod to reveal them

→ Allow the adversary to selectively place stress on the grid in orderto cause failure

→ Allow the adversary the ability to exceed the laws of physics, in alimited way, so as to cause failure

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 30 / 43

Page 71: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Power flows (again)

A power flow is a solution f , θ to:∑ij fij −

∑ij fji = bi , for all i , where

bi > 0 when i is a generator,

bi < 0 when i is a demand,

and bi = 0, otherwise.

xij fij − θi + θj = 0 for all (i, j).

Lemma Given a choice for b with∑

i bi = 0, the system has aunique solution.

→ For fixed b, f = f (x)

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 31 / 43

Page 72: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Power flows (again)

A power flow is a solution f , θ to:∑ij fij −

∑ij fji = bi , for all i , where

bi > 0 when i is a generator,

bi < 0 when i is a demand,

and bi = 0, otherwise.

xij fij − θi + θj = 0 for all (i, j).

Lemma Given a choice for b with∑

i bi = 0, the system has aunique solution.

→ For fixed b, f = f (x)

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 31 / 43

Page 73: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Power flows (again)

A power flow is a solution f , θ to:∑ij fij −

∑ij fji = bi , for all i , where

bi > 0 when i is a generator,

bi < 0 when i is a demand,

and bi = 0, otherwise.

xij fij − θi + θj = 0 for all (i, j).

Lemma Given a choice for b with∑

i bi = 0, the system has aunique solution.

→ For fixed b, f = f (x)

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 31 / 43

Page 74: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Power flows (again)

A power flow is a solution f , θ to:∑ij fij −

∑ij fji = bi , for all i , where

bi > 0 when i is a generator,

bi < 0 when i is a demand,

and bi = 0, otherwise.

xij fij − θi + θj = 0 for all (i, j).

Lemma Given a choice for b with∑

i bi = 0, the system has aunique solution.

→ For fixed b, f = f (x)

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 31 / 43

Page 75: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Model

(I) The attacker sets the resistance xij of any arc (i , j).(II) The attacker is constrained: we must have x ∈ F for a certain

known set F .(III) The output of each generator i is fixed at a given value Pi , and

similarly each demand value Di is also fixed at a given value.(IV) The objective of the attacker is to maximize the overload of any

arc, that is to say, the attacker wants to solve

maxx∈F

maxij

{|fij(x)|

uij

},

Example for F : ∑ij

xij ≤ B, xLij ≤ xij ≤ xU

ij ∀ (i , j),

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 32 / 43

Page 76: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Model

(I) The attacker sets the resistance xij of any arc (i , j).(II) The attacker is constrained: we must have x ∈ F for a certain

known set F .(III) The output of each generator i is fixed at a given value Pi , and

similarly each demand value Di is also fixed at a given value.(IV) The objective of the attacker is to maximize the overload of any

arc, that is to say, the attacker wants to solve

maxx∈F

maxij

{|fij(x)|

uij

},

Example for F : ∑ij

xij ≤ B, xLij ≤ xij ≤ xU

ij ∀ (i , j),

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 32 / 43

Page 77: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Lemma (excerpt)

Let S be a set of arcs whose removal does not disconnect G.

Suppose we set xst = L for each arc (s, t) ∈ S.

Let f (x) denote the resulting power flow, and let f the solution to thepower flow problem on G − S.

Then(a) limL→+∞ fst(x) = 0, for all (s, t) ∈ S,

(b) For any (u, v) /∈ S, limL→+∞ fuv (x) = fuv .

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 33 / 43

Page 78: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

How to solve the problem

maxx∈F

maxij

{|fij(x)|

uij

}Smooth version:

maxx ,p

∑ij

fij(x)

uij(pij − qij)

s.t.∑

ij

(pij + qij) = 1,

x ∈ F , p, q ≥ 0.

(but not concave)

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 34 / 43

Page 79: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

How to solve the problem

maxx∈F

maxij

{|fij(x)|

uij

}Smooth version:

maxx ,p

∑ij

fij(x)

uij(pij − qij)

s.t.∑

ij

(pij + qij) = 1,

x ∈ F , p, q ≥ 0.

(but not concave)

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 34 / 43

Page 80: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

How to solve the problem

maxx∈F

maxij

{|fij(x)|

uij

}Smooth version:

maxx ,p

∑ij

fij(x)

uij(pij − qij)

s.t.∑

ij

(pij + qij) = 1,

x ∈ F , p, q ≥ 0.

(but not concave)

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 34 / 43

Page 81: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Methodology

→ A recent research trend: adapt methodologies from smooth,convex optimization to smooth, non-convex optimization.

→ Several industrial-strength codes.

Our objective:

F (x , p) =∑

ij

fij(x)

uij(pij − qij)

Lemma: There exist efficient, sparse linear algebra algorithms forcomputing the gradient ∇x,pF (x, p) and Hessian ∂2F (x,p)

∂2x,p

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 35 / 43

Page 82: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Methodology

→ A recent research trend: adapt methodologies from smooth,convex optimization to smooth, non-convex optimization.

→ Several industrial-strength codes.

Our objective:

F (x , p) =∑

ij

fij(x)

uij(pij − qij)

Lemma: There exist efficient, sparse linear algebra algorithms forcomputing the gradient ∇x,pF (x, p) and Hessian ∂2F (x,p)

∂2x,p

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 35 / 43

Page 83: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Methodology

→ A recent research trend: adapt methodologies from smooth,convex optimization to smooth, non-convex optimization.

→ Several industrial-strength codes.

Our objective:

F (x , p) =∑

ij

fij(x)

uij(pij − qij)

Lemma: There exist efficient, sparse linear algebra algorithms forcomputing the gradient ∇x,pF (x, p) and Hessian ∂2F (x,p)

∂2x,p

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 35 / 43

Page 84: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Some details

Implementation using LOQO (currently testing SNOPT)

Adversarial model:∑ij

xij ≤ B, xLij ≤ xij ≤ xU

ij ∀ (i , j),

where (this talk):

xLij = 1, xU

ij = 10, ∀ (i , j),

and ∑(i,j)

xij =∑(i,j)

xLij + ∆B,

where∆B ≤ 40

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 36 / 43

Page 85: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Sample computational experience

Table: 57 nodes, 78 arcs

Iteration Limit: 700, ε = 0.01∆B

9 18 27 36

Max Cong 1.070 1.190 1.220 1.209

Time (sec) 8 19 19 19

Iterations 339 Limit Limit Limit

Exit Status ε-L-opt. PDfeas. PDfeas. PDfeas.Iter: 700 Iter: 700 Iter: 700

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 37 / 43

Page 86: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Sample computational experience

Table: 118 nodes, 186 arcs

Iteration Limit: 700, ε = 0.01∆B

9 18 27 36

Max Cong 1.807 2.129 2.274 2.494

Time (sec) 88 200 195 207

Iterations Limit 578 Limit Limit

Exit Status PDfeas. ε-L-opt. PDfeas. PDfeas.Iter: 302 Iter: 700 Iter: 700

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 38 / 43

Page 87: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Sample computational experience

Table: 600 nodes, 990 arcs

Iteration Limit: 300, ε = 0.01∆B

10 20 27 36 40

obj 0.571562 1.076251 1.156187 1.088491 1.161887

sec 11848 7500 4502 11251 7800

Its Limit 210 114 Limit 208

stat PDfeas ε-L-opt. ε-L-opt. PDfeas ε-L-opt.Iter: 300 Iter: 300

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 39 / 43

Page 88: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Sample computational experience

Table: 649 nodes, 1368 arcs, Γ(2)

Iteration Limit: 500, ε = 0.01∆B

20 30 40 60

Max Cong (0.06732) 1.294629 1.942652 (0.049348) 1.395284 2.045111

Time (sec) 66420 36274 54070 40262

Iterations Limit 374 Limit Limit

Exit Status DF ε-L-opt. DF PDfeasIter: 491

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 40 / 43

Page 89: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

0

0.5

1

1.5

2

2.5

3

0 50 100 150 200 250 300 350

primal value

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 41 / 43

Page 90: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Table: Attack pattern

xu = 20 ∆B = 57 xu = 10 ∆B = 27 xu = 10 ∆B = 36Range Count Range Count Range Count[ 1, 1 ] 8 [ 1, 1 ] 1 [ 1, 1 ] 14( 1, 2 ] 72 ( 1, 2 ] 405 ( 1, 2 ] 970( 2, 3 ] 4 ( 2, 9 ] 0 ( 2, 5 ] 3( 5, 6 ] 1 ( 9, 10 ] 3 ( 5, 6 ] 0( 6, 7 ] 1 ( 6, 7 ] 1( 7, 8 ] 4 ( 7, 9 ] 0( 8, 20 ] 0 ( 9, 10 ] 2

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 42 / 43

Page 91: Power grid vulnerability, new models, algorithms and computingcnls.lanl.gov/~chertkov/SmarterGrids/Talks/Bienstock.pdf · U i, A set D of demand nodes (the “loads”); for each

Impact

Ovl Top 6 Arcs R-3 R-3- 10% C-all- 10%29(7.79), 27(7.20), 41(7.03),

2.15 67(7.02), 54(6.72), 79(5.71) 1.718 1.335 1.67129(8.28), 27(7.72), 41(7.32),

1.79 67(7.19), 54(6.92), 79(5.78) 1.431 1.112 1.38629(8.31), 27(7.74), 41(7.53),

1.56 67(7.48), 54(7.18), 79(6.15) 1.227 0.953 1.21329(8.18), 27(7.58), 41(7.53),

1.36 67(7.58), 54(7.22), 79(6.25) 1.073 0.834 1.05529(8.43), 27(7.90), 41(7.53),

1.20 67(7.48), 54(7.18), 79(6.12) 0.954 0.741 0.93629(7.87), 27(7.29), 41(7.04),

1.08 67(7.01), 54(6.70), 79(5.63) 0.859 0.668 0.839

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Power grid vulnerability, new models, algorithms and computingJuly, 2009 43 / 43