Professional Documents
Culture Documents
T
t=1
C
T
t
X
t
F V
T
_ _
_ _
(1)
The expectation is to be taken over the stochastic variables
inow, wind energy and exogenous price. The function
(V
T
) estimates the value of water left in the reservoirs at
time T, the end of the study period. Since water left in a
reservoir at the end of a week is carried over to the next
week, the weekly water balances for the reservoirs become
coupled in time, making the optimisation problem a
dynamic one. Thus, the problem in (1) is a multi-stage
stochastic optimisation problem, which may be efciently
solved by decomposition techniques [16]. The presented
model uses the SDDP approach [6], which is a
sampling-based variant of multi-stage Benders
decomposition. An outer approximation of a convex future
cost function is constructed for each time-stage. The
decomposition technique will be outlined in Section 3.1.
For a given realisation of stochastic variables, the
decomposition in the SDDP algorithm leads to a linear
sub-problem for week t, described by an objective function
(2) and constraints (3)(8)
J
t
= min a
t
+C
T
t
X
t
_ _
(2)
The future expected cost function
t
is constrained by
hyperplanes or cuts of type (6), and the construction of
these will be elaborated in Section 3.3. In line with, for
example [13, 17], we present the basic constraints in
condensed form below
V
t
A
V
X
t
Q
t
z
t
= V
t1
+m
t
(3)
z
t
= fz
t1
+v
t
(4)
B
t
X
t
= P
F
(5)
a
t
+ k
r
t
_ _
T
V
t
+ m
r
t
_ _
T
z
t
b
r
t
, r = 1, . . . , R (6)
With the limits
X
min
t
X
t
X
max
t
(7)
V
min
t
V
t
V
max
t
(8)
where T is the number of weeks in study period; F(V
T
) is the
function giving the value of water at the end of the planning
horizon, in ; V
t
is the vector of reservoir volumes at the end
of week t, in Mm
3
; A
V
is the matrix given by hydrosystem
topology (incidence matrix); Q
t
is the diagonal matrix
containing inow standard deviations for week t, in Mm
3
; z
t
is the normalised inow vector; m
t
is the vector of mean
inow week t, in Mm
3
; is the inow model transition
matrix; v
t
is inow model noise vector; B
t
is the matrix for
power balances; P
F
is the rm power demand, in MWh/h;
t
is the expected future cost function, at the end of week t;
k
r
t
is the hydro storage cut coefcients for cut r, in /Mm
3
;
t
r
is the inow cut coefcients for cut r, in /Mm
3
; b
r
t
is the
right-hand side constant for cut r, in ; R is the number of
cuts in future cost function approximation at the end of
week t.
The inow q
t
is given by
q
t
= Q
t
z
t
+m
t
(9)
It is assumed that z
t
follows the lag-1 vector autoregressive
model (4). The inow noise vector v
t
is assumed to have
N
V
discrete values, with a given probability for each. Note
that this inow model may generate negative inows which
should not be modied because of the convexity
requirement of the SDDP algorithm. We have introduced
articial variables at high cost in the reservoir balances to
compensate for this. For further discussions on the
treatment of negative inows in SDDP-based models, see
[18, 19].
Equation (3) contains the water balances for the reservoirs
after (9) has been substituted for the inow. The matrix A
V
is
derived from the topology of the hydrosystem; it contains
zeros in the columns not associated with releases or spills
in X
t
. These equations are split into balances for each
sub-period, so that A
V
is composed of K blocks.
The systems power balances are of the form (5) and will be
detailed in the next section. In Sections 2.3 and 2.4 new
constraints for power transfer and for modelling start-up
www.ietdl.org
IET Gener. Transm. Distrib., 2013, Vol. 7, Iss. 12, pp. 14261434 1427
doi: 10.1049/iet-gtd.2012.0639 & The Institution of Engineering and Technology 2013
costs are introduced. Note that for notational convenience
subscript t is generally omitted in the remainder of this
section.
2.2 Power balance
The power balance in (5) is specied for each sub-period k in
(10)
A
k
u
k
y
k+
+y
k
+g
k
= P
k
F
P
k
W
(10)
Here u
k
, y
k +
, y
k
and g
k
are sub-vectors of X
t
. All variables
are in (or converted to) MWh/h. u
k
denotes the releases in
sub-period k, in Mm
3
The matrix A
k
contains conversion
factors for the hydropower stations, using piecewise linear
descriptions. The y
k
contains a series of options for selling
or purchasing power, each with a given quantity and price.
y
k +
denotes sales in the power market and y
k
is
purchases. g
k
is a vector of thermal power generation. Wind
power is a stochastic variable of the scheduling problem,
and P
k
W
is a realisation of this variable.
Some additional variables are needed to adopt to a nodal
pricing scheme. y
k
should comprise a curtailment option
and a possibility to dump excess power at a negligible
income at each busbar. The latter opportunity ensures that
nodal prices are always positive, which again ensures that
the piecewise linear approximation of the hydropower
efciency-curve is loaded in logical order.
2.3 Power ow constraints
A linearised (DC) power ow model is used to describe the
power ow. This preserves convexity, which is required for
the SDDP algorithm. The DC power ow algorithm is
generally considered appropriate for technical-economical
studies of the power system [20], and extensive testing
indicates that its accuracy is relatively close to the AC
power ow under a wide variety of operating conditions [21].
The ow constraints are implemented using power transfer
distribution factors (PTDF), obtained from the power ow
model. A PTDF for an individual busbar to a single line
gives the ratio between the change of ow on the line and
the change of power injection at the given busbar, provided
that the change in injection is balanced by a predened
reference busbar.
Let the vector Q
is the
ow on the line (in MWh/h) and P
k
I
a vector containing the
net power injections at all busbars, then
F
k
= Q
T
P
k
I
(11)
Now let F
k, max
+Q
T
P
k
F
P
k
W
_ _
Q
T
A
k
I
X
k
F
k, max
+Q
T
P
k
F
P
k
W
_ _
(13)
Note that quadratic line losses can be computed within the
SDDP scheme, for example, by expressing the line losses
as linear constraints, as elaborated in [22, 23]. Loss
computation will not be further addressed here.
2.4 Start-up costs on generating units and pumps
The modelling of start-up costs on generating units and
pumps is outlined below. Although emphasis is on pumps,
the modelling of start-up costs on generating units follows
the same structure.
Pumps are described with a simplied model, with a
maximum and minimum pumping capacity. The costs
incurred by starting pumps should ideally be modelled
using binary variables. However, binary variables would
conict with the convexity requirement of the SDDP
algorithm and would impose a massive increase in
computation time. Thus, we adopt a linearised continuous
representation of start-up costs as rst suggested in [24],
and later extended in [15]. A similar approach is
documented in [25]. Note that the intention of introducing
start-up costs in a long- and medium-term scheduling model
is not to provide accurate commitment schedules, but rather
to capture the general impact of these costs on system
operation and price forecasts.
Utilisation of pumps in sub-period k in a given week is
contained in the vector u
P,k
which is a sub-vector of u
k
in
(10). For each pump j with a dened start-up cost and in
each sub-period k the following three linear constraints are
added to the sub-problem
P
min
j
u
P,k
L,j
+ P
max
j
P
min
j
_ _
u
P,k
H,j
u
P,k
j
= 0 (14)
u
P,k
L,j
u
P,k
H,k
0 (15)
u
P,k
L,j
u
P,k1
L,j
d
k
j
0 (16)
0 u
P,k
L,j
1 (17)
0 u
P,k
H,j
1 (18)
where, for each unit j: P
min
j
is the minimum pumping capacity,
in MW; P
max
j
is the maximum pumping capacity, in MW; u
P,k
L,j
is the per unit pumping below minimum capacity; u
P,k
H,j
is the
per unit pumping above minimum capacity; d
k
j
is the start-up
variable.
The coupling between the original pumping variable u
P,k
j
and the per unit variables u
P,k
L,j
and u
P,k
H,j
is given in (14).
Equation (15) tries to load the pump correctly, ensuring that
it is started before pumping above the minimum limit.
Equation (16) denes the variable d
k
j
, which is used to
assign a start-up cost on pumping. In practice, we relax (18)
since there is already an upper limit on u
P,k
j
.
Start-up costs are introduced into the overall model as a
sum of contributions from all N
S
pumps with start-up cost
c
s
j
. For 1 week this sum is
K
k=1
N
S
j=1
c
s
j
d
k
j
(19)
Note that modelling start-up costs on a thermal generator will
follow the same procedure as outlined above, that is, by
adding three new variables and constraints of type (14)
(18) and the objective function contribution in (19). The
variable u
P,k
L,j
is a state variable, as it is coupled in time in
www.ietdl.org
1428 IET Gener. Transm. Distrib., 2013, Vol. 7, Iss. 12, pp. 14261434
& The Institution of Engineering and Technology 2013 doi: 10.1049/iet-gtd.2012.0639
(16). As will be shown in Section 3.3, this means that u
P,k
L,j
must enter the future cost function through the cuts.
2.5 Exogenous price model
The model allows for one of the exogenous price inputs to be
treated as a stochastic variable. This price can be used to
describe several market options in the systems at different
locations. The stochastic price input is assumed given by a
number of price scenarios that describe different futures.
Each scenario contains one given price for each model
sub-period. Each future scenario is assumed to have equal
probability and it is also assumed that there is at least one
scenario corresponding to each future inow and wind
energy scenario. In the forward simulation of the SDDP
algorithm these price scenarios are used directly. In the
backward simulation of the SDDP algorithm a Markov
chain model is used to describe the stochastic price. The
Markov chain parameters are estimated based on the price
scenario input. A detailed description of the SDDP
algorithm with exogenous stochastic price is found in [13]
and the Markov chain estimation procedure is described in
[26].
3 Solution method
The overall optimisation problem is solved by a combination
of SDDP and SDP, using an approach which is very close to
that described in [13]. This section rst provides a general
introduction to the SDDP algorithm, and then emphasises
on the amendments that are necessary for the present model.
3.1 Problem decomposition
We recall that by using dynamic programming principles and
representing the future expected cost functions by
hyperplanes or cuts, the problem is broken down to solving
a sub-problem for each week and with given values of
inows, wind energy and exogenous price. The
sub-problem objective function was formulated in (2)
subject to the constraints (3)(8) and (13)(18). In Section
3.3 it is described how the cuts in (6) can be amended to
include the state variables for start-up costs.
The algorithm builds an operating strategy (represented by
cuts) iteratively. The two basic steps of a main iteration are
illustrated in Fig. 1 and discussed below. Note that the price
dimension was omitted for simplicity of the illustration.
3.1.1 Forward simulation: From the initial state V
0
, z
0
and u
P,0
L
the system is simulated for a set of scenarios
comprising realisations of stochastic variables. For a given
scenario, the sub-problem described by (2)(8) and (13)
(18) is solved for each week. That is, we assume that all
stochastic variables for a given week are known at the
beginning of that week. Subsequently, the simulated state at
the end of the week is passed forward as an initial state for
the subsequent week. The forward simulation gives an
updated set of state trajectories and a (sample) expected
cost. This procedure is illustrated by following the black
(thicker) lines in Fig. 1 forward in time for each scenario
{s
1
, s
2
, s
3
}.
3.1.2 Dynamic backward recursion: Cuts at the end of
week T can be obtained from the nal value function . For
each state trajectory from the forward simulation one starts
from the state at the end of week T1, and for each
realisation of stochastic variables one computes the optimal
operation for week T. This is illustrated for realisations {
1
,
2
,
3
} in Fig. 1. From the sensitivities of the objective
function to the initial state values, new cuts at the end of
week T1 are obtained. These cuts are constructed by
averaging contributions over realisations of stochastic
variables for a particular state. Thus, realisations {
1
,
2
,
3
} in week T for scenario s
1
in Fig. 1 will be used to
construct one cut. If the lag-one model (4) is perfectly valid
for the normalised inow, then
t
should be independent of
z
t 1
, and thus
t
is uncorrelated from stage to stage.
Therefore the cuts constructed will be valid for all scenarios
{s
1
, s
2
, s
3
} at time T1 in Fig. 1 [27]. Then one carries out
the same procedure for week T1 and so on. This gives an
updated operating strategy and a lower bound for the
expected cost.
Convergence is declared when the forward cost sample
estimate and the lower bound from the backward recursion
come close enough. This may be a slow process, or cost
gaps exist, so in practice one often checks the change in
trajectories from one iteration to the next, stopping after a
xed maximum number of main iterations.
If exogenous price data are used, the price dimension is
treated in an SDP manner, as described in [13], and then
the procedure for each week in the backward recursion is
repeated N
P
times, starting at each of the given discrete
price states.
We assume that a set of initial trajectories is always
available, so that the algorithm can start at the backward
recursion step. Such a set of trajectories may for instance be
obtained as percentage reservoir contents from aggregated
models.
3.2 Handling of wind power stochasticity
In the forward simulation part of the SDDP algorithm, we let
historical records of inow, exogenous prices and wind
energy dene scenarios. These scenarios are generated
based on the assumption that from the starting week each
historical year have equal probability of occurrence in the
Fig. 1 Illustration of a main iteration in the SDDP algorithm
Each branch corresponds to a realisation of stochastic variables, and each
lled circle indicates a system state. Thick lines are trajectories obtained in
the forward simulation. Thin lines denote operations as decided for each
stochastic outcome in the backward recursion.
www.ietdl.org
IET Gener. Transm. Distrib., 2013, Vol. 7, Iss. 12, pp. 14261434 1429
doi: 10.1049/iet-gtd.2012.0639 & The Institution of Engineering and Technology 2013
future. These scenarios are updated according to the current
system state (e.g. snow storage).
Values from these records are aggregated or disaggregated
to t the sub-period time resolution of the model. An
alternative method would be to generate scenarios for
forward simulation from a stochastic model. The use of
observed scenarios in the forward simulation may
conserve correlations in the inow, wind and price
processes not taken into account in the stochastic models.
In the backward recursion, stochastic models for inow and
exogenous prices are used as discussed in Sections 2.1 and
2.5, respectively. One could in principle t wind power into
the same stochastic model as used for inow, and thus
capture some of the correlations between inow and wind.
This has not been tested here.
Some experiments were conducted using a simple stochastic
wind-energy model in the backward recursion, as outlined
below. For each historical record, the weekly sum of wind
energy is calculated. The historical records are ordered
according to sum energy, and then grouped into N
W
groups,
each with a predened probability. For each group, new
weekly values are constructed by averaging contributions
from the corresponding records for each sub-period. In this
way, a reduced set of wind-energy outcomes is constructed.
Together with the N
V
different inow values and N
P
discrete
price states this gives N
V
N
P
N
W
different stochastic
outcomes for each week. Consequently, the introduction of
wind power stochasticity in the backward recursion will
signicantly increase computation time.
The outlined approach is capable of capturing the impact of
weeks with extreme average wind conditions on the operation
strategy. Such extremes would otherwise be averaged out. It
will also operate with a correct expectation for the week.
However, it relies on three assumptions that can be debated.
First, the wind energy is considered independent of the other
stochastic variables. Second, it ignores possible
autocorrelation between weeks, that is, the weekly wind
energy in one week is assumed independent of previous
weeks. Thus, the generated wind-energy outcomes for one
week are common for all states within that week in the
backward recursion. Finally, and perhaps most important,
the chosen stochastic time resolution of one week implies
that the values of the stochastic variables are known for a
whole week in advance. Given the volatile nature of wind
conditions, a week-long stochastic time resolution is not ne
enough to capture the actual need for balancing wind power.
Initial experiments with this technique indicate that wind
power stochasticity tend to have little impact on the strategy
in hydropower systems with large storage capacity and a
modest share of wind power. For this reason, the presented
case study results are based on average wind-power values
in the backward recursion.
3.3 Handling of start-up state variables
Consider a system where N
S
pumps or thermal generators are
modelled with start-up costs. Owing to the time coupling in
(16), the minimum pumping in the vector
u
P,k
L,t
=
_
u
P,k
L,t,1
, u
P,k
L,t,2
, . . . , u
P,k
L,t,N
S
_
must be considered state
variables and should enter the future cost function at the
end of the week, where k = K. This function is represented
by cuts. A sample cut from a sub-problem in week t can be
written as
a
t
+k
T
V
t
V
t
_ _
+m
T
z
t
z
t
_ _
a
t
(20)
Here V
t
and z
t
are state variables and the corresponding starred
variables are the given initial values. Consider week t + 1 in
the backward run of the SDDP algorithm. For the rst
sub-period, (16) can be formulated as in (21) with a
corresponding dual variable
t, j
.
u
P,1
L,t+1,j
d
1
t+1,j
u
P,
L,t+1,j
| g
t,j
(21)
At the beginning of the week u
P,
L,t+1
= u
P,K
L,t
is considered
given as a part of the state along the current trajectory. Let
(20) represent a cut at the beginning of week t + 1, built
from the solutions of the sub-problems for week t + 1 that
start from the given starred values at the beginning of week
t + 1. If the cost function at the beginning of the week is
t
,
then
a
t
u
P,
L,t+1
= g
t
(22)
where g
t
= [g
t,1
, g
t,2
, . . . , g
t,N
S
]. The new sample cut at the
end of week t becomes
a
t
+k
T
t
V
t
V
t
_ _
+m
T
t
z
t
z
t
_ _
+g
T
t
u
P
L,t
u
P,
L,t
_ _
a
t
(23)
The cut is constructed by averaging the contributions of
sample cuts of type (23). After reordering the contribution
can be formulated as
a +k
T
t
V
t
+m
T
t
z
t
+g
T
t
u
P
L,t
b
t
(24)
where the constant b
t
is given by
b
t
= a
t
+k
T
t
V
t
+m
T
t
z
t
+g
T
t
u
P
L,t
3.4 Handling of cuts and power ow constraints
Both the cuts and the power ow constraints are handled by
relaxation in order to reduce computation time, as suggested
in [7, 14]. That is, the problem is rst solved without these
constraints, to see if they are fullled anyway. If not, the
violated constraints are added to the linear programming
(LP) problem and then it is re-solved. In the current logic,
iterations are rst carried out on the relaxed cuts.
Subsequently, when no more cuts are violated, iterations are
carried out on the power ow constraints. Adding power
ow constraints will change the optimal solution, which in
turn may violate new cuts; thus, iterations between the cut
and power ow constraint relaxation-loops are needed.
Optimising the sequence and logic of these two relaxation
loops to minimise computational effort may be a topic for
further research.
3.5 Computing nodal prices
Once a sub-problem is solved in the nal forward simulation,
a vector
k
of nodal prices for a given sub-period k can be
computed as
p
k
= p
k
r
e +Qp
k
(25)
www.ietdl.org
1430 IET Gener. Transm. Distrib., 2013, Vol. 7, Iss. 12, pp. 14261434
& The Institution of Engineering and Technology 2013 doi: 10.1049/iet-gtd.2012.0639
where p
k
r
is the dual value of the power balance (10),
e = [1, , 1]
T
and p
k