Referensi Theory and Problems of Matrix Operations 1989 Richard Bronson
Operations Research Problems in Power Engineering: … - Bienstock Plenary Lecture.pdfRobust Network...
Transcript of Operations Research Problems in Power Engineering: … - Bienstock Plenary Lecture.pdfRobust Network...
Operations Research Problems in PowerEngineering:
Robust Network control through DisjunctiveProgramming
Daniel Bienstock
Columbia University
ODS, 2017
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Power engineering for non-power engineers
References
Andersson: Modelling and Analysis of Electric Power Systems
Bergen, Vittal: Power Systems Analysis
Glover, Sarma, Overbye: Power System Analysis and Design
Rebours, Kirschen: What is spinning reserve?
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Power engineering for non-power engineers
References
Andersson: Modelling and Analysis of Electric Power Systems
Bergen, Vittal: Power Systems Analysis
Glover, Sarma, Overbye: Power System Analysis and Design
Rebours, Kirschen: What is spinning reserve?
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Power engineering for non-power engineers
conductor
steammagnetic
field
statorrotor
sourceenergy
ω
current, voltage
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Power engineering for non-power engineers
conductor
steammagnetic
field
statorrotor
sourceenergy
ω
current, voltage
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Power engineering for non-power engineers
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Power engineering for non-power engineers
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Power engineering for non-power engineers
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Power engineering for non-power engineers
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Power engineering for non-power engineers
conductor
steammagnetic
field
statorrotor
sourceenergy
ω
current, voltage
A generator produces current at a certain voltage.
Ohm’s law: power = current x voltage
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Power engineering for non-power engineers
conductor
steammagnetic
field
statorrotor
sourceenergy
ω
current, voltage
A generator produces current at a certain voltage.
Ohm’s law: power = current x voltage
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
AC Power Flows
Real-time:
k m
V(t)k
I(t) km
Voltage at bus k : vk(t) = Vmaxk cos(ωt + θVk )
Current injected at k into km: ikm(t) = Imaxkm cos(ωt + θIkm).
Power injected at k into km: pkm(t) = vk(t)ikm(t).
Averaged over period T :
pkm.
= 1T
∫ T0 p(t) = 1
2Vmaxk Imax
km cos(θVk − θIkm).
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
AC Power Flows
Real-time:
k m
V(t)k
I(t) km
Voltage at bus k : vk(t) = Vmaxk cos(ωt + θVk )
Current injected at k into km: ikm(t) = Imaxkm cos(ωt + θIkm).
Power injected at k into km: pkm(t) = vk(t)ikm(t).
Averaged over period T :
pkm.
= 1T
∫ T0 p(t) = 1
2Vmaxk Imax
km cos(θVk − θIkm).
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
AC Power Flows
Real-time:
k m
V(t)k
I(t) km
Voltage at bus k : vk(t) = Vmaxk cos(ωt + θVk )
Current injected at k into km: ikm(t) = Imaxkm cos(ωt + θIkm).
Power injected at k into km: pkm(t) = vk(t)ikm(t).
Averaged over period T :
pkm.
= 1T
∫ T0 p(t) = 1
2Vmaxk Imax
km cos(θVk − θIkm).
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
AC Power Flows
Real-time:
k m
V(t)k
I(t) km
Voltage at bus k : vk(t) = Vmaxk cos(ωt + θVk )
Current injected at k into km: ikm(t) = Imaxkm cos(ωt + θIkm).
Power injected at k into km: pkm(t) = vk(t)ikm(t).
Averaged over period T :
pkm.
= 1T
∫ T0 p(t) = 1
2Vmaxk Imax
km cos(θVk − θIkm).
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
AC Power Flows
Real-time:
k m
V(t)k
I(t) km
Voltage at bus k : vk(t) = Vmaxk cos(ωt + θVk )
Current injected at k into km: ikm(t) = Imaxkm cos(ωt + θIkm).
Power injected at k into km: pkm(t) = vk(t)ikm(t).
Averaged over period T :
pkm.
= 1T
∫ T0 p(t) = 1
2Vmaxk Imax
km cos(θVk − θIkm).
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
k m
V(t)k
I(t) km
pkm.
= 1T
∫ T0 p(t) = 1
2Vmaxk Imax
km cos(θVk − θIkm)
Vk.
=Vmaxk√
2e jθ
Vk , Ikm
.=
Imaxkm√
2e jθ
Imk
pkm = |Vk ||Ikm| cos(θVk − θIkm) = Re(Vk I∗km)
qkm.
= Im(VkmI∗km) and Skm
.= pkm + jqkm
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
k m
V(t)k
I(t) km
pkm.
= 1T
∫ T0 p(t) = 1
2Vmaxk Imax
km cos(θVk − θIkm)
Vk.
=Vmaxk√
2e jθ
Vk , Ikm
.=
Imaxkm√
2e jθ
Imk
pkm = |Vk ||Ikm| cos(θVk − θIkm) = Re(Vk I∗km)
qkm.
= Im(VkmI∗km) and Skm
.= pkm + jqkm
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
k m
V(t)k
I(t) km
pkm.
= 1T
∫ T0 p(t) = 1
2Vmaxk Imax
km cos(θVk − θIkm)
Vk.
=Vmaxk√
2e jθ
Vk , Ikm
.=
Imaxkm√
2e jθ
Imk
pkm = |Vk ||Ikm| cos(θVk − θIkm) = Re(Vk I∗km)
qkm.
= Im(VkmI∗km) and Skm
.= pkm + jqkm
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
k m
V(t)k
I(t) km
pkm.
= 1T
∫ T0 p(t) = 1
2Vmaxk Imax
km cos(θVk − θIkm)
Vk.
=Vmaxk√
2e jθ
Vk , Ikm
.=
Imaxkm√
2e jθ
Imk
pkm = |Vk ||Ikm| cos(θVk − θIkm) = Re(Vk I∗km)
qkm.
= Im(VkmI∗km) and Skm
.= pkm + jqkm
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Vk.
=Vmaxk√2e jθ
Vk , Ikm
.=
Imaxkm√2e jθ
Imk (voltage, current)
pkm = Re(Vk I∗km), qkm = Im(VkmI
∗km) (1)
Ikm = y{k,m}(Vk − Vm), y{k,m} = admittance of km. (2)
Network Equations
k
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Vk.
=Vmaxk√2e jθ
Vk , Ikm
.=
Imaxkm√2e jθ
Imk (voltage, current)
pkm = Re(Vk I∗km), qkm = Im(VkmI
∗km) (1)
Ikm = y{k,m}(Vk − Vm),
y{k,m} = admittance of km. (2)
Network Equations
k
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Vk.
=Vmaxk√2e jθ
Vk , Ikm
.=
Imaxkm√2e jθ
Imk (voltage, current)
pkm = Re(Vk I∗km), qkm = Im(VkmI
∗km) (1)
Ikm = y{k,m}(Vk − Vm), y{k,m} = admittance of km. (2)
Network Equations
k
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Vk.
=Vmaxk√2e jθ
Vk , Ikm
.=
Imaxkm√2e jθ
Imk (voltage, current)
pkm = Re(Vk I∗km), qkm = Im(VkmI
∗km) (1)
Ikm = y{k,m}(Vk − Vm), y{k,m} = admittance of km. (2)
Network Equations
k
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Vk.
=Vmaxk√2e jθ
Vk , Ikm
.=
Imaxkm√2e jθ
Imk (voltage, current)
pkm = Re(Vk I∗km), qkm = Im(VkmI
∗km) (3)
Ikm = y{k,m}(Vk − Vm), y{k,m} = admittance of km. (4)
Network Equations
∑km∈δ(k)
pkm = Pk ,∑
km∈δ(k)
qkm = Qk ∀ k (5)
Generator: Pk , |Vk | given. Other buses: Pk , Qk given.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Vk.
=Vmaxk√2e jθ
Vk , Ikm
.=
Imaxkm√2e jθ
Imk (voltage, current)
pkm = Re(Vk I∗km), qkm = Im(VkmI
∗km) (3)
Ikm = y{k,m}(Vk − Vm), y{k,m} = admittance of km. (4)
Network Equations
∑km∈δ(k)
pkm = Pk ,∑
km∈δ(k)
qkm = Qk ∀ k (5)
Generator: Pk , |Vk | given. Other buses: Pk , Qk given.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Vk.
=Vmaxk√2e jθ
Vk , Ikm
.=
Imaxkm√2e jθ
Imk (voltage, current)
pkm = Re(Vk I∗km), qkm = Im(VkmI
∗km) (3)
Ikm = y{k,m}(Vk − Vm), y{k,m} = admittance of km. (4)
Network Equations
∑km∈δ(k)
pkm = Pk ,∑
km∈δ(k)
qkm = Qk ∀ k (5)
Generator: Pk , |Vk | given. Other buses: Pk , Qk given.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Optimal power flow (economic dispatch, tertiary control)
Used periodically to handle the next time window(e.g. 5 minutes, 15 minutes, one hour)
Choose generator outputs
Minimize cost (quadratic)
Satisfy demands, meet generator and network constraints
Constant load (demand) estimates for the time window
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
DC = linearized Optimal Power Flow (OPF):
min c(p) (a quadratic)
s.t.
Bθ = p − d (6)
|yij(θi − θj)| ≤ uij for each line ij (7)
Pming ≤ pg ≤ Pmax
g for each bus g (8)
Notation:
p = vector of generations ∈ Rn, d = vector of loads ∈ Rn
B ∈ Rn×n, (bus susceptance matrix)
∀i , j : Bij =
−yij , ij ∈ E (set of lines)∑
k;{k,j}∈E ykj , i = j
0, otherwise
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Managing changing demands
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
What happens when there is a generation/load mismatch
conductor
steammagnetic
field
statorrotor
sourceenergy
ω
current, voltage
Frequency response:mismatch ∆P ⇒ frequency change ∆ω ≈ −c ∆P
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
What happens when there is a generation/load mismatch
conductor
steammagnetic
field
statorrotor
sourceenergy
ω
current, voltage
Frequency response:
mismatch ∆P ⇒ frequency change ∆ω ≈ −c ∆P
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
What happens when there is a generation/load mismatch
conductor
steammagnetic
field
statorrotor
sourceenergy
ω
current, voltage
Frequency response:mismatch ∆P
⇒ frequency change ∆ω ≈ −c ∆P
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
What happens when there is a generation/load mismatch
conductor
steammagnetic
field
statorrotor
sourceenergy
ω
current, voltage
Frequency response:mismatch ∆P ⇒ frequency change ∆ω ≈ −c ∆P
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Managing changing demands
1 Primary frequency control. Handles instantaneous (small)changes.
Agent: physics.
2 Secondary control. Handles changes that span more than afew seconds. Agent: algorithms, pre-set controls.
3 “Tertiary” control: OPF (Optimal power flow). Manageslonger lasting changes. Run every few minutes. Goal:economic generation that meets demands while maintainingfeasibility (stability). Agent: algorithmic computations,humans.
4 Once (?) a day: unit commitment problem. Chooses whichgenerators will operate in the next day or half-day. Agent:algorithms, humans.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Managing changing demands
1 Primary frequency control. Handles instantaneous (small)changes. Agent: physics.
2 Secondary control. Handles changes that span more than afew seconds. Agent: algorithms, pre-set controls.
3 “Tertiary” control: OPF (Optimal power flow). Manageslonger lasting changes. Run every few minutes. Goal:economic generation that meets demands while maintainingfeasibility (stability). Agent: algorithmic computations,humans.
4 Once (?) a day: unit commitment problem. Chooses whichgenerators will operate in the next day or half-day. Agent:algorithms, humans.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Managing changing demands
1 Primary frequency control. Handles instantaneous (small)changes. Agent: physics.
2 Secondary control. Handles changes that span more than afew seconds.
Agent: algorithms, pre-set controls.
3 “Tertiary” control: OPF (Optimal power flow). Manageslonger lasting changes. Run every few minutes. Goal:economic generation that meets demands while maintainingfeasibility (stability). Agent: algorithmic computations,humans.
4 Once (?) a day: unit commitment problem. Chooses whichgenerators will operate in the next day or half-day. Agent:algorithms, humans.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Managing changing demands
1 Primary frequency control. Handles instantaneous (small)changes. Agent: physics.
2 Secondary control. Handles changes that span more than afew seconds. Agent: algorithms, pre-set controls.
3 “Tertiary” control: OPF (Optimal power flow). Manageslonger lasting changes. Run every few minutes. Goal:economic generation that meets demands while maintainingfeasibility (stability). Agent: algorithmic computations,humans.
4 Once (?) a day: unit commitment problem. Chooses whichgenerators will operate in the next day or half-day. Agent:algorithms, humans.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Managing changing demands
1 Primary frequency control. Handles instantaneous (small)changes. Agent: physics.
2 Secondary control. Handles changes that span more than afew seconds. Agent: algorithms, pre-set controls.
3 “Tertiary” control: OPF (Optimal power flow). Manageslonger lasting changes. Run every few minutes. Goal:economic generation that meets demands while maintainingfeasibility (stability).
Agent: algorithmic computations,humans.
4 Once (?) a day: unit commitment problem. Chooses whichgenerators will operate in the next day or half-day. Agent:algorithms, humans.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Managing changing demands
1 Primary frequency control. Handles instantaneous (small)changes. Agent: physics.
2 Secondary control. Handles changes that span more than afew seconds. Agent: algorithms, pre-set controls.
3 “Tertiary” control: OPF (Optimal power flow). Manageslonger lasting changes. Run every few minutes. Goal:economic generation that meets demands while maintainingfeasibility (stability). Agent: algorithmic computations,humans.
4 Once (?) a day: unit commitment problem. Chooses whichgenerators will operate in the next day or half-day. Agent:algorithms, humans.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Managing changing demands
1 Primary frequency control. Handles instantaneous (small)changes. Agent: physics.
2 Secondary control. Handles changes that span more than afew seconds. Agent: algorithms, pre-set controls.
3 “Tertiary” control: OPF (Optimal power flow). Manageslonger lasting changes. Run every few minutes. Goal:economic generation that meets demands while maintainingfeasibility (stability). Agent: algorithmic computations,humans.
4 Once (?) a day: unit commitment problem. Chooses whichgenerators will operate in the next day or half-day.
Agent:algorithms, humans.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Managing changing demands
1 Primary frequency control. Handles instantaneous (small)changes. Agent: physics.
2 Secondary control. Handles changes that span more than afew seconds. Agent: algorithms, pre-set controls.
3 “Tertiary” control: OPF (Optimal power flow). Manageslonger lasting changes. Run every few minutes. Goal:economic generation that meets demands while maintainingfeasibility (stability). Agent: algorithmic computations,humans.
4 Once (?) a day: unit commitment problem. Chooses whichgenerators will operate in the next day or half-day. Agent:algorithms, humans.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
min c(p) (a quadratic)
s.t.
Bθ = p − d
|yij (θi − θj )| ≤ uij for each line ij
Pming ≤ pg ≤ Pmax
g for each bus g
How does the grid handle short-term fluctuations in demand (d)?Secondary frequency control:
Deployed a few seconds after ongoing change – “minute-by-minute”control
Generator output varies up or down proportionally to aggregatechange
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
min c(p) (a quadratic)
s.t.
Bθ = p − d
|yij (θi − θj )| ≤ uij for each line ij
Pming ≤ pg ≤ Pmax
g for each bus g
How does the grid handle short-term fluctuations in demand (d)?Secondary frequency control:
Deployed a few seconds after ongoing change – “minute-by-minute”control
Generator output varies up or down proportionally to aggregatechange
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
“Participation factors”
For each generator i , a parameter αi with∑i αi = 1
αi ≥ 0
αi > 0 only for selected generators
Assuming real-time generation/demand mismatch ∆, real-timeoutput of generator i :
pi = pi − αi∆
where pi = OPF computed output for generator i .
Note: the αi are precomputed e.g. uniform or based on economicconsiderations.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
CIGRE -International Conference on Large High VoltageElectric Systems ’09
Large unexpected fluctuations in wind power can causeadditional flows through the transmission system (grid)
Large power deviations in renewables must be balanced byother sources, which may be far away
Flow reversals may be observed – control difficult
A solution – expand transmission capacity! Difficult(expensive), takes a long time
Problems already observed when renewable penetration high
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
CIGRE -International Conference on Large High VoltageElectric Systems ’09
“Fluctuations” – 15-minute timespan
Due to turbulence (“storm cut-off”)
Variation of the same order of magnitude as mean
Most problematic when renewable penetration starts toexceed 20− 30%
Many countries are getting into this regime
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
min c(p) (a quadratic)
s.t.
Bθ = p − d
|yij (θi − θj )| ≤ uij for each line ij
Pming ≤ pg ≤ Pmax
g for each bus g
How does the grid handle short-term fluctuations in demand (d)?Secondary frequency control:
Deployed a few seconds after ongoing change – “minute-by-minute”control
Generator output varies up or down proportionally to aggregatechange
How does the grid handle short-term fluctuations in renewable output?Answer: Same mechanism, now used to handle aggregate wind powerchange ← Well, it doesn’t work
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
min c(p) (a quadratic)
s.t.
Bθ = p − d
|yij (θi − θj )| ≤ uij for each line ij
Pming ≤ pg ≤ Pmax
g for each bus g
How does the grid handle short-term fluctuations in demand (d)?Secondary frequency control:
Deployed a few seconds after ongoing change – “minute-by-minute”control
Generator output varies up or down proportionally to aggregatechange
How does the grid handle short-term fluctuations in renewable output?Answer: Same mechanism, now used to handle aggregate wind powerchange ← Well, it doesn’t work
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
min c(p) (a quadratic)
s.t.
Bθ = p − d
|yij (θi − θj )| ≤ uij for each line ij
Pming ≤ pg ≤ Pmax
g for each bus g
How does the grid handle short-term fluctuations in demand (d)?Secondary frequency control:
Deployed a few seconds after ongoing change – “minute-by-minute”control
Generator output varies up or down proportionally to aggregatechange
How does the grid handle short-term fluctuations in renewable output?Answer: Same mechanism, now used to handle aggregate wind powerchange
← Well, it doesn’t work
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
min c(p) (a quadratic)
s.t.
Bθ = p − d
|yij (θi − θj )| ≤ uij for each line ij
Pming ≤ pg ≤ Pmax
g for each bus g
How does the grid handle short-term fluctuations in demand (d)?Secondary frequency control:
Deployed a few seconds after ongoing change – “minute-by-minute”control
Generator output varies up or down proportionally to aggregatechange
How does the grid handle short-term fluctuations in renewable output?Answer: Same mechanism, now used to handle aggregate wind powerchange ← Well, it doesn’t work
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Experiment
Bonneville Power Administration data, Northwest US
data on wind fluctuations at planned farms
with standard OPF, 7 lines exceed limit ≥ 8% of the time
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
What problem to focus on?
Control line temperature excursions through betterparticipation factors
How to use storage (batteries)? ←
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
What problem to focus on?
Control line temperature excursions through betterparticipation factors
How to use storage (batteries)?
←
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
What problem to focus on?
Control line temperature excursions through betterparticipation factors
How to use storage (batteries)? ←
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
A simple network setup
generator (source)controllable
uncontrollable
demand (load)
known
DC-OPF: Choose generator outputs so as to satisfy all demands,at minimum cost
Demands are known
Each arc has a capacity
Each generator has a (piecewise linear convex) cost function
This is an optimization problem with linear constraints
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
A simple network setup
generator (source)controllable
uncontrollable
demand (load)
known
DC-OPF: Choose generator outputs so as to satisfy all demands,at minimum cost
Demands are known
Each arc has a capacity
Each generator has a (piecewise linear convex) cost function
This is an optimization problem with linear constraints
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
A simple example:
100
100
Only one solution:
100
100200
100
200 100
But what if the red node suddenly injects power?
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
A simple example:
100
100
Only one solution:
100
100200
100
200 100
But what if the red node suddenly injects power?
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
A simple example:
100
100
Only one solution:
100
100200
100
200 100
But what if the red node suddenly injects power?
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
100
100
Only one solution:
100
100200
100
200 100
If red node suddenly injects power, offset using blue node:
100
100200
100
200 100
50
50
50
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
100
100
Only one solution:
100
100200
100
200 100
If red node suddenly injects power, offset using blue node:
100
100200
100
200 100
50
50
50
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Better example: red node is cheap but unreliable source
100
100
50 + error
Base case solution:
100
100
150
150100
50 50
50
If the red node suddenly injects power, offset using blue node:
100
100
150
150100
50
50 + D
50 + D
D
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Examples:
100
100
30
10100
160
160
− 15
− 10
75 0
X Y
75 + X Y
capacity = 15
Any combination with X + Y = 25 “works” so long as Y ≤ 15.
100
100
30
10100
160
160
X Y
+ 8
− 20
70 70 + X 1818 + Y
Any combination with X + Y = 12 “works” so long asY ≤ −3.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
OPF + renewables + storage
A model for robust grid operation using storage (batteries) needs:
1 A control framework: how do we operate batteries
2 A model for data errors – renewable outputs and ’smart’loads
3 A model for battery dynamics
4 Multi-period model: T time periods of length ∆
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
OPF + renewables + storage
A model for robust grid operation using storage (batteries) needs:
1 A control framework: how do we operate batteries
2 A model for data errors – renewable outputs and ’smart’loads
3 A model for battery dynamics
4 Multi-period model: T time periods of length ∆
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
OPF + renewables + storage
A model for robust grid operation using storage (batteries) needs:
1 A control framework: how do we operate batteries
2 A model for data errors – renewable outputs and ’smart’loads
3 A model for battery dynamics
4 Multi-period model: T time periods of length ∆
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
OPF + renewables + storage
A model for robust grid operation using storage (batteries) needs:
1 A control framework: how do we operate batteries
2 A model for data errors – renewable outputs and ’smart’loads
3 A model for battery dynamics
4 Multi-period model: T time periods of length ∆
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Battery model
Energy state bounds. Let E 0j = initial energy state of
battery at site i . Then
E tj = E 0
j + ∆t∑
h=1
δhj
is the energy state at the end of period t .Must have lower- and upper-bounds on E t
j .
Special bounds for ETj ?
Discharge rate (“speed”) bounds. We will want to upperbound the instantaneous rate of charge or discharge of anybattery.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Battery chemistry is complex. Traditional model:
1 0 < ηci ≤ 1, 0 < ηd
i ≤ 1: charging, discharging efficiencyfor battery i
2 If we inject electrical power Di ≥ 0 into battery i , energystate increases by ηc
i Di
3 If we extract electrical power Gi ≥ 0 from battery i ,energy state decreases by (ηd
i )−1Gi
4 Summary: if the electrical power injection into battery i isPi , energy state changes by
(−ηdi )−1 [Pi ]− + ηci [Pi ]
+
5 A nonconvex model: if Pi is a decision variable, must enforce
[Pi ]− [Pi ]
+ = 0
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Battery chemistry is complex. Traditional model:
1 0 < ηci ≤ 1, 0 < ηd
i ≤ 1: charging, discharging efficiencyfor battery i
2 If we inject electrical power Di ≥ 0 into battery i , energystate increases by ηc
i Di
3 If we extract electrical power Gi ≥ 0 from battery i ,energy state decreases by (ηd
i )−1Gi
4 Summary: if the electrical power injection into battery i isPi , energy state changes by
(−ηdi )−1 [Pi ]− + ηci [Pi ]
+
5 A nonconvex model: if Pi is a decision variable, must enforce
[Pi ]− [Pi ]
+ = 0
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Battery chemistry is complex. Traditional model:
1 0 < ηci ≤ 1, 0 < ηd
i ≤ 1: charging, discharging efficiencyfor battery i
2 If we inject electrical power Di ≥ 0 into battery i , energystate increases by ηc
i Di
3 If we extract electrical power Gi ≥ 0 from battery i ,energy state decreases by (ηd
i )−1Gi
4 Summary: if the electrical power injection into battery i isPi , energy state changes by
(−ηdi )−1 [Pi ]− + ηci [Pi ]
+
5 A nonconvex model: if Pi is a decision variable, must enforce
[Pi ]− [Pi ]
+ = 0
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Battery chemistry is complex. Traditional model:
1 0 < ηci ≤ 1, 0 < ηd
i ≤ 1: charging, discharging efficiencyfor battery i
2 If we inject electrical power Di ≥ 0 into battery i , energystate increases by ηc
i Di
3 If we extract electrical power Gi ≥ 0 from battery i ,energy state decreases by (ηd
i )−1Gi
4 Summary: if the electrical power injection into battery i isPi , energy state changes by
(−ηdi )−1 [Pi ]− + ηci [Pi ]
+
5 A nonconvex model: if Pi is a decision variable, must enforce
[Pi ]− [Pi ]
+ = 0
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Piecewise linear battery model:
e0
eK
starting state
energy inputx
C(x)
electrical
ending state
minE
maxE
y
C (y)(−1)
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Piecewise linear battery model:
e0
eK
starting state
energy inputx
C(x)
electrical
ending state
minE
maxE
y
C (y)(−1)
This is a charging picture. Similar picture for discharging
Piecewise-constant charge/discharge efficiency
Piecewise-constant charge/discharge rate (speed): if batteryin piece k , output/input power at most Pk
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Renewable forecast error model
w ti + w t
i = output of renewable at bus i at time t.w t
i = forecast, w ti = error (uncertain).
How to model the w ti ? Gaussian, iid?
Probably not independent.
Example: moving weather front
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Renewable forecast error model
w ti + w t
i = output of renewable at bus i at time t.w t
i = forecast, w ti = error (uncertain).
How to model the w ti ?
Gaussian, iid?
Probably not independent.
Example: moving weather front
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Renewable forecast error model
w ti + w t
i = output of renewable at bus i at time t.w t
i = forecast, w ti = error (uncertain).
How to model the w ti ? Gaussian, iid?
Probably not independent.
Example: moving weather front
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Renewable forecast error model
w ti + w t
i = output of renewable at bus i at time t.w t
i = forecast, w ti = error (uncertain).
How to model the w ti ? Gaussian, iid?
Probably not independent.
Example: moving weather front
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
A technical point
Suppose that x(t), t = 1, 2, . . . ,T is a stochastic process:
Even if we understand each x(t) well enough to provide tailprobabilities ...
Partial sums∑k
t=1 x(t) are a different story
Except e.g. in the gaussian case
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
A technical point
Suppose that x(t), t = 1, 2, . . . ,T is a stochastic process:
Even if we understand each x(t) well enough to provide tailprobabilities ...
Partial sums∑k
t=1 x(t) are a different story
Except e.g. in the gaussian case
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Concentration models:real-time error set W is the set of all w such that
C 1w+ + C 2w− ≤ b, (9a)
wmink,t ≤ w t
k ≤ wmaxk,t for all t and k , (9b)
C1,C2 are nonnegative matrices
b, wmin,wmax: parameters of model
Caution! (10a) is not a linear model
Allows for spatial and temporal correlation
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Concentration models:real-time error set W is the set of all w such that
C 1w+ + C 2w− ≤ b, (9a)
wmink,t ≤ w t
k ≤ wmaxk,t for all t and k , (9b)
C1,C2 are nonnegative matrices
b, wmin,wmax: parameters of model
Caution! (10a) is not a linear model
Allows for spatial and temporal correlation
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Concentration models:real-time error set W is the set of all w such that
C 1w+ + C 2w− ≤ b, (10a)
wmink,t ≤ w t
k ≤ wmaxk,t for all t and k , (10b)
Special (symmetric) example: uncertainty budgets
|w ti | ≤ γti , all t and i∑
i
αti |w t
i | ≤ Γt all t
Here, the γti , αt
i and Γt are parameters.
Extra special case: αti = 1/γt
iMany variations, e.g. time-correlated models∑
t
αti |w t
i | ≤ Γi ,∑i
∑t
αti |w t
i | ≤ Γ
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Concentration models:real-time error set W is the set of all w such that
C 1w+ + C 2w− ≤ b, (10a)
wmink,t ≤ w t
k ≤ wmaxk,t for all t and k , (10b)
Special (symmetric) example: uncertainty budgets
|w ti | ≤ γti , all t and i∑
i
αti |w t
i | ≤ Γt all t
Here, the γti , αt
i and Γt are parameters.Extra special case: αt
i = 1/γti
Many variations, e.g. time-correlated models∑t
αti |w t
i | ≤ Γi ,∑i
∑t
αti |w t
i | ≤ Γ
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Control framework
w ti + w t
i = output of renewable at bus i at time t. w ti =
forecast, w ti = error (uncertain).
δtj = output of battery at bus j at time t.
Generic linear control:
δtj = −
∑i
λtji w ti
λt : decision variables
Complex? Requires many (accurate?) real-time observations
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Control framework
w ti + w t
i = output of renewable at bus i at time t. w ti =
forecast, w ti = error (uncertain).
δtj = output of battery at bus j at time t.
Generic linear control:
δtj = −
∑i
λtji w ti
λt : decision variables
Complex? Requires many (accurate?) real-time observations
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Control framework
w ti + w t
i = output of renewable at bus i at time t. w ti =
forecast, w ti = error (uncertain).
δtj = output of battery at bus j at time t.
Specialized linear control:
δtj = −λtj
∑i∈R(j)
wi
λtj : decision variables
R(j): set of buses that battery at j responds to
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Optimization Problem
→ Linearized, or DC power flow model:
flow on km =θt
k − θtm
xkm, xkm = reactance
flow balance equations: Bθ = generation - demand vector
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Optimization Problem
minPg ,λ
∑t
∑k
ctk(Pg ,tk )
s.t. the following system is feasible at all times t, for all w ∈ W:
Flow balance:
B θt = Pg ,t +
renewables︷ ︸︸ ︷w t + w t
batteries︷ ︸︸ ︷−
(∑i
w ti
)λt − Pd ,t
Battery dynamics constraints
Line limits:
| θtk − θt
m|xkm
≤ ukm ∀ km, t
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
How to build a good algorithm for this problem?
→ Theoretical fundaments: well, the problem is strongly-NP hard
Cutting-plane procedure, or a game
Start with a relaxation for the robust problem, e.g. the nominalproblem (no errors), and then
1 Solve relaxation, with solution (Pg∗, λ∗)
2 Play adversary: find a worst-case distribution w for(Pg∗, λ∗)
3 If (Pg∗, λ∗) revealed infeasible by w , separate and goto 1.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
How to build a good algorithm for this problem?
→ Theoretical fundaments: well, the problem is strongly-NP hard
Cutting-plane procedure, or a game
Start with a relaxation for the robust problem, e.g. the nominalproblem (no errors), and then
1 Solve relaxation, with solution (Pg∗, λ∗)
2 Play adversary: find a worst-case distribution w for(Pg∗, λ∗)
3 If (Pg∗, λ∗) revealed infeasible by w , separate and goto 1.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
How to build a good algorithm for this problem?
→ Theoretical fundaments: well, the problem is strongly-NP hard
Cutting-plane procedure, or a game
Start with a relaxation for the robust problem, e.g. the nominalproblem (no errors), and then
1 Solve relaxation, with solution (Pg∗, λ∗)
2 Play adversary: find a worst-case distribution w for(Pg∗, λ∗)
3 If (Pg∗, λ∗) revealed infeasible by w , separate and goto 1.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
How to build a good algorithm for this problem?
→ Theoretical fundaments: well, the problem is strongly-NP hard
Cutting-plane procedure, or a game
Start with a relaxation for the robust problem, e.g. the nominalproblem (no errors), and then
1 Solve relaxation, with solution (Pg∗, λ∗)
2 Play adversary: find a worst-case distribution w for(Pg∗, λ∗)
3 If (Pg∗, λ∗) revealed infeasible by w , separate and goto 1.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
How to build a good algorithm for this problem?
→ Theoretical fundaments: well, the problem is strongly-NP hard
Cutting-plane procedure, or a game
Start with a relaxation for the robust problem, e.g. the nominalproblem (no errors), and then
1 Solve relaxation, with solution (Pg∗, λ∗)
2 Play adversary: find a worst-case distribution w for(Pg∗, λ∗)
3 If (Pg∗, λ∗) revealed infeasible by w , separate and goto 1.
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Separating from battery speed constraint
e0
eK
starting state
energy inputx
C(x)
electrical
ending state
minE
maxE
y
C (y)(−1)
Initial electrical state for a given battery: yIf at time t, electrical state in (zk , zk+1), then output ≤ Pk
Violation at t, if
(1) zk < y +∑
h<t∑
i λhji wh
i < zk+1
(2)∑
i λtji w t
i > Pk
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Separating from battery speed constraint
e0
eK
starting state
energy inputx
C(x)
electrical
ending state
minE
maxE
y
C (y)(−1)
Initial electrical state for a given battery: yIf at time t, electrical state in (zk , zk+1), then output ≤ Pk
If I am the attacker: given λ pick w ∈ W so that
(1) zk < y +∑
h<t∑
i λhji wh
i < zk+1
(2)∑
i λtji w t
i > Pk
Fact. This computation can be formulated as a linear program
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Separating from battery speed constraint
e0
eK
starting state
energy inputx
C(x)
electrical
ending state
minE
maxE
y
C (y)(−1)
Initial electrical state for a given battery: yIf at time t, electrical state in (zk , zk+1), then output ≤ Pk
If I am the attacker: given λ pick w ∈ W so that
(1) zk < y +∑
h<t∑
i λhji wh
i < zk+1
(2)∑
i λtji w t
i > Pk
Fact. This computation can be formulated as a linear program
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Violation at t, if
(1) zk < E0 +∑
h<t∑
i λhji wh
i < zk+1
(2)∑
i λtji w t
i > Pk
Moreover, given w ∈ W , a control λ satisfies the speedconstraint at t if:
1 Either E0 +∑
h<t∑
i λhji wh
i ≤ zk , or
2 E0 +∑
h<t∑
i λhji wh
i ≥ zk+1, or
3∑
i λtji w t
i ≤ Pk ,
a 3-way disjunction
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Violation at t, if
(1) zk < E0 +∑
h<t∑
i λhji wh
i < zk+1
(2)∑
i λtji w t
i > Pk
Moreover, given w ∈ W , a control λ satisfies the speedconstraint at t if:
1 Either E0 +∑
h<t∑
i λhji wh
i ≤ zk , or
2 E0 +∑
h<t∑
i λhji wh
i ≥ zk+1, or
3∑
i λtji w t
i ≤ Pk ,
a 3-way disjunction
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Six-period results on Polish Grid (2746wp)
penetration max error Cost Iterations Time (s)
18 % 9 % 7236431 18 348
18 % 14 % 7257286 28 515
18 % 17 % 7263172 25 498
base load ≈ 24.8 GW
32 wind farms, average predicted output ≈ 4.5 GW
50 batteries, total initial energy state ≈ 3.2 GW
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Interesting results?
Solution is sparse! 50 batteries, but only ∼ 14 participatein the optimal control in any time period
Solution is non-uniform! Different batteries participate todifferent degree, even though batteries are all identical
Which batteries participate depends on the time period!Why?
This is work with: Gonzalo Munoz and Shuoguang Yang, Columbia University, Carsten Matke, NEXT ENERGY(Germany)To appear: CDC ’17
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Interesting results?
Solution is sparse! 50 batteries, but only ∼ 14 participatein the optimal control in any time period
Solution is non-uniform! Different batteries participate todifferent degree, even though batteries are all identical
Which batteries participate depends on the time period!Why?
This is work with: Gonzalo Munoz and Shuoguang Yang, Columbia University, Carsten Matke, NEXT ENERGY(Germany)To appear: CDC ’17
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming
Interesting results?
Solution is sparse! 50 batteries, but only ∼ 14 participatein the optimal control in any time period
Solution is non-uniform! Different batteries participate todifferent degree, even though batteries are all identical
Which batteries participate depends on the time period!Why?
This is work with: Gonzalo Munoz and Shuoguang Yang, Columbia University, Carsten Matke, NEXT ENERGY(Germany)To appear: CDC ’17
Bienstock Columbia University
Operations Research Problems in Power Engineering:Robust Network control through Disjunctive Programming