1 Introduction

Nature can be regarded as a huge ecosystem with a large number of subsystems [1,2,3]. These self-contained environments have existed on the earth for millions of years. Through millions of years of accumulation and evolution, nature has become the largest information resource library on the earth, bringing unparalleled inspiration and strength to many scientists engaged in scientific research [4, 5]. In the past forty years, researchers have drawn inspiration from various biological systems and the behavioral characteristics of various organisms in biological systems, and proposed many biological heuristic models, and used these models to develop many versatile optimization methods, including meta-heuristic algorithms [6, 7]. Since the early 1970s, many proven effective evolutionary methods [8,9,10] have been proposed. For example, ant colony optimization [11,12,13] is derived from the simulation of ants flocking process. Genetic algorithm [14] is derived from the simulation of biological evolution process in nature. Particle swarm optimization [15, 16] is derived from the simulation of birds flocking process. Other representative ones include gravitational search algorithm [17, 18], immune algorithm [19, 20], simulated annealing [21], and grey wolf optimizer [22], etc. Meta-heuristic algorithm has excellent global search ability, strong adaptability and robustness. It has been successfully applied to many fields, such as optimization computing [23,24,25,26,27,28], artificial intelligence [29, 30], pattern recognition [31, 32], image processing [33, 34], constrained optimization [35,36,37], engineering [38, 39] and biology [40, 41].

Among them, wind driven optimization (WDO) [42] is a meta-heuristic algorithm similar to particle swarm optimization and is derived from simulating the process that the air particles continuously move due to different air pressures until air pressure balance [43]. WDO has the advantages of simple structure, few parameters, easy to understand and program. Since the algorithm was proposed, more and more scholars have paid attention by applying it on many scenarios and improved it from many aspects. In [42], wind driven optimization was tested on the benchmark functions and applied to the design for the double-sided Artificial Magnetic Conducting (AMC) surface for the first time. It simply proves the effectiveness and practicality of WDO. In [44], WDO was applied to the stub-loaded inverted-F antenna synthesis. It indicates that WDO performs well on electromagnetics optimization problems. In [45], WDO was applied to the design of high-impedance metasurfaces. It demonstrates that WDO is a useful tool for designing high-impedance metasurfaces. In [46], it was utilized to solve unimodal and multimodal functions, and applied to three electromagnetic optimization problems. The results show that WDO is better than some common evolutionary algorithms in electromagnetics on many cases. In [47], the collision avoidance technology and multi-region concept in meteorology were introduced into WDO to maintain population diversity. Accordingly, a new multi-region and anti-collision wind driven optimization variant was presented, and the improved algorithm was applied to dynamic optimization problems. Comparison between it and the existing methods on moving peak benchmark illustrates that its search ability needs to be further improved. In [48], wind driven optimization with levy flights (WDOLE) was employed on global continuous optimization problem. Although WDOLE performs better than WDO on benchmark functions, it is criticized that just comparing WDO is not enough to verify the superior performance of WDOLE. In [49], it was shown that WDO had the worst performance in quadrature mirror filter bank design among the existing technologies. In [50], a hybrid wind driven optimization and differential evolution was presented. Although the algorithm can find better solutions, it still has the problem of premature convergence from the perspective of the convergence graphs, and the algorithm does not optimize real-world problems and lacks practicality. In [51], covariance matrix adaptive evolutionary strategy (CMAES) was utilized to update parameters, and an adaptive wind driven optimization algorithm (AWDO) was proposed. Although AWDO has no parameter settings, the faster convergence speed will cause the algorithm to easily fall into local optima. In [52], Pareto was embedded into an adaptive wind driven optimization (MO-AWDO) method to handle multi-objective optimization problems. Experimental results exhibit that MO-AWDO can surpass some well-known multi-objective algorithms. In [53], WDO was applied to the design of switched reluctance motors, which is a multi-objective optimization problem. In [54], WDO was applied to the estimation of solar photovoltaic parameters. The results obtained by WDO display better accuracy. In [55], AWDO based on Chenlo’s model was applied to the extracting the parameters of photovoltaic cell model. It is an efficient and reliable method. In [56], a hybrid wind driven optimization and cuckoo search was used to solve hyperspectral band selection problems. However, its initialization strategy should be further improved. Following the chronological order of the literature, we list some references on the improvement and application of WDO, and provide the comments of the cited papers. To sum up, WDO is effective in the field of electromagnetic and solar photovoltaic parameter estimation. In the improvement of WDO, most of them use hybrid algorithm to improve exploration and exploitation abilities, and it has not changed the selection strategy and working mechanism of WDO.

The No-Free-Lunch theorem [57, 58] proves that no algorithm performs best for various optimization problems, which motivates us to improve the WDO algorithm and solve various optimization problems more efficiently. In WDO, air particles are easily attracted by a local optimal point and fall into local optima. Therefore, if the selection strategy of WDO is not changed, it is difficult to solve this defect. Changing the original selection strategy to enrich the population diversity and improve the possibility of different solutions is a way to jump out of the local optimization.

Motivated by this, in this study we try to change the selection method and working mechanism of the algorithm to improve its search performance. To be specific, although WDO has few parameters and is easily implemented, when solving optimization problems, the convergence speed of the WDO algorithm is too fast to converge to the local optimal solution prematurely, which makes the entire population lack diversity and misses better solutions. Maintaining the diversity of the population is one of the most important means to avoid premature convergence. Thus, a novel strategy fitness-distance balance is introduced in this work to maintain the diversity of the population. To further improve the performance of the algorithm, taking advantage of the randomicity and ergodicity of chaos [59], chaotic local search (CLS) [60, 61] is also incorporated sophisticately as well, which can well balance the exploration and exploitation abilities. Additionally, computational time complexity analysis shows that CFDBWDO is computationally efficient. Finally, 29 IEEE CEC2017 benchmark functions are utilized to find the best parameter settings of CFDBWDO and examine the superior performance of CFDBWDO. Six real-world optimization problems are optimized to indicate its practicality.

The main contributions of the paper are as follows: (1) The WDO algorithm is easy to fall into local optima. The fitness distance balance strategy is applied to the WDO, which increases the diversity of the population, jumps out of the local optima, explores better solutions, and improves the exploration ability of WDO. (2) Chaotic local search with memory-based selection can make fully use of the performance of each chaotic map to adaptively choose the best chaotic map for chaotic local search, which improves the exploitation ability of WDO, and well balances the exploration and exploitation abilities to further improve its performance. (3) Aiming at the disadvantages of the original WDO selection strategy, we replace the original selection strategy with a new selection strategy FDB, and propose the CFDBWDO algorithm. Extensive experimental results based on performance comparison with other state-of-the-art algorithms together with the statistical results show the superiority and practicality of the proposed CFDBWDO.

This paper is organized as follows: after the introduction, Sect. 2 describes original WDO. Section 3 introduces the proposed CFDBWDO. Section 4 conducts several comparative experiments and analyses. Finally, Sect. 5 draws research conclusions and indicates future studies.

2 WDO

figure a

According to the knowledge of atmospheric dynamics, the composition and structure of the atmosphere are very complex, and any tiny part (air cluster) can be treated as a “particle”, called air particle. The WDO algorithm takes this abstract air particle as the research object, assuming that it is in a hydrostatic equilibrium state and satisfies the ideal gas state equation. In addition, the horizontal movement in the atmospheric movement is stronger than the vertical movement, so the WDO algorithm only studies the horizontal movement of the wind.

When analyzing the movement of air particles [62, 63], we take the air particle per unit volume as the research object, and then use Newton’s second law and the ideal gas state equation to obtain:

$$\begin{aligned} \rho \varvec{a}=\sum \varvec{F}_{i} \end{aligned}$$
(1)
$$\begin{aligned} P=\rho R T \end{aligned}$$
(2)

where \(\rho \) is the air density. \(\varvec{a}\) represents acceleration vector. \(\varvec{F}_{i}\) is the force acting on air particle. P is pressure value. R is ideal gas constant. T is temperature.

\(\varvec{F}_{i}\) is the force on the air particle, four main forces are considered: (1) Pressure gradient force (\(\varvec{F}_{PG}\)) is generated due to the different pressures in different positions, which makes the air particles move along the high-pressure position to the low-pressure position [64, 65], and the direction is from the high-pressure position to the low-pressure position. (2) Friction force (\(\varvec{F}_{F}\)), its direction is opposite to the direction of \(\varvec{F}_{PG}\), here is a simplified friction force expression. (3) Gravitational force (\(\varvec{F}_{G}\)) points vertically to the center of the earth. In the three-dimensional coordinate system of physics, it is the force that moves the air particle to the origin of the coordinate system. Similarly, the problem is mapped to the N dimensions, and gravitational force represents the force pointing to the center of the coordinate system. (4) Coriolis force (\(\varvec{F}_{C}\)) is produced by the earth rotation. In WDO, it represents that the velocity and position of the current dimension are affected by motions in other dimensions. Their simplified expressions are as follows:

$$\begin{aligned}&\varvec{F}_{\mathrm {PG}}=-\nabla P \delta V&\end{aligned}$$
(3)
$$\begin{aligned}&\varvec{F}_{\mathrm {F}}=-\rho \alpha \varvec{u}&\end{aligned}$$
(4)
$$\begin{aligned}&\varvec{F}_{\mathrm {G}}=\rho \delta V \varvec{g}&\end{aligned}$$
(5)
$$\begin{aligned}&\varvec{F}_{\mathrm {C}}=-2 \Omega \times \varvec{u}&\end{aligned}$$
(6)

where \(-\nabla P\) represents air pressure gradient, the minus sign indicates the direction of gradient drop. \( \delta V\) represents finite volume of air. \(\alpha \) is the coefficient of friction. \(\varvec{u}\) is velocity vector of air particle. \(\varvec{g}\) is gravitational acceleration. \(\Omega \) is rotation of the earth.

Bring the above four equations into the right side of Eq. (1), and combine the acceleration equation: \(\varvec{a}=\frac{\varvec{\varvec{\Delta u}}}{\Delta t}\), Eq. (1) can be changed to:

$$\begin{aligned} \rho \frac{\varvec{\Delta u}}{\Delta t}=\rho \delta V \varvec{g}+(-\nabla P \delta V)+(-\rho \alpha \varvec{u})+\left( -2 \Omega \times \varvec{u}\right) \end{aligned}$$
(7)

Since the research object is the air particle per unit volume, take \(\delta V=1\). For the sake of simplicity, take \(\Delta t=1\) and substitute into Eq. (7) to obtain:

$$\begin{aligned} \rho \varvec{\Delta u}=\rho \varvec{g}-\nabla P-\rho \alpha \varvec{u}+\left( -2 \Omega \times \varvec{u}\right) \end{aligned}$$
(8)

Substituting Eq. (2) into Eq. (8):

$$\begin{aligned} \frac{P_{cur}}{R T} \varvec{\Delta u}=\frac{P_{cur}}{R T} \varvec{g}-\nabla P-\frac{P_{cur}}{R T} \alpha \varvec{u}+\left( -2 \Omega \times \varvec{u}\right) \end{aligned}$$
(9)

where \(P_{cur}\) is the pressure value at the current position. Dividing both sides of Eq. (9) by \(\frac{P_{cur}}{R T}\):

$$\begin{aligned} \varvec{\Delta u}=\varvec{g}-\nabla P\frac{R T}{P_{cur}}-\alpha \varvec{u}+\left( -\frac{2 \Omega \times \varvec{u}R T}{P_{cur}}\right) \end{aligned}$$
(10)

Because \(\varvec{\Delta u}=\varvec{u_{new}}-\varvec{u_{cur}}\), \(\varvec{u_{new}}\) is the updated velocity vector of air particle, \(\varvec{u_{cur}}\) is the current velocity vector of air particle, Eq. (10) can be written as:

$$\begin{aligned} \varvec{u_{new}}=\varvec{g}-\nabla P\frac{R T}{P_{cur}}+(1-\alpha ) \varvec{u_{cur}}+\left( -\frac{2 \Omega \times \varvec{u}R T}{P_{cur}}\right) \end{aligned}$$
(11)

The direction of the gravitational force is from the current position of air particle to the center of the coordinate system, and the coordinate of the center of the coordinate system is 0, so the vector \(\varvec{g}\) can be expressed as \(\varvec{g}=\left| \varvec{g}\right| \left( 0-\varvec{x_{cur}}\right) \), where \(\varvec{x_{cur}}\) is the current position of air particle. Similarly, the direction of the pressure gradient \(-\nabla P\) is from the current position to the optimal position, then \(-\nabla P\) can be expressed as \(-\nabla P=\left| P_{opt}-P_{cur}\right| \left( x_{opt}-x_{cur}\right) \), where \(P_{opt}\) is the current optimal pressure value. \(\varvec{x_{opt}}\) is the optimal position. Due to the coriolis force (\(\varvec{F}_{C}\)), \(u_{\mathrm {cur}}^{\text{ other } \text{ dim } }\) indicates that the velocity of the current dimension is affected by other dimensions, that is, the velocity in coriolis force is \(u_{\mathrm {cur}}^{\text{ other } \text{ dim } }\). And \(c=-2|\Omega | R T\) [66], where c is a constant. So Eq. (11) can be changed to:

$$\begin{aligned} \begin{aligned} \varvec{u_{new}}=&-g\varvec{x_{cur}}+\left| P_{opt}-P_{cur}\right| \left( x_{opt}-x_{cur}\right) \frac{R T}{P_{cur}}\\&+(1-\alpha ) \varvec{u_{cur}}+\left( \frac{-cu_{\mathrm {cur}}^{\text{ other } \text{ dim } }}{P_{cur}}\right) \end{aligned} \end{aligned}$$
(12)

The pressure values \(P_{opt}\) and \(P_{cur}\) in Eq. (12) may make the updated velocity become very large and lack of operability. The pressure values can be replaced by i, where i is the rank of the air particle based on the pressure value, so the velocity update equation is:

$$\begin{aligned} \begin{aligned} \varvec{u_{new}}=&-g\varvec{x_{cur}}+{R T}\left| 1-\frac{1}{i}\right| \left( x_{opt}-x_{cur}\right) \\&+(1-\alpha ) \varvec{u_{cur}}+\frac{cu_{\mathrm {cur}}^{\text{ other } \text{ dim } }}{i} \end{aligned} \end{aligned}$$
(13)

Then the position of air particle is updated as follows:

$$\begin{aligned} \varvec{x_{new}}=\varvec{x_{cur}}+\left( \varvec{u_{new}} \times \Delta t\right) \end{aligned}$$
(14)

where \(\varvec{x_{new}}\) is the updated position, assuming the time interval \(\Delta t=1\).

To prevent the moving step of air particle from being too large, the position is restricted between the upper and lower boundaries of the problem, and the updated velocity is limited to the range of \(\left[ -u_{\max }, u_{\max }\right] \) by Eq. (15):

$$\begin{aligned} u_{\text{ new } }^{*}=\left\{ \begin{array}{ll}u_{\max } &{} if\quad u_{\text{ new } } > u_{\max } \\ -u_{\max } &{} if\quad u_{\text{ new } } < -u_{\max }\end{array}\right. \end{aligned}$$
(15)

where \(u_{\text{ new } }^{*}\) denotes the adjusted velocity limited to maximal velocity, and \(u_{\max }\) is the maximal velocity.

WDO derives the velocity and position equations of air particles by applying Newton’s second law and the ideal gas equation of state. It has fewer adjustable parameters and is easy to implement. It has the characteristics of strong global search ability, fast convergence speed and high optimization efficiency.

Some basic information to help understand the proposed algorithm in this paper is described below:

  1. (1)

    The population is composed of N individuals, each individual \(X_{i}\) is expressed as \(X_{i}=\left( x_{i}^{1}, x_{i}^{2}, \ldots , x_{i}^{d}\right) \), \(i \in \{1,2, \ldots , N\}\), where \(x_{i}^d\) denotes the position of the ith individual in the dth dimension.

  2. (2)

    To enhance the robustness for dealing with optimization problems, 12 different chaotic maps are used (i.e., \(J=12\)) in this paper. The 12 chaotic maps are: Logistic map, Piecewise linear chaotic map (PWLCM), Singer map, Sine map, Gaussian map, Tent map, Bernoulli map, Chebyshev map, Circle map, Cubic map, Sinusoidal map and Iterative chaotic map with infinite collapses (ICMIC). The determination equations of these chaotic maps are in reference [67].

  3. (3)

    Existing selection strategies include: random selection, greedy selection, probabilistic selection, adaptive selection, fitness-distance balance selection and combined selection, where fitness-distance balance selection is the latest selection method, and the combined selection includes at least two of the other selection methods.

3 Proposed CFDBWDO

3.1 Motivation

WDO is a meta-heuristic algorithm based on swarm intelligence [68, 69]. Swarm intelligence algorithms have two behaviors, exploration and exploitation [70, 71]. Exploration is to randomly generate an individual in the search space to explore a promising solution that is not neighbor to the current best solution, which helps to jump out of the current local optima. The exploitation is to search promising solutions in a small region near the current optimal solution, which conducts local search in a promising region and accelerates the convergence of the algorithm. The challenging issue that how to balance exploration and exploitation is the focus of improving the algorithm. WDO is derived from the simulation of air movement. Due to the different air pressures in different positions, pressure gradient force (\(\varvec{F}_{PG}\)) is generated, which makes the air particles in the high pressure position move to the low pressure position until the air pressure in each position is equal. The existence of pressure gradient force enables air particles to find the optimal solution of optimization problem, but the pressure gradient force usually guides particles to find the local optimal solution, which makes the population fall into the local optima. This shows that the pressure gradient force cannot make the particles find a better solution, that is, the pressure gradient force in WDO can not help particles get rid of local optima, which easily causes WDO to converge prematurely. Due to the intrinsic search mechanism of WDO, the particles can not explore the entire search space, which limits the exploration and exploitation abilities of WDO and makes it easier to obtain local optimal solutions. Therefore, on the one hand, in order for particles to skip the local optimal solution and explore a better solution, it is necessary to maintain the diversity of the population and avoid falling into the local optima. This paper introduces a new selection method fitness distance balance strategy to replace the original pressure selection. On the other hand, to balance the exploration and exploitation abilities of WDO and further optimize the performance of the algorithm, chaotic local search is incorporated sophisticately. Accordingly, CFDBWDO is proposed based on these two improvements.

3.2 Chaotic Local Search (CLS) Based on Memory Selection

Fig. 1
figure 1

CLS with selecting chaotic map based on memory

The chaotic local search (CLS) is to use the chaotic map to search a promising solution locally around the current best individual to update the best individual. The mathematical equations of CLS are as follows:

$$\begin{aligned} X_{opt^{\prime }}(k)=X_{opt}(k)+r\left( U_{b}-L_{b}\right) \left( z^{j}(k)-0.5\right) \end{aligned}$$
(16)
$$\begin{aligned} \begin{aligned} X_{opt}(k)&=\left\{ \begin{array}{ll} X_{opt^{\prime }}(k), &{} \text{ if } f\left( X_{opt^{\prime }}(k)\right) < f\left( X_{opt}(k)\right) \\ X_{opt}(k), &{} \text{ otherwise } \end{array}\right. \\ \end{aligned} \end{aligned}$$
(17)

where \(X_{opt}(k)\) is the position of global best individual at the current iteration k, expressed as \(X_{opt}=\left( x_{opt}^{1}, x_{opt}^{2}, \ldots , x_{opt}^{d}\right) \). \(X_{opt^{\prime }}(k)\) is position of a new individual generated by chaotic local search. r is the chaotic search radius within (0, 1), where \(r=0.0001\). \(U_{b}\) and \(L_{b}\) denote the upper and lower bound vectors of the search space, respectively. If the value of \(X_{opt^{\prime }}(k)\) exceeds the boundary value, it is adjusted to the closest boundary value. \(z^{j}(k)\) represents the chaotic sequence at iteration k, and it is generated by the jth chaotic map randomly chosen from 12 chaotic maps (i.e., \(j \in \{1,2, \ldots , 12\}).\)

In Eq. (17), if the fitness of the updated \(X_{opt^{\prime }}(k)\) is better than the current best fitness of \(X_{opt}(k)\), \(X_{opt^{\prime }}(k)\) will replace \(X_{opt}(k)\), otherwise \(X_{opt}(k)\) remains unchanged.

Then we set a learning iteration count (L) to 50. If the updated best individual (\(X_{opt^{\prime }}(k)\)) replaces the original best individual (\(X_{opt}(k)\)), the memory will record a success, otherwise record a failure. The recording mechanisms are formulated as follows:

$$ \begin{aligned} \alpha _{k, j}=\left\{ \begin{array}{ll} \alpha _{k-1, j}+1, \,\ \ \ \text{ if } f(X_{opt^{\prime }}^{j}(k))< f(X_{opt}(k)) \&\, k \le L \\ \alpha _{k-1, j}, \,\ \ \qquad \text{ if } f(X_{opt^{\prime }}^{j}(k)) \ge f(X_{opt}(k)) \&\, k \le L \\ \alpha _{k-1, j}+1-\left( \alpha _{k-L, j}\right. &{} \\ \left. -\alpha _{k-L-1, j}\right) , \text{ if } f(X_{opt^{\prime }}^{j}(k)) < f(X_{opt}(k)) \&\, k > L \\ \alpha _{k-1, j}-\left( \alpha _{k-L, j}\right. \\ \left. -\alpha _{k-L-1, j}\right) , \, \text{ otherwise } \end{array}\right. \end{aligned}$$
(18)
$$ \begin{aligned} \beta _{k, j}=\left\{ \begin{array}{ll} \beta _{k-1, j}, \,\,\,\qquad \text{ if } f(X_{opt^{\prime }}^{j}(k))< f(X_{opt}(k)) \&\, k \le L \\ \beta _{k-1, j}+1, \ \ \ \text{ if } f(X_{opt^{\prime }}^{j}(k)) \ge f(X_{opt}(k)) \&\, k \le L \\ \beta _{k-1, j}-\left( \beta _{k-L, j}\right. &{} \\ \left. -\beta _{k-L-1, j}\right) , \text{ if } f(X_{opt^{\prime }}^{j}(k)) < f(X_{opt}(k)) \&\, k > L \\ \beta _{k-1, j}+1-\left( \beta _{k-L, j}\right. \\ \left. -\beta _{k-L-1, j}\right) , \, \text{ otherwise } \end{array}\right. \end{aligned}$$
(19)

where \(X_{opt^{\prime }}^{j}(k)\) denotes position of an individual generated by jth chaotic map. \(\alpha _{k, j}\) represents the number of successes. \(\beta _{k, j}\) represents the number of failures of the jth chaotic map at iteration k. let \(\alpha _{0, j}=0\), \(\beta _{0, j}=0\). If \(f(X_{opt^{\prime }}^{j}(k))\) is less than \(f(X_{opt}(k))\), \(\alpha _{k-1, j}\) is added with 1, otherwise \(\beta _{k-1, j}\) is added with 1. Since the memory space is only L, when k is greater than L, it is necessary to subtract \(\alpha _{k-L, j}\) from \(\alpha _{k, j}\) and subtract \(\beta _{k-L, j}\) from \(\beta _{k, j}\) to make space for the latest individual (\(\alpha _{k+1, j}\) and \(\beta _{k+1, j}\)), so as to ensure that the memory only records the success and failure times of the last L iterations.

The selection method of J chaotic maps is described as follows. In L learning iterations, each chaotic map will be chosen with the same probability 1/J, and the memory will record the number of successes and failures. After the learning iterations, the selection probabilities for chaotic maps can be calculated using the number of successes and failures, shown as follows:

$$\begin{aligned} S_{k, j}=\frac{\alpha _{k, j}}{\alpha _{k, j}+\beta _{k, j}}+\varepsilon \end{aligned}$$
(20)
$$\begin{aligned} P_{k, j}=\frac{S_{k, j}}{\sum _{j=1}^{J} S_{k, j}} \end{aligned}$$
(21)

where \(S_{k, j}\) is the success rate of the jth chaotic map at iteration k, \(P_{k, j}\) is the selection probability of the jth chaotic map. \(\varepsilon \) is a constant to prevent the null success rate, where \(\varepsilon =0.01\). The higher the success rate, the greater the probability of being selected through roulette wheel, which not only improves the efficiency of choosing chaotic maps, but also makes full use of the advantages of each chaotic map. Therefore, it can adaptively choose the best chaotic map to implement the local search, as illustrated in Fig. 1.

3.3 Fitness-Distance Balance (FDB) Selection Strategy

figure b
figure c
Fig. 2
figure 2

Flowchart of CFDBWDO

Since the WDO algorithm easily converges to the local optimal solution by pressure selection and misses other better solutions. Population diversity is to explore many non-neighbor promising individuals in the search space, increase the possibility of different solutions, avoid falling into local solutions, and improve the solution quality. In this study, the fitness distance balance strategy [72, 73] is used to replace the original elite selection method. The score is calculated for each individual and the individuals are ranked based on scores. The higher the score, the greater the contribution of the individual to solving the problem, the higher the probability of being selected, and the easier it is for the algorithm to generate a new optimal solution, thus skipping the local optima, effectively improving the quality of solutions. The following is a specific introduction to the fitness distance balance strategy.

First we calculate the fitness value of each individual with the following equation:

$$\begin{aligned} \forall _{i=1}^{N} F_{i}=\left\{ \begin{array}{l} \text{ if } \text{ goal } \text{ is } \text{ minimization: } F_{i}=1- \text{ norm } G_{i} \\ \text{ if } \text{ goal } \text{ is } \text{ maximization: } F_{i}= \text{ norm } G_{i} \end{array}\right. \end{aligned}$$
(22)

where \(F_{i}\) is fitness value, and \(normG_{i}\) denotes normalized objective function value of the ith individual. The fitness vector F created for individuals is given in Eq. (23).

$$\begin{aligned} F =\left[ \begin{array}{c} f_{1} \\ \vdots \\ f_{N} \end{array}\right] _{N \times 1} \end{aligned}$$
(23)

Then we use Eq. (24) to calculate the distance of each individual from the best individual.

$$\begin{aligned} \begin{aligned}&\forall _{i=1}^{N}, i \ne opt, D_{i} \\&=\sqrt{\left( x_{i}^{1}-x_{opt}^{1}\right) ^{2}+\left( x_{i}^{2}-x_{opt}^{2}\right) ^{2}+\cdots +\left( x_{i}^{d}-x_{opt}^{d}\right) ^{2}} \end{aligned} \end{aligned}$$
(24)

where \(D_{i}\) is the distance value of the ith individual (\(X_{i}\)) from the best individual (\(X_{opt}\)). The distance vector D created for individuals is given in Eq. (25).

$$\begin{aligned} D =\left[ \begin{array}{c} d_{1} \\ \vdots \\ d_{N} \end{array}\right] _{N \times 1} \end{aligned}$$
(25)

Finally, the fitness vector F and distance vector D are used to calculate the score.

$$\begin{aligned} \forall _{i=1}^{N} S_{i}=w *\, norm \,F_{i}+(1-w) * n o r m D_{i} \end{aligned}$$
(26)
$$\begin{aligned} S =\left[ \begin{array}{c} s_{1} \\ \vdots \\ s_{N} \end{array}\right] _{N \times 1} \end{aligned}$$
(27)

where \(S_{i}\) is the score of the ith individual, w is the weight coefficient in the range of [0.4, 0.6], where \(w=0.5\), \(normF_{i}\) denotes the normalized fitness value, \(normD_{i}\) denotes the normalized distance value of the ith individual, and S is the score vector of individuals.

This selection method takes into account the fitness and the distance from the current optimal solution to calculate the score for each individual. According to the score vector S, the population can be ranked, the individual with high score who contributes the most to the optimization problem is selected determinedly and consciously instead of random, greedy or probabilistic selection, even in the later stages of the iteration. It can also effectively maintain the diversity of the population and prevent premature convergence.

It is worth pointing out that FDB is utilized to enrich the diversity of the population for improving the exploration ability, while CLS is used to update the current best individual for improving the exploitation ability. Considering these, the exploration and exploitation abilities of WDO are expected to be improved, and the resultant chaotic wind driven optimization with fitness distance balance strategy (CFDBWDO) is proposed. In addition, velocity limitation and boundary checks are not implemented in CFDBWDO to simplify its implementation process. The flowchart of CFDBWDO is illustrated in Fig. 2.

The computational time complexity of CFDBWDO is calculated to analyze the efficiency of CFDBWDO, where the population size is N, described as follows: (1) Initialization process needs O(N). (2) CLS takes O(N). (3) FDB costs \(O(N^2)\). (4) Updating the velocity and position of air particles requires O(N). (5) Evaluating each air particle expends O(N). Thus, time complexity of CFDBWDO can be regarded as \(O(N^2)\) which is the same as WDO’s. Accordingly, CFDBWDO is computationally efficient.

3.4 Advantages of CFDBWDO

To summarize, the CFDBWDO proposed in this study has the following advantages:

  1. (1)

    Fitness distance balance strategy (FDB) is a novel selection strategy, aiming to improve the exploration performance of the algorithm. According to the scores, the individuals are ranked, which is different from other selection methods. FDB strategy calculates the score of each individual in the entire optimization process, which effectively maintains the diversity of the population and avoids premature convergence.

  2. (2)

    At each iteration, the success or failure of a chaotic map is recorded, so that at the current iteration the most promising chaotic map can be adaptively selected from 12 different chaotic maps with the roulette wheel according to current search performance, which not only fully utilizes the performance of different chaotic maps to enhance the robustness when dealing with different problems, but also improves the efficiency of choosing chaotic maps.

4 Experiments

4.1 Experimental Setting

In this study, IEEE CEC 2017 [74] benchmark functions are taken to test the performance of the proposed algorithm. F1-F3 are three unimodal functions. F4-F10 are seven multimodal functions. F11-F20 are ten hybrid functions. F21-F30 are ten composition functions. It should be mentioned that F2 was excluded because it shows instability in higher dimensions. Thus, 29 IEEE CEC 2017 benchmark functions are used. All functions are minimization optimization problems [75].

The global parameters setting are as follows: Search space range is in \([-100, 100]\). The population size is 100. The maximum number of function evaluations (NFEs) is \(10000 * D\), where D is the dimension of functions and set to be 10, 30, 50 or 100. To obtain stable experimental data, each algorithm individually runs 51 times on each benchmark function.

The experimental results include mean and standard deviation of 51 independent runs. The mean represents the average performance of algorithm when searching for the optimal solution, the standard deviation indicates the stability in handling optimization problems, the two values are connected by the symbol “±”, and the best mean and standard deviation values among all compared algorithms are highlighted in bold.

The mean and standard deviation of 51 independent runs alone cannot fully explain the superiority of the proposed algorithm, and the statistical test is needed. The statistical results are calculated by a non-parametric statistical method, i.e., Wilcoxon rank-sum test, with the significant level \(\alpha =0.05\) [76,77,78]. When p-value is less than 0.05, it can be considered to reject the null hypothesis, indicating that there is a significant difference between the two algorithms, where null hypothesis means that there is no significant difference. Symbol “\(+\)”represents that the proposed algorithm is superior to its competitor, symbol “−” suggests that the proposed algorithm is worse than its competitor. When p-value is greater than 0.05, it can be considered to accept the null hypothesis, indicating that the two algorithms have the same optimization performance, and it is recorded as symbol “\(\sim \)”. w/t/l presents the number of functions that the proposed algorithm wins, ties and loses to its competitor. All algorithms are executed in MATLAB R2018a and run on a 2.60GHz Intel(R) Core(TM) i7-9750H CPU with 16GB RAM.

4.2 Analysis for Parameters of CFDBWDO

Table 1 Experimental and statistical results of CFDBWDO with different learning iteration count L on CEC’17 benchmark functions with 30 dimensions
Table 2 Experimental and statistical results of CFDBWDO with different parameters w and r on CEC’17 benchmark functions with 30 dimensions.

CFDBWDO combines fitness-distance balance and chaotic local search. The weight coefficient w of fitness-distance balance determines the respective weights of fitness and distance, which influences the exploration performance of the algorithm. The chaotic search radius r and the learning iteration count L in chaotic local search determine the search range around the current best individual and the best iteration count for choosing chaotic maps, respectively, which influences the exploitation performance of the algorithm.

Thus, w, r and L are three important parameters for CFDBWDO. To find the best parameter setting and achieve the optimal performance of CFDBWDO, the experiments with different parameters w, r and L are implemented on 29 IEEE CEC 2017 benchmark functions with 30 dimensions. Four values are set for L, i.e., \(L \in \{25,50,75,100\}\). The experimental and statistical results are shown in Table 1. Three values are set for w and r respectively, i.e., \(w \in \{0.4,0.5,0.6\}\) and \(r \in \{0.0001,0.0004,0.0007\}\). Nine combinations are tested on functions. The results are displayed in Table 2. From these tables, we can find that CFDBWDO with \(w=0.5\), \(r=0.0001\) and \(L=50\) performs the best.

4.3 Comparison for WDO Variants

To examine the superiority of CFDBWDO, we compare it with other representative WDO variants, including the original WDO [42], AWDO [51] and FDBWDO. These algorithms are tested on 29 IEEE CEC 2017 benchmark functions with different dimensions. It is notable that AWDO adopted covariance matrix adaptive evolutionary strategy (CMAES) to update the parameters, while FDBWDO only introduced fitness distance balance strategy. The experimental parameter settings of four algorithms are presented in Table 3, 4, 5. Note that since there is no velocity limitation in CFDBWDO and FDBWDO, the parameter \(\varvec{u_{\max }}\) is removed. The experimental and statistical results are given in Tables 6, 7, 8 and 9.

Table 3 Parameter settings of four WDO variants

In Table 6, all 29 IEEE CEC 2017 benchmark functions with 10 dimensions are used. CFDBWDO attains the best mean on 13 benchmark functions. w/t/l illustrates that CFDBWDO performs significantly better than FDBWDO, AWDO and WDO on 4, 21 and 13 benchmark functions, respectively. It manifests that CFDBWDO has excellent performance on benchmark functions with low dimensions. In Table 7, all benchmark functions with 30 dimensions are adopted. CFDBWDO gains the best mean on 10 benchmark functions. Through w/t/l, the number of wins of CFDBWDO in comparison with FDBWDO, AWDO and WDO is 3, 16 and 15, respectively. It suggests that CFDBWDO has superiority on benchmark functions with medium dimensions. In Table 8, all functions with 50 dimensions are used. CFDBWDO acquires the best mean on 12 benchmark functions. In the light of w/t/l, CFDBWDO significantly surpasses three variants of WDO on 3, 14 and 24 benchmark functions, respectively. The result indicates that CFDBWDO performs excellent performance on benchmark functions with high dimensions. In Table 9, all functions with 100 dimensions are tested. CFDBWDO gets the best mean on 10 benchmark functions. Statistical results demonstrate that CFDBWDO significantly outperforms the others on 4, 13 and 22 benchmark functions, respectively. It proves that CFDBWDO is able to optimize functions with large dimensions. In addition, when optimizing these functions with large dimensions, CFDBWDO has similar results compared to the AWDO.

Table 4 Friedman test ranking of four WDO variants on IEEE CEC 2017
Table 5 Wilcoxon test comparison results for CFDBWDO and WDO variants on IEEE CEC 2017
Table 6 Experimental and statistical results of four WDO variants on CEC’17 benchmark functions with 10 dimensions
Table 7 Experimental and statistical results of four WDO variants on CEC’17 benchmark functions with 30 dimensions
Table 8 Experimental and statistical results of four WDO variants on CEC’17 benchmark functions with 50 dimensions
Table 9 Experimental and statistical results of four WDO variants on CEC’17 benchmark functions with 100 dimensions
Table 10 Experimental results of four WDO variants on PEFMSW
Table 11 Experimental results of four WDO variants on SSRPPCD
Table 12 Experimental results of four WDO variants on ELD
Table 13 Experimental results of four WDO variants on OCNLSTR
Table 14 Experimental results of four WDO variants on TNEP
Table 15 Experimental results of four WDO variants on CAADP

From Tables 6, 7, 8 and 9, it can be summarized below: (1) The comparison between CFDBWDO and WDO denotes that the incorporation of chaotic local search and fitness distance balance strategy significantly improved WDO. (2) The comparison between CFDBWDO and FDBWDO suggests that chaotic local search can further enhance the performance of the algorithm. (3) The comparison between CFDBWDO and AWDO shows that chaotic wind driven optimization with fitness distance balance strategy is better than the previously proposed AWDO employing covariance matrix adaptive evolutionary strategy (CMAES) to update the \(\alpha \), g, RT and c.

To intuitively determine the best algorithm, the algorithms are ranked by the Friedman test [79], and the test results are shown in Table 4. The smaller the value obtained, the higher the ranking of the algorithm and the better the performance. Accordingly, CFDBWDO is superior to other algorithms.

To display the difference between CFDBWDO and other WDO variants, Figs. 3, 4, 5, 6, 7, 8, 9, 10 depict box-and-whisker diagrams and convergence graphs for functions. Figures 3, 5, 7 and 9 are box-and-whisker diagrams. Horizontal axis of box-and-whisker diagram represents four algorithms, and the vertical axis signifies the error values. The line above the blue box represents the maximum, the line below the box represents the minimum. The lower edge of the blue box denotes the first quartile, the red line denotes the second quartile (median), the upper of the box denotes the third quartile. The red symbol“\(+\)”displays the outlier value. The median indicates the average level of sample data. The height of the box indicates the fluctuation of the data. From these box-and-whisker diagrams, it can be seen that the fitness of AWDO fluctuates the most among the four algorithms, indicating that it is the most unstable. The fitness of CFDBWDO is relatively the most concentrated and its medians are also the smallest. Thus, CFDBWDO has superior and more stable performance. Figures 4, 6, 8 and 10 are convergence graphs. The convergence curve can intuitively reflect the convergence speed and accuracy of different algorithms, and the ability to jump out of local optima. Horizontal axis of convergence graph expresses NFEs, and the vertical axis shows the logarithm of average optimizations. From these convergence graphs, it can be observed that WDO and AWDO converge prematurely, whereas CFDBWDO and FDBWDO gradually converge, and the curves of CFDBWDO drop even lower. It verifies that the incorporation of fitness distance balance strategy and chaotic local search into the algorithm can improve the exploration ability and explore better solutions. Although the convergence trends of CFDBWDO and FDBWDO are very close, the average optimization values of CFDBWDO are smaller than FDBWDO’s, illustrating that the algorithm has been improved after introducing chaotic local search into FDBWDO.

4.4 Six Real-World Optimization Problems

Parameter estimation for frequency-modulated sound waves (PEFMSW) [80] is a highly complex multimodal problem where the optimized parameter vector is \(X=\left( a_{1}, \omega _{1}, a_{2}, \omega _{2}, a_{3}, \omega _{3}\right) \). The parameter vector is used to generate a sound similar to the target sound, and the equations are as follows:

$$\begin{aligned} y(t)=a_{1} \sin \left( \omega _{1} t \theta +a_{2} \sin \left( \omega _{2} t \theta +a_{3} \sin \left( \omega _{3} t \theta \right) \right) \right) \end{aligned}$$
(28)
$$\begin{aligned} y_{0}(t)=\sin ((5.0) t \theta -(1.5) \sin ((4.8) t \theta +(2.0) \sin ((4.9) t \theta ))) \end{aligned}$$
(29)

where y(t) is the estimated sound wave. \(y_{0}(t)\) is the target sound wave and \(\theta =2 \pi / 100\). The fitness function is given as:

$$\begin{aligned} f(\overrightarrow{\mathbf {X}})=\sum _{t=0}^{100}\left( y(t)-y_{0}(t)\right) ^{2} \end{aligned}$$
(30)

Spread spectrum radar poly phase code design (SSRPPCD) [80] is the class of continuous min-max global optimization problem where the continuous variables are \(X=\{(x_1,...,x_n)\in R^n | 0\le x_j\le 2\pi ,j = 1,...,n\}\). It is to minimize the biggest module in the auto-correlation function samples, and the objective function is piecewise smooth. The equations are formulated as follows:

$$\begin{aligned} \mathop {\min }_{x\in \varvec{X}} f(x)=\max \{\phi _1(x),...,\phi _{2m}(x)\}, m=2n-1 \end{aligned}$$
(31)
$$\begin{aligned} \phi _{2i-1}(x)=\sum _{j=i}^n\cos \left(\sum _{k=|2i-j-1|+1}^jx_k \right), i=1,...,n \end{aligned}$$
(32)
$$\begin{aligned} \phi _{2i}(x)=0.5+\sum _{j=i+1}^n\cos \left(\sum _{k=|2i-j|+1}^jx_k \right), i=1,...,n-1 \end{aligned}$$
(33)
$$\begin{aligned} \phi _{m+i}(x)=-\phi _{i}(x), i=1,...,m \end{aligned}$$
(34)

Static economic load dispatch problem (ELD) is to calculate the minimum fuel cost of generating units in a specific period of operation. The fuel cost includes the cost of online generating units and various constraint costs. The constraints in this paper include power balance constraints, capacity limits, ramp rate limits, and prohibited operating zones. Their specific calculation equations can be referred in [80].

Optimal control of a non-linear stirred tank reactor (OCNLSTR) [80] is a multimodal problem. The chemical modeling process is as follows:

$$\begin{aligned} \dot{x}_{1}=-(2+u)\left( x_{1}+0.25\right) +\left( x_{2}+0.5\right) \exp \left( \frac{25 x_{1}}{x_{1}+2}\right) \end{aligned}$$
(35)
$$\begin{aligned} \dot{x}_{2}=0.5-x_{2}-\left( x_{2}+0.5\right) \exp \left( \frac{25 x_{1}}{x_{1}+2}\right) \end{aligned}$$
(36)
$$\begin{aligned} J=\int _{0}^{t_{f}=0.72}\left( x_{1}^{2}+x_{2}^{2}+0.1 \cdot u^{2}\right) d t \end{aligned}$$
(37)

where u(t) is flow rate. \({x}_{1}\) and \({x}_{2}\) are dimensionless steady state temperature and concentration deviation, respectively. The optimization goal is to minimize the performance index J.

The objective of transmission network expansion planning problem (TNEP) is to minimize the construction cost of new lines, satisfying no overloads. The specific modeling process of TNEP is in [80].

Circular antenna array design problem (CAADP) [80] achieves sufficient null control by suppressing sidelobes, maximizing directivity of array pattern, driving the maxima close to the desired maxima, and penalizing objective function.

These six real-world optimization problems, including PEFMSW, SSRPPCD, ELD, OCNLSTR, TNEP and CAADP, are used to evaluate the practicality of CFDBWDO. The dimensions of six problems are 6, 20, 6, 1, 7 and 12, respectively. The population size is 100 and all compared algorithms individually run 51 times on each problem. Experimental results are presented in Tables 10, 11, 12, 13, 14 and 15. The Mean, Std, Best and Worst in tables represent mean value, standard deviation, best and worst solutions, respectively. The minimum values in columns of Mean and Best are highlighted in bold.

From Tables 10, 11, 12, 13, 14 and 15, it can be found that CFDBWDO obtains the best means and solutions on the six problems. In Table 14, although FDBWDO and CFDBWDO have the same best solution, CFDBWDO has a better mean. Thus, experimental results verify that CFDBWDO has the practicality for optimizing real-world problems.

Fig. 3
figure 3

Box-and-whisker diagrams of four WDO variants on F3, F8, F20 and F30 with 10 dimensions

Fig. 4
figure 4

Convergence graphs of four WDO variants on F13, F15, F20 and F30 with 10 dimensions

Fig. 5
figure 5

Box-and-whisker diagrams of four WDO variants on F3, F5, F17 and F30 with 30 dimensions

Fig. 6
figure 6

Convergence graphs of four WDO variants on F5, F15, F18 and F19 with 30 dimensions

Fig. 7
figure 7

Box-and-whisker diagrams of four WDO variants on F3, F9, F16 and F26 with 50 dimensions

Fig. 8
figure 8

Convergence graphs of four WDO variants on F9, F16, F20 and F26 with 50 dimensions

Fig. 9
figure 9

Box-and-whisker diagrams of four WDO variants on F3, F7, F16 and F22 with 100 dimensions

Fig. 10
figure 10

Convergence graphs of four WDO variants on F7, F10, F16 and F17 with 100 dimensions

5 Conclusion and Future Work

This study proposes chaotic wind driven optimization with fitness distance balance strategy (CFDBWDO), which introduces fitness distance balance strategy and memory-based chaotic local search into WDO to solve the problem of WDO with premature convergence and trapping in local optima, and CFDBWDO has the same time complexity as WDO. Experimental results of CFDBWDO and other three WDO variants on twenty-nine CEC 2017 benchmark functions and six real-world optimization problems indicate CFDBWDO has superior performance and practicality.

Three valuable findings in the paper are as follows:

  1. (1)

    The incorporated FDB selection method can indeed help the algorithm jump out of the local optima by enriching population diversity, which makes the algorithm converge gradually and improves the exploration ability.

  2. (2)

    The effect of CLS on improving the exploitation ability of the algorithm is limited by comparing the experimental results of CFDBWDO and FDBWDO, which clearly verifies the effects of CLS on WDO.

  3. (3)

    In the large dimensions, CFDBWDO has no significant advantage over AWDO. The possible reason is that the effect of the algorithm on optimizing functions with large dimensions needs further improvement.

In future studies, the following worth work can be considered:

  1. (1)

    CFDBWDO could be attempted to multi-objective optimization [81], combinatorial optimization [82], neural networks learning [83], solar photovoltaic parameter estimation [84], electromagnetic [46], optimal bidding strategy [85], and robot technology [86, 87].

  2. (2)

    Improved fitness-distance balance could be applied to other meta-heuristic algorithms to further verify its effectiveness.

  3. (3)

    The exploitation ability of CFDBWDO could be further improved from other perspectives in addition to CLS.