Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Water Resour Manage (2008) 22:1031–1049

DOI 10.1007/s11269-007-9209-5

An Improved Genetic Algorithm-Simulated Annealing


Hybrid Algorithm for the Optimization
of Multiple Reservoirs

Xun-Gui Li & Xia Wei

Received: 13 August 2006 / Accepted: 22 June 2007 /


Published online: 31 July 2007
# Springer Science + Business Media B.V. 2007

Abstract A hybrid evolutionary search algorithm is developed to optimize the classical


single-criterion operation of multi-reservoir systems. The proposed improved genetic
algorithm-simulated annealing (IGA-SA) which combines genetic algorithms (GAs) and the
simulated annealing (SA) is a new global optimization algorithm. The algorithm is capable
of overcoming the premature convergence of GAs and escaping from local optimal
solutions. In addition, it is faster than a traditional unimproved GA-SA algorithm. A case
study of optimization operation on generation electricity of a 3-reservoir system in series
over 41-year (from May 1940 to April 1981) time periods in Wujiang River, one branch of
Yangtze River in China, was performed. The objective is to maximize generation output
from the system over each 12-month operating periods. Trade-off analyses on binary coding
representation and real-value coding representation of GAs are performed. Sensitivity to
some parameters of the GA, the SA and the IGA-SA is analyzed, respectively, and the
appropriate values of parameters are suggested. The performance of the proposed algorithm
is compared with that of the existing genetic algorithm, the simulated annealing and the
dynamic programming (DP). Results demonstrate that the GA is better than the DP, the SA
performs better than the GA and the IGA-SA is more efficient than SA. The IGA-SA
produces higher quality solutions and costs less computation time compared with the
traditional GA-SA. The results obtained from these applications have proved that the IGA-
SA has the ability of addressing large and complex problems and is a new promising search
algorithm for multi-reservoir optimization problems.

Keywords Optimization of multiple reservoirs . Genetic algorithms .


Simulated annealing . Sensitivity analysis

X.-G. Li (*)
College of Environmental Science and Engineering, Chang’an University,
Xi’an 710054, People’s Republic of China
e-mail: Lixgwx@yahoo.com

X. Wei
Institute of Water Resources, Xi’an University of Technology, Xi’an 710048, People’s Republic of China
1032 X.–G. Li, X. Wei

1 Introduction

Genetic algorithms (GAs) are auto-adaptive stochastic search techniques that can be
classified as a type of evolutionary algorithm (Holland 1975). A genetic algorithm is a
global search method based on the Darwinian survival-of-the-fittest philosophy and
generates new individuals with selection, crossover and mutation operators. GAs have been
applied successfully to a wide range of problems (see Labadie 2004; Van Zyl et al. 2004;
Goldberg and Kuo 1987; Simpson et al. 1994; Cieniawski et al. 1995). Although there is
lots of application mentioned above, GAs have little application to optimal problems of
reservoir hitherto. Esat and Hall (1994), Fahmy et al. (1994), Oliveira and Loucks (1997),
Huang et al. (2002) and Chang et al. (2005) used GAs to solve different optimization
problems of reservoir operation.
Simulated annealing (SA) is a stochastic based general search tool that mimics the
natural process of metals annealing (Kirkpatrick et al. 1983). The SA algorithm has the
ability of escaping from local minima and has been applied widely (see Dougherty and
Marryott 1991; Marryott 1996; Goldman and Mays 1999; Cunha and Sousa 2001). If the
energy of generated new state is lower than that of the previous one, the change is
accepted unconditionally and the system is updated; otherwise, the new state is accepted
by Metropolis criterion with a probability function so as to ensure that the algorithm
has the ability of escaping from local minimum energy state and reaching global
minimum (Lee and Johnson 1993). The SA has been so far little applied to the optimal
operation of reservoir systems. Sen et al. (1995), Teegavarapu and Simonovic (2002),
Mantawy et al. (2001) and Tospornsampan et al. (2005) applied the SA to optimize the
reservoir operation.
Genetic algorithm-simulated annealing (GA-SA) hybrid algorithm which combines GAs
and the SA is a quite new global optimization search approach. The GA-SA can enrich
neighborhood structure in the searching process and improve searching ability in the range
of values. So, the hybrid algorithm has some application to the fields of system design
(Shieh and Peralta 2005), system and network optimization (Ponnambalam and Reddy
2003; Zhao and Zeng 2006), query to information retrieval system (Cordón et al. 2002),
and continuous-time production planning (Wang et al. 2004; Ganesh and Punniyamoorthy
2005) etc. But there is little application of the GA-SA to optimal operation of reservoir
problems. Bergey et al. (2003) introduced and tested the simulated annealing-genetic
algorithm for solving the electrical power districting problem.
However, the traditional GA-SA costs more execution time (see Section 4.3). An
improved genetic algorithm-simulated annealing (IGA-SA) is proposed and applied to the
classical single-criterion optimization problem of a three-reservoir system in series in
Wujiang River, one branch of Yangtze River in China. Trade-off analyses on the binary
coding genetic algorithm (abbr. GA3), the real-value coding GA with uniform crossover
and mutation operators (abbr. GA2), the real-value coding GA with non-uniform crossover
and mutation operators (abbr. GA1) are carried out. The performance of the IGA-SA is
compared with that of the GA1, the SA and the DP. Results from the application of the
multi-reservoir systems demonstrate that the GA1 is better than the DP, the SA is better
than GA1 and the IGA-SA is more efficient than SA. Among the GAs, the GA1 ranks
first, the GA2 ranks second and the GA3 ranks third. In addition, because parameters
may vary with different optimization methods, the sensitivity to some parameters of the
GA1, the SA and the IGA-SA is analyzed and a set of “safe” values of parameters is
suggested.
An IGA-SA for the optimization of multiple reservoirs 1033

2 Brief Introduction of Genetic Algorithms

Genetic algorithms contribute a general scheme to solve optimal problems of complex


systems. The algorithm works directly with a coding of the parameter set of objective
function and does not care about the differentiability and the continuity of objective
function. So the GA is a quite efficient optimization scheme and has the ability of solving
problems difficult to be solved by traditional algorithms (e.g., steepest descent method).
Compared with other traditional optimization methods, Chang et al.(2005) listed three
advantages of GAs.
In a generation process, GAs generate initial population randomly. The GA then
evaluates the population and operates on the population using selection, crossover and
mutation operators to produce new and hopefully better solutions. This process continues
until the termination condition is met. Figure 1 is a pseudo code of a traditional GA.

3 Brief Introduction of Simulated Annealing Algorithm

The SA algorithm is general purpose optimization procedure based upon the thermody-
namic process of annealing metals by slow cooling (Kirkpatrick et al. 1983). The SA carries
out a random search in the range of values with the Metropolis criterion. The performance
of the SA is dependent on the cooling schedule. To guarantee the computational reliability
and efficiency of the SA, a proper temperature cooling rate and a good neighborhood
structure should be considered. Figure 2 is the pseudo code of simulated annealing
algorithm.

4 Improved Genetic Algorithm-Simulated Annealing Algorithm

Genetic algorithms can reserve excellent individuals for the next generation in the genetic
operation process and guarantee the diversity of population. The simulated annealing algorithm
has strong local search ability and is capable of escaping from local optimal solutions. But GAs
are liable to converge prematurely and be trapped in local optimal solutions. In addition, the SA
costs more computation time. Therefore, by the combination of the two algorithms, an
improved genetic algorithm-simulated annealing algorithm is presented in this sector.

Fig. 1 Pseudo code of genetic


algorithms
Set a total number of iterations T
t=1
Initialize population P(t)
Evaluate population P(t)
Repeat Until t=T
t=t+1
Select P(t) from P(t-1)
Reproduce P(t)
Mutate P(t)
Evaluate P(t)
End Repeat
1034 X.–G. Li, X. Wei

Fig. 2 Pseudo code of the simu-


lated annealing ( )
Generate randomly an initial optimal state Si, calculate f SA S i
Select an initial temperature T0
Select a terminal temperature Tf or a total number of temperature change t max
Set temperature change counter t=1
Tt = T0
Repeat Until Tt = T f or t = t max
Set repetition counter L=0
Repeat Until L = Lt = β t
Generate new state Sj, a neighbor of Si
( ) ( )
Calculate ∆ E = f SA S j − f SA S i
If ∆ E < 0 then S i = S j
Else if random (0,1)< exp − ∆ E Tt then
( )
Si = S j
End if
L = L +1
End Repeat
t = t +1
Tt = α Tt −1
End Repeat

4.1 Model Framework

Generally an associative approach of GAs and the SA is to nest the SA within GAs. The SA
improves every individual from GAs population with an iterative number that is required to
reach Markov chain length, that is, satisfy the condition of “Repeat Until L=Lt =βt” in
Fig. 2. Therefore, the traditional GA-SA costs much more execution time than GAs or the
SA. To overcome this shortcoming, this study improves the traditional GA-SA algorithm.
The improved algorithm modifies the optimal technique of the SA to the GAs population,
that is, the SA only improves the optimal individual of GAs population, not all individuals.
After the improvement, the algorithm can save much more execution time than the
traditional GA-SA (see Section 4.3). Moreover, the IGA-SA is capable of achieving better
results than other optimization methods (see Section 5.4). The arithmetic process of the
IGA-SA is shown in Fig. 3.
In Fig. 3, the IGA-SA algorithm consists of two phases, the GA phase and the SA phase.
In the improved hybrid algorithm, GAs generate the initial population randomly firstly. The
GA then evaluates the initial population and operates on the population using three genetic
operators to produce new population. After each generation the GA sends the best
individual to the SA for further improvement. Having finished the further improvement of
the individual, the SA sends it to the GA for the next generation again. This process
continues until the termination condition of the algorithm is met. In the following, some
components relative to the two phases will be described in detail based on Fig. 3.

4.2 Phase I: Optimal Process of the GA

The GA generates stochastically the initial population firstly and then operates on the
population using three genetic operators to produce new population. According to Fig. 1,
some components relative to GAs should be determined, such as the decision variables, the
population size, the generation of initial population, the evaluation of population, the
An IGA-SA for the optimization of multiple reservoirs 1035

Fig. 3 Arithmetic process of the GA SA


IGA-SA
Initialize population, set T, t=1

Evaluate population
Yes

No

Optimal results output


No L=Lt=βt?
t≤T ?

Yes
Accept new state based on
Selection operation
Metropolis criterion

Crossover operation
Generate neighborhood structure
of current state
Mutation operation

Gain initial optimal individual


Evaluate population from the GA

schemes of encoding and decoding for chromosomes, the selection of genetic operators and
the termination condition.
(1) Objective function
The objective is to maximize generation output from three power stations in series over
each 12-month operating periods. The objective function of GAs to be maximized can be
written as:
X m X w  
fGA ¼ max Nik Rki ; Vik ; Qki  Ti* ð1Þ
k¼1 i¼1

where w is the number of operating periods, w=12; m is the number of power stations in
series, m=3; Rik is vector of releases of reservoir k in time period i; Vik is vector of storages
of reservoir k at time i; Qik is vector of inflows of reservoir k in time period i; Nik is vector
of power output of plant k in time period i; Ti* is total number of hours in time period i.
The fundamental constrains are:

Rkmin  Rki  Rkmax ð2Þ

k
Vmin;i  Vik  Vmax;i
k
ð3Þ

k
Nmin  Nik  Nmax
k
ð4Þ
The above constraints are applied in all time steps. In this study, the data of the
precipitation, evaporation and leakage are unavailable, so they are ignored. For the first
reservoir (k=1), the continuity constraints over each operating period i are:
1
Viþ1 ¼ Vi1 þ Q1i  R1i ð5Þ
For the other reservoirs (k=2, 3) in the downstream, because the inflow of reservoir k in
time period i equals to the release flow of reservoir (k−1) and the local flow between
reservoir (k−1) and reservoir k, the continuity constraints over each operating period i are:
k
Viþ1 ¼ Vik þ Qk1;k
0i þ Rik1  Rki ð6Þ
1036 X.–G. Li, X. Wei

where Q0ik −1,k is the local flow between reservoir (k−1) and reservoir k in time period i.
(2) Fitness function
GAs evaluate the population based on the fitness function. An individual with higher
fitness value has higher chance to be selected into the next generation. Usually the fitness of
a string is relative to the objective function. In this study, the GA searches for maximize
generation output from three power stations in series over 12-month operating periods, thus
the objective function of GAs can be adopted as the fitness function, as follows:

F ¼ fGA ð7Þ
(3) Coding representation
In optimal problems of reservoir operation, the decision variable is usually reservoir
storage or release flow. Each decision variable may be considered to be a gene of
chromosome. In the current work, each gene is considered as release flows.
Generally there are binary coding and real-value coding. Each chromosome is comprised
of a series of genes which could be represented by binary bits or real-value. The binary
coding is easy to encode and decode, convenient to cross and mutate. But the binary values
must be to decode back into their original forms, which will costs additional execution time
of decoding. Furthermore, gene length much be modified to satisfy various precision of
decision variables. Higher the precision is required to be, longer the gene length is, more
complex genetic operation become and more execution time is long for.
Real-value coding is an alternative method. In a real-value representation, individual gene
is assigned within the feasible limits of the variable represented. The gene length of individual
is equal to the number of decision variables. Therefore, the decoding chromosomes for
objective evaluation is not required. Hence the execution time is reduced.
(4) Generation of initial population and population size
A stochastic technique is used to generate the initial population of solutions. A set of
decision variables is represented by coded strings of finite length (Goldberg 1989). The
population size n can be determined by its sensitivity analysis. Decision variables are
selected as the release flow of reservoir and every substring of chromosome represents
twelve release flows over 12-month operating periods. Thus, the length of each
chromosome in real-value coding is 36 (=3×12), while in binary coding the length is
360 (=3×12×10) if ten digits are required for the range of release flow defined.
(5) Genetic operators
A standard genetic algorithm usually includes three operators of selection, crossover,
and mutation (Goldberg 1989), which will be described in detail as follows.
& Selection operator
GAs generate new individuals of the new generation by a selection scheme. Weighted
roulette wheel is a popular approach, in which the probability of an individual i being
selected is dependent on its fitness value Fi. A random number +, which ranges in the
intervaln1 [0,1], is generated and the relative fitness pi of individual i is calculated by
P
pi ¼ Fi Fi . When the inequation of p0 +p1 +...+pi −1 <γ≤p0 +p1+...pi −1 +pi is met, the
i¼1
individual i is selected for the next generation. To ensure that good chromosomes have
higher chances of being selected for the next generation, ranking schemes, which is
operated by sorting the population on the basis of fitness values, are always adopted and
then the selection operation is based upon the rank. Therefore, strings with higher fitness
values have a bigger probability of being selected for the next generation.
& Crossover operator
The crossover operator plays an important role in GAs operation. The crossover is the
An IGA-SA for the optimization of multiple reservoirs 1037

main way to create new strings with some genetic material of both parents. Before the
crossover operation, the GA picks randomly two strings. If a uniformly distributed random
number generated in the range from 0 to 1.0 is less than the crossover probability Pc, GAs
then apply the crossover operator. Otherwise, the GA dose not use crossover to these
particular individual.
There are some methods for crossover including one point crossover (Holland 1992),
two-point crossover (Booker et al. 1990), uniform crossover (Goldberg 1989) and
arithmetic crossover or non-uniform crossover (Michalewicz 1996).
In this study, two-point crossover technique to binary coding and the techniques of
uniform crossover and non-uniform crossover to real-value coding are considered,
respectively, in order to make a comparison of the two coding representations. So on
average nPc strings are crossed over in each generation.
& Mutation operator
The GA uses a mutation operator to change the value of a particular gene with a
specified probability so as to ensure no important genetic material is lost and maintain the
vast diversity of population. The specified probability is the mutation probability Pm. If a
uniform random number distributed in the interval [0,1] is less than the mutation probability
Pm, the GA then applies the mutation operator. Otherwise, the GA doses not do that.
Two usually applied mutation operators are uniform mutation and non-uniform mutation
(Michalewicz et al. 1992). Uniform mutation permits the gene of specified amount to be
replaced by a uniformly distributed random number within its feasible range of values.
Non-uniform mutation dose not permit the gene to be muted randomly within its feasible
range of values, but implements a random perturbation of variables of current state (current
gene value) and generates a neighborhood structure (increment of the current gene value).
Therefore, as a run progresses, the non-uniform mutation operator can help to find good
solutions in the later generations, which is particularly suited for problems where high
precision is required. The approach of the non-uniform mutation operator is shown as
follows:
  i 
Si þ σt; Smax  Si if randomð0; 1Þ ¼ 0
Sj ¼ ð8Þ
Si  σ t; Si  Smin
i
if randomð0; 1Þ ¼ 1

where Si is the current gene value (state) of chromosome before mutation with a range of
i
value from Smin i
to Smax ; Sj is the new state; σ(t, y) (y represents the formula of Smax
i
−Si or
Si −Smin) is a generated neighborhood structure, which denotes a uniformly distributed
i

random number within a range of value from 0 to y. The search neighborhood is required
to become small as a run progresses. So the neighborhood structure may be defined as:
 
s ðt; yÞ ¼ y  1  rð1t=T Þc ð9Þ

where t is the current iteration number and t ¼ 1; 2;    ; T ; T is the total iteration number; r
is a uniformly distributed random number within a range of value from 0 to 1; c is a
positive number which ranges in the interval [0,1]. In this study, c is fixed as 0.618, the
value of extreme and mean ratio. Thus, at the beginning of iteration, the value of t is very
small and the search neighborhood is quite large. As a run progresses, the search
neighborhood becomes small. When the progress is close to the termination condition, the
search neighborhood becomes very small. Until the total iteration number T is met, the
neighborhood will reach zero.
1038 X.–G. Li, X. Wei

In the current work, uniform mutation technique to binary coding and the techniques of
uniform mutation and non-uniform mutation to real-value coding are considered,
respectively.

4.3 Phase II: Optimal Process of the SA

In the algorithm process of the IGA-SA, the GA will send its best individual to the SA for
improvement. After the optimal individual of the GA being improved, the SA passes it to
the GA for the next generation. This process continues until the termination condition of the
algorithm is met.
For the objective function of the SA is to minimize, the objective function of the SA
should be integrated with that of the GA. Therefore, the objective function of the SA can be
set as
!
X m X w   *
f ¼ min CM 
SA N q ;V ;Q  T
k k
i i
k
i
k
i i ð10Þ
k¼1 i¼1

where CM is an adequate big positive number which depends on the problem under study.
In the optimization operation and sensitivity analyses over a 41-year inflow time series in
this study, the value of the objective function of GAs does not exceed 150, so CM is fixed
as 200.
In Fig. 2 some parameters related to the SA algorithm should be considered, including
the choice of initial temperature, the decrement rate of the temperature at each step as
cooling proceeds, the number of transitions at each temperature and the termination of the
algorithm. These components play an important role in the performance of the SA and
should be carried out carefully.
(1) Choice of initial temperature
The SA accepts new states based on Metropolis criterion which is a stochastic process to
reach a thermal equilibrium status of a solid in a heat bath. The criterion is given by P(E)=
min{1, exp(−ΔE/T)}, where ΔE=f(Sj)−f(Si) is the difference of the objective function
values of the new state Sj and the current state Si, and T is the current temperature. If ΔE is
less than zero, then the new state is retained and the current state is discarded. Otherwise,
the new state may be retained if the Boltzmann probability, Pr =exp(−ΔE/T), is greater than
a uniformly distributed random number within a range of value from 0 to 1. At a high
temperature, the SA can accept a new state that has a higher energy than that of the
previous one with a quite large probability. As cooling proceeds, the state may be accepted
by the SA with a small probability. The neighborhood structure becomes slowly small and
the global optimum solution or near-optimal solution can be approached finally. Therefore,
if the initial temperature is high enough, the global optimum solution is guaranteed with a
probability of 1. However, using a too high initial temperature will cost computation time
expensively, while using a too low one will exclude the possibility of ascent steps, thus
losing the global minima feature of the method (Tospornsampan et al. 2005).
(2) Cooling rate
The performance of the SA is importantly relative to the cooling rate. In order to
improve the reliability and the search efficiency of the SA, a good cooling rate should be
maintained. If the cooling rate of every temperature change counter is too low, the SA will
cost computation time expensively. On the other hands, if a faster cooling rate is used, the
probability of getting trapped into a local minimum is higher. Generally, the value of
An IGA-SA for the optimization of multiple reservoirs 1039

cooling rate may be determined by its sensitivity analysis. The cooling schedule is shown as
follows:
Tt ¼ aTt1 ð11Þ
where Tt and Tt −1 are the temperatures at the temperature change counter t and t−1; a is
the cooling rate which can range from 0 to 1. Kirkpatrick et al. (1983) suggested the value
range of a is between 0.8 and 0.99. However, in this study, the lower bound of the value
range is found to be smaller than that suggested by Kirkpatrick et al.
(3) Number of transitions at each temperature
In a search process of the SA, the state transition at each temperature change counter is
only dependent on the new states and current states. Thus, the search process of SA can be
considered as a Markov chain, whose length is defined by the number of transitions allowed
at current temperature (Tospornsampan et al. 2005). The number of transitions at each
temperature is defined as:

Lt ¼ bt ð12Þ

where Lt is the maximum number of repetitions at a given temperature change counter t; β


is a constant variable.
(4) Generation of neighborhood structure
The target of neighborhood structure generation is to change randomly the current state
to a feasible range of its current value. There are many different ways to generate the
neighborhood structure. In the current work, the non-uniform mutation approach in the GA
is adopted with some modification for generation procedure. If a uniform random number
distributed in the interval [0,1] is less than the mutation probability Pm, the current decision
variable is allowed to change its value randomly. Otherwise, the current decision variable is
not allowed to do that. The approach for generation of neighborhood structure is shown in
Eq. 8 and the neighborhood structure is modified for the SA as:
 
s ðt; yÞ ¼ y  1  rblt ð13Þ

where b is a positive number within a range of value from 0 to 1 and it is fixed as 0.618, the
extreme and mean ratio, in this study; lt is the reduction schedule at the temperature change
counter t, which is defined as:

lt ¼ mlt1 ð14Þ

where μ is the reduction rate which can range from 0 to 1.


When the temperature is high, the search neighborhood structure is large. As the
annealing process, the neighborhood structure becomes small. When the process is close to
the termination condition, the search neighborhood will become very small.
(5) Termination condition
According to Fig. 2, the termination criterion of the SA is comprised of the internal
circulation and the external circulation stopping criterion. The former is also called as
Markov chain stability criterion, which is used to calculate the iteration number at a given
temperature change counter and judge whether the termination condition of “L=Lt =βt” (see
Fig. 2) is met or not. The latter is the termination criterion of the SA algorithm, that is,
“Repeat Until Tt =Tf or t=tmax” in Fig. 2. When a final temperature Tf is determined, the
1040 X.–G. Li, X. Wei

total number of temperature change tmax and the total number of iterations imax can be
calculated based on the following two equations (Tospornsampan et al. 2005):
 
log Tf  log T0
tmax ¼ INT þ1 ð15Þ
log a

b 2
imax ¼ t þ tmax ð16Þ
2 max
When T0, a and β are set, the number of iterations can be calculated. So the total number
of temperature change can be used as the external stopping criterion. In this study, the total
number of temperature change is adopted as the external stopping criterion.
According to Eqs. 15 and 16, the number of iterations from the IGA-SA algorithm can
be compared with that of the traditional unimproved GA-SA within the SA phase. So, the
execution time of the two approaches can be evaluated.
Let the population size be n. Then the total number of iterations of2 the traditional GA-SA
within the SA phase is ð 2 Þ  n, while the number of the IGA-SA is ð 2 Þ  1. So the IGA-SA
β T 2 þT β T þT

can reduce the number of iterations n times than the traditional GA-SA. In addition, because the
two approaches have the same evolutional process within the GA phase, the execution time
relative to the two approaches can be inducted approximately. The inductive result shows that
the IGA-SA can reduce the computation time not less than n/2 times than the traditional GA-
SA. The bigger the population size n is, the more time the IGA-SA algorithm can save.

5 Application of the Proposed Algorithm to the Three-Reservoir Problem

5.1 Brief Introduction of the Study Goal

Wujiang River is the biggest branch in the south bank in the upper reach of Yangtze River,
China. The river is 1037 km long and covers a catchment area of 87,920 km2 (Long 2005).
The total average annual water quantity is around 53.4 billion m3 (Su 2002). According to
Long (2005), there are abundant hydropower resources in Wujiang River and the available
hydropower is as high as 18.45 million kw, which ranks fourth in China. In this study, a
cascade reservoirs system in the main stream of Wujiang River is considered as subjects
investigated. The serially linked reservoirs system contains Reservoir Hongjiadu, Dongfeng
and Wujiangdu, which is shown in Fig. 4a. Figure 4b is its diagrammatic sketch. In Fig. 4b,
S1, S2, or S3 represents the reservoir of Hongjiadu, Dongfeng or Wujiangdu, respectively;
Q1is the inflow of Reservoir S1; Q1,20 is the local flow between Reservoir S1 and Reservoir
S2; Q2,30 is the local flow between Reservoir S2 and Reservoir S3; R1, R2, or R3 is the
release flow of Reservoir S1, S2, or S3, respectively; A, B, or C is the hydropower
generation plant corresponding to Reservoir S1, S2, or S3, respectively. A 41-year monthly
inflow time series (from May 1940 to April 1981) of the reservoir system is employed. The
primary characteristic parameters of the cascade reservoirs system are shown in Table 1.

5.2 Trade-Off Analyses on Gas

In this sector, the performance of three coding schemes of GAs (e.g., GA1, GA2 and GA3)
is analyzed. When the crossover probability Pc, the mutation probability Pm, the population
An IGA-SA for the optimization of multiple reservoirs 1041

1, 2
Q0 Q02,3
Q1
S1 S2 S3
A R1 B R2 C R3

a b
Fig. 4 Multi-reservoir systems investigated. a Geographical location; b diagrammatic sketch

size n, and the total iteration number T are fixed as 0.75, 0.05, 100, and 350, respectively,
results of the three-reservoir optimal operation for the GA3, GA2 and GA1 are shown in
Table 2.
According to Table 2, the computation time over 41-year time span from the GA3
achieves 219 min, which is much larger than that from the real-value coding representation
GA1 (118 min) or GA2 (121 min). The execution time from the two kinds of real-value
coding, the GA1 and the GA2, is almost equal. The abandoned flow (the flow that cannot be
used to generate electricity power, which equals to the amount that remains after the maximum
power discharge shown in Table 1 is subtracted from the release flow) from the GA2 over
each time span is larger than that from the GA1, and that from the GA3 is larger than that
from the GA2. For example, the abandoned flow over 1940–1981 time span from the GA3
reaches 79.95 m3/s, which is,53.49 m3/s (=79.95−26.46) or 64.10 m3/s (79.95−15.85) larger
than that from the GA2 or GA1, respectively. Larger the abandoned flow is, smaller the
release flow used to generate hydropower is. Therefore, the efficiency of water resources
utilization from the real-value coding representation is better than that from the binary coding.
The table demonstrates that the average generation output over each time span from the GA2
is bigger than that from the GA3 and that from the GA1 is larger than that from the GA2. The
average generation output over 1940–1981 time span from the GA2 is 4.75×108 kW·h
(=87.90−83.15) larger than that from the GA3 and 0.66×108 kW·h (=88.56−87.90) smaller

Table 1 Primary characteristic parameters of the multi-station systems

Reservoir Normal pond Dead water Firm output Installed Max. power Output
or plant level (m) level (m) (103 kW) capacity (103 kW) discharge (m3/s) coefficient

S1(A) 1,140 1,076 171.5 600 800 8.5


S2(B) 970 936 110 695 900 8.5
S3(C) 760 720 254 1,250 1,420 8.5
1042 X.–G. Li, X. Wei

Table 2 41-year comparative results for the GA1, GA2 and GA3

Method Time span Average inflow Average abandoned flow Average power output
(m3/s) (m3/s) (108 Kw·h)

GA3a 1940–1949 983.53 85.94 86.52


1950–1959 963.26 139.06 85.12
1960–1969 907.51 47.51 80.18
1970–1981 914.58 50.26 81.00
1940–1981 941.55 79.95 83.15
GA2b 1940–1949 983.53 20.93 91.59
1950–1959 963.26 68.08 89.58
1960–1969 907.51 7.88 85.03
1970–1981 914.58 10.54 85.63
1940–1981 941.55 26.46 87.90
GA1c 1940–1949 983.53 14.43 92.20
1950–1959 963.26 47.49 90.30
1960–1969 907.51 3.04 85.60
1970–1981 914.58 0.00 86.36
1940–1981 941.55 15.85 88.56
a
The total execution time is 219 min.
b
The total execution time is 118 min.
c
The total execution time is 121 min.

than that from the GA1. The result shows that the GA2 is better than the GA3 and the GA1 is
better than the GA2. The GA1 has a better ability of achieving the global optimal or near-
optimal solutions so that more generation output can be reached under the same condition of
inflows and release flows of the three-reservoir.
The work of Chang et al. (2005) is deserved to be pointed out here. In the
implementation of the GA to the optimization problem of single reservoir operation,
Chang et al. found that the generation output over 12-month operating periods from the
real-value coding is bigger than that from the binary coding and drew a conclusion that the
real-value coding is better than the binary coding. However, this literature’s conclusion is
not convincing. Under the same inflow (i.e., 3,097 m3/s) condition of the reservoir, Chang
et al. achieved a release flow of 3,097.6 m3/s (=3,066.7+30.9) for the real-value coding and
3,070 m3/s (=3,042.7+27.3) for the binary coding over the operating periods. It shows that
the release flow from the real-value coding is 27.6 m3/s (=3,097.6−3,070) larger than that
from the binary coding. In other words, there is a flow of 27.6 m3/s for the binary coding which
can not be used to generate output over the operating periods, but is stored in the reservoir.
Except for the calculating error, there is an important fact with respect to the generation
output from the binary coding which is less than the output from the real-value coding. If the
release flow from the binary coding is equal to its flow and both of them are always equal to
the release flow from the real-value coding, the correctness of conclusion drawn by Chang et
al. may not be guaranteed. Only if the same condition is considered can the comparison of
different approaches be significative and the correctness of conclusions be guaranteed as well.
In this study, the flow and the release flow of the three-reservoir over each operating periods
are ensured to be equal for every algorithm so that the correctness can be guaranteed.
The variation of average power output of the multi-reservoir systems with different coding
scheme in a 350 run is distinct, which is shown in Fig. 5. In early 50 generations, the real-value
representation with non-uniform crossover and mutation operators (GA1) exhibits a faster
rate of improvement in fitness. After about the 150th generation, the rate of improvement is
An IGA-SA for the optimization of multiple reservoirs 1043

Fig. 5 Variation of maximum Average power output(108kw.h)


objective values with coding 90.00
scheme in 350 runs
88.00

86.00

84.00

82.00

80.00 real-code with non-uniform Pc and Pm (GA1)


real-code with uniform Pc and Pm (GA2)
78.00
binary code (GA3)
76.00
0 25 50 75 100 125 150 175 200 225 250 275 300 325 350

Generation number

quite small, which shows that the GA1 has almost reached its stability. On the other hands,
another real-value representation (GA2) will reach its stability only after the 250th generation,
though it has a rather fast rate of improvement in early 50 generations. The binary coding
representation (GA3) exhibits a fastest rate of improvement among the three coding schemes
in early ten generations, but the rate is very small and exceeded soon by that of real-value
coding. Results from the comparison demonstrate that the real-value coding representation
especially the GA1 reaches better solutions faster. Therefore, the GA1 is applied to the
following sensitivity analyses and the first stage of the IGA-SA algorithm.

5.3 Sensitivity Analyses on Parameters

5.3.1 Sensitivity Analysis of the GA1

Figure 5 indicates that the rate of improvement for the GA1 is very small after about the150th
generation. Thus in the sensitivity analyses on the population size n, the crossover probability
Pc and the mutation probability Pm, the maximum iteration number is fixed as 150.
Figure 6 is the results of sensitivity to the population size n, the crossover probability Pc
and the mutation probability Pm. The figure demonstrates that the objective value is found
to be sensitive to population size, crossover and mutation probability, especially to the
crossover and mutation probability. Figure 6a is the variation of average generation output
of the multi-reservoir systems with different population size under the condition of Pc =0.75
and Pm =0.05. The figure shows that the diversity of population can be guaranteed to a great
extent when the population size is not less than 100 and the maximum power output can be
achieved. So the population size of 100 is adopted in this study. Figure 6b is the influence

8
Average power output(10 kw.h) 8
Average power output(10 kw.h) 8
88.60 Average power output(10 kw.h)
88.60 88.80
88.40 88.30 88.50
88.20
88.20 88.00
87.90
87.70 87.60
88.00
87.30
87.40
87.00
87.80
87.10 86.60
87.60 86.80 86.40
86.20
87.40
86.50 85.80
10 30 50 70 90 110 130 150 170 190 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 0 0.02 0.05 0.08 0.11 0.14 0.17 0.2 0.23
Population size(n) Crossover Probability(Pc) Mutation probability(Pm)

a b c
Fig. 6 Sensitivity analyses on the GA1. a Population size; b crossover probability; c mutation probability
1044 X.–G. Li, X. Wei

of crossover probability Pc on the average generation output of the multi-reservoir systems


with Pm =0.05 and n=100. When the value of Pc ranges from 0.65 to 0.8, the real-value
representation can offer a better solution. So in the implementation of GAs, the crossover
probability Pc is set as 0.75, in which the highest objective value will be reached. Figure 6c
is the influence of mutation probability Pm on the maximum objective value using
crossover probability of 0.75 and population size of 100. According to the figure, the
maximum objective value is quite lower when the value of Pm is very small (less than
0.005). It is because the crossover probability is too small that the number of mutations per
chromosome is too low, resulting in hard to maintain the diversity of population. However,
when the mutation probability becomes large (larger than 0.16), the objective value exhibits
some vibration and instability. The reason is that the number of mutations per chromosome
is too big and some better individuals will be damaged and important genetic material may
be lost. It is demonstrated that the most appropriate mutation probability appears to be in
the range of 0.03–0.10. In the implementation of GAs, the mutation probability of 0.05 is
adopted. The appropriate values of parameters for the GA1 are suggested in the column of
“Suggested parameter value” in Table 3.

5.3.2 Sensitivity Analysis of the SA

Figure 7 is the results of sensitivity to the initial temperature T0, the cooling rate a, the
number of transitions at each temperature β and the total number of temperature change.
tmax. The figure shows that the performance of the SA is sensitive to the four parameters,
especially to the initial temperature. Figure 7a is the variation of average generation output
of the multi-reservoir systems with different initial temperature under the parameter of a =
0.94, β=10, tmax =100. It shows that the most appropriate initial temperature appears to be
in the range of 0.05–1.00, in which the maximum objective value can be achieved. When
the initial temperature is higher than one, it is presents a decrescent trend with some
obvious vibration. The reason is that the number of temperature change in this study is
always fixed as 100, so it can result in an inadequate number of iterations for the SA with a
high initial temperature. Figure 7b is the test result on the cooling rate under the parameter
of T0 =1, β=10, tmax =100. If a final temperature Tf is used as the termination condition of
external circulation, the cooling rate will influence computation time severely (see Eq. 15).
Owing to the total number of temperature change, not the cooling rate, is used as the

Table 3 Sensitivity analyses of parameters relative to the GA1, SA and IGA-SA

Method Parameter Constant values of other Parameter test APOM Suggested Adopted
under test parameters interval parameter value value

GA1 n Pc =0.75, Pm =0.05 10–200 87.77–88.44 ≥100 100


Pc n=100, Pm =0.05 0.50–0.95 87.18–88.42 0.65–0.80 0.75
Pm n=100, Pc=0.75 0.001–0.25 86.70–88.42 0.03–0.10 0.05
SA T0 a =0.94, β=10, tmax =100 0.01–50 83.92–88.57 0.05–1.00 1.00
α T0 =1, β=10, tmax =100 0.10–0.99 86.94–88.56 0.45–0.94 0.94
β T0 =1, a=0.94, tmax =100 1–50 86.34–88.50 ≥6 10
tmax T0 =1, a=0.94, β=10 10–150 84.54–88.55 ≥40 100
IGA-SA T n=80, β=10 10–200 86.98–88.62 ≥30 90
n T=90, β=10 10–200 88.45–88.58 ≥50 80
β T=90, n=80 1–20 88.08–88.60 ≥3 10

APOM Average power output of the multi-reservoir, which is achieved based on the 41-year inflow series
An IGA-SA for the optimization of multiple reservoirs 1045

8 8
Average power output(10 kw.h) Average power output(10 kw.h)
89.00
89.50
88.50
88.50
87.50 88.00
86.50
87.50
85.50
87.00
84.50

83.50 86.50

86.00
0.01 0.06 0.2 0.7 3 8 13 18 23 40 0.1 0.3 0.5 0.7 0.74 0.78 0.82 0.86 0.9 0.94 0.98
Initial temperature(T0) Cooling rate(α)

a b
8
8
Average power output(10 kw.h) Average power output(10 kw.h)
89.00 89.00
88.50 88.00
88.00
87.00
87.50
87.00 86.00
86.50
85.00
86.00
85.50 84.00
85.00 83.00
84.50
84.00 82.00
1 2 3 4 5 6 7 8 9 10 11 15 20 25 30 35 40 45 50 10 30 50 70 90 110 130 150

Number of transitions at each temperature(β) Total number of temperature change(tmax)

c d
Fig. 7 Sensitivity analyses on the SA. a Initial temperature; b cooling rate; c number of transitions at each
temperature; d total number temperature change

termination condition of external circulation, the SA has a weak sensitivity to the cooling
rate (see the value interval of column of APOM in Table 3) and shows a strong robustness
especially when the cooling rate ranges from 0.45 to 0.94. The lower bound of the value
range is much smaller than that of [0.8, 0.99] suggested by Kirkpatrick et al. (1983).
Figure 7c is the analysis result on different value of β under the parameter of T0 =1, a =
0.94, tmax =100. The number of transitions at each temperature is a parameter relating to the
termination condition of internal circulation. The bigger the value of β is, the larger the total
number of iterations is (see Eq. 16) and the more computation time it is required. It’s
demonstrated that the most appropriate number of β appears to be not less than 6. Figure 7d
is the variation of average generation output of the multi-reservoir systems with different
total number of temperature change under the parameter of T0 =1, a =0.94, β=10. The
figure demonstrates that a stable state can be reached after the 40th time of temperature
change. A set of “safe” values for the four parameters are suggested and their adopted
values in current study are shown in Table 3.

5.3.3 Sensitivity Analysis of the IGA-SA

The influences of the same parameters on the IGA-SA are maybe different from those on
the GA1 or the SA. For example, in the implementation of the GA1, the diversity of
population can be maintained only when the population size n is not less than 100 (see
Fig. 6a). What about for the IGA-SA? Here three key parameters, that is, the total number
of iterations T (the stopping criterion of external circulation in the IGA-SA), population size
n and the number of transitions at each temperature β will be analyzed. Figure 8 is the
1046 X.–G. Li, X. Wei

8 8
Average power output(10 kw.h) Average power output(10 kw.h) 8
Average power output(10 kw.h)
89.00 88.60
88.70
88.50 88.55 88.60
88.50
88.00 88.40
88.50
87.50 88.30
88.45 88.20
87.00 88.10
88.40 88.00
86.50
87.90
86.00 88.35
87.80
10 30 50 70 90 110 130 150 170 190 10 30 50 70 90 110 130 150 170 190 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Total number of iterations(T) Population size(n) Number transitions at each temperature(β)

a b c
Fig. 8 Sensitivity analyses on the IGA-SA. a Total number of iterations; b population size; c number
transitions at each temperature

sensitivity test on the three parameters of the IGA-SA. Figure 8a shows that the variety of
average objective value becomes very small and the stable state may be arrived at after the
30th iteration, while the stable state will be reached after the 150th generation for the GA1
(see Fig. 5) and the 40th change of temperature for the SA (see Fig. 7d). In the IGA-SA, the
total number of iterations is set as 90. Figure 8b indicates that the maximum objective value
is obtained when the population size is 80. The figure exhibits a distinct variation process
from the GA1 shown in Fig. 6a. In the implementation of the IGA-SA, the population size
of 80 is adopted. Figure 8c is the sensitivity to the number of transitions at each
temperature. In the SA, the average generation output of the multi-reservoir systems has a
small variety rate when β is not less than 6 (see Fig. 7c). But in the IGA-SA, it
demonstrates that the maximum objective value can be achieved when the value of β is not
less than 3. In this study, the value of β is set as 10 for the IGA-SA. The “safe” values of
the three parameters are suggested in the column of “Suggested parameter value” in
Table 3.
The values of parameters in the column of “Suggested parameter interval” of Table 3 can
be achieved based on the sensitivity test over a 41-year monthly inflow series. However,
this trial and error process will cost abundant computation time (see Table 4 in Section 5.4).
Therefore, the process of sensitivity test of parameters is an abundant time consumed
process. In order to improve the test efficiency, an alternative measure is proposed here.
The measure firstly fits the historical yearly inflow time series with a Pearson type-III
distribution and the typical inflow series under a certain frequency is then determined. The
sensitivity to parameters is analyzed only based on the selected typical inflow series so that
the execution time is expected to reduce greatly. For example, if the typical inflow series
under the frequency of 5, 20, 40, 60, 80 and 95% is selected, the execution time is about
only six 41st of the previous one. In current study such six kinds of typical inflow series are
applied to sensitivity test on parameters. The “safe” values of parameters are the same to
those shown in the column of “Suggested parameter value” in Table 3 under the condition
of the same parameters test interval and constant values of other parameters. It demonstrates
that the alternative is very useful for sensitivity analyses on parameters, especially under the
condition that sensitivity to parameters is tested based on a long inflow time series.
However, whether the suggested values of parameters in Table 3 are suitable for other
multi-reservoir systems, it still needs further consideration.

5.4 Comparison of Optimization Methods

In this sector, the parameters of the heuristic optimization methods will be set as the
adopted values shown in Table 3 and the maximum iteration number of GA1 is fixed as
150. The discrete number of the state variable (reservoir water level) of the DP is set as 20. So
An IGA-SA for the optimization of multiple reservoirs 1047

the discrete interval of water level for Reservoir Hongjiadu, Dongfeng or Wujiangdu is 3.2 m
(=(1,140−1,076)/20)), 1.7 m (=(970−936)/20))or 2.0 m (=(760−720)/20)), respectively.
Optimization operation results of the multi-reservoir systems from these optimization
methods are shown in Table 4. The table shows that the execution times for the three
heuristic optimization methods are different. The GA1 spends much less time than the other
two methods, which is equal to 1310 seconds (≈22 min), while the execution time for the
SA and the IGA-SA is 4698 seconds (≈78 min) and 3,756 s (≈63 min), respectively. The
SA spends much more time than the other two methods. In addition, by the analysis in
Section 4.3, if a traditional unimproved GA-SA is employed, its execution time will be
about forty (=half of the population size) times as more as that of the IGA-SA, that is,
41.7 h (=2,504 min). Therefore, the IGA-SA spends much less computation time than the
traditional unimproved GA-SA and is more superior. According to the average abandoned
flow over each time span, the DP has the larger one than the other methods. For example,
the average abandoned flow from the DP reaches 96.32 m3/s over the 1,940–1,949 time
span, which is much larger than that from the other methods so that the DP has a lower
level of water resources utilization. The average power output from the DP over each time
span is smaller than the other methods and the one over 41-year time span (1940–1981) is
only 82.82×108 kW·h. On the other hands, the average abandoned flow over 1940–1981
time span from the GA1, SA or IGA-SA is 18.80, 16.76 or 15.81 m3/s, respectively, which
is 27.52 m3/s (=46.32−18.80), 29.56 m3/s (=46.32−16.76) or 30.51 m3/s (=46.32−15.81)
smaller than that from the DP. It demonstrates that the three heuristic optimization
approaches have better level of water resources utilization than the DP. So they have rather
big generation output over each time span. The average generation output over 1940–1981

Table 4 Comparative results of different optimization methods

Method Time span Ave. abandoned flow (m3/s) Ave. power output (108 kW·h)

DP 1940–1949 96.32 88.34


1950–1959 28.41 79.10
1960–1969 14.10 81.40
1970–1981 46.54 82.19
1940–1981 46.32 82.82
GA1a 1940–1949 14.74 92.04
1950–1959 59.16 90.20
1960–1969 3.05 85.39
1970–1981 0.13 86.26
1940–1981 18.80 88.42
SAb 1940–1949 14.47 92.16
1950–1959 51.19 90.25
1960–1969 3.04 85.48
1970–1981 0.02 86.33
1940–1981 16.76 88.50
IGA-SAc 1940–1949 14.39 92.28
1950–1959 47.32 90.31
1960–1969 3.08 85.59
1970–1981 0.01 86.36
1940–1981 15.81 88.58
a
The total execution time is 1,310 s.
b
The total execution time is 4,698 s.
c
The total execution time is 3,756 s.
1048 X.–G. Li, X. Wei

from the IGA-SA is the biggest (88.58×108 kW·h), which is 5.76×108 kW·h (88.58×108–
82.82×108) bigger than that from the DP. The generation output from the SA ranks second
(88.50×108 kW·h over 1940–1981 time series) and the next is the GA1 (88.42×108 kW·h
over 1940–1981 time series). The results demonstrate that these optimization methods are
more efficient than the DP in the optimization operation of multiple reservoirs and the IGA-
SA algorithm has a stronger ability of achieving the better solutions in the optimization
operation of multi-reservoir systems, reaching the maximum generation output objective
and further improving the level of water resources utilization.

6 Conclusions

In the current work, an improved genetic algorithm-simulated annealing (IGA-SA) hybrid


optimization algorithm is proposed and applied to the optimization problem of a 3-reservoir
operation in series in Wujiang River, one branch of Yangtze River in China. The objective
is to maximize generation output from the 3-reservoir systems over each 12-month
operating periods. The IGA-SA algorithm is capable of overcoming the premature
convergence of GAs and escaping from local optimal solutions, and is faster than a
traditional unimproved GA-SA algorithm. Sensitivity to some parameters of GAs, the SA
and the IGA-SA is analyzed. It is indicates that the sensitivity of the same parameter may
vary with different methods. So it’s better to perform the sensitivity analyses of parameters
firstly in the implementation of optimization methods in order to achieve better results.
Trade-off analyses on the binary coding GA, the real-value coding GA with uniform
crossover and mutation operators, and the real-value coding GA with non-uniform
crossover and mutation operators are carried out. The performance of the real-value coding
GA with non-uniform crossover and mutation operators, the SA, the IGA-SA and the DP
are compared. Results demonstrate that the IGA-SA algorithm is better than the other
algorithms and costs less execution time than the traditional unimproved GA-SA.
Therefore, in the optimization problems of reservoir operation, the IGA-SA algorithm is
more outstanding to achieve the optimal dispatching of water resources, reach the
maximum generation output objective of multiple reservoirs and improve the level of
water resources utilization. The results obtained from these applications have proved that
the IGA-SA is capable of dealing with large and complex problems, and is a new promising
search algorithm for optimization problems of reservoir operation.

Acknowledgements The writers would like to thank the two anonymous reviewers for their constructive
and valuable comments and suggestions.

References

Bergey PK, Ragsdale CT, Hoskote M (2003) A simulated annealing genetic algorithm for the electrical
power districting problem. Annals of Operations Research 121:33–55
Booker LB, Goldberg DE, Holland JH (1990) Classifier systems and genetic algorithms, machine learning:
paradigms and methods. Elsevier, New York, NY, USA
Chang JX, Huang Q, Wang YM (2005) Genetic algorithms for optimal reservoir dispatching. Water Resour
Manag 19:321–331
Cieniawski SE, Eheart JW, Ranjithan S (1995) Using genetic algorithms to solve a multiobjective
groundwater monitoring problem. Water Resour Res 31(2):399–410
An IGA-SA for the optimization of multiple reservoirs 1049

Cordón O, Moya F, Zarco C (2002) A new evolutionary algorithm combining simulated annealing and
genetic programming for relevance feedback in fuzzy information retrieval systems. Soft Comput 6
(5):308–319 (a fusion of foundations, methodologies and applications)
Cunha MC, Sousa J (2001) Hydraulic infrastructures design using simulated annealing. J Infrastruct Syst 7(1):32–39
Dougherty DE, Marryott RA (1991) Optimal groundwater management: I. Simulated annealing. Water
Resour Res 27(10):2493–2508
Esat V, Hall M (1994) Water resources system optimization using genetic algorithms. In: A Verwey, A Minns,
V Babovic, C Maksimovic (eds) Proc.1st Int. Conf. Hydroinform ’94, Balkema, Rotterdam, The
Netherlands, pp 225–231
Fahmy HS, King JP, Wentzel MW, Seton JA (1994) Economic optimization of river management using
genetic algorithm. Proc., ASAE Int. Summer Meeting, Paper No. 943034, American Society of
Agricultural Engineers, St. Joseph, Michigan, USA
Ganesh K, Punniyamoorthy M (2005) Optimization of continuous-time production planning using hybrid
genetic algorithms-simulated annealing. Int J Adv Manuf Technol 26(1–2):148–154
Goldberg DE (1989) Genetic algorithm in search, optimization and machine learning, Addison-Wesley,
Reading, MA
Goldberg DE, Kuo CH (1987) Genetic algorithms in pipeline optimization. J Comput Civ Eng-ASCE 1(2):128–141
Goldman FE, Mays LW (1999) The application of simulated annealing to the optimal operation of water systems.
Proceedings of the 26th Annual Water Resources Planning and Management Conference, Tempe, Arizona
Holland JH (1975) Adaptation in natural and artificial system. The University of Michigan Press, Ann Arbor, MI
Holland JH (1992) Adaptation in Natural and Artificial Systems. MIT Press Cambridge, MA, USA
Huang WC, Yuan LC, Lee CM (2002) Linking genetic algorithms with stochastic dynamic programming to
the long-term operation of a multireservoir system. Water Resour Res 38(2):401–409
Kirkpatrick S, Gelatt CD, Vecchi MP (1983) Optimization by simulated annealing. Science 220:671–680
Labadie JW (2004) Optimal operation of multireservoir systems: state-of-the-art review. J Water Resour
Plann Manag-ASCE 130(2):93–111
Lee J, Johnson GE (1993) Optimal tolerance allotment using a genetic algorithm and truncated Monte Carlo
simulation. Comput Aided Des 25(9):601–611
Long D (2005) Water resources development and sustainable utilization of Wujiang river basin in Guizhou
Province. J Water Resour Water Eng 16(3):19–24
Mantawy AH, Soliman SA, El-Hawary ME (2001) An innovative simulated annealing approach to the long-
term hydroscheduling problem. Power Engineering, 2001. LESCOPE ’01. 2001 Large Engineering
Systems Conference on, pp 79–85
Marryott RA (1996) Optimal ground-water remediation design using multiple control technologies. Ground
Water 34(3):425–433
Michalewicz Z (1996) Genetic Algorithms + Data struction =Evolution Program, Springer
Michalewicz Z, Janikow CZ, Krawczyk JB (1992) A modified genetic algorithm for optimal control
problems. Comp Math Applic 23(12):83–94
Oliveira R, Loucks DP (1997) Operating rules for multi-reservoir systems. Water Resour Res 33(4):839–852
Ponnambalam SG, Reddy MM (2003) A GA-SA multiobjective hybrid search algorithm for integrating. Lot
sizing and sequencing in flow-line scheduling. Int J Adv Manuf Technol 21:126–137
Sen MK, Stoffa PL, Lake LW, Pope GA, Datta-Gupta A (1995) Stochastic reservoir modeling using
simulated annealing and genetic algorithms. SPE Form Eval 10(1):49–55
Shieh HJ, Peralta RC (2005) Optimal in situ bioremediation design by hybrid genetic algorithm-simulated
annealing. J Water Resour Plann Manage-ASCE 131(1):67–78
Simpson AR, Dandy GC, Murphy LJ (1994) Genetic algorithms compared to other techniques for pipe
optimization. J Water Resour Plann Manage-ASCE 120(4):423–443
Su WC (2002) Negative effects of cascade hydropower exploitation environmental in the Wujing Basin.
Resour Environ The Yangtze Basin 11(4):388–392
Teegavarapu RSV, Simonovic SP (2002) Optimal operation of reservoir system using simulated annealing.
Water Resour Manag 16(5):401–428
Tospornsampan J, Kita I, Ishii M, KitamuraY (2005) Optimization of a multiple reservoir system using a
simulated annealing—a case study in the Mae Klong system, Thailand. Paddy and Water Environment
3(3):137–147
Van Zyl JE, Savic DA, Walters GA (2004) Operational optimization of water distribution systems using a
hybrid genetic algorithm. J Water Resour Plann Manage-ASCE 130(2):160–170
Wang ZG, Wong YS, Rahman M (2004) Optimisation of multi-pass milling using genetic algorithm and
genetic simulated annealing. Int J Adv Manuf Technol 24(9–10):727–732
Zhao F, Zeng X (2006) Simulated annealing—genetic algorithm for transit network optimization. J Comput
Civ Eng-ASCE 20(1):57–68

You might also like