1 Introduction

As a quintessence of nonlinear systems, chaos is a bounded unstable dynamic behavior that exhibits sensitive dependence on the initial conditions and includes infinite unstable periodic motions [1]. Chaos has been applied in many academic and engineering fields, such as communication, economic system, and optimization. During the last decade, we have viewed significant progresses on deal with the parameters of chaotic systems. Moreover, in the real world, the parameters may be difficult to determine due to the complexity of chaotic systems. Therefore, the parameter estimation for chaotic system has become an important issue of nonlinear science. So far, different kinds of classical techniques have been advanced to handle these problems [27].

Among them, meta-heuristic-based method, such as genetic algorithm (GA), particle swarm optimization algorithm (PSO), and differential evolution algorithm (DE) [2, 5, 6, 8], may be one of the most popular methods by defining the problem as a multi-dimensional optimization problem. Parameter estimation for chaotic systems using these heuristic algorithms is reported in some research. The paper [9] proposes a variant of particle swarm optimization, called Drift particle swarm optimization, and applies it in estimating the unknown parameters of chaotic dynamic systems. The principle and procedure of DPSO are presented, and the algorithm is used to identify the Lorenz system and the Chen system. Experimental results show that the DPSO can identify the parameters of the systems accurately and effectively, and may be a promising tool for chaotic system. The paper [3] presents that a PSO approach is implemented to solve parameter estimation for chaotic systems. In this paper, parameter estimation for chaotic system is formulated as a multi-dimensional optimization problem. The paper [9] combines biogeography-based optimization with differential evolution and simplex search to develop an effective hybrid algorithm for parameter estimation for chaotic system that is formulated as a multi-dimensional optimization problem. Numerical simulation based on two chaotic systems and comparisons with some existing methods demonstrate the effectiveness of the proposed algorithm. The paper [10] presents an effective hybrid quantum-inspired evolutionary algorithm with differential evolution to estimate the parameters of the Lorenz system. Numerical simulation and comparisons show that the proposed algorithm is effective and efficient.

Differential evolution algorithm [11] and artificial bee colony algorithm (ABC) [12] are two novel meta-heuristic algorithms introduced recently and have gained significant attention in the research literatures [13, 14]. DE is a simple yet powerful population-based, direct search algorithm with the generation and test feature for global optimization problems. The basic idea of DE is to create new candidate solutions by combining the parent individual and several other individuals of the same population, and a candidate solution replaces the parent only if it has better fitness. Artificial bee colony algorithm is a population-based heuristic evolutionary algorithm inspired by the intelligent foraging behavior of the honeybee swarm.

On the other hand, although meta-heuristic methods have been proved to have superior features to other traditional methods, they often suffer some limitations. In some cases, they may easily fall into the local minimum or converge too slowly. For example, for DE algorithm, it is good at exploring the search space and locating the region of global minimum but it is slow at exploitation of the solution [11]. Recently, researchers have found that a skilled combination of two meta-heuristic techniques can improve the performance of the algorithms obviously when dealing with real-world and large-scale problems [15]. Several hybrid heuristic-based optimization methods have been investigated in the past few years [16, 17]. However, this field of study is still in its early days; a large number of future researches is necessary in order to develop hybrid algorithm for optimization problems.

In this paper, parameter estimation for chaotic system is formulated as a multi-dimensional optimization problem; and a hybrid differential evolution algorithm and artificial bee colony algorithm are implemented to solve this problem. Hybrid bee operator is proposed to combine the DE operator with the ABC operation. It can balance the exploration and exploitation of the algorithm. To the best of our knowledge, this is the first paper to apply hybrid differential evolution algorithm and artificial bee colony to estimate the parameter of chaotic system. Experiments have been conducted on the Lorenz system and the Chen system. Simulation results and comparisons demonstrate the effectiveness of the proposed algorithm compared with other algorithms.

The rest of this paper is organized as follows: in Sect. 2 we will give the problem formulation. Section 3 describes the differential evolution algorithm. Section 4 describes the artificial bee colony algorithm. In Sect. 5, we introduce the hybrid algorithm. Benchmark problems and the corresponding experimental results are given in Sect. 6. In the last section we conclude this paper and point out some future research directions.

2 Problem formulation

This section describes the chaotic system. Let

$$\begin{aligned} \mathop {X}\limits ^{\bullet } =F(X,X_0,\theta _0) \end{aligned}$$
(1)

be a continuous nonlinear chaotic system, where the state vector of the chaotic system is \(X=(x_{1}, x_{2},\) \( \ldots , x_{N})^{\prime }\in R^{n}\), \(\mathop {{X}}\limits ^{\bullet }\) is the derivative of \(X\), and \(X_{0}\) denotes the initial state. \(\theta _{0}=(\theta _{10}, \theta _{20}, \ldots , \theta _{d0})^{\prime }\) are the original parameters.

Suppose the structure of system (1) is known, then the estimated system can be written as

$$\begin{aligned} \mathop {\tilde{X}}\limits ^{\bullet } =F(X,X_0,\tilde{\theta }), \end{aligned}$$
(2)

where \(\tilde{X}=(\tilde{x}_1,\tilde{x}_2,\ldots ,\tilde{x}_N)'\in R^{n}\) denotes the state vector, and \(\tilde{\theta }=(\tilde{\theta }_1,\tilde{\theta }_2,\ldots ,\tilde{\theta }_d)'\) is a set of estimated parameters.

Based on the measurable state vector \(X=(x_{1}, x_{2}, \) \( \ldots , x_{N})^{\prime }\in R^{n}\), we define the following objective function or fitness function

$$\begin{aligned} f\left( \tilde{\theta }_i^n\right)&= \sum _{t=0}^W \left[ (x_1 (t)-x_{i,1}^n (t))^{2}+\cdots \right. \nonumber \\&\qquad \quad \left. +\,(x_N (t)-x_{i,N}^n (t))^{2}\right] , \end{aligned}$$
(3)

where \(t = 0, 1,\ldots , W\). The goal of estimating the parameters of chaotic system (2) is to find out the suitable value of \(\tilde{\theta }_i^n\) such that fitness function (3) is globally minimized.

Obviously, the parameter estimation for chaotic system is a multi-dimensional continuous optimization problem, where the decision vector is \(\theta \) and the optimization is to minimize \(f(\tilde{\theta }_i^n)\). Figure 1 shows the principle of parameter estimation for chaotic system in a sense of optimization.

Fig. 1
figure 1

The principle of parameter estimation for a chaotic system

The chaotic systems are not easy to estimate because of the unstable dynamic of the chaotic system. Moreover, due to multiple variables in the problem and multiple local search optima in the objective functions, traditional optimization can easily trap in local optima. Therefore, we aim to solve this problem by proposing a hybrid differential evolution and artificial bee colony algorithm in this paper.

3 Differential evolution algorithm

Differential evolution (DE) is a simple optimization method that has parallel, direct search, easy to use, good convergence, and fast implementation properties. Similar to other evolutionary algorithms particularly genetic algorithm, DE uses some evolutionary operators like selection recombination and mutation operators. Different from genetic algorithm, DE uses distance and direction information from current population to guide the search process. The crucial idea behind DE is a scheme for generating trial parameter vectors. If the trail vector yields a smaller value than a predetermined population member, the newly trail vector will be accepted and be compared in the following generation. Different kinds of strategies of DE have been proposed based on the target vector selected and the number of difference vectors used. In this paper, we use the DE/rand/2/bin mutation strategy as the final mutation strategy. The detail description of the differential evolution algorithm can be found in the paper [18].

4 Artificial bee colony

Artificial bee colony introduced by Karaboga in 2005 is the recent swarm-based evolutionary computation technique and models the foraging behavior of honey bees. In this algorithm, the model of the ABC algorithm consists of three groups of bees: employed bees, onlooker bees, and scout bees. For each food source, there is only one employed bee. In other words, the number of bees is equal to the number of food sources. Employed bees are responsible for exploiting the sources explored before, and sharing their information with onlookers within the hive. After that, the onlookers will select one of the food sources within the neighborhood of the food source. An employed bee becomes a scout if the food source is abandoned, and then starts to search a new food source randomly [9]. The main steps of the ABC algorithm simulating these behaviors are listed below:

figure a

As we can see in the algorithm, each cycle of the search consists of three steps: moving the employed and onlooker bees onto the food sources; calculating their nectar amounts, respectively; and then determining the scout bees and moving them randomly onto the possible food source. Here, a food source stands for a potential solution of the problem to be optimized. The ABC algorithm is an iterative algorithm. The detail description of the artificial bee colony can be found in the paper [19].

5 Our approach: DE/ABC

As mentioned above, DE can explore the search space better and find the region of global minimum. However, it is slow at exploitation of the optimal solution. In ABC, employed bees are responsible for exploiting the nectar sources explored before and giving information to the waiting bee in the hive about the quality of the food source sites which they are exploiting. Onlooker bees wait in the hive and decide on a food source to exploit based on the information shared by the employed bees. The algorithm has a good exploitation for global optimization. In order to achieve better results on these benchmark functions, DE/ABC is proposed to solve these problems. This algorithm can take advantage of the exploration capability of the DE algorithm and the stochastic exploitation ability of the ABC [11, 12]. The main framework of the proposed algorithm can be summarized as follows: first, a hybrid bee operator is proposed; which combines the exploration of DE and the exploitation of ABC effectively. Second, we introduced a novel boundary constraint; which is reflected back from the bound by the amount of violation. Finally, we propose a hybrid algorithm combining differential evolution with artificial bee colony for the parameter estimation of chaotic system.

5.1 Hybrid bee operator

The main operator of DE/ABC is the hybrid bee operator, which hybridizes the DE operator with the ABC operator. Crossover operation of the DE algorithm is applied to each pair of the target vector \(x_{j,i,G}\) and its corresponding mutate vector \(v_{j,i,G}\) to generate a trail vector. In the standard DE algorithm, DE employs the binomial crossover defined as follows:

$$\begin{aligned}&\!\!\! u_{j,i,G} \nonumber \\&=\left\{ {\begin{array}{l} v_{j,i,G},\quad (\mathrm{rand}_j [0,1]\le \hbox {CR})\quad \hbox {or}\quad (j=j_\mathrm{rand} ) \\ x_{j,i,G},\quad \mathrm{otherwise} \\ \end{array}} \right. \nonumber \\ \end{aligned}$$
(4)

Crossover operator can find the globally optimal region. However, it cannot converge rapidly to the globally optimal solution. Employed bees fly onto the source which they are exploiting. In order to solve this problem, we tackle by integrating an employed bee operator of ABC to maintain the diversity and obtain good solution rapidly at the same time.

figure b

The crucial idea behind DE is a scheme for generating trial parameter vectors according to the manipulation of target vector and difference vector. From the algorithm, we can find that the proposed hybrid bee operation is based on the main update operator of ABC. The core idea of the proposed hybrid bee colony is based on two considerations. On the one hand, employed bee colony exploited the nectar sources explored before—giving the information to the waiting bees in the hive about the quality of the food source sites which they are exploiting and onlooker bees waiting in the hive watch the dances advertising the profitable sources and choose a source site depending on the frequency of a dance proportional to the quality of the source. On the other hand, the mutation operator of the DE is able to explore the new space. From the analysis, it can be seen that the hybrid bee colony can balance the exploration and the exploitation effectively.

5.2 Boundary constraints

The DE/ABC algorithm assumes that the whole population should be in an isolated and finite space. During the searching process, if there are some individuals that will move out to the bounds of the space, the original algorithm stops them on the boundary. In other words, the individual will be assigned a boundary value. The disadvantage is that if there are too many individuals on the boundary, and especially when there exists some local minimum on the boundary, the algorithm will lose its population diversity to some extent. In order to tackle this problem, we propose the following repair rule:

$$\begin{aligned} x_{i} =\left\{ {\begin{array}{l} l_{i} +\hbox { mod }((l_i -x_i),(u_i -l_i ))\\ u_{i} -\hbox { mod } ((x_i -u_i ),(u_i -l_i )) \\ \end{array}} \right. \end{aligned}$$
(5)

5.3 Proposed DE/ABC algorithm

In this section, we introduce the newly proposed DE/ABC. The DE/ABC algorithm incorporates the ABC operator into DE. The crossover can choose the individual by the CR. The algorithm begins with a randomly initiated population which generates NP*\(D\) matrix with uniform probability distribution random values. We can generate the \(j\)th component of the \(i\)th vector as

$$\begin{aligned} x_{j,i,0} =x_{j,\min } +\hbox {rand}_{i,j} [0,1]\cdot (x_{j,\max } -x_{j,\min } ), \end{aligned}$$
(6)

where rand\(_{i,j}[0, 1]\) is a uniformly distribution random number between 0 and 1. \(i = 1,{\ldots }, \hbox {NP}\) and \(j=1,{\ldots },D\). \(x_{j,\mathrm{max}}, x_{j,\mathrm{min}}\) is the upper bound and lower bound of the \(j\)th column, respectively. Then, the algorithm uses a hybrid bee operation in which the mutated individual \(v_{i,G}\) is mated with the ABC operator, DE operator, and generate the offspring or trail individual \(u_{i,G}\). The genes of \(u_{i,G}\) are inherited from the \(v_{i,G}\) of DE and the ABC operators. Thus, the scout bee colony can update the abandoned population. In addition, the DE/ABC has a very simple structure and thus is easy to implement. Moreover, this algorithm combines the exploration capability of the DE algorithm and the stochastic exploitation of the ABC. This method can overcome the lack of the exploitation of the DE algorithm. The DE/ABC was described as follows:

figure c

6 Simulation results

To evaluate the performance of our algorithm, we apply it to two chaotic systems as the standard benchmarks. The Lorenz chaotic system and the Chen chaotic system described below were chosen to test the performance of the algorithm. So far, these problems have been widely used as benchmarks for studies with different methods by many researchers. Each algorithm ran 30 times on each system. The parameters of the algorithm were configured as follows. After periods of transient process, a state vector is chosen as the initial state \(X_{0}\) for parameter estimated systems as shown in Fig. 1. The successive \(W\) states (\(W=30\)) of both the estimated system and the original system are used to calculate the fitness. For the DE/ABC, the step size \(F\) is 0.5. The crossover rate CR is 0.9. The value of “limit” is 100. For the differential evolution algorithm, the step size \(F\) is 0.5. The crossover rate CR is 0.9. For ABC algorithm, the value of “limit” is 100. For PSO algorithm, the inertia weight is 0.729 and the acceleration coefficients were set to be 1.49. For GA, the crossover rate is 0.8 and the mutation rate is increasing linearly from 0.001 to 0.6 during the evolution. In order to perform fair comparison, the maximum generation number is 100 for the Lorenz system and 200 for the Chen system. The population size of each algorithm is 30. All algorithms are coded in MATLAB 7.0, and experiments are made on a Pentium 3.0 GHz Processor with 1.0 GB of memory.

6.1 Simulation the Lorenz system

In the first example, the well-known Lorenz system [20] is employed as an example in this paper. The general expression of the chaotic system can be described as follows:

$$\begin{aligned} \left\{ {\begin{array}{l} \dot{x}_1 =\theta _1 (x_2 -x_1 ) \\ \dot{x}_2 =(\theta _2 -x_3 )x_1 -x_2 \\ \dot{x}_3 =x_1 x_2 -\theta _3 x_3 \\ \end{array}}\right. \!\!, \end{aligned}$$

where \(x_{1}, x_{2}\), and \(x_{3}\) are the state variables; \(\theta _{1}, \theta _{2}\), and \(\theta _{3}\) are unknown positive constant parameters. The original parameters are \(\theta _{1}=10, \theta _{2}=28\), and \(\theta _{3}=8/3\). In order to simulate, we let the parameters of the Lorenz system be \(\theta _{1}=10, \theta _{2}=28\), and \(\theta _{3}=8/3\).

In order to simulate this system, the successive state \(W\) is 30 and each algorithm ran 30 times with each single runs 100 iterations. The statistical results of the best fitness value, the mean value, the standard deviation, and the identified parameters of the Lorenz system are shown in Table 1. From Table 1, it can be seen that the best fitness values obtained by DE/ABC can performance better than DE, ABC, PSO, and GA. The mean of the identified parameters by DE/ABC and DE converges more quickly than those identified by ABC, PSO, and GA. Figures 2, 3, and 4 show the relative estimation errors from 30 runs of each algorithm with each single run executing 100 iterations. For the relative estimation errors, the three parameters can be defined by \({\left| {\tilde{\theta }_1 -10} \right| }/{10}, {\left| {\tilde{\theta }_2 -28} \right| }/{28}\), and \({\left| {\tilde{\theta }_2 -8/3} \right| }/{(8/3)}\), respectively; where \(\tilde{\theta }_1, \tilde{\theta }_2\), and \(\tilde{\theta }_3 \) are identification values of the parameters. As can be seen in these figures, we can find that the DE/ABC algorithm is the winner and the algorithm can provide the better estimation errors among all the algorithms. Figure 5 shows that DE/ABC can converge to the optimal solution more rapidly than other algorithms. Figures 6, 7, and 8 show the convergence process of these three parameters, where each algorithm in the single run generates the best solution. In general, the performance of DE/ABC is highly competitive with DE, ABC, PSO, and GA for the well-known Lorenz system.

Table 1 Statistical results from the four algorithms on the Lorenz system
Fig. 2
figure 2

The relative estimation error of \(\theta _{1}\) is defined by \({\left| {\tilde{\theta }_1 -10} \right| }/{10}\)

Fig. 3
figure 3

The relative estimation error of \(\theta _{2}\) is defined by \({\left| {\tilde{\theta }_2 -28} \right| }/{28}\)

Fig. 4
figure 4

The relative estimation error of \(\theta _{3}\) is defined by \({\left| {\tilde{\theta }_3 -8/3} \right| }/{(8/3)}\)

Fig. 5
figure 5

The convergence process of fitness value averaged over 30 runs for the Lorenz system

Fig. 6
figure 6

The convergence process of \(\theta _{1}\) in the single run generating the best solution

Fig. 7
figure 7

The convergence process of \(\theta _{2}\) in the single run generating the best solution

Fig. 8
figure 8

The convergence process of \(\theta _{3}\) in the single run generating the best solution

6.2 Simulation the Chen system

The second example system is the Chen system [21, 22]. The model of this system can be described as follows:

$$\begin{aligned} \left\{ {\begin{array}{l} \dot{x}_1 =\theta _1 (x_2 -x_1 ) \\ \dot{x}_2 =(\theta _3 -\theta _1 )x_1 -\theta _3 x_2 -x_1 x_3 \\ \dot{x}_3 =x_1 x_2 -\theta _2 x_3 \\ \end{array}}\right. \!\!, \end{aligned}$$

where \(x_{1}, x_{2}\), and \(x_{3}\) are the state variables; \(\theta _{1}, \theta _{2}\), and \(\theta _{3}\) are unknown positive constant parameters. The original parameters are \(\theta _{1}=35, \theta _{2}=3\), and \(\theta _{3}=28\). In order to simulate this system, we let the parameters of the Lorenz system be \(\theta _{1}=35, \theta _{2}=3\), and \(\theta _{3}=28\).

In order to simulate this system, the successive state \(W\) is 30 and each algorithm ran 30 times with each single runs 200 iterations. It seems that the parameters of the Chen system are more difficult to identify than the Lorenz system. The statistical results of the best fitness value, the mean fitness value, the standard deviation, and the identified parameters of the Chen system are listed in Table 2. From Table 2, it can be seen that the best fitness values obtained by DE/ABC algorithm is much better than DE, ABC, PSO, and GA. Figure 9 shows that DE/ABC can converge to the optimal solution more rapidly than the other algorithms. Figures 10, 11, and 12 show the convergence process of these three parameters with each algorithm in the single run generating the best solution.

Fig. 9
figure 9

The convergence process of fitness value averaged over 30 runs for the Chen system

Fig. 10
figure 10

The convergence process of \(\theta _{1}\) in the single run generating the best solution

Fig. 11
figure 11

The convergence process of \(\theta _{2}\) in the single run generating the best solution

Fig. 12
figure 12

The convergence process of \(\theta _{3}\) in the single run generating the best solution

Table 2 Statistical results from the four algorithms on the Chen system

7 Conclusions

In this paper, the parameter estimation for chaotic system was formulated as a multi-dimensional optimization problem. A novel evolutionary algorithm, hybrid differential evolution and artificial bee colony was applied to solve the parameter estimation for chaotic system. A new hybrid bee operator is proposed to generate the promising solutions. It can balance the exploration and exploitation of the algorithm. In addition, the DE/ABC has a very simple structure and thus is easy to implement. To verify the performance of DE/ABC, the algorithm has been employed for estimation of the parameters of two chaotic dynamical systems. By a comparative study, it is shown that the proposed method is well suited to solve a complex problem. The experimental results show that DE/ABC can identify the parameters of the Lorenz system and the Chen system more accurately, more rapidly, and more stably than DE, ABC, PSO, and GA. The future work is to apply the proposed hybrid algorithm to other chaotic systems and make the DE/ABC a promising tool for various numerical optimization problems in physics.