Open Access
This article is

- freely available
- re-usable

*Algorithms*
**2018**,
*11*(4),
36;
https://doi.org/10.3390/a11040036

Article

A Gradient-Based Cuckoo Search Algorithm for a Reservoir-Generation Scheduling Problem

^{1}

School of Hydropower and Information Engineering, Huazhong University of Science and Technology, Wuhan 430074, China

^{2}

Hubei Key Laboratory of Digital Valley Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, China

^{3}

China Institute of Water Resources and Hydropower Research, Beijing 100038, China

^{4}

Changjiang River Scientific Research Institute, Changjiang Water Resources Commission of the Ministry of Water Resources of China, Wuhan 430010, China

^{*}

Author to whom correspondence should be addressed.

Received: 22 January 2018 / Accepted: 20 March 2018 / Published: 25 March 2018

## Abstract

**:**

In this paper, a gradient-based cuckoo search algorithm (GCS) is proposed to solve a reservoir-scheduling problem. The classical cuckoo search (CS) is first improved by a self-adaptive solution-generation technique, together with a differential strategy for Lévy flight. This improved CS is then employed to solve the reservoir-scheduling problem, and a two-way solution-correction strategy is introduced to handle variants’ constraints. Moreover, a gradient-based search strategy is developed to improve the search speed and accuracy. Finally, the proposed GCS is used to obtain optimal schemes for cascade reservoirs in the Jinsha River, China. Results show that the mean and standard deviation of power generation obtained by GCS are much better than other methods. The converging speed of GCS is also faster. In the optimal results, the fluctuation of the water level obtained by GCS is small, indicating the proposed GCS’s effectiveness in dealing with reservoir-scheduling problems.

Keywords:

long-term hydropower generation scheduling; cascade reservoirs; gradient-based cuckoo search algorithm; Jinsha River## 1. Introduction

The penetration of renewable power generation has increased substantially in recent years [1]. The use of renewable energy such as wind power and hydropower can reduce greenhouse gas emissions from fossil fuels. Wind power is one of the fastest-growing sources, however it is uncertain and cannot be scheduled due to its intrinsic dependence on varying weather conditions over many years [2,3]. Solar power is less uncertain, but has higher variability compared to wind power [4]. Unlike wind energy, hydropower can be scheduled and has already played an important role in electricity supply all over the world. The long-term hydropower-generation scheduling (LHGS) of cascade reservoirs is of great importance to improving power grid stability. A suitable scheduling scheme can effectively increase the economic benefit of cascade reservoirs. The purpose of LHGS is to determine the water release of all reservoirs in a time period in order to maximize the benefit [5].

Many studies have been carried out [6,7,8] indicating that the LHGS is a non-linear and non-convex problem with very complicate constraints including water balancing, hydraulic connection, water-level limitations, water-release limitations and output capacity limitations [9]. In order to solve this problem, classical studies have taken many kinds of approaches, including dynamic programming (DP) [10,11], linear programming (LP) [12,13], the progressive optimality algorithm (POA) [14,15], and discrete differential dynamic programming (DDDP) [16,17]. However, these methods have their own shortcomings in dealing with the problems of large-scale cascade reservoirs [18].

In recent years, meta-heuristic algorithms have been popular in the search for a global optimum in non-convex problems [19]. Metaheuristics and their applications have wide application in artificial intelligence, e.g., water-distribution systems [20], transit network design problems [21], reservoir-operation optimization [22], and so forth. Many metaheuristics have included some form of stochastic optimization, so the searching efficiency is affected by the set of random variables generated [23]. By searching over a large numbers of feasible solutions, metaheuristics can often find good solutions near to the optimum solution with less computational effort [24].

Cuckoo search (CS) is one kind of metaheuristics developed by Xin-she Yang and Suash Deb in 2009 [25]. It was inspired by the behavior of some cuckoo species by laying eggs in the nests of other host birds. Compared to other artificial intelligence algorithms such as the genetic algorithm (GA) [26] and particle swarm optimization (PSO) [27], CS has the characteristics of higher solution quality, shorter computational time, and higher success rates [28]. It has been applied to various optimization problems. For example, Maiya Din et al. introduced it for the analysis of linear feedback shift register-based cryptosystems [29], Bhateja et al. used CS for the cryptanalysis of vigenere [30], Naik et al. used CS for intrinsic discriminant analysis-based face recognition [31].

Although CS has shown its advantages and has wide application in many areas, it still has some drawbacks. Proper computational time cannot be guaranteed in large-scale systems [32]. In this paper, some improvements are proposed to the original CS using four strategies: (1) a dynamic parameter adjustment of the parameter; (2) a boundary value perturbation strategy for boundary value adjustment; (3) a differential strategy for Lévy flight; (4) a different way to update solutions. When applying CS to the LHGS problem, we find that the converge speed and the results are not satisfactory. What’s more, solutions generated by a random search have the characteristic of large fluctuations in water level. Thus, a gradient strategy is designed especially for the LHGS problem. This gradient strategy improves the local search ability of the algorithm by fine-tuning the water level process. In case studies, comparisons of benchmark function tests among different algorithms has been carried out. Results show that the improved cuckoo search (ICS) performs much better than the improved harmony search (IHS) and CS. Finally, a case study of the Jinsha River is put forward to show the application of the LHGS model. The advantage of the proposed GCS is very obvious: it can effectively obtain satisfactory results in all wet years, normal years and dry years.

This paper is organized as follows: Section 2 describes the objective function and constraints of LHGS model; Section 3 gives the details of improved CS; Section 4 presents the gradient-based CS algorithm for LHGS; Section 5 is the experiments and the case study in the Jinsha River; and Section 6 is the summary of this paper.

## 2. Reservoir-Scheduling Problem

The main purpose of LHGS is to improve the power generation of cascaded reservoirs. The objective function can be listed as follows.

#### 2.1. Long-Term Hydropower-Generation Scheduling (LHGS) Model

The LHGS model is used to find a set of water releases or storage volumes that maximizes the generating benefit for cascade hydropower system. The objective formula of hydropower optimization problem is given as follows:
where E is the total energy production of the cascade hydropower system; T is the count of periods; N is the number of reservoirs; k

$$E=\mathrm{max}{\displaystyle \sum _{t=1}^{T}{\displaystyle \sum _{i=1}^{N}{k}_{i}{Q}_{i,t}{H}_{i,t}\mathsf{\Delta}t}}$$

_{i}is the output coefficient of reservoir i; Q_{i,t}is the generation flow which outflows through hydropower units of the reservoir i in time t; H_{i,t}is the net water head of hydropower reservoir i in time t; and ∆t is the length of time interval.#### 2.2. Constraints

To complete the scheduling model, the constraints of the scheduling problem are defined as:

(1) Hydraulic Connection

$$\{\begin{array}{l}{I}_{i,t}={O}_{i-1,t}+{R}_{i,t}\\ {O}_{i-1,t}={Q}_{i-1,t}+{S}_{i-1,t}\end{array}$$

I

_{i,t}is the inflow of reservoir i in time t; O_{i−}_{1,t}is the outflow of reservoir i − 1 in time t; R_{i,t}is the interval inflow between reservoir i − 1 and i; S_{i−}_{1,t}is spillage of the upstream reservoir i − 1; Q_{i−1,t}is the generation flow of the upstream reservoir i − 1.(2) Water-Balance Constraint

$${V}_{i,t}={V}_{i,t-1}+({I}_{i,t}-{O}_{i,t})\cdot \mathsf{\Delta}t$$

V

_{i,t}is the reservoir storage of reservoir i in time t.(3) Water-Level Constraints

$${Z}_{i,t}^{\mathrm{min}}\le {Z}_{i,t}\le {Z}_{i,t}^{\mathrm{max}}$$

$$\left|{Z}_{i,t}-{Z}_{i,t-1}\right|\le {Z}_{i,t}^{step}$$

${Z}_{i,t}^{min}$ and ${Z}_{i,t}^{max}$ are, respectively, the lower and upper bounds of the water level; ${Z}_{i}^{step}$ is the limitation of water-level variation.

(4) Outflow Constraint

$${O}_{i,t}^{\mathrm{min}}\le {O}_{i,t}\le {O}_{i,t}^{\mathrm{max}}$$

${O}_{i,t}^{min}$ and ${O}_{i,t}^{max}$ are, respectively, the minimum and maximum outflows of reservoir i.

(5) Output Constraint

$${N}_{i,t}^{\mathrm{min}}\le {N}_{i,t}\le {N}_{i,t}^{\mathrm{max}}$$

${N}_{i,t}^{min}$ and ${N}_{i,t}^{max}$ are, respectively, the minimum and maximum power output of reservoir i.

(6) Boundary Condition

$${Z}_{i,0}={Z}_{i,start},{Z}_{i,T}={Z}_{i,end}$$

${Z}_{i,start}$ and ${Z}_{i,end}$ are, respectively, the initial and terminal water levels of reservoir i.

## 3. Cuckoo Search Algorithm

#### 3.1. Basic Cuckoo Search Algorithm

Cuckoo search (CS) is a meta-heuristic algorithm inspired by the obligate brood parasitism of some cuckoo species [25]. It is a population-based evolutionary algorithm and can be applied for various optimization problems. The procedures of CS are explained as follows:

- Each cuckoo lays one egg at a time, and dumps its egg in randomly chosen nest;
- The best nests with a high quality of eggs will carry over to the next generation;
- The number of available host nests is fixed, and the egg laid by a cuckoo is discovered by the host bird with a probability p
_{a}. Discovering operates on some set of the worst nests, and discovered solutions are dumped from further calculations.

For a minimum function, the basic steps of the CS are summarized as the pseudo code in Algorithm 1:

Algorithm 1. Cuckoo search via Lévy flights |

Objective function $f\left(x\right),x={({x}_{1},...,{x}_{d})}^{T}$ Generate initial population of n host nests ${x}_{i}\left(i=1,2,...,n\right)$ While (t < MaxIteration) or (stop criterion)Get a cuckoo i randomly by Lévy flights and evaluate its fitness Choose a nest j among n randomly If $f\left({x}_{i}\right)<f\left({x}_{j}\right)$Replace ${x}_{j}$ by the new solution ${x}_{i}$ End ifIf $rand\left(0,1\right)<{p}_{a}$Init the worst nest ${x}_{worst}$ End ifIf $f\left({x}_{i}\right)<f\left({x}_{best}\right)$Replace ${x}_{best}$ by ${x}_{i}$ End ifEnd while |

#### 3.2. Improvement for Cuckoo Search Algorithm

The basic cuckoo search algorithm (CS) is capable of finding the optimum function, but after several iterations, we found that it still needs improvements. In this section, three strategies are presented to improve the CS.

#### 3.2.1. Dynamic Parameter Adjustment Strategy

In the CS algorithm, the abandonment of the nest is determined by its abandon probability p
where CE is the current evaluation times; NE is the maximum evaluation times; and ${p}_{a}^{s}$ and ${p}_{a}^{e}$ are start and end ${p}_{a}$, respectively.

_{a}. If p_{a}is large, this nest is considered as a bad solution and would be replaced with new randomly generated solutions. The converging speed of the algorithm will decline due to the replacement, but the population diversity can be improved. If p_{a}is small, the characteristics of the population can be reserved and it can benefit the convergence. According to this feature, a dynamic adjustment strategy is introduced to decide p_{a}showing as Equation (9). With this strategy, there would be better global search capabilities in the early stage evolution, and the convergence becomes faster in the later stage:
$${p}_{a}={p}_{a}^{s}+\left({p}_{a}^{e}-{p}_{a}^{s}\right)\times \frac{CE}{NE}$$

#### 3.2.2. A Boundary Value Perturbation Strategy

When a new solution is generated, the values of some dimensions may be no longer in the proper range. The common method is to adjust it to the boundary value, which may result in unexpected accumulation of solutions on the border. Thus, a boundary value perturbation strategy is carried out, as shown in Equation (10):
where $\mathrm{mod}\left(a,\text{}b\right)$ is modulo operation to find the remainder after division of a by b; and UB

$${x}_{i}^{d}\left(t\right)=\{\begin{array}{l}U{B}^{d}-rand\left(0,1\right)\times \mathrm{mod}\left({x}_{i}^{d}\left(t\right)-U{B}^{d},U{B}^{d}-L{B}^{d}\right),\text{}\mathrm{if}\text{}{x}_{i}^{d}\left(t\right)U{B}^{d}\\ L{B}^{d}+rand\left(0,1\right)\times \mathrm{mod}\left(L{B}^{d}-{x}_{i}^{d}\left(t\right),U{B}^{d}-L{B}^{d}\right),\text{}\mathrm{if}\text{}{x}_{i}^{d}\left(t\right)L{B}^{d}\text{}\end{array}$$

^{d}and LB^{d}are the upper and lower boundary limits, respectively.#### 3.2.3. Differential Strategy for Lévy Flight

In CS, an important problem is the implementation of Lévy flights, as shown in the original paper [25]:

$${x}_{i}^{t+1}={x}_{i}^{t}+\alpha \oplus Levy\left(\lambda \right)$$

Unfortunately, the original paper only described the basic idea of Lévy flights, and the details of its implementation were not given. Later studies had different interpretations of Lévy flight such as [33,34]. In this paper, the strategy used for Lévy flight is given as:
where i and j are the numbers of randomly chosen nests; sl is the step size parameter; Levy(u,c) is sample value from the Lévy distribution, and its probability density function is:

$${x}_{i}^{d\prime}={x}_{i}^{d}+\left(sl\times Levy\left(u,c\right)\times \left({x}_{j}^{d}-{x}_{i}^{d}\right)\right)$$

$$f\left(x\right)=\sqrt{\frac{c}{2\pi}}\frac{{e}^{-\frac{c}{2\left(x-u\right)}}}{{\left(x-u\right)}^{3/2}}$$

#### 3.2.4. Solution Updates Strategy Changes

The CS generates new solutions by Lévy flights and compares it with another randomly chosen nest. However, when replacing the randomly chosen solution, the source solution and the target solution are not relevant, so the useful information from the target solution is missing. Thus, if the new generated solution is better, instead of replacing another randomly chosen nest, we replace the source nest that is used for performing Lévy flights.

Additionally, in the proposed algorithm, the guide information from the best solution or current best solution is not used, and we should not find the optimal solution in each iteration.

#### 3.3. Implementation of Improved Cuckoo Search (ICS)

With the improvements above, the improved CS can be described as follows:

**Step 1**Initialize the algorithm parameters

This step specifies the desired parameters, including size of population (ns), abandon probability (p

_{a}), disturbance weight (w), step size (sl), and Lévy distribution parameters u and c.**Step 2**Initialize the population

In this step, new random nests (${x}_{1},...,{x}_{ns}$), whose total number is ns, are generated as in Equation (14):

$${x}_{i}^{d}=(U{B}^{d}-L{B}^{d})\cdot rand(0,1)+L{B}^{d},d=1,2,...,D$$

Then each vector will be evaluated by the objective function and stored in the population.

**Step 3**Generate a new solution by Lévy flights

Here a source nest ${x}_{i}$ and target nest ${x}_{j}$ from the population are randomly chosen. A new cuckoo from nest i flight to nest j obeys the features of Lévy flight. Then a new solution is generated from Equation (12).

If the new generated solution is out of proper range, we would adjust the solution from Equation (10).

**Step 4**Update the host nest

Evaluate the fitness of the new solution $f\left({{x}^{\prime}}_{i}\right)$ and compare it with the fitness of source nest $f\left({x}_{i}\right)$. If the new solution is better, replace the source nest with the new solution.

**Step 5**Abandon the worst nest

If the random value is smaller than p

_{a}, a new solution is generated randomly and it will replace the worst nest.**Step 6**Check the stop criterion

Repeat Step 3 to Step 5 until the termination criterion is satisfied. In this paper, the termination criterion is the maximum number of evaluation times.

The pseudo-code of the ICS algorithm is presented in Algorithm 2.

Algorithm 2. Improved cuckoo search |

Objective function $f\left(x\right),x={({x}_{1},...,{x}_{d})}^{T}$ Initialize default parameters Generate initial population of n host nests ${x}_{i}\left(i=1,2,...,n\right)$ While (t < MaxEvaluation) or (stop criterion)Select two solution ${x}_{i},{x}_{j}$ from host nests randomly For d=1,...,D do${x}_{i}^{d\prime}={x}_{i}^{d}+\left(sl\times Levy\left(u,c\right)\times \left({x}_{j}^{d}-{x}_{i}^{d}\right)\right)$ End forIf $f\left({{x}^{\prime}}_{i}\right)<f\left({x}_{i}\right)$Replace ${x}_{i}$ by the new solution ${{x}^{\prime}}_{i}$ End ifIf $rand\left(0,1\right)<{p}_{a}$Init the worst nest ${x}_{worst}$ End ifEnd while |

## 4. Gradient Cuckoo Search for Reservoir Scheduling

Generally, when the heuristic algorithm is applied on the reservoir-scheduling problem, the process of water levels is selected as the decision variable, as shown in Equation (15):
where N is the number of reservoirs; and T is the number of time intervals.

$$X=\left[\begin{array}{c}{X}_{1}\\ {X}_{2}\\ \cdots \\ {X}_{N}\end{array}\right]=\left[\begin{array}{c}{x}_{1}^{1},\cdots {x}_{1}^{d},\cdots {x}_{1}^{T}\\ {x}_{2}^{1},\cdots {x}_{2}^{d},\cdots {x}_{2}^{T}\\ \cdots \\ {x}_{N}^{1},\cdots {x}_{N}^{d},\cdots {x}_{N}^{T}\end{array}\right]$$

#### 4.1. Constraints Handling

Cascade reservoir operation is a complicated optimization problem with varieties of constraints. According to ICS, the initial population is generated following Equation (16):
where ${x}_{i}^{min}$ and ${x}_{i}^{max}$ are, respectively, the lower and upper boundaries limit of reservoir i; and rand is a random number between 0 and 1. However, there is a high probability that the randomly generated solutions do not satisfy all the constraints displayed in Section 2.2. In the initialization stage, if the generated solution is not feasible, it needs to be replaced by a new feasible solution.

$${x}_{i}={x}_{i}^{\mathrm{min}}+rand\cdot \left({x}_{i}^{\mathrm{max}}-{x}_{i}^{\mathrm{min}}\right)$$

In the random search stage, the newly generated unfeasible solution cannot be discarded. It is adjusted to the feasible range as follows:

$${x}_{i+1}=\{\begin{array}{l}{x}_{i+1}^{\mathrm{min}},\hspace{1em}if\text{}{x}_{i+1}{x}_{i+1}^{\mathrm{min}}\\ {x}_{i+1}^{\mathrm{max}},\hspace{1em}if\text{}{x}_{i+1}{x}_{i+1}^{\mathrm{max}}\end{array}$$

The feasible range of water level x
where ${Q}_{t}^{min}$ and ${Q}_{t}^{max}$ are, respectively, the minimum and maximum outflows of the reservoir; ${Q}_{t}^{Pmin}$ is the minimum outflow for a guaranteed output; ${z}^{min}$ and ${z}^{max}$ are minimum and maximum water levels; $\mathsf{\Delta}z$ is the limitation of the water-level change; and $Z\left(V\right)$ and $V\left(Z\right)$ are the relationship between the water level and the storage.

_{i+}_{1}is defined as:
$${x}_{i+1}^{\mathrm{max}}=\mathrm{min}\left({x}_{i}+\mathsf{\Delta}z,Z\left({x}_{i},{Q}_{i}^{\mathrm{min}}\right),Z\left({x}_{i},{Q}_{i}^{P\mathrm{min}}\right),{z}^{\mathrm{max}}\right)$$

$${x}_{i+1}^{\mathrm{min}}=\mathrm{max}\left({x}_{i}-\mathsf{\Delta}z,Z\left({x}_{i},{Q}_{i}^{\mathrm{max}}\right),{z}^{\mathrm{min}}\right)$$

$$Z\left({x}_{i},{Q}_{i}\right)=Z\left(V\left({x}_{i}\right)+\left({I}_{i}-{Q}_{i}\right)\mathsf{\Delta}t\right)$$

In the adjustment of the unfeasible solutions, a two-way solution correction strategy is employed. First, the water level is adjusted to the feasible range from period 1 to T. If the correction fails at some unpredictable period, then the water level is adjusted from period T to the breakpoint. If the correction is still not successful, the solution would be considered as an infeasible solution.

#### 4.2. Gradient-Based Search Strategy

In the random search phase, new solutions are randomly generated from the heuristics algorithms. However, after many numerical experiments, it is found that the performances of the heuristic algorithms fail to meet the requirements. On the one hand, the variance of the calculation results is large, indicating that the algorithms are not very stable. On the other hand, the converging speed of the algorithm is quite slow when dealing with the complex cascade reservoirs problem. Hence in this section, a gradient-based search strategy is designed especially for LHGS.

For a random generated solution, the water level is adjusted by a small gradient Δl

_{i,t}as shown in Figure 1, which would result in the power generation of the entire cascade reservoir changing.If we change the end water level of reservoir i by Δl at time period t, the power generation of reservoir i at time period t is:
where ${V}_{i}\left(Z\right)$ is the fitting function of water level and storage curve of reservoir i; and $Z{d}_{i}\left(Q\right)$ is the fitting function of the downstream water level and outflow curve of reservoir i.

$$\{\begin{array}{l}{Z}_{i,t}^{adjust}={Z}_{i,t}+\mathsf{\Delta}l\\ \mathsf{\Delta}{Q}_{i,t}=\left({V}_{i}\left({Z}_{i,t}+\mathsf{\Delta}l\right)-{V}_{i}\left({Z}_{i,t}\right)\right)/\mathsf{\Delta}{T}_{t}\\ \mathsf{\Delta}{H}_{i,t}=\mathsf{\Delta}l/2-Z{d}_{i}\left({Q}_{i,t}+\mathsf{\Delta}{Q}_{i,t}\right)+Z{d}_{i}\left({Q}_{i,t}\right)\\ \mathsf{\Delta}{P}_{i,t}={k}_{i}\left({Q}_{i,t}+\mathsf{\Delta}{Q}_{i,t}\right)\left({H}_{i,t}+\mathsf{\Delta}{H}_{i,t}\right)-{k}_{i}{Q}_{i,t}{H}_{i,t}\end{array}$$

Then the power generation of reservoir i at the next time period t + 1 can be given by:

$$\{\begin{array}{l}\mathsf{\Delta}{Q}_{i,t+1}=\left({V}_{i}\left({Z}_{i,t}\right)-{V}_{i}\left({Z}_{i,t}+\mathsf{\Delta}l\right)\right)/\mathsf{\Delta}{T}_{t+1}\\ \mathsf{\Delta}{H}_{i,t+1}=\mathsf{\Delta}l/2-Zd\left({Q}_{i,t+1}+\mathsf{\Delta}{Q}_{i,t+1}\right)+Zd\left({Q}_{i,t+1}\right)\\ \mathsf{\Delta}{P}_{i,t+1}={k}_{i}\left({Q}_{i,t+1}+\mathsf{\Delta}{Q}_{i,t+1}\right)\left({H}_{i,t+1}+\mathsf{\Delta}{H}_{i,t+1}\right)-{k}_{i}{Q}_{i,t+1}{H}_{i,t+1}\end{array}$$

When the outflow of reservoir i is changed and the water level of the downstream reservoirs remains the same, the inflow of all reservoirs in the downstream reservoir would be changed by the outflow of reservoir i. For one of the reservoirs downstream, the power generation at time period t is:

$$\{\begin{array}{l}\mathsf{\Delta}{Q}_{j,t}=\mathsf{\Delta}{Q}_{i,t}\\ \mathsf{\Delta}{H}_{j,t}=Z{d}_{j}\left({Q}_{j,t}\right)-Z{d}_{j}\left({Q}_{j,t}+\mathsf{\Delta}{Q}_{j,t}\right)\\ \mathsf{\Delta}{P}_{j,t}={k}_{j}\left({Q}_{j,t}+\mathsf{\Delta}{Q}_{j,t}\right)\left({H}_{j,t}+\mathsf{\Delta}{H}_{j,t}\right)-{k}_{j}{Q}_{j,t}{H}_{j,t}\end{array}$$

The power generation of the next reservoir i + 1 at time period t + 1 is:

$$\{\begin{array}{l}\mathsf{\Delta}{Q}_{j,t+1}=\mathsf{\Delta}{Q}_{i,t+1}\\ \mathsf{\Delta}{H}_{j,t+1}=Z{d}_{j}\left({Q}_{j,t+1}\right)-Z{d}_{j}\left({Q}_{j,t+1}+\mathsf{\Delta}{Q}_{j,t+1}\right)\\ \mathsf{\Delta}{P}_{j,t+1}={k}_{j}\left({Q}_{j,t+1}+\mathsf{\Delta}{Q}_{j,t+1}\right)\left({H}_{j,t+1}+\mathsf{\Delta}{H}_{j,t+1}\right)-{k}_{j}{Q}_{j,t+1}{H}_{j,t+1}\end{array}$$

For the solution adjustment, we need to adjust this to the better direction. Instead of a time-consuming fitness calculation of the incremental power generation ΔE, we only need to determine whether the incremental power generation ΔE is positive. If ΔE > 0, the adjustment will be made to give a better solution. Otherwise the previous solution is kept without change.

In this paper, we determine whether ΔE is positive from the calculation of the partial derivative of power generation E with respect to the gradient Δl, as given below. For the reservoir i at time period t shown in Equation (25), the partial derivative of power output is:

$$\{\begin{array}{l}\frac{\partial {Q}_{i,i}}{\partial l}=\underset{\mathsf{\Delta}l\to 0}{\mathrm{lim}}\frac{\mathsf{\Delta}{Q}_{i,t}}{\mathsf{\Delta}l}=\frac{1}{\mathsf{\Delta}{T}_{t}}\underset{\mathsf{\Delta}l\to 0}{\mathrm{lim}}\frac{{V}_{i}\left({Z}_{i,t}+\mathsf{\Delta}l\right)-{V}_{i}\left({Z}_{i,t}\right)}{\mathsf{\Delta}l}=\frac{1}{\mathsf{\Delta}{T}_{t}}\cdot {{V}^{\prime}}_{i}\left({Z}_{i,t}\right)\\ \frac{\partial {H}_{i,t}}{\partial l}=\underset{\mathsf{\Delta}l\to 0}{\mathrm{lim}}\frac{\mathsf{\Delta}l/2-Z{d}_{i}\left({Q}_{i,t}+\mathsf{\Delta}{Q}_{i,t}\right)+Z{d}_{i}\left({Q}_{i,t}\right)}{\mathsf{\Delta}l}=\frac{1}{2}-Z{{d}^{\prime}}_{i}\left({Q}_{i,t}\right)\cdot \frac{\partial {Q}_{i,t}}{\partial l}\\ \frac{\partial {P}_{i,t}}{\partial l}={k}_{i}\cdot \left({Q}_{i,t}\frac{\partial {H}_{i,t}}{\partial l}+{H}_{i,t}\frac{\partial {Q}_{i,t}}{\partial l}\right)\end{array}$$

For the reservoir i at time period t + 1 shown in Equation (26), the partial derivative of power output is:

$$\{\begin{array}{l}\frac{\partial {Q}_{t+1}}{\partial l}=\underset{\mathsf{\Delta}l\to 0}{\mathrm{lim}}\frac{V\left({Z}_{t}\right)-V\left({Z}_{t}+\mathsf{\Delta}l\right)}{\mathsf{\Delta}l\mathsf{\Delta}{T}_{t+1}}=-\frac{1}{\mathsf{\Delta}{T}_{t+1}}\cdot {V}^{\prime}\left({Z}_{t}\right)\\ \frac{\partial {H}_{t+1}}{\partial l}=\frac{1}{2}-\underset{\mathsf{\Delta}l\to 0}{\mathrm{lim}}\frac{Zd\left({Q}_{t+1}+\mathsf{\Delta}{Q}_{t+1}\right)-Zd\left({Q}_{t+1}\right)}{\mathsf{\Delta}l}=\frac{1}{2}-Z{d}^{\prime}\left({Q}_{t+1}\right)\cdot \frac{\partial {Q}_{t+1}}{\partial l}\\ \frac{\partial {P}_{t+1}}{\partial l}=k\cdot \left({Q}_{t}\frac{\partial {H}_{t+1}}{\partial l}+{H}_{t}\frac{\partial {Q}_{t+1}}{\partial l}\right)\end{array}$$

For the reservoir downstream at time period t shown in Equation (27), the partial derivative of power output is:

$$\{\begin{array}{l}\frac{\partial {Q}_{j,t}}{\partial l}=\frac{\partial {Q}_{i,t}}{\partial l}\\ \frac{\partial {H}_{j,t}}{\partial l}=\underset{\mathsf{\Delta}l\to 0}{\mathrm{lim}}\frac{Z{d}_{j}\left({Q}_{j,t}\right)-Z{d}_{j}\left({Q}_{j,t}+\mathsf{\Delta}{Q}_{j,t}\right)}{\mathsf{\Delta}l}=-Z{{d}^{\prime}}_{j}\left({Q}_{j,t}\right)\cdot \frac{\partial {Q}_{j,t}}{\partial l}\\ \frac{\partial {P}_{j,t}}{\partial l}={k}_{j}\cdot \left({Q}_{j,t}\frac{\partial {H}_{j,t}}{\partial l}+{H}_{j,t}\frac{\partial {Q}_{j,t}}{\partial l}\right)\end{array}$$

For the reservoir downstream at time period t + 1 shown in Equation (28), the partial derivative of power output is:

$$\{\begin{array}{l}\frac{\partial {Q}_{j,t+1}}{\partial l}=\frac{\partial {Q}_{i,t+1}}{\partial l}\\ \frac{\partial {H}_{j,t+1}}{\partial l}=-Z{{d}^{\prime}}_{j}\left({Q}_{j,t+1}\right)\cdot \frac{\partial {Q}_{j,t+1}}{\partial l}\\ \frac{\partial {P}_{j,t+1}}{\partial l}={k}_{j}\cdot \left({Q}_{j,t+1}\frac{\partial {H}_{j,t+1}}{\partial l}+{H}_{j,t+1}\frac{\partial {Q}_{j,t+1}}{\partial l}\right)\end{array}$$

According to the formulas above, the partial derivative of power generation E with respect to the gradient Δl is:

$$\frac{\partial E}{\partial l}=\mathsf{\Delta}{T}_{t}\frac{\partial {P}_{i,t}}{\partial l}+\mathsf{\Delta}{T}_{t+1}\frac{\partial {P}_{i,t+1}}{\partial l}+{\displaystyle \sum _{j=i+1}^{N}\left(\mathsf{\Delta}{T}_{t}\frac{\partial {P}_{j,t}}{\partial l}+\mathsf{\Delta}{T}_{t+1}\frac{\partial {P}_{j,t+1}}{\partial l}\right)}$$

If $\frac{\partial E}{\partial l}>0$, adjust the water level by Δl, otherwise adjustment is rejected. For the cascade system, the flowchart of the gradient-based search strategy is shown in Figure 2.

#### 4.3. Implementation of Gradient-Based Cuckoo Search (GCS) for Long-Term Hydropower Generation Scheduling (LHGS)

According to the description above, the steps to solve long-term scheduling problem using the cuckoo search algorithm with the gradient-based search strategy (GCS) are shown in Figure 3:

- Step 1:
- Randomly generate feasible initial solutions.
- Step 2:
- Evaluate fitness of the solutions.
- Step 3:
- Generate new solutions by Lévy flights.
- Step 4:
- If the new solution is infeasible, adjust it by two-way solution correction strategy.
- Step 5:
- Adjust the new solution by gradient-based search strategy.
- Step 6:
- Update the host nest.
- Step 7:
- Abandon the worst nest.
- Step 8:
- Repeat Steps 3 to 7 until the stop criteria is reached.

## 5. Case Study

#### 5.1. Study Area

The Jinsha River is the upper reach of the Yangtze River in south-west China. It flows through Qinghai, Sichuan and Yunnan provinces. The Jinsha River is rich in water resources, and is being heavily developed for hydroelectric power. In this case study, we discuss four hydropower stations with total installed capacity of 42,960 MW on the river, including Wudongde, Baihetan, Xiluodu and Xiangjiaba. The locations of these hydropower stations are signed in Figure 4, and the major parameters of these hydropower stations are listed in Table 1.

The aim of long-term hydropower generation scheduling is to determine the water release process of all hydropower stations at each period. The total power generation of different schemes will be different, thus we need a suitable method to solve this problem. In this case, we do the scheduling simulation of the cascade hydropower stations using the proposed GCS algorithm.

The topology of the four reservoirs in the Jinsha River is shown in Figure 5. The historical observed streamflow of Pingshan hydrological station is used as the input of the LHGS model.

#### 5.2. Benchmark Function Tests

To evaluate the performance of the proposed ICS, we chose several famous typical benchmark functions, shown in Table 2. Results obtained by proposed ICS algorithms are compared with that simulated by improved harmony search (IHS) [35], the Kbest gravitational search algorithm (KGSA) [36] and basic CS. Of the functions in Table 2, the Ackley function, Griewank function, Rastrigin function, Rosenbrock function and Happy Cat function are multimodal functions. The Sphere function, Bent Cigar function, Discus function and Schwefel 2.22 function are unimodal functions. These functions will be tested under sophisticated features such as shifted and rotated features.

Dimensions of the benchmark functions are set to 10. The maximum evaluation count is set to 100,000. The default parameters of ICS are $ns=30,{p}_{a}^{s}=0.3,\text{}{p}_{a}^{e}=0.1,sl=0.01,u=0,c=1.5$. The parameters of IHS and GSA are set to the default values in [35,36]. All of the experiments are performed using a computer with 2.7 GHz Intel i7-4800MQ with 8 GB RAM. The source code is compiled with Java SE8.

Table 3 shows the results of the algorithms including means and standard deviation based on 100 independent tests for each benchmark function. As demonstrated in Table 3, ICS performs superior to IHS, KGSA and CS in most functions except the shifted Rosenbrock function, shifted Happy Cat function, and rotated and shifted Ackley function. Especially on the Sphere, Bent Cigar and Discus, the means and standard deviations of ICS are extremely close to the optimal solutions, much better than other algorithms. While on Rosenbrock function, shifted Happy Cat function, rotated and shifted Ackley function, KGSA performs slightly better than ICS. Overall, ICS can find a satisfactory solution, meaning that the improvement is effective.

#### 5.3. Reservoir Scheduling in Wet Years

To evaluate the gradient strategy for reservoir scheduling, the optimal scheduling scheme of the cascade hydropower stations were obtained by using GCS and compared with those obtained by IHS, KGSA and CS. The parameter of GCS are $ns=40,\text{}{p}_{a}^{s}=0.3,\text{}{p}_{a}^{e}=0.1,sl=0.01,u=0,c=1.5$, and the maximum evaluation times is set to 12,000. The initial and end water levels of the reservoirs are set to their normal levels as shown in Table 1. Each month is divided into three periods of approximately 10 days each, resulting in 36 time intervals in a year. Each method is run 100 times, independently.

To evaluate the performance of GCS on reservoir scheduling in wet years, the streamflow of Pingshan station in Figure 6 was chosen as the input of the LHGS model. As shown in Equation (15), the water levels of the reservoirs at different time intervals are the optimization parameters. Because the water level at the 36th time interval is set to the normal water level, the optimization parameters of each reservoir are 35 and the number of reservoirs is 4, meaning that it is a 140-dimensional problem. Equation (1) is the fitness function of LHGS, and the larger power generation means a better scheduling solution.

Table 4 clearly shows that GCS is superior to the other three methods. The average power generation obtained by GCS is 232.2, 223.7, 226.3 and 248.4 billion kWh in the four wet years. Compared with IHS, KGSA and CS, the average increases are 4.2%, 8.6% and 2.6%, respectively. It is also noted that the standard deviation obtained by GCS is at least 10 times smaller than that obtained by the other three methods, thus indicating GCS is more stable. Figure 7 shows the convergence process of the four algorithms in the case of the year 1987 as an example. It can be seen from Figure 7 that GCS has the fastest convergence speed, IHS and ICS have not converged yet, while KGSA has fallen into a local optimum.

Figure 8 shows the optimal results of the four hydropower stations in the year 1987. As shown in Figure 6, the streamflow in 1987 increased significantly in July, August and September. The water levels also dropped below the flood limit water level during the flooding season. In the non-flooding season, the water levels remained at the normal level from November to March. The fluctuation of the water level obtained by GCS is small, indicating that it is an effective way to solve LHGS.

#### 5.4. Reservoir Scheduling in Normal Years

In this section, we evaluate the performance of GCS in normal years. Streamflows of the Pingshan station in Figure 9 were chosen as the input of the LHGS model. The parameters and other conditions were the same as those in Section 5.3.

As shown in Table 5, GCS gains more power generation than the other three methods. The average power generation obtained by GCS is 210.5, 220.5, 218.1 and 215.9 billion kWh in the four normal years. Compared with IHS, KGSA and CS, the average increases are 5.8%, 8.6% and 3.3%, respectively. The standard deviation obtained by GCS is also smaller than that obtained by the other three methods. Figure 10 shows the convergence process of the four algorithms in the case of the year 1997 as an example. It can be seen from Figure 10 that GCS has the fastest convergence speed. As in Section 5.3, KGSA does not perform well compared with the other methods.

#### 5.5. Reservoir Scheduling in Dry Years

In this section, we evaluate the performance of GCS in dry years. The streamflows of Pingshan station in Figure 11 were chosen as the input of the LHGS model. The parameters and other conditions were also the same as those in Section 5.3.

As in Section 5.3 and Section 5.4, GCS performed best in these four methods. The mean values obtained by KGSA are the smallest, while the standard deviations obtained by IHS are the largest. As shown in Table 6, the average power generation obtained by GCS is 199.2, 201.9, 194.4 and 197.7 billion kWh in the four normal years. Compared with IHS, KGSA and CS, the average increases are 5.0%, 7.7% and 3.2%, respectively. Figure 12 also shows that the convergence speed of GCS is the fastest. From Section 5.3, Section 5.4 and Section 5.5, it is clear that GCS can effectively obtain satisfactory results in different streamflow input scenarios.

## 6. Conclusions

The long-term hydropower generation of cascade reservoirs is one of the active research areas in water resources management. According to the operating characteristics of the reservoirs, we propose a gradient strategy to improve the performance of the cuckoo search algorithm when dealing with the LHGS problem. Moreover, the original CS algorithm is adapted with four improvements: a dynamic parameter adjustment of the parameter, a boundary value perturbation strategy for boundary value adjustment, a differential strategy for Lévy flight, and a different way to update solutions.

In the experimental work, the performance of the improvement is shown by several benchmark tests. Results show that the improved CS achieves better results than the other three methods. Finally, the improved CS is hybridized with the gradient strategy and is applied to the LHGS problem in the Jinsha River. The case study shows that the simulation results obtained by GCS are more reliable and stable than those obtained by IHS, KGSA and CS. Compared with IHS, KGSA and CS, the average increases are 4.2%, 8.6% and 2.6% in wet years, 5.8%, 8.6% and 3.3% in normal years, and 5.0%, 7.7% and 3.2% in dry years. The standard deviation obtained by GCS is smaller than that obtained by the other three methods. Overall, GCS can effectively obtain satisfactory results in different streamflow input scenarios.

However, simulation results show that ICS still has drawbacks such as local convergence when dealing with some functions. The uncertainty in reservoir generation scheduling is also not considered yet. Further research is underway to solve these problems.

## Acknowledgments

This work is supported by the National Key R&D Program of China (2016YFC0402205), the Key Program of the Major Research Plan of the National Natural Science Foundation of China (No. 91547208), the National Natural Science Foundation of China (No. 51479075, No. 51409008), and the National Public Research Institutes for Basic R&D Operating Expenses Special Project (no. CKSF2017008/SZ). We also acknowledge the entire development team, without whose help this research could not have been undertaken.

## Author Contributions

Yu Feng wrote the ICS and GCS algorithm. Chao Wang and Li Mo wrote the LHGS model. Jiang Wu, Zhe Yuan performed the experiments. Final checks were done by Jianzhong Zhou.

## Conflicts of Interest

The authors declare no conflict of interest.

## References

- Reddy, S.S.; Momoh, J.A. Realistic and transparent optimum scheduling strategy for hybrid power system. IEEE Trans. Smart Grid
**2015**, 6, 3114–3125. [Google Scholar] [CrossRef] - Reddy, S.S.; Abhyankar, A.R.; Bijwe, P.R. Market clearing for a wind-thermal power system incorporating wind generation and load forecast uncertainties. In Proceedings of the 2012 IEEE Power and Energy Society General Meeting, San Diego, CA, USA, 22–26 July 2012; pp. 1–8. [Google Scholar]
- Reddy, S.S.; Panigrahi, B.K.; Kundu, R.; Mukherjee, R.; Debchoudhury, S. Energy and spinning reserve scheduling for a wind-thermal power system using cma-es with mean learning technique. Int. J. Electr. Power Energy Syst.
**2013**, 53, 113–122. [Google Scholar] [CrossRef] - Reddy, S.S.; Bijwe, P.R.; Abhyankar, A.R. Real-time economic dispatch considering renewable power generation variability and uncertainty over scheduling period. IEEE Syst. J.
**2015**, 9, 1440–1451. [Google Scholar] [CrossRef] - Liao, X.; Zhou, J.; Ouyang, S.; Zhang, R.; Zhang, Y. An adaptive chaotic artificial bee colony algorithm for short-term hydrothermal generation scheduling. Int. J. Electr. Power Energy Syst.
**2013**, 53, 34–42. [Google Scholar] [CrossRef] - Tian, H.; Yuan, X.; Ji, B.; Chen, Z. Multi-objective optimization of short-term hydrothermal scheduling using non-dominated sorting gravitational search algorithm with chaotic mutation. Energy Convers. Manag.
**2014**, 81, 504–519. [Google Scholar] [CrossRef] - Wang, K.W.; Chang, L.C.; Chang, F.J. Multi-tier interactive genetic algorithms for the optimization of long-term reservoir operation. Adv. Water Resour.
**2011**, 34, 1343–1351. [Google Scholar] [CrossRef] - Zhang, H.; Zhou, J.; Fang, N.; Zhang, R.; Zhang, Y. An efficient multi-objective adaptive differential evolution with chaotic neuron network and its application on long-term hydropower operation with considering ecological environment problem. Int. J. Electr. Power Energy Syst.
**2013**, 45, 60–70. [Google Scholar] [CrossRef] - Liao, X.; Zhou, J.; Zhang, R.; Zhang, Y. An adaptive artificial bee colony algorithm for long-term economic dispatch in cascaded hydropower systems. Int. J. Electr. Power Energy Syst.
**2012**, 43, 1340–1345. [Google Scholar] [CrossRef] - Soares, S.; Ohishi, T.; Cicogna, M.; Arce, A. Dynamic Dispatch of Hydro Generating Units. In Proceedings of the 2003 IEEE Bologna Power Tech Conference, Bologna, Italy, 23–26 June 2003; Volume 2, p. 6. [Google Scholar]
- Cheng, C.T.; Liao, S.L.; Tang, Z.T.; Zhao, M.Y. Comparison of particle swarm optimization and dynamic programming for large scale hydro unit load dispatch. Energy Convers. Manag.
**2009**, 50, 3007–3014. [Google Scholar] [CrossRef] - Tu, M.-Y.; Hsu, N.-S.; Yeh, W.W.-G. Optimization of reservoir management and operation with hedging rules. J. Water Resour. Plan. Manag.
**2003**, 129, 86–97. [Google Scholar] [CrossRef] - Juhwan, Y. Maximization of hydropower generation through the application of a linear programming model. J. Hydrol.
**2009**, 376, 182–187. [Google Scholar] - Nanda, J.; Bijwe, P.R. Optimal hydrothermal scheduling with cascaded plants using progressive optimality algorithm. IEEE Trans. Power Appar. Syst.
**1981**, PAS-100, 2093–2099. [Google Scholar] [CrossRef] - Cheng, C.; Shen, J.; Wu, X. Short-term scheduling for large-scale cascaded hydropower systems with multivibration zones of high head. J. Water Resour. Plan. Manag.
**2011**, 138, 257–267. [Google Scholar] [CrossRef] - Chow, V.T.; Maidment, D.R.; Tauxe, G.W. Computer time and memory requirements for DP and DDDP in water resource systems analysis. Water Resour. Res.
**1975**, 11, 621–628. [Google Scholar] [CrossRef] - Cheng, C.; Wang, S.; Chau, K.W.; Wu, X. Parallel discrete differential dynamic programming for multireservoir operation. Environ. Model. Softw.
**2014**, 57, 152–164. [Google Scholar] [CrossRef] - Wang, C.; Zhou, J.; Peng, L.; Liu, Y. Long-term scheduling of large cascade hydropower stations in Jinsha River, China. Energy Convers. Manag.
**2015**, 90, 476–487. [Google Scholar] [CrossRef] - Beck, A.T.; Gomes, W.J.D.S. A comparison of deterministic, reliability-based and risk-based structural optimization under uncertainty. Probab. Eng. Mech.
**2012**, 28, 18–29. [Google Scholar] [CrossRef] - Yoo, D.G. Improved mine blast algorithm for optimal cost design of water distribution systems. Eng. Optim.
**2014**, 47, 1602–1618. [Google Scholar] - Almasi, M.H.; Sadollah, A.; Mounes, S.M.; Karim, M.R. Optimization of a transit services model with a feeder bus and rail system using metaheuristic algorithms. J. Comput. Civ. Eng.
**2015**, 29, 04014090. [Google Scholar] [CrossRef] - Moeini, R.; Soltani-Nezhad, M.; Daei, M. Constrained gravitational search algorithm for large scale reservoir operation optimization problem. Eng. Appl. Artif. Intell.
**2017**, 62, 222–233. [Google Scholar] [CrossRef] - Bianchi, L.; Dorigo, M.; Gambardella, L.M.; Gutjahr, W.J. A survey on metaheuristics for stochastic combinatorial optimization. Nat. Comput.
**2009**, 8, 239–287. [Google Scholar] [CrossRef] - Blum, C.; Roli, A. Metaheuristics in combinatorial optimization: Overview and conceptual comparison. ACM Comput. Surv.
**2003**, 35, 268–308. [Google Scholar] [CrossRef] - Yang, X.S.; Deb, S. Cuckoo search via levy flights. In Proceedings of the 2009 World Congress on Nature & Biologically Inspired Computing (NaBIC), Coimbatore, India, 9–11 December 2009; pp. 210–214. [Google Scholar]
- Ouyang, P.; Pano, V. Comparative study of de, pso and ga for position domain pid controller tuning. Algorithms
**2015**, 8, 697–711. [Google Scholar] [CrossRef] - Rabanal, P.; Rodríguez, I.; Rubio, F. Parallelizing particle swarm optimization in a functional programming environment. Algorithms
**2014**, 7, 554–581. [Google Scholar] [CrossRef] - Nguyen, T.T.; Vo, D.N. Modified cuckoo search algorithm for multiobjective short-term hydrothermal scheduling. Swarm Evol. Comput.
**2017**, 37, 73–89. [Google Scholar] [CrossRef] - Din, M.; Pal, S.K.; Muttoo, S.K.; Jain, A. Applying cuckoo search for analysis of lfsr based cryptosystem. Perspect. Sci.
**2016**, 8, 435–439. [Google Scholar] [CrossRef] - Bhateja, A.K.; Bhateja, A.; Chaudhury, S.; Saxena, P.K. Cryptanalysis of vigenere cipher using cuckoo search. Appl. Soft Comput.
**2015**, 26, 315–324. [Google Scholar] [CrossRef] - Naik, M.K.; Panda, R. A novel adaptive cuckoo search algorithm for intrinsic discriminant analysis based face recognition. Appl. Soft Comput.
**2016**, 38, 661–675. [Google Scholar] [CrossRef] - Walton, S.; Hassan, O.; Morgan, K.; Brown, M.R. Modified cuckoo search: A new gradient free optimisation algorithm. Chaos Solitons Fractals
**2011**, 44, 710–718. [Google Scholar] [CrossRef] - Mlakar, U.; Fister, I., Jr.; Fister, I. Hybrid self-adaptive cuckoo search for global optimization. Swarm Evol. Comput.
**2016**, 29, 47–72. [Google Scholar] [CrossRef] - Du, X.; Wang, J.; Jegatheesan, V.; Shi, G. Parameter estimation of activated sludge process based on an improved cuckoo search algorithm. Bioresour. Technol.
**2017**, 249, 447–456. [Google Scholar] [CrossRef] [PubMed] - Mahdavi, M.; Fesanghary, M.; Damangir, E. An improved harmony search algorithm for solving optimization problems. Appl. Math. Comput.
**2007**, 188, 1567–1579. [Google Scholar] [CrossRef] - Rashedi, E.; Nezamabadi-pour, H.; Saryazdi, S. Gsa: A gravitational search algorithm. Inform. Sci.
**2009**, 179, 2232–2248. [Google Scholar] [CrossRef]

**Figure 8.**The optimal results obtained by GCS in wet years: (

**a**) Wudongde; (

**b**) Baihetan; (

**c**) Xiluodu; and (

**d**) Xiangjiaba.

Parameters | Wudongde | Baihetan | Xiluodu | Xiangjiaba |
---|---|---|---|---|

Dead water level (m) | 945 | 765 | 540 | 370 |

Normal water level (m) | 977 | 825 | 600 | 380 |

Flood limit water level (m) | 952 | 785 | 560 | 370 |

Installed capacity (10^{4} kw) | 1020 | 1600 | 1260 | 600 |

Total capacity (10^{8} m^{3}) | 74.08 | 206.27 | 126.7 | 51.63 |

Minimum outflow (m^{3}/s) | 906 | 905 | 1500 | 1500 |

Function | Formula | Search Domain | Optimum |
---|---|---|---|

Ackley | $\begin{array}{l}{f}_{1}=-20\mathrm{exp}\left(-0.2\sqrt{\frac{1}{n}{\displaystyle \sum _{i=1}^{n}{x}_{i}^{2}}}\right)\\ -\mathrm{exp}\left(\frac{1}{n}{\displaystyle \sum _{i=1}^{n}\mathrm{cos}\left(2\pi {x}_{i}\right)}\right)+e+20\end{array}$ | [−32.768, 32.768] | $f\left(0,\cdots ,0\right)=0$ |

Griewank | ${f}_{2}=1+\frac{1}{4000}{\displaystyle \sum _{i=1}^{n}{x}_{i}^{2}}-{\displaystyle \prod _{i=1}^{n}\mathrm{cos}\left(\frac{{x}_{i}}{\sqrt{i}}\right)}$ | [−600, 600] | $f\left(0,\cdots ,0\right)=0$ |

Rastrigin | ${f}_{3}=An+{\displaystyle \sum _{i=1}^{n}\left[{x}_{i}^{2}-A\mathrm{cos}\left(2\pi {x}_{i}\right)\right]}$ | [−5.12, 5.12] | $f\left(0,\cdots ,0\right)=0$ |

Rosenbrock | ${f}_{4}={\displaystyle \sum _{i=1}^{n-1}\left[100{\left({x}_{i+1}-{x}_{i}^{2}\right)}^{2}+{\left({x}_{i}-1\right)}^{2}\right]}$ | [−5, 10] | $f\left(1,\cdots ,1\right)=0$ |

Sphere | ${f}_{5}={\displaystyle \sum _{i=1}^{n}{x}_{i}^{2}}$ | [−100, 100] | $f\left(0,\cdots ,0\right)=0$ |

Bent Cigar | ${f}_{6}={x}_{1}^{2}+{10}^{6}{\displaystyle \sum _{i=2}^{D}{x}_{i}^{2}}$ | [−100, 100] | $f\left(0,\cdots ,0\right)=0$ |

Discus | ${f}_{7}={10}^{6}{x}_{1}^{2}+{\displaystyle \sum _{i=2}^{D}{x}_{i}^{2}}$ | [−100, 100] | $f\left(0,\cdots ,0\right)=0$ |

Happy Cat | ${f}_{8}={\left|{\displaystyle \sum _{i=1}^{D}{x}_{i}^{2}}-D\right|}^{1/4}+\left(0.5{\displaystyle \sum _{i=1}^{D}{x}_{i}^{2}}+{\displaystyle \sum _{i=1}^{D}{x}_{i}}\right)/D+0.5$ | [−100, 100] | $f\left(-1,\cdots ,-1\right)=0$ |

Schwefel 2.22 | ${f}_{9}={\displaystyle \sum _{i=1}^{n}\left|{x}_{i}\right|}+{\displaystyle \prod _{i=1}^{n}\left|{x}_{i}\right|}$ | [−10, 10] | $f\left(0,\cdots ,0\right)=0$ |

Function | IHS | KGSA | CS | ICS | |
---|---|---|---|---|---|

Shifted Ackley | Mean | 4.17 × 10^{−03} | 6.41 × 10^{−15} * | 1.16 × 10^{−02} | 7.53 × 10^{−15} |

Stdv | 1.28 × 10^{−03} | 5.54 × 10^{−15} | 1.16 × 10^{−01} | 7.13 × 10^{−15} | |

Shifted Griewank | Mean | 2.34 × 10^{−02} | 1.50 × 10^{−02} | 1.44 × 10^{−01} | 4.04 × 10^{−05} |

Stdv | 3.36 × 10^{−02} | 2.01 × 10^{−02} | 1.32 × 10^{−01} | 1.85 × 10^{−04} | |

Shifted Rastrigin | Mean | 4.88 × 10^{−05} | 5.89 | 4.41 | 1.00 × 10^{−06} |

Stdv | 3.03 × 10^{−05} | 3.51 | 2.46 | 9.84 × 10^{−06} | |

Shifted Rosenbrock | Mean | 2.17 | 9.88 × 10^{−01} | 2.85 | 5.68 |

Stdv | 1.76 | 1.75 × 10^{−01} | 2.14 | 1.70 | |

Shifted Sphere | Mean | 2.27 × 10^{−07} | 6.88 × 10^{−32} | 2.71 × 10^{−26} | 0.00 |

Stdv | 1.41 × 10^{−07} | 5.78 × 10^{−31} | 9.62 × 10^{−26} | 0.00 | |

Shifted Bent Cigar | Mean | 3.48 × 10^{+01} | 5.76 × 10^{+02} | 6.54 × 10^{−15} | 0.00 |

Stdv | 2.50 × 10^{+01} | 8.49 × 10^{+02} | 7.40 × 10^{−15} | 0.00 | |

Shifted Discus | Mean | 1.70 × 10^{−02} | 9.08 × 10^{+03} | 7.25 × 10^{−15} | 0.00 |

Stdv | 2.74 × 10^{−02} | 3.27 × 10^{+03} | 7.14 × 10^{−15} | 0.00 | |

Shifted Happy Cat | Mean | 1.73 × 10^{−01} | 3.61 × 10^{−02} | 3.14 × 10^{−01} | 1.58 × 10^{−01} |

Stdv | 4.17 × 10^{−02} | 1.63 × 10^{−02} | 1.67 × 10^{−01} | 3.67 × 10^{−02} | |

Shifted Schwefel 2.22 | Mean | 2.03 × 10^{−03} | 4.51 × 10^{−13} | 5.48 × 10^{−13} | 1.11 × 10^{−14} |

Stdv | 5.72 × 10^{−04} | 2.35 × 10^{−12} | 2.97 × 10^{−12} | 5.92 × 10^{−15} | |

Rotated and Shifted Sphere | Mean | 2.25 × 10^{−07} | 1.63 × 10^{−01} | 8.81 × 10^{−15} | 0.00 |

Stdv | 1.59 × 10^{−07} | 9.49 × 10^{−01} | 6.93 × 10^{−15} | 0.00 | |

Rotated and Shifted Ackley | Mean | 7.33 × 10^{−01} | 6.66 × 10^{−15} | 2.53 | 4.22 × 10^{−12} |

Stdv | 1.03 | 6.89 × 10^{−15} | 1.08 | 4.21 × 10^{−11} |

*****PS: The number in bold represent the minimum value.

Algorithm | 1985 | 1987 | 1962 | 1990 | ||||
---|---|---|---|---|---|---|---|---|

Mean | Std. | Mean | Std. | Mean | Std. | Mean | Std. | |

IHS | 2216 | 27.94 | 2158 | 34.23 | 2171 | 39.95 | 2382 | 40.66 |

KGSA | 2135 | 12.48 | 2067 | 12.45 | 2076 | 9.70 | 2292 | 12.54 |

CS | 2250 | 10.77 | 2189 | 3.82 | 2214 | 5.33 | 2421 | 10.34 |

GCS | 2322 | 0.52 | 2237 | 0.02 | 2263 | 0.17 | 2484 | 0.52 |

Algorithm | 1997 | 1963 | 1970 | 1981 | ||||
---|---|---|---|---|---|---|---|---|

Mean | Std. | Mean | Std. | Mean | Std. | Mean | Std. | |

IHS | 1966 | 284.55 | 2107 | 29.49 | 2037 | 208.99 | 2065 | 35.92 |

KGSA | 1953 | 8.57 | 2021 | 204.31 | 1984 | 10.67 | 2007 | 10.42 |

CS | 2039 | 5.24 | 2140 | 11.24 | 2096 | 12.60 | 2098 | 6.48 |

GCS | 2105 | 0.38 | 2228 | 0.44 | 2181 | 0.13 | 2159 | 0.37 |

Algorithm | 1973 | 1977 | 1984 | 1982 | ||||
---|---|---|---|---|---|---|---|---|

Mean | Std. | Mean | Std. | Mean | Std. | Mean | Std. | |

IHS | 1893 | 37.97 | 1913 | 33.33 | 1862 | 31.05 | 1886 | 38.38 |

KGSA | 1851 | 6.98 | 1867 | 6.63 | 1809 | 6.63 | 1838 | 6.74 |

CS | 1928 | 6.09 | 1946 | 7.73 | 1894 | 4.48 | 1919 | 4.49 |

GCS | 1992 | 0.21 | 2019 | 0.07 | 1944 | 0.16 | 1977 | 0.17 |

© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).