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

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

Upload: others

Post on 25-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 2: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 3: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 4: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 5: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 6: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 7: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 8: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 9: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 10: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 11: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 12: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 13: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 14: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 15: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

WARNING: FLUFF

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

Page 16: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 17: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 18: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 19: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 20: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 21: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

END OF FLUFF

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

Page 22: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 23: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 24: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 25: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 26: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 27: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 28: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 29: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 30: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 31: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 32: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 33: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 34: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

FAULTINITIAL

NEWTOPOLOGY

POWER FLOWSNEW

MOREFAULTS

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

Page 35: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 36: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 37: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 38: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 39: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 40: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 41: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 42: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 43: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 44: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 45: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 46: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 47: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 48: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 49: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 50: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 51: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 52: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 53: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 54: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 55: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 56: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 57: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 58: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 59: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 60: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 61: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 62: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 63: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 64: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 65: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 66: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 67: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 68: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 69: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 70: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 71: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 72: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 73: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 74: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 75: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 76: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 77: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 78: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 79: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 80: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 81: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 82: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 83: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 84: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 85: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 86: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 87: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 88: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 89: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 90: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 91: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

PART II

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

Page 92: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 93: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 94: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 95: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 96: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 97: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 98: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 99: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 100: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 101: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 102: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 103: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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

Page 104: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/latk.pdf · A conceptual game We are given a graph with Multicommodity demands: for 1 ≤ h ≤ K, demand dh between

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