P
min
hj
P
hjt
P
max
hj
j ¼ 1; 2; /; N
h
; t ¼ 1; 2; /; T
(12) Initial and final reservoir volumes
V
hj0
¼ V
Begin
hj
V
hjT
¼ V
End
hj
; j ¼ 1; 2; /; N
h
(16)
3. Binary particle swarm optimization
A binary version of particle swarm optimization (BPSO) [26] was
proposed by Kennedy and Eberhart in 1997 to solve discrete binary
optimization problems. The BPSO has the same framework with
original particle swarm optimization as well as the strategies of
learning and updating for gbest and pbest. But, the position update
formula for each individual adopted in the binary PSO is different
from that in PSO. The new position update formula in binary PSO is
expressed as
x
kþ1
vd
¼
(
1 if randðÞ < S
vg
v
kþ1
vd
0 otherwise
(17)
where rand() generates an uniform distribution random number in
[0, 1], v
kþ1
vd
is the flying velocity on the dth dimension of particle v at
the (kþ1)th iteration and S
vg
ðv
kþ1
vg
Þ is the restrict sigmoid function
of v
kþ1
vd
and it can be expressed as (18). The velocity update formula
is expressed as (19).
S
vg
v
kþ1
vd
¼
1
1 þ exp
v
kþ1
vd
(18)
v
kþ1
vd
¼ wv
k
vd
þ r
1
c
1
pbest
k
vd
x
k
vd
þ r
2
c
2
gbest
k
d
x
k
vd
(19)
where pbest
v
is the personal best of particle v and pbest
k
vd
is its dth
dimension value at the kth iteration; gbest is the current best one
found by the whole population and gbest
k
d
stands for its dth
dimension value at the kth iteration.
4. HPSO-SP approach for the optimal short-term HTUC
problem
The optimal short-term HTUC problem involves determining
the states of thermal units and dispatching the power outputs from
the committed thermal units and all hydro plants to minimize the
total operation cost while satisfying various constraints. It is clearly
seen that the decision variables of the short-term HTUC problem
contain both continuous variables and binary variables. So, the
small population based PSO (SPPSO) for continuous hydro-thermal
scheduling problem proposed by us in Ref. [47] can't be applied to
solve this type of optimization problem directly. Some modifica-
tions or extensions should be done to SPPSO to make it have the
ability of dealing with binary variables. Here the extended version
is named as the small population based binary PSO (SPBPSO) to
show their differences in this paper. After that, a hybrid PSO with
small population size (HPSO-SP) is proposed to solve the optimal
short-term HTUC problem. The proposed HPSO-SP algorithm is
really a hybrid of the small population based PSO (SPPSO) and the
small population based binary PSO (SPBPSO). In the hybrid algo-
rithm, the SPPSO is employed to handle continuous variables
(hydro discharges), and the SPBPSO is employed to handle binary
variables (states of thermal units). In the remain part of this section,
the small population based binary PSO (SPBPSO) is introduced
firstly; then, a repair strategy is proposed for the HPSO-SP approach
to generate feasible solutions; finally, the steps of HPSO-SP for
solving the optimal short-term HTUC problem are described in
detail.
4.1. Small population based binary PSO
Small population based binary PSO (SPBPSO) is an extension of
small population based PSO (SPPSO) for discrete binary optimiza-
tion problems. The SPPSO, detailed implementation of the algo-
rithm please refers to Ref. [47], employs a mutation operation, a
migration operation and a DE-acceleration to enhance the perfor-
mance of the algorithm. Hence, the three operations of mutation,
migration and DE-acceleration should be extended for binary
optimization also in addition to the position update formula. In
addition it is clearly seen from Ref. [47] that the operations
employed in SPPSO except DE-acceleration can be directly applied
for binary optimization problems. This is because the original DE-
acceleration generates floating-point numbers, but the dimension
difference between each binary element of the optimal short-term
HTUC problem is either zero or one. Here, we introduce a distance
measure function D(x,y) to identify the difference on each binary
element. Within this measured function, the extended procedures
of DE-acceleration operation for binary discrete variables are
described as follows:
Step 1: Copy thepbest of the evolutionary population to the
initial population of the acceleration operation and set iteration
number of the acceleration operation k ¼ 1 and the individual index
v ¼ 1.
Step 2: Generate thevth temp individual according to the
following formula:
tmp
k
vd
¼
(
pbest
k
vd
if randðÞ < CR
acc
mut
k
vd
otherwise
d ¼ 1; 2; /; ndim (20)
where rand() generates an uniform random number in [0, 1], CR
acc
is the crossover probability of the DE-acceleration operation, tmp is
the generated temp individual, ndim is the dimension number of
the discrete binary optimization problem, and mut
k
vd
is set as:
where F
acc
is the scaling factor, r
1
and r
2
are different random
numbers uniformly generated in [0, 1] and flipðgbest
k
d
Þ is a bit flip
function, set as flipðgbest
k
d
Þ¼
(
1 if gbest
k
d
¼ 0
0 if gbest
k
d
¼ 1
.
mut
k
vd
¼
8
<
:
gbest
k
d
if
D
pbest
k
r
1
d
; pbebst
k
r
2
d
¼ 0
∨
D
pbest
k
r
1
d
; pbest
k
r
2
d
¼ 1∧randðÞ > F
acc
flip
gbest
k
d
otherwise
(21)
J. Zhang et al. / Energy 109 (2016) 765e780768