Keywords

1 Introduction and Literature Review

Differential Evolution(DE) is most popular algorithm based on evolutionary algorithm which is developed by Price and Storn (1) for solving complex real life problem over different domains like continuous, discrete and combinatorial optimization problems. DE is easy to use, has a simple structure and has been applied to a wide variety of problems occurring in different domains. In the present study, DE is employed for determining the optimum release policy for reservoir operation. The case study is done for Mula river project, described briefly in Sect. 2. Some past instances of application of DE and its variants to reservoir operation problems are as follows:

The present study is divided into four sections first we introduce Differential Evolution and give the review of DE in reservoir problem, in second section we discuss the project of Mula river and In section third we discuss the results and lastly in section four we conclude our work.

1.1 Working of Differential Evolution

DE is works in two phases, first phase is initialization and the second phase is evolution. In first phase population is generated randomly and in the second phase, which is evolution, the generated population goes through mutation, crossover and selection process and the process is repeat until termination criteria is met.

  1. (a)

    Initialization: During initialization, a set of uniformly distributed population is generated as follows:

Let \( S^{G} = \left\{ {X_{j}^{G} :j = 1,2, \ldots ,NP} \right\} \) be the population at any generation \( G \), NP denotes the size of population. Here, \( X_{j}^{G} \) denotes a \( D \)-dimensional vector as \( X_{j}^{G} = \left\{ {x_{1,j}^{G} ,x_{2,j}^{G} , \ldots .,x_{D,j}^{G} } \right\}.X_{j}^{G} \) is generated using uniformly distributed random number \( rand\left( {0,1} \right) \)

$$ X_{j}^{G} = X_{low} + \left( {X_{upp} - X_{low} } \right)*rand\left( {0,1} \right) $$
(1)

Where \( X_{low} ,X_{upp} \) are lower and upper bounds of search space \( S^{G} . \)

Once the initial population is generated, the next phase of evolution is activated.

  1. (b)

    Evolution: This is the second phase where mutation, crossover and selection operations are performed.

Mutation:

In mutation we generate a mutant vector \( V_{j}^{G} \) for each target vector \( X_{j}^{G} \) at generation \( G \) as

$$ V_{j}^{G} = X_{r1}^{G} + F*\left( {X_{r2}^{G} - X_{r3}^{G} } \right) $$
(2)

Where \( F \) is the scaling factor and value of \( F \) is vary from 1 to 0 and \( r1,r2,r3 \in \left\{ {1,2, \ldots ,NP} \right\} \) are mutually different, randomly chosen vectors.

Crossover:

After mutation, crossover is done to generate a new vector called trial vector denoted as \( U_{j}^{G} = \left\{ {u_{1,j}^{G} ,u_{2,j}^{G} , \ldots .,u_{D,j}^{G} } \right\} \). Crossover is performed between target vector \( X_{j}^{G} = \left\{ {x_{1,j}^{G} ,x_{2,j}^{G} , \ldots .,x_{D,j}^{G} } \right\} \) and mutant vector \( V_{j}^{G} = \left\{ {v_{1,j}^{G} ,v_{2,j}^{G} , \ldots .,v_{D,j}^{G} } \right\} \) using a crossover probability \( Cr \) whose value is between \( 0 \,to \,1 \). \( U_{j}^{G} \) is generated as

$$ u_{i,j}^{G} = \left\{ {\begin{array}{*{20}c} {v_{i,j}^{G} } & {if \,rand_{j} \le Cr} \\ {x_{i,j}^{G} } & {otherwise} \\ \end{array} } \right. $$
(3)

Where \( i \in \left\{ {1,2, \ldots ,D} \right\} \,and\, Cr \, \in \left[ {0,1} \right] \)(Figs. 1, 2, 4, 5 and Table 1).

Fig. 1.
figure 1

Working strategy of differential evolution

Fig. 2.
figure 2

Map of Mula project

Fig. 3.
figure 3

Variables associated with a reservoir problem

Fig. 4.
figure 4

Flowchart showing the steps used in reservoir operation optimization using DE

Fig. 5.
figure 5

Monthly inflow vs demand

Table 1. DE and its variants for reservoir problems.

Selection:

In this operation, a comparison is done between the target vector and trial vector according to their fitness value. The one having better fitness survives to the next generation. This operation is perform as:

$$ X_{j}^{G + 1} = \left\{ {\begin{array}{*{20}r} \hfill {U_{j}^{G} } & \hfill {if\, f\left( {U_{j}^{G} } \right) \le \, f\left( {X_{j}^{G} } \right)} \\ \hfill {X_{j}^{G} } & \hfill { otherwise} \\ \end{array} } \right. $$
(4)

Mutation, Crossover and selection of evolution phase are repeated till a predefined termination criteria is satisfied.

figure a

2 Case Study

The area of study selected is ‘Mula project’, a major irrigation project on the river Mula, tributary of Pravara, sub-tributary of Godavari. This multipurpose project provides irrigation water supply to Ahmednagar city and fulfils the water supply needs of industries and villages. It has two canals, right bank canal and left bank canal and distribution system to create an irrigation potential of 80,810 ha. Both the canals are perennial taking off from the reservoir. Average rainfall in this area is about 500 mm. in lower catchment (but in upper catchment it is 5080 mm. which is sufficient). Major portion of irrigated land is black cotton soil. Evaporation is moderate.

2.1 Development of Reservoir Operation Models

The purpose of developing an optimal reservoir operation is to obtain a policy for regulating the water in a reservoir while satisfying the desired objectives. Here we assume that operating policy is composed of decision variable which is the release from the reservoir at each time period. The objective is to minimize the squared deviation of release from the target demands. Figure 3 shows a single reservoir system and the variables associated with a reservoir operation problem.

There are upper and lower limits for releases and storages. These limitations form the constraints of the problem. Another constraint of the problem is due to continuity equation which is to be satisfied for each time period.

Mathematical model:

In general a reservoir operation optimization problem may be expressed as

The objective function is:

Minimization of squared deviation from target demands

$$ g_{t} \left( {R_{t} } \right) = Min\sum\nolimits_{t = 1}^{N} {\left( {Q_{t} - D_{t} } \right)^{2} } $$
(5)

Where \( g_{t} \left( {R_{t} } \right) \) is function of release at time period t. \( Q_{t} \) is the release for period t and \( D_{t} \) is target demand for time period t.

Satisfy the continuity equation, which is stated as:

$$ S_{t + 1} = S_{t} + I_{t} - Q_{t} - Evp_{t} \,\forall t = 1, \ldots ,N $$
(6)

where \( S_{t} \), \( I_{t} \) and \( R_{t} \) are the storage, inflow and releases for the given reservoir at time period t and N is the time horizon for the problem under consideration. \( Evp_{t} \) is evaporation from reservoir surface during time period t, respectively.

Limits on storage impose constraints of the form

$$ S_{min} \le S_{t} \le S_{max} \forall t = 1, \ldots ,N $$
(7)

This ensure that the storage \( (S_{t} ) \) will remain within specified minimum and maximum storages.

Limits on release

$$ Q_{min} \le Q_{t} \le Q_{max} \forall t = 1, \ldots ,N $$
(8)

Where release \( (Q_{t} ) \) should be within specified minimum and maximum range.

Releases are the decision variables in the problem. Constraints of releases are identified during generation of initial population and as a matter of fact they are satisfied. Continuity equation is readily satisfied since the storages are computed by making use of continuity equation given in Eq. (6).

3 Experimental Settings

The present study is done for 12 months. There are two constraints in this problem on storage and release. Programming is done in MATLAB. The MATLAB program is run for \( \varvec{NP} = {\mathbf{20}}\varvec{ }\,\varvec{and}\,\varvec{Max}\_\varvec{Gen} = {\mathbf{500}} \). The program is run on computer with configuration of 16 GB RAM Intel(R) Xeon(R) CPU 3.50 GHz. The search area is shown in Table 2 and Fig. 6. The release of the problem is shown in Table 3 and Fig. 7

Table 2. Monthly release limits
Fig. 6.
figure 6

Monthly demand

Table 3. Monthly release and storage using DE
Fig. 7.
figure 7

Release policy of reservoir using DE

Results of Reservoir Problem using Differential Evolution

No. Of Generation = 500 Population size = 20

Objective value = 7.7017e-04 Time elapsed = 0.527234 s

Release policies and Objective values of GA and PSO is shown in

Table 4 and Comparison between DE, PSO and GA is shown in Fig. 8.

Table 4. Release policies of GA and PSO
Fig. 8.
figure 8

Comparison on release policy of DE, PSO and GA

4 Conclusion

This paper presents an application of DE for finding the optimum release policy for Mula river reservoir. The numerical results obtained by DE are compared with GA and PSO. It is observed that the release policy obtained by the three algorithms is more or less similar to each other but in terms of objective function value PSO and DE give much better results in comparison to GA. While in terms of computational time, DE gave the best results in comparison to the other two algorithms. In this paper the case study is done for a single year but as we increase the size of the problem, the complexity will also increase. Therefore presently the authors are working on modifying the DE/PSO algorithms for solving large scale reservoir problems.