Multi-stage integer programs in power grids
Daniel BienstockAbhinav Verma
Columbia University, New York
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 1 / 28
Some recent national-scale blackouts
August 2003: North America. 50 million people affected duringtwo days; New York City loses power
September 2003: Switzerland-France-Italy. 57 million peopleaffected during one day; Italy loses power
Why?Too much consumption? No. Inadequate generation? No.
→ The transmission network failed
U.S.-Canada joint commission: The leading cause of the blackoutwas “inadequate system understanding”
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 2 / 28
Some recent national-scale blackouts
August 2003: North America. 50 million people affected duringtwo days; New York City loses power
September 2003: Switzerland-France-Italy. 57 million peopleaffected during one day; Italy loses power
Why?Too much consumption? No. Inadequate generation? No.
→ The transmission network failed
U.S.-Canada joint commission: The leading cause of the blackoutwas “inadequate system understanding”
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 2 / 28
Some recent national-scale blackouts
August 2003: North America. 50 million people affected duringtwo days; New York City loses power
September 2003: Switzerland-France-Italy. 57 million peopleaffected during one day; Italy loses power
Why?Too much consumption? No. Inadequate generation? No.
→ The transmission network failed
U.S.-Canada joint commission: The leading cause of the blackoutwas “inadequate system understanding”
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 2 / 28
Some recent national-scale blackouts
August 2003: North America. 50 million people affected duringtwo days; New York City loses power
September 2003: Switzerland-France-Italy. 57 million peopleaffected during one day; Italy loses power
Why?Too much consumption? No. Inadequate generation? No.
→ The transmission network failed
U.S.-Canada joint commission: The leading cause of the blackoutwas “inadequate system understanding”
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 2 / 28
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)Multi-stage integer programs in power grids 3 / 28
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)Multi-stage integer programs in power grids 3 / 28
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)Multi-stage integer programs in power grids 3 / 28
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 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, the system has a unique 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)Multi-stage integer programs in power grids 4 / 28
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 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, the system has a unique 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)Multi-stage integer programs in power grids 4 / 28
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 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, the system has a unique 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)Multi-stage integer programs in power grids 4 / 28
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 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, the system has a unique 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)Multi-stage integer programs in power grids 4 / 28
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 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, the system has a unique 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)Multi-stage integer programs in power grids 4 / 28
Cascades
An initial fault (= edge deletion) or set of faults occurs
We now have a new network
In the new network, some of the power flows may exceed theedge capacities
This may trigger a new set of faults, etc.
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 5 / 28
Cascades
An initial fault (= edge deletion) or set of faults occurs
We now have a new network
In the new network, some of the power flows may exceed theedge capacities
This may trigger a new set of faults, etc.
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 5 / 28
Cascades
An initial fault (= edge deletion) or set of faults occurs
We now have a new network
In the new network, some of the power flows may exceed theedge capacities
This may trigger a new set of faults, etc.
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 5 / 28
Cascades
An initial fault (= edge deletion) or set of faults occurs
We now have a new network
In the new network, some of the power flows may exceed theedge capacities
This may trigger a new set of faults, etc.
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 5 / 28
FAULTINITIAL
NEWTOPOLOGY
POWER FLOWSNEW
MOREFAULTS
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 6 / 28
This talk: the attack problem
Delete a small set of arcs, such that in the resulting network allfeasible flows have small throughput
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)Multi-stage integer programs in power grids 7 / 28
This talk: the attack problem
Delete a small set of arcs, such that in the resulting network allfeasible flows have small throughput
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)Multi-stage integer programs in power grids 7 / 28
This talk: the attack problem
Delete a small set of arcs, such that in the resulting network allfeasible flows have small throughput
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)Multi-stage integer programs in power grids 7 / 28
This talk: the attack problem
Delete a small set of arcs, such that in the resulting network allfeasible flows have small throughput
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)Multi-stage integer programs in power grids 7 / 28
This talk: the attack problem
Delete a small set of arcs, such that in the resulting network allfeasible flows have small throughput
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)Multi-stage integer programs in power grids 7 / 28
This talk: the attack problem
Delete a small set of arcs, such that in the resulting network allfeasible flows have small throughput
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)Multi-stage integer programs in power grids 7 / 28
This talk: the attack problem
Delete a small set of arcs, such that in the resulting network allfeasible flows have small throughput
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)Multi-stage integer programs in power grids 7 / 28
Three types of successful attacks
Type 1: Network becomes disconnected with a mismatch of supplyand demand.
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 8 / 28
Three types of successful attacks
Type 2: Lower bounds on generator ouptuts cause line overload
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 9 / 28
Three types of successful attacks
Type 3: Uniqueness of power flows means exceeded capacities orinsufficient supply.
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 10 / 28
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)Multi-stage integer programs in power grids 11 / 28
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)Multi-stage integer programs in power grids 11 / 28
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)Multi-stage integer programs in power grids 11 / 28
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)Multi-stage integer programs in power grids 12 / 28
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)Multi-stage integer programs in power grids 12 / 28
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)Multi-stage integer programs in power grids 13 / 28
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)Multi-stage integer programs in power grids 13 / 28
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)Multi-stage integer programs in power grids 13 / 28
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)Multi-stage integer programs in power grids 13 / 28
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)Multi-stage integer programs in power grids 13 / 28
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)Multi-stage integer programs in power grids 13 / 28
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)Multi-stage integer programs in power grids 13 / 28
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)Multi-stage integer programs in power grids 14 / 28
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 dual to represent tsuppt(z)(G)
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 15 / 28
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 dual to represent tsuppt(z)(G)
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 15 / 28
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)Multi-stage integer programs in power grids 16 / 28
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)Multi-stage integer programs in power grids 17 / 28
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)Multi-stage integer programs in power grids 17 / 28
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)Multi-stage integer programs in power grids 17 / 28
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)Multi-stage integer programs in power grids 18 / 28
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)Multi-stage integer programs in power grids 18 / 28
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)Multi-stage integer programs in power grids 18 / 28
The dual has structure
Nβ = 0
X β + NT α = p − q + r+ − r−
N = node-arc incidence matrix; X = diag(xij).
Lemma - Given p, q, r+, r−, the above system has a unique solutionin αi − αj , β.
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 19 / 28
The dual has structure
Nβ = 0
X β + NT α = p − q + r+ − r−
N = node-arc incidence matrix; X = diag(xij).
Lemma - Given p, q, r+, r−, the above system has a unique solutionin αi − αj , β.
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 19 / 28
Connected network:
Nβ = 0
X β + NT α = p − q + r+ − r−
N = node-arc incidence matrix; X = diag(xij).
‖X−1/2NT α‖ = ‖X−1/2NT (NX−1NT )−1NX−1(p − q + r+ − r−)‖
( N = N minus one row)
Mij =√xij max(k ,l) (
√xkl ukl)
−1
plus cuts, obtained by replacing L2 norm with L∞
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 20 / 28
Connected network:
Nβ = 0
X β + NT α = p − q + r+ − r−
N = node-arc incidence matrix; X = diag(xij).
‖X−1/2NT α‖ = ‖X−1/2NT (NX−1NT )−1NX−1(p − q + r+ − r−)‖
( N = N minus one row)
Mij =√xij max(k ,l) (
√xkl ukl)
−1
plus cuts, obtained by replacing L2 norm with L∞
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 20 / 28
Connected network:
Nβ = 0
X β + NT α = p − q + r+ − r−
N = node-arc incidence matrix; X = diag(xij).
‖X−1/2NT α‖ = ‖X−1/2NT (NX−1NT )−1NX−1(p − q + r+ − r−)‖
( N = N minus one row)
Mij =√xij max(k ,l) (
√xkl ukl)
−1
plus cuts, obtained by replacing L2 norm with L∞
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 20 / 28
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)Multi-stage integer programs in power grids 21 / 28
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)Multi-stage integer programs in power grids 22 / 28
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)Multi-stage integer programs in power grids 22 / 28
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)Multi-stage integer programs in power grids 23 / 28
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)Multi-stage integer programs in power grids 23 / 28
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)Multi-stage integer programs in power grids 23 / 28
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)Multi-stage integer programs in power grids 23 / 28
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)Multi-stage integer programs in power grids 23 / 28
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)Multi-stage integer programs in power grids 23 / 28
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)Multi-stage integer programs in power grids 23 / 28
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)Multi-stage integer programs in power grids 24 / 28
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)Multi-stage integer programs in power grids 24 / 28
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)Multi-stage integer programs in power grids 25 / 28
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)Multi-stage integer programs in power grids 25 / 28
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)Multi-stage integer programs in power grids 25 / 28
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 law still applies
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 26 / 28
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 law still applies
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 26 / 28
98 nodes 203 arcs 10 generators
Surv. |A| | UB |,Demand 2 3 4 time
2, 177 30, 5550.89 Not Enough Kill
(2), 195 (12), 5150 (14), 5184 4, 1540.86 Not Enough Not Enough Kill
(2), 152 (11), 7204 N/F 5, 30050.84 Not Enough Not Enough
(2), 255 (11), 5211 N/F 9, 36000.75 Not Enough Not Enough
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 27 / 28
98 nodes 203 arcs 15 generators
Surv. |A| | UB |,Demand 2 3 4 time
(2), 223 (11), 6540.94 Not Enough Kill
(2), 201 (11), 10895 (18), 11223 4, 30000.92 Not Enough Not Enough Kill
(2), 193 (11), 6598 N/F 4, 21410.90 Not Enough Not Enough
(2), 213 (11), 5163 N/F 19, 36000.75 Not Enough Not Enough
Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 28 / 28