daniel bienstock abhinav verma - columbia universitydano/talks/latk.pdf · a conceptual game we are...

Post on 25-Sep-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 / 43

A conceptual game

We are given a graph with

Multicommodity demands: for 1 ≤ h ≤ K , demand dh betweenvertices sh and th

For every edge {i, j}, a “weight” wij and a “threshold” τij .

We will play T steps:

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 2 / 43

A conceptual game

We are given a graph with

Multicommodity demands: for 1 ≤ h ≤ K , demand dh betweenvertices sh and th

For every edge {i, j}, a “weight” wij and a “threshold” τij .

We will play T steps:

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 2 / 43

A conceptual game

We are given a graph with

Multicommodity demands: for 1 ≤ h ≤ K , demand dh betweenvertices sh and th

For every edge {i, j}, a “weight” wij and a “threshold” τij .

We will play T steps:

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 2 / 43

A conceptual game

We are given a graph with

Multicommodity demands: for 1 ≤ h ≤ K , demand dh betweenvertices sh and th

For every edge {i, j}, a “weight” wij and a “threshold” τij .

We will play T steps:

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 2 / 43

Step i < T of the game

For 1 ≤ h ≤ K , we route an amount d ′h ≤ dh of commodity h.

The routing must use minimum-weight paths between sh andth, for 1 ≤ h ≤ K .

Ater routing all commodities, if, on any edge {i, j} the total flowexceeds the threshold τij , then the edge is deleted (from nowon).

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 3 / 43

Step i < T of the game

For 1 ≤ h ≤ K , we route an amount d ′h ≤ dh of commodity h.

The routing must use minimum-weight paths between sh andth, for 1 ≤ h ≤ K .

Ater routing all commodities, if, on any edge {i, j} the total flowexceeds the threshold τij , then the edge is deleted (from nowon).

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 3 / 43

Step i < T of the game

For 1 ≤ h ≤ K , we route an amount d ′h ≤ dh of commodity h.

The routing must use minimum-weight paths between sh andth, for 1 ≤ h ≤ K .

Ater routing all commodities, if, on any edge {i, j} the total flowexceeds the threshold τij , then the edge is deleted (from nowon).

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 3 / 43

Last step of the game

For 1 ≤ h ≤ K , we route an amount dTh ≤ dh of commodity h.

The routing must use minimum-weight paths between sh andth, for 1 ≤ h ≤ K .

The total flow on any edge must not exceed the threshold.

The value of game is∑

h dTh ; which we want to maximize.

Gist of the game: use early iterations to get rid of small-capacity edges.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 4 / 43

Last step of the game

For 1 ≤ h ≤ K , we route an amount dTh ≤ dh of commodity h.

The routing must use minimum-weight paths between sh andth, for 1 ≤ h ≤ K .

The total flow on any edge must not exceed the threshold.

The value of game is∑

h dTh ; which we want to maximize.

Gist of the game: use early iterations to get rid of small-capacity edges.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 4 / 43

Last step of the game

For 1 ≤ h ≤ K , we route an amount dTh ≤ dh of commodity h.

The routing must use minimum-weight paths between sh andth, for 1 ≤ h ≤ K .

The total flow on any edge must not exceed the threshold.

The value of game is∑

h dTh ; which we want to maximize.

Gist of the game: use early iterations to get rid of small-capacity edges.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 4 / 43

Last step of the game

For 1 ≤ h ≤ K , we route an amount dTh ≤ dh of commodity h.

The routing must use minimum-weight paths between sh andth, for 1 ≤ h ≤ K .

The total flow on any edge must not exceed the threshold.

The value of game is∑

h dTh ; which we want to maximize.

Gist of the game: use early iterations to get rid of small-capacity edges.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 4 / 43

Last step of the game

For 1 ≤ h ≤ K , we route an amount dTh ≤ dh of commodity h.

The routing must use minimum-weight paths between sh andth, for 1 ≤ h ≤ K .

The total flow on any edge must not exceed the threshold.

The value of game is∑

h dTh ; which we want to maximize.

Gist of the game: use early iterations to get rid of small-capacity edges.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 4 / 43

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 5 / 43

WARNING: FLUFF

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 6 / 43

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 7 / 43

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 7 / 43

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 7 / 43

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 7 / 43

A power grid has three components

TRANSMISSION

GENERATION

DISTRIBUTION

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 8 / 43

END OF FLUFF

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 9 / 43

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 10 / 43

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 10 / 43

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 10 / 43

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 11 / 43

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 11 / 43

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 11 / 43

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 11 / 43

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 11 / 43

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 12 / 43

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 12 / 43

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 12 / 43

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 12 / 43

FAULTINITIAL

NEWTOPOLOGY

POWER FLOWSNEW

MOREFAULTS

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 13 / 43

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 14 / 43

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 14 / 43

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 14 / 43

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 14 / 43

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 14 / 43

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 14 / 43

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 14 / 43

Two 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 15 / 43

Two types of successful attacks

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

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 16 / 43

A little 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 17 / 43

A little 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 17 / 43

A little 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 17 / 43

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 18 / 43

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 18 / 43

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 19 / 43

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 19 / 43

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 19 / 43

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 19 / 43

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 19 / 43

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 19 / 43

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 19 / 43

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 20 / 43

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 21 / 43

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 21 / 43

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 22 / 43

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 23 / 43

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 23 / 43

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 23 / 43

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 24 / 43

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 24 / 43

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 24 / 43

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 25 / 43

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 25 / 43

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

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 26 / 43

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

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 26 / 43

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 27 / 43

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 28 / 43

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 28 / 43

Cutting planes

If z∗ is not a successful attack, then there is a “witness” set G ofgenerators such that tsupp(z∗)(G) ≤ 1.

So we can try to separate from the convex hull of successful attacks:

Combinatorial cuts? Don’t know of any yet

Conic cuts: they exist, but the ones we know are not very strong?

→ Farkas’ Lemma cuts, i.e. Benders’ cuts

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 29 / 43

Cutting planes

If z∗ is not a successful attack, then there is a “witness” set G ofgenerators such that tsupp(z∗)(G) ≤ 1.

So we can try to separate from the convex hull of successful attacks:

Combinatorial cuts? Don’t know of any yet

Conic cuts: they exist, but the ones we know are not very strong?

→ Farkas’ Lemma cuts, i.e. Benders’ cuts

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 29 / 43

Cutting planes

If z∗ is not a successful attack, then there is a “witness” set G ofgenerators such that tsupp(z∗)(G) ≤ 1.

So we can try to separate from the convex hull of successful attacks:

Combinatorial cuts? Don’t know of any yet

Conic cuts: they exist, but the ones we know are not very strong?

→ Farkas’ Lemma cuts, i.e. Benders’ cuts

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 29 / 43

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 30 / 43

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 30 / 43

Cutting planes

If z∗ is not a successful attack, then there is a “witness” set G ofgenerators such that tsupp(z∗)(G) ≤ 1.

So we can try to separate from the convex hull of successful attacks:

Combinatorial cuts? Don’t know of any yet

Conic cuts: they exist, but the ones we know are not very strong?

→ Farkas’ Lemma cuts, i.e. Benders’ cuts

Could set up a pure cutting-plane algorithm, or even branch-and-cut,but ...

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 31 / 43

Cutting planes

If z∗ is not a successful attack, then there is a “witness” set G ofgenerators such that tsupp(z∗)(G) ≤ 1.

So we can try to separate from the convex hull of successful attacks:

Combinatorial cuts? Don’t know of any yet

Conic cuts: they exist, but the ones we know are not very strong?

→ Farkas’ Lemma cuts, i.e. Benders’ cuts

Could set up a pure cutting-plane algorithm, or even branch-and-cut,but ...

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 31 / 43

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 the master MIP the entire formulation for the dual mipcorresponding to G, and go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 32 / 43

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 the master MIP the entire formulation for the dual mipcorresponding to G, and go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 32 / 43

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 the master MIP the entire formulation for the dual mipcorresponding to G, and go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 32 / 43

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 the master MIP the entire formulation for the dual mipcorresponding to G, and go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 32 / 43

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 the master MIP the entire formulation for the dual mipcorresponding to G, and go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 32 / 43

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 the master MIP the entire formulation for the dual mipcorresponding to G, and go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 32 / 43

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 the master MIP the entire formulation for the dual mipcorresponding to G, and go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 32 / 43

Amended algorithm

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.

3a. Augment the formulation for the master MIP by adding all theformulation for the dual mip corresponding to G, and go to 1. – do this“at the beginning”, else:3b. Separate z∗ using a Benders’ cut, go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 33 / 43

Amended algorithm

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.

3a. Augment the formulation for the master MIP by adding all theformulation for the dual mip corresponding to G, and go to 1. – do this“at the beginning”, else:3b. Separate z∗ using a Benders’ cut, go to 1.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 33 / 43

98 nodes 203 arcs, 15 generators

Surviving |A|Demand Fraction 2 3 4

(2) 223 (11) 6540.94 Not Enough Kill

(2) 212 (16) 9817 (21) 135400.92 Not Enough Not Enough Kill

(2) 181 (11) 6912 –0.90 Not Enough Not Enough

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 34 / 43

98 nodes 203 arcs, 10 generators

Surviving |A|Demand Fraction 2 3 4

(2) 177 (30) 555 –0.89 Not Enough Kill

(2) 233 (13) 5931 (73) 82730.86 Not Enough Not Enough Kill

(2) 152 (41) 15211 –0.84 Not Enough Not Enough

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 35 / 43

PART II

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 36 / 43

A better game

We are given a power grid with generators, demands, capacities,impedances, etc.

... and something bad has happened: some flows exceed capacities

We will play T steps of a one-player game:

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 37 / 43

A better game

We are given a power grid with generators, demands, capacities,impedances, etc.

... and something bad has happened: some flows exceed capacities

We will play T steps of a one-player game:

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 37 / 43

A better game

We are given a power grid with generators, demands, capacities,impedances, etc.

... and something bad has happened: some flows exceed capacities

We will play T steps of a one-player game:

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 37 / 43

Step 1, 2, · · · , T − 1 of the game

1 If all flows are within capacities, do nothing

2 Otherwise, we reduce all demands by a fixed factor0 < λ < 1.

3 Ater the new flows are instantiated, any edge whose flow exceedsthe edge’s capacity is deleted.

(more complex versions of the game ...)

Step T of the game

In the current network, we compute a feasible flow that satisfies amaximum amount of total demand.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 38 / 43

Step 1, 2, · · · , T − 1 of the game

1 If all flows are within capacities, do nothing

2 Otherwise, we reduce all demands by a fixed factor0 < λ < 1.

3 Ater the new flows are instantiated, any edge whose flow exceedsthe edge’s capacity is deleted.

(more complex versions of the game ...)

Step T of the game

In the current network, we compute a feasible flow that satisfies amaximum amount of total demand.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 38 / 43

Step 1, 2, · · · , T − 1 of the game

1 If all flows are within capacities, do nothing

2 Otherwise, we reduce all demands by a fixed factor0 < λ < 1.

3 Ater the new flows are instantiated, any edge whose flow exceedsthe edge’s capacity is deleted.

(more complex versions of the game ...)

Step T of the game

In the current network, we compute a feasible flow that satisfies amaximum amount of total demand.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 38 / 43

Step 1, 2, · · · , T − 1 of the game

1 If all flows are within capacities, do nothing

2 Otherwise, we reduce all demands by a fixed factor0 < λ < 1.

3 Ater the new flows are instantiated, any edge whose flow exceedsthe edge’s capacity is deleted.

(more complex versions of the game ...)

Step T of the game

In the current network, we compute a feasible flow that satisfies amaximum amount of total demand.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 38 / 43

Step 1, 2, · · · , T − 1 of the game

1 If all flows are within capacities, do nothing

2 Otherwise, we reduce all demands by a fixed factor0 < λ < 1.

3 Ater the new flows are instantiated, any edge whose flow exceedsthe edge’s capacity is deleted.

(more complex versions of the game ...)

Step T of the game

In the current network, we compute a feasible flow that satisfies amaximum amount of total demand.

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 38 / 43

600 nodes, 1268 edges, 25 generators, 344 demands, 6 rounds

0

1000

2000

3000

4000

5000

6000

7000

0 0.2 0.4 0.6 0.8 1

throughput

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 39 / 43

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 40 / 43

AC Power flows

Voltage at a node k is of the form Uk ejθk , where j =√

−1

Power flowing on edge {k , m} equals pkm + jqkm, where

(A) pkm = U2k gkm − Uk Um gkm cos θkm − Uk Um bkm sin θkm

(B) qkm = −U2k (bkm + bsh

km) + Uk Um bkm cos θkm− Uk Um gkm sin θkm

Here, θkm.= θk − θm

gkm, bkm, bshkm are known parameters (series conductance, series

reactance, shunt susceptance)Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 41 / 43

AC Power flows

Net power injected at node k equals Pk + jQk , where

(C) Pk = Σ{k ,m}pkm (active power)

(D) Qk = Σ{k ,m}qkm (reactive power)

Node k is a generator ⇒ Pk > 0; if k is a load ⇒ Pk < 0.Similarly with the reactive powers.

Power flow problem: given known loads, find values for all thevariables Uk and θk so that equations (A) - (D) hold

Boundary condition: the angles θk can be fixed at some nodes

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 42 / 43

Linearization – DC “model”

Power flowing on edge {k , m} equals pkm + jqkm, where

(A) pkm = U2k gkm − Uk Um gkm cos θkm − Uk Um bkm sin θkm,

(θkm = θk − θm)

Approximation:θkm is small, and hence sin θkm ≈ θkm.

Uk ≈ 1, for each node k ; gkm ≈ 0(A’) xkm pkm − θk + θm = 0 ( xkm = 1/bkm )

(C’) Σ{k ,m}pkm = net supply of power at k(power) flow conservation

Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power grids 43 / 43

top related