daniel bienstock abhinav verma - columbia universitydano/talks/atktalk.pdf · daniel bienstock...

56
Multi-stage integer programs in power grids Daniel Bienstock Abhinav Verma Columbia University, New York Informs 07 Daniel Bienstock Abhinav Verma ( Columbia University, New York) Multi-stage integer programs in power grids Informs 07 1 / 21

Upload: others

Post on 31-May-2020

11 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Multi-stage integer programs in power grids

Daniel BienstockAbhinav Verma

Columbia University, New York

Informs 07

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

Page 2: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Power flows

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 Informs 07 2 / 21

Page 3: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Power flows

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 Informs 07 2 / 21

Page 4: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Power flows

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 Informs 07 2 / 21

Page 5: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Linearized 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 Informs 07 3 / 21

Page 6: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Linearized 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 Informs 07 3 / 21

Page 7: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Linearized 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 Informs 07 3 / 21

Page 8: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Linearized 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 Informs 07 3 / 21

Page 9: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Linearized 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 Informs 07 3 / 21

Page 10: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 4 / 21

Page 11: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 4 / 21

Page 12: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 4 / 21

Page 13: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 4 / 21

Page 14: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 4 / 21

Page 15: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 4 / 21

Page 16: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 4 / 21

Page 17: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 5 / 21

Page 18: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 6 / 21

Page 19: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 7 / 21

Page 20: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 7 / 21

Page 21: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 7 / 21

Page 22: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 8 / 21

Page 23: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 8 / 21

Page 24: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 9 / 21

Page 25: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 9 / 21

Page 26: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 9 / 21

Page 27: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 9 / 21

Page 28: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 9 / 21

Page 29: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 9 / 21

Page 30: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 9 / 21

Page 31: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 10 / 21

Page 32: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 10 / 21

Page 33: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 11 / 21

Page 34: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 11 / 21

Page 35: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 12 / 21

Page 36: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Part of the dual

∑ij βij −

∑ji βji = 0 ∀i

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

ij ∀(i, j)

pij + qij ≤ M(1 − zij)

r+ij + r−

ij ≤ M ′zij

→ “big M” formulation

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

Page 37: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Part of the dual

∑ij βij −

∑ji βji = 0 ∀i

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

ij ∀(i, j)

pij + qij ≤ M(1 − zij)

r+ij + r−

ij ≤ M ′zij

→ “big M” formulation

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

Page 38: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Part of the dual

∑ij βij −

∑ji βji = 0 ∀i

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

ij ∀(i, j)

pij + qij ≤ M(1 − zij)

r+ij + r−

ij ≤ M ′zij

→ “big M” formulation

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

Page 39: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Part of the dual

∑ij βij −

∑ji βji = 0 ∀i

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

ij ∀(i, j)

pij + qij ≤ M(1 − zij)

r+ij + r−

ij ≤ M ′zij

→ “big M” formulation

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

Page 40: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Part of the dual

∑ij βij −

∑ji βji = 0 ∀i

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

ij ∀(i, j)

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 Informs 07 14 / 21

Page 41: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Part of the dual-mip

∑ij βij −

∑ji βji = 0 ∀i

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

ij ∀(i, j)

pij + qij ≤ M(1 − zij)

r+ij + r−

ij ≤ M ′zij

x−1/2ij |αi − αj | + x1/2

ij |βij | ≤∑

kl x−1/2kl (pkl + qkl) + r+

ij + r−ij

valid

M = max(i,j)(√xij uij

)−1

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

Page 42: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Part of the dual-mip

∑ij βij −

∑ji βji = 0 ∀i

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

ij ∀(i, j)

pij + qij ≤ M(1 − zij)

r+ij + r−

ij ≤ M ′zij

x−1/2ij |αi − αj | + x1/2

ij |βij | ≤∑

kl x−1/2kl (pkl + qkl) + r+

ij + r−ij

valid

M = max(i,j)(√xij uij

)−1

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

Page 43: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 16 / 21

Page 44: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 17 / 21

Page 45: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 17 / 21

Page 46: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Algorithm

Initially, the “master (attacker) MIP” is 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. Augment the formulation for the master MIP by adding all theformulation for the dual mip corresponding to G, and go to 1.

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

Page 47: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Algorithm

Initially, the “master (attacker) MIP” is 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. Augment the formulation for the master MIP by adding all theformulation for the dual mip corresponding to G, and go to 1.

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

Page 48: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Algorithm

Initially, the “master (attacker) MIP” is 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. Augment the formulation for the master MIP by adding all theformulation for the dual mip corresponding to G, and go to 1.

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

Page 49: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Algorithm

Initially, the “master (attacker) MIP” is 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. Augment the formulation for the master MIP by adding all theformulation for the dual mip corresponding to G, and go to 1.

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

Page 50: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Algorithm

Initially, the “master (attacker) MIP” is 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. Augment the formulation for the master MIP by adding all theformulation for the dual mip corresponding to G, and go to 1.

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

Page 51: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Algorithm

Initially, the “master (attacker) MIP” is 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. Augment the formulation for the master MIP by adding all theformulation for the dual mip corresponding to G, and go to 1.

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

Page 52: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

Algorithm

Initially, the “master (attacker) MIP” is 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. Augment the formulation for the master MIP by adding all theformulation for the dual mip corresponding to G, and go to 1.

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

Page 53: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 19 / 21

Page 54: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 19 / 21

Page 55: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 20 / 21

Page 56: Daniel Bienstock Abhinav Verma - Columbia Universitydano/talks/atktalk.pdf · Daniel Bienstock Abhinav Verma ( Columbia University, New York)Multi-stage integer programs in power

Definition

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 Informs 07 21 / 21