1 Introduction

Dynamic load economic dispatch (here in after referred to as DLED) refers to the planning of the load dispatch of the online generators supply under known load dispatch in a certain period of time. The output of the generating unit is optimized under the condition of satisfying the system operating constraints, achieving the lowest total power generation costs of the power system [1,2,3].

Because of the complex structure, variable parameter,nonlinear characteristics of the unit and valve point effect (VPE) of the consumption curve, the power system mathematically presents a complex programming problem with non-linearity, high dimension, multi-constraint and difficult dimension, and it is difficult to solve the optimal DLED solution in theory. At present, the conventional methods of solving include dynamic programming (DP), Lagrange multiplier (LM), quadratic programming (QP), liner programming (LP), etc. but these methods are difficult to achieve the desired effect [3,4,5].

In recent years, the development of artificial intelligence and computer technology has provided new paths and methods for solving DED problems. Genetic algorithm (GA), artificial neural network (ANN), ant colony optimization (ACO), particle swarm algorithm (PSO) have achieved certain achievements in this field [4,5,6,7].

Differential evolution (DE) is a relatively new evolutionary algorithm based on Swarm Intelligent (SI) random search, which has been applied in engineering applications such as image restoration, aerodynamic optimization design and motor parameter identification. It has the advantages of fast convergence, good robustness, few parameters,simple program realization, etc. The disadvantages are that the optimization process sometimes falls into early maturity, or the convergence rate decreases [5,6,7,8].

In this paper, an improved differential evolution (IDE) is proposed, which is applied to the power system DLED based on full validation of the performance of the algorithm.

2 Basic DE algorithm

DE algorithm was first proposed by Rainer Storn and Kenneth Price in 1995 to solve the Chebyshev polynomial problem. The basic strategy is: set an initial population vector, and the difference vector of two randomly selected vectors is used as the third vector, and then the mutation is performed on the current population to produce a new individual. Through cross operation, we choose whether the new individual produced by the mutation is retained in the population, recombine to produce a new generation of population, and gradually make the population evolve to the target state of the optimal solution. Set \(X_{i, G}\) as the problem vector of the Gth generation [6,7,8,9].

The variation vector \(V_{i,G}\) is defined as:

$$\begin{aligned} V_{i,G} =X_{r{1},G} +F(X_{r2,G} -X_{r3,G} ) \end{aligned}$$
(1)

where \(i\,=\,1, 2,\ldots {ps}, {ps}\) is the population size, \(r1, r2 \,\hbox {and} r3\) belong to different individuals in the population.

As in the other algorithms, in order to increase the diversity of the interference parameter vector, in the DE algorithm, the cross operation is introduced, and the target vector is generated by selecting the variation vector and the source vector in the population. The “greedy” selection pattern is usually used, that is, if and only if the target evaluation function value of the new individual is better, the new individual is retained in the next generation of group, otherwise the parent individual remains in the group and once again serve as the parent vector of the next generation.

The target vector is:

$$\begin{aligned} U_{ji,G} =(U_{1i,G}, U_{2i,G},\ldots U_{Di,G} ) \end{aligned}$$
(2)

where \(j\,=\,1, 2,\ldots {D}, {D}\) is the dimension of the problem.

The formula for each component is:

$$\begin{aligned} U_{ji,G} =\left\{ {\begin{array}{l} V_{ji,G} ,\hbox {if}\, rand_j (0,1)\le CR \vee {}j=k \\ X_{ji,G} ,\hbox {otherwise} \\ \end{array}} \right. \end{aligned}$$
(3)

where \({CR} \in [0, 1]\) is the algorithm parameter, which needs to be determined in advance. It controls the diversity of the population and helps the algorithm detach from the local optimal solution. K is an integer chosen randomly from the dimension of the problem to ensure that one digit in the operation must be crossed. \(\hbox {rand}_{j}(0, 1)\) is the control parameter randomly selected for the jth dimensional component.

3 IDE algorithm

Although the basic DE algorithm can solve the problem of target optimization, it is easy to fall into the local optimization and is difficult to jump out of local optimization to global optimization. To solve the premature, we need to adopt some strategies to strengthen the global search ability. To avoid falling into the local optimization, that is, to maintain the diversity of groups, we need to adopt self-adaptive mutation method to deal with repeated individuals.

DE/target-to-best algorithm strategy variation vector \(V_{i,G}\) is defined as:

$$\begin{aligned} V_{i,G}= & {} x_{r1,G} +F(pbestx_{i,G} -x_{i,G} ) \nonumber \\&\quad +F(x_{r2,G} -x{ }_{r3,G}) \end{aligned}$$
(4)

where \(pbestx_{i,G} \) is the previous optimal vector, and substituting the cross vector in formula (1) with the cross vector in formula (4) is the basic method of the IDE algorithm.

For example, a solution of the minimum value by using DE and IDE algorithms are described as follows

figure b

\(X_{\mathrm{i}-}\) the ith vector in the population vector, \(V_{i}\) -the variation vector of \(X_{\mathrm{i}}, U_{i}\) target vector, NE evolution iteration variable, and the preset maximum iteration number of \({MAX}_{NE-}\).

To verify the excellent convergence performance of the IDE algorithm, ten target minimization functions are selected, including four unimodal functions \((f_1-f_4 )\) and six multimodal functions \((f_5-f_{10} )\). The program is programmed with different algorithms. The functions are shown in Table 1 [4].

Table 1 Ten target to minimize test functions

In the software parameter settings, for the IDE algorithm, CR takes 0.55, F takes 0.3; for the DE and IDE algorithms, the population size takes 150, \({MAX}_{NE}\) is set to 1,000,000 in the program test. Each function runs 30 times using the two algorithms, the best deviation and standard deviation of the ten functions are shown in Table 2. It can be seen from Table 2 that the results of function \(f_3 \) are consistent under the two algorithms, the best deviation of function \(f_5 \) using DE algorithm is less than that of the IDE, and the other deviation index using IDE algorithm is superior to that of the DE [10,11,12,13].

Table 2 The test results of DE and IDE

Select functions \(f_{1}, f_{2}, f_{4}, f_{5}\) and show their evolution process under DE and IDE algorithms, seen from Figs. 1, 2, 3 and 4, under the same number of iterations, the best fitness value (log) obtained by IDE algorithm is less than that of the DE algorithm, indicating that the IDE algorithm makes it easier for the function to approach the target minimum value.

Fig. 1
figure 1

Mean best fitness (log) comparision of \( f_{1}\)

Fig. 2
figure 2

Mean best fitness (log) comparision of \(f_{2}\)

Fig. 3
figure 3

Mean best fitness (log) comparision

Fig. 4
figure 4

Mean best fitness comparision of f5

NSDE, SaDE, IDE algorithms are used for test and comparison, \({MAX}_{NE}\) is set to 150,000 in the program test, the remaining software parameters are set the same as before, the best deviation values obtained by the three algorithms are shown in Table 3.

The results show that functions \(f_{3}\) and \(f_{5}\) obtained the same results by the three algorithms, functions \(f_{6},f_{9}\) and \(f_{10}\) obtained better results by SADE algorithm compared with IDE algorithm, function \(f_{6}\) obtained better results by NSDE algorithm compared with IDE algorithm, the other functions obtained the best results by IDE algorithm.

Table 3 Results achieved by NSDE, SaDE, IDE

4 DLED based on IDE algorithm

D The target function of the DED problem can be expressed as

$$\begin{aligned} \hbox {Minimize} F=\sum \limits _{t=1}^T \sum \limits _{i=1}^{N_g } {FC(i,t)} \end{aligned}$$
(5)

where F is the total power generation cost of the system; Ng is the total number of generators in the system; FC (i, t) is the active power of the ith generator at moment t; T is the system operating time [13,14,15,16,17].

The consumption characteristics of the ith generator can be expressed as

$$\begin{aligned} FC(i,t)= & {} a_{i}+b_{i}P_{it}+c_{i}P_{it}^{2}+\left| e_{i} \right. \nonumber \\&\quad \left. \times \sin \left\{ f_{i} \times (P_{it}^\mathrm{min} - P_{it})\right\} \right| \end{aligned}$$
(6)

where \(e_{i}, f_{i}\) are the specific changes of generator consumption of the ith generator caused by VPE (the superimposed pulse effect on the unit’s consumption curve resulting from wire drawing phenomenon in sudden opening of turbine intake valve) effect coefficient.

The constraints of the DED problem are:

Power balance constraint

$$\begin{aligned} \sum _{i=1}^{N_g } {P_{it}^ -P_{Dt} -P_{Lt} =0} \end{aligned}$$
(7)

where, t-1, 2,...T, \(P_{Dt} \)– the total load demand at moment t, \(P_{Lt} \)-the line transmission loss at moment t, all can be calculated by formula (8).

$$\begin{aligned} P_{Lt} =\sum _{i=1}^{N_g } \sum _{j=1}^{N_g } {P_{it} B_{ij} P_{jt} } \end{aligned}$$
(8)

Generator operating capacity constraint

$$\begin{aligned} P_i^{\min } \le P_{it} \le P_i^{\max } \end{aligned}$$
(9)

where, \(P_i ^{\min }\) represents the minimum unit output, \(P_i ^{\max }\) represents the maximum unit output.

Constraints of unit output climbing

$$\begin{aligned} P_{it} -P_{i(t-1)}\le & {} UR_i \end{aligned}$$
(10)
$$\begin{aligned} P_{i(t-1)} -P_i\le & {} DR_i \end{aligned}$$
(11)

where \(UR_i \) is the lower limit value of the climbing constraints for unit i, \(DR_i \) is the upper limit value of the climbing constraints for unit i.

Based on the above unit operating constraints, the algorithm steps to solve the DED problem by using the IDE algorithm are as follows:

\({\textcircled {1}}\) Initialization

The power generation of the \( i_{th}\) generator t at moment t is

$$\begin{aligned} P_{it} =P_i^{\min } +\rho \left( P_i^{\max } -P_i^{\min } \right) \end{aligned}$$
(12)

where \(\rho [0,1]\)- represents a randomly assigned factor.

The DED target function is:

$$\begin{aligned} \hbox {Minimize}\,F=\sum _{t=1}^T {\sum _{i=1}^{N_g } {FC(P_{it} )+\sum _{Z=1}^{N_C } {\lambda _Z \left| {VIOL_Z } \right| } } } \end{aligned}$$
(13)

To suppress the variation of grid power ratio, the modified DLED minimum function is used, where \(\lambda \) is the penalty factor, \(N_{C}\) is the number of suppression numbers, VIOL is the suppression amplitude.

The IDE algorithm variation vector is

$$\begin{aligned} \hat{V}_{b,G+1} =V_{P,G} +F\times (PbestV_{i,G} -V_{i,G} )+F(V_{j,G} -V_{k,G} ) \end{aligned}$$
(14)

where, j and  k are random numbers. G represents evolutionary algebra.

\({\textcircled {2}}\,\)Selection

$$\begin{aligned} V_{b,G+1} =\left\{ {\begin{array}{ll} \hat{V}_{b,G+1} ,&{} \hbox {if} F\left( {\hat{V}_{b,G+1} } \right) <F\left( {\hat{V}_{b,G}} \right) \\ \hat{V}_{b,G+1} -\alpha \nabla \Psi ,&{} \hbox {otherwise} \\ \end{array}} \right. \nonumber \\ \end{aligned}$$
(15)

where, \(V_{b,G+1} \) represents the selection result, \(\nabla \Psi \) represents the finite amplitude that can be calculated. The new \(V_{b,N} \) can be solved by constantly correcting the replacement factor \(\alpha \) [0, 1] and finally satisfy:

$$\begin{aligned} F\left( {V_{b,N} } \right) <F\left( {V_{b,G+1} } \right) \end{aligned}$$
(16)

and then replace the worst individuals in the population with \(V_{b,N}\) to improve the speed of rapid convergence of the system.

Table 4 Generator parameters of generators 5 buses
Table 5 Load demand for 24 hours

\({\textcircled {3}}\) Propagation

With the continuous evolution of the population, each individual is gradually close to the optimal individual, the difference vector generated by the mutation operation in the algorithm will gradually become smaller, which will weaken the diversity of the algorithm search space to a certain extent. Therefore, some mutation operations are necessary, so that the mutated vector can open up new search space, so as to improve the global optimization ability of the algorithm. The small cross factor causes the population to produce fewer new individuals after the cross operation, thus weakening the ability of the algorithm to develop new space. While large cross factors cannot keep the population stable and will reduce the stability of the algorithm.

The new individual is generated based on the previous optimum of \(V_{hb,G+1}\), the hth gene of the ith individual can be described as:

$$\begin{aligned}&V_{hi,G+1} \nonumber \\&\quad =\left\{ {\begin{array}{ll} V_{hb,G+1} +\delta _{hi} \left( {V_{h\min } -Z_{hb}^{G+1} } \right) ,\hbox {if}\,\tilde{\delta }_{hi} <\frac{V_{hb,G+1} -V_{h\min } }{V_{h\max } -V_{himn} } \\ V_{hb,G+1} +\delta _{hi} \left( {V_{h\max } -V_{hb,G+1}} \right) ,\,\hbox {otherwise}\\ i\,=\,1,\ldots ,N_P ,h=1,\ldots ,n \\ \end{array}} \right. \nonumber \\ \end{aligned}$$
(17)

where \(\delta \) and \(\tilde{\delta }\) are two different random numbers. In order to make the new individual join the search population and help the system to avoid early aging, the propagation operation in the algorithm can be controlled by making the group density p less than the expected tolerance density \(\varepsilon 1\) in formula (18).

$$\begin{aligned} p=\frac{\left\{ {\sum \limits _{\begin{array}{l} i=1 \\ i\ne b \\ \end{array}}^{N_P } {\left( {\sum \limits _{h=1}^n {\eta _z } } \right) } } \right\} }{n\left( {N_p -1} \right) }<\varepsilon 1 \end{aligned}$$
(18)

where

$$\begin{aligned} \eta _z =\left\{ {\begin{array}{l} 1,\hbox {if}\left| {\frac{V_{hi} -V_{hb} }{V_{hb} }} \right| >\varepsilon \\ 0,\hbox {otherwise} \\ \end{array}} \right. \end{aligned}$$
(19)

Reproduce new individuals by this method until no better individual is produced.

5 Computer simulation

Select five power generation units as the test system, the generator data parameters are as shown in Table 4, the load demand side considers the 24-hour change as shown in Table 5. In order to illustrate the robustness of the system, the test system takes into account the VPE effect, but eliminates the generator limit band, the effect data can be found in the reference [18,19,20,21,22,23].

Figure 5 is the dispatch plan of the 5 node units and the total dynamic load obtained by IDE algorithm.

Fig. 5
figure 5

Optimal generation schedules for 5 generators based on IDE

The relationship between total unit cost curve and the number of iterations in DED problem obtained by using the IDE algorithm, GAGA, PSOPS are as shown in Fig. 6.

Fig. 6
figure 6

Cost curves of different algorithms

From the simulation results in Fig. 6, it can be seen that the cost of the dispatch plan of unit dynamic load obtained by the IDE algorithm is less than that of DE, GA and PSO, verifying the good performance of IDE algorithm in solving the unit DLED.

6 Conclusion

DLED is one of the key technologies in power system optimization and this paper proposes and validates an improved DE. Through a comparison test of ten typical target optimization functions, compared with NSDE, SaDE and basic DE algorithms under the same number of iterations, IDE algorithm target function shows the best fitness. By applying IDE algorithm to power system DLED and comparing the cost curves under different algorithms, the result of IDE algorithm is the least cost and the convergence rate is the fastest compared with PSO, GA and DE algorithms.