Introduction

Most of the engineering fields have complex optimization problems, which needs to be abstracted into specific models based on the existing problems, and specific methods are designed to get the optimal solution of the model [6, 8, 39, 46]. Although there are different methods in many broader fields [5, 30, 48, 49], including machine learning methods, data mining methods, complex network methods, etc., for problems in the optimization field, more and more different optimization algorithms are proposed [14, 47, 50]. Some engineering optimization problems need to obtain an accurate optimal solution. But for problems that cannot find the global optimal solution in a finite time, a meta-heuristic algorithm is usually used to obtain an approximate optimal solution [17]. Meta-heuristic algorithm is an effective and widely applicable stochastic optimization algorithm. It is widely used in industrial and economic issues to handle complex optimization problems [3, 25, 27, 33].

After a long period of development, the meta-heuristic algorithm has been continuously developed from the classic Particle Swarm Optimization (PSO) [7, 20, 38], Genetic Algorithms (GA) [15], Simulated Annealing algorithm (SA) [22] and other algorithms, and there have been many other different types of algorithms applied to different problems, including Ant Colony Optimization (ACO) [10], Artificial Bee Colony algorithm(ABC) [18], Cuckoo Search algorithm(CS) [51], Gravitational Search Algorithm (GSA) [40], Butterfly Optimization Algorithm (BOA) [1],Fish Migration Optimization (FMO) [4], Grey Wolf Optimizer (GWO) [16, 29], Charged System Search algorithm (CSS) [19], Atom Search Optimization (ASO) [53] and other algorithms [28]. According to different sources of inspiration, meta-heuristic algorithms can be divided into biological inspiration, physical inspiration, and evolutionary inspiration, etc. [13] Different meta-heuristic algorithms can also deal with problems in different fields and have achieved good results, such as digital watermarking [37], wireless sensor network [11, 23, 26, 32, 34, 43], vehicle routing problem [36, 54], hydropower station optimization problem [44], remote sensing image contrast [45], classification of multiple power quality disturbances [52], etc.

The different algorithms mentioned above have different principles, but they are all based on the interaction between individuals to achieve different behaviors, and each iteration tries to find a better solution. The movement of an individual is mainly affected by the global optimum or the individual’s historical optimum. The main information interaction is one or several good solutions that affect all other solutions [20, 29]. There are fewer data interaction methods between two arbitrary individuals [1, 51]. The movement of the individual is mainly achieved by approaching the global optimal or random movement, and the individual lacks certain autonomous decision-making ability [20]. In addition, the individual in the algorithm is usually directly expressed as the solution in the decision space, which corresponds to the fitness value of the solution. The individual can only rely on the fitness value or other solutions to judge the next move direction, and there is no other basis. Moreover, the way an individual calculates the direction of movement is usually a fixed formula, mostly based on the location of other individuals or random changes, and rarely chooses based on their own conditions.

Based on the above, this paper refers to the evolution characteristics of the stick insect population, and proposes the Phasmatodea population evolution algorithm (PPE) to deal with optimization problems in the N-dimensional decision space. In the following statement, stick insects have the same meaning as Phasmatodea.

Different from other algorithms that treat individuals as a solution in the decision space, this paper treats a solution as a stick insect population, and this population has the attribute of population size in addition to the corresponding calculable fitness value. The evolution of the population will be reflected in the change of the population, and the trend of population evolution will also be affected by the number of its own population. It is equivalent to providing an additional data support for the change of the solution. A population will make different decisions based on its own population size, and the change in population size is the result of all previous decisions of the population. The size of the population is also affected by environmental changes to a certain extent. An earlier version of this work was presented at the 2nd International Conference on Industrial Artificial Intelligence [42].

The PPE algorithm introduces a population competition model to realize the mutual influence of any two populations. In the real world, differences and barriers in geographic environments will affect population evolution, and there are more interactions between different populations in close and similar geographic environments. Therefore, the PPE algorithm uses multiple nearest optimal solutions to replace the global optimal solution, increasing the diversity of population evolution trends. The algorithm mainly draws on the convergent evolution, path dependence, mutation, and population growth and competition models in the evolution of the stick insect population. The algorithm is built according to the above-mentioned characteristics, and the performance of the PPE is tested using the benchmark functions. Finally, the proposed algorithm is used to deal with some application problems, and good results are achieved.

The article is organized as follows. Section “Inspiration” introduces the related algorithms and the evolution model of the stick insect population. Section “Simplified Phasmatodea population evolution optimization algorithm” introduces the specific composition and steps of the PPE algorithm. Section “Experimental results” tests and analyzes the performance of the PPE algorithm. The PPE is proposed to deal with different application problems and demonstrated in “PPE for engineering problems”. Section “Conclusion” summarizes and discusses this paper.

Inspiration

The evolution of the stick insect population is closely related to the mimic adaptation to the environment [2]. The evolution trend of the stick insect population is to change with environmental changes and integrate itself into the surrounding environment [12, 21]. Therefore, the movement of the solution in the decision space can be regarded as the evolutionary trend of the stick insect population, and the change in fitness value before and after the solution movement can be regarded as the change of the environment. The stick insect population is affected by the environmental change and will produce the next evolutionary trend.

The next evolutionary trend is affected by many characteristics. By studying the evolution process of stick insects, this article mainly chooses the following characteristics to construct the next evolutionary trend. It mainly includes convergent evolution, evolutionary path dependence, population mutation, population growth and competition models.

  1. (1)

    Convergent evolution considers the impact of the environment, and information exchange is blocked by the geographical environment.

  2. (2)

    Path dependence considers environmental changes, which will affect population evolution trends.

  3. (3)

    The population has a certain degree of initiative and will respond to changes in the environment.

  4. (4)

    Population size and competition between populations will affect population evolution.

The first is the concept of convergent evolution. For populations, similar living environments are more likely to produce similar evolutions. Due to the barrier of the geographical environment (the fitness landscape), the evolution of the population is closer to the nearest optimal solution, but not necessarily to the global optimal.

The second is the path dependence in the evolution of the population. If the population has better survival conditions after evolution, the population will generally continue the previous evolution trend. This is a relatively labor-saving evolution, but if the survival conditions become worse after the population evolves, Then the population may change the evolutionary trend.

Path dependence is similar to the greedy algorithm, which seeks the next position by continuing the previous movement trend. The underlying assumption is that the environment changes monotonously in a certain direction. The path in this article refers to the evolutionary trend of the population, and the population tends to continue the evolutionary path that achieved better results before.

The last is the population growth and competition model. In this paper, each population has two attributes: population quantity and growth rate. Population competition and changes in the environment will affect the population quantity and growth rate. When the population of a species is not restricted by the environment and resources, its population increases exponentially, but in the real environment, resources and space are limited, so the population growth model is often described by the following formula

$$\begin{aligned} \frac{{\text {d}} p}{{\text {d}} t}=rp(1-\frac{p}{K}) \end{aligned}$$
(1)

For Eq. (1), p is the population quantity, r means the effective growth rate of the population, K represents the maximum environmental capacity of the population of a species.

In the PPE algorithm, this paper uses the logistic difference equation, let \(K = 1\) [31]. Then, using the population quantity at t can calculate the population quantity at \(t + 1\) as

$$\begin{aligned} p^{t+1} = a p^{t}(1-p^{t}) \end{aligned}$$
(2)

For Eq. (2), a represents the growth rate, p is between 0 and 1, and the value of a is between 0 and 4. When a exceeds the interval 0–4, it is meaningless. If \(a <1\), it means that the population quantity p is gradually decreasing, and eventually the population quantity will decrease to 0, and the population will disappear. If \(1<a<3\), the population quantity will slowly converge to a stable value \(p=(a-1)/a\). If \(a>3\), the population quantity will become unstable and fall into chaos.

In addition to the impact of environment and resources on population growth, competition between different populations will also affect the number and growth rate of populations, and the disadvantaged populations may disappear. The population competition model is usually described by the following equation:

$$\begin{aligned} \frac{{\text {d}} p}{{\text {d}} t}=r_{1} p\left( 1-\frac{p}{n_{1}}-s_{1} \frac{q}{n_{2}}\right) \end{aligned}$$
(3)

In Eq. (3), q represents the population quantity of another population. \(r_1\) represents the effective growth rate of the population p. \(n_1\) is the maximum environmental capacity of population p, \(n_2\) is the maximum environmental capacity of population q. \(s_1\) means that relative to the resources supporting p, a unit quantity of q consumes \(s_1\) times more resources than a unit quantity of p.

Based on the above description of the evolution characteristics of the stick insect population, combined with the population growth and competition model, this paper attempts to implement the PPE algorithm and improve its performance.

Simplified Phasmatodea population evolution optimization algorithm

In this paper, an improved stick insect population evolution algorithm is designed to deal with the minimization of n-dimensional space. This section attempts to design a new heuristic optimization algorithm, trying to integrate historical population decision data, population autonomous decision-making ability, and interaction between arbitrary populations into the algorithm framework.

The algorithm mainly includes three parts: initialization, population position update, and population evolution trend update. Next, the three parts are introduced separately.

Initialization

Suppose there are Np solutions in the n-dimensional space, and each solution is represented by x, and x is a point in the n-dimensional space, that is, \(x=[x_1,x_2,\ldots ,x_n]\). We regard a solution x as a stick insect population, assuming that it has certain autonomous decision-making ability. Each population has two attributes: population quantity and growth rate, \(p_i (1 \le i \le Np)\) represents the quantity of the i-th population (solution), and \(a_i\) means the growth rate of the i-th population.

First, randomly generate Np populations (solutions) x, and the population quantity of each population x is calculated by

$$\begin{aligned} p_i=\frac{1}{Np} \end{aligned}$$
(4)

For later use, the population quantity \(p_i\) of the i-th population is initialized to a decimal in Eq. (4). In addition, the growth rate a of each population is set to a fixed value of 1.1, which means that all populations have a good survival state in the initial situation, and then as the environment changes (the population position x changes), the quantity of populations will change.

Based on the introduction in “Inspiration”, for population x, its evolution process is more similar to the dominant population with similar living environment and closer distance, and it is not necessarily able to achieve convergent evolution to the global optimal population. This is not only due to the barrier of the geographical environment, but also because the characteristics of the global optimal population cannot make the population x find a better position in the current area.

Therefore, this article selects k historical optimal solutions to guide the movement of the surrounding solutions, stored in Ho, \(Ho = [x_{h1},\ldots ,x_{hi},\ldots , x_{hk}]\). Among them, \(x_{hi}\) is the i-th optimal solution that has appeared, \(x_{h1}\) is the optimal solution of all the solutions that have appeared, and \(x_{h2}\) is the optimal solution that has appeared only after \(x_{h1}\). If a total of Np solutions are generated, then the number of k is

$$\begin{aligned} k=\lfloor \log (Np)\rfloor + 1 \end{aligned}$$
(5)

Ho uses the Np solutions generated by the initialization process to select k optimal solutions, and its fitness value is stored in the corresponding array.

Ho is used to store the best first k solutions in the past search process, and the judgment of the quality of the solution is obtained by calculating the fitness value. Ho is used to store the nearest optimal solution to guide the movement of other solutions around.

Population position update

After the population is initialized, the population position needs to be updated. After the update of the population position \(x^t\) at time t, it will move to a new position \(x^t+1\) and in a new environment, this position change is represented by the evolution trend ev. The position update formula is

$$\begin{aligned} x^{t+1} = x^{t}+ev \end{aligned}$$
(6)

For Eq. (6), ev is the evolutionary trend of stick insect populations. After the population position changes, it is necessary to re-evaluate all populations, update the global optimal solution gbest and k optimal solutions Ho.

Population evolution trend

The update of the population trend mainly includes three parts. The first two parts choose different ways to update according to the comparison of the quality before and after the trend update. The third part uses the population competition model to update. The first two parts represent the choice of the autonomous decision-making strategy of the population, there are two kinds, and the third part represents the mutual influence between the population.

The first is the update of the first two parts, which mainly use the characteristics of population growth model, convergent evolution and path dependence. After the population position is updated, the updated population is evaluated. If it is better than before, then the first part of the population trend update is performed, otherwise the second part of the population trend update method is performed.

The first part first updates the population quantity, and the update equation is

$$\begin{aligned} p^{t+1} = a^{t+1}p^{t}(1-p^{t}) \end{aligned}$$
(7)

After using Eq. (7) to update p, the population trend ev needs to be updated. The update method mainly contains three parts.

The first is the convergence to the nearest optimal, and secondly, because the previous evolutionary trend \(ev^t\) has obtained better results, then the next update is more likely to continue the previous evolutionary trend, which is called path dependence. Path dependence is similar to the greedy algorithm, which seeks the next position by continuing the previous movement trend. The underlying assumption is that the environment changes monotonously in a certain direction. Finally, there are mutations within the population. Therefore, the update equation of population trend is as follows:

$$\begin{aligned} ev^{t+1} = (1-p^{t+1})A + p^{t+1}(ev^{t} + m) \end{aligned}$$
(8)

For Eq. (8), A represents the degree of approach to the nearest optimal, and the calculation formula is

$$\begin{aligned} A = (s(Ho,x^t)-x^t) \cdot c \end{aligned}$$
(9)

For Eq. (9), \(s(Ho,x^t)\) is used to find the historical optimal solution that is closest to \(x^t\) in Ho, c is the coefficient of the influence degree of the nearest optimal solution on the current population, usually less than 1, which is a fixed value of 0.2 in this article. m represents the mutation of the population in some dimensions, first randomly select w dimension \((w \le n)\), then use the standard normal distribution to generate a random number. Finally, an n-dimensional mutation vector m is formed by \(m=m (Ub-Lb) \times 0.2\), Lb is the lower limit and Ub is the upper limit of n-dimensional space, \(Lb = [lb_1,\ldots ,lb_n]\), \(Ub = [ub_1,\ldots ,ub_n]\).

The second part is that the population position does not obtain a better value after the previous update, then the population will no longer maintain the original trend, but tend to the nearest optimal solution, and at the same time produce unpredictable disturbances. However, before this, the population has a certain probability to maintain the relatively poor situation after the update, so as to have the opportunity to jump out of the current area. In the process, the population size will change according to Eq. (7).

Based on the above description, the probability that the population accepts a poor solution is set to \(p_i\), that is, the quantity of current population. And the population trend update formula in the second part is

$$\begin{aligned} ev^{t+1} = {\text {rand}} \cdot A + st \cdot B \end{aligned}$$
(10)

For Eq. (10), rand represents an n-dimensional random vector generated using a uniform distribution, and each dimension is between 0 and 1, and B represents an n-dimensional random vector generated using a standard normal distribution. st is initially set to \((Ub-Lb) \times 0.1\), and with each iteration of the algorithm, st is updated to \(st=st \times 0.99\).

The third part is the impact of the competition between populations on the evolution trend of the population. The population competition model refers to Eq. (3), and a simple modification is made here. The revised formula is

$$\begin{aligned} p_i = p_i+ a_i p_i\left( 1-p_i-\frac{f(x_j)}{f(x_i)} p_j\right) \end{aligned}$$
(11)

When the population \(x_i\) is competing with \(x_j\), the population quantity of \(x_i\) is calculated using Eq. (11). Compared to Eq. (3), both \(n_1\) and \(n_2\) are 1, and \(s_1\) is calculated as the ratio of the fitness values between the \(x_i\) and \(x_j\).

Where \(x_i\) is the current population, \(x_j\) is randomly selected from other \(Np-1\) populations, and then the distance between the two populations needs to be judged and compared with a given threshold G. The calculation formula for G is

$$\begin{aligned} G= 0.1 \times (Ub-Lb) \frac{Max\_gen+1-t}{Max\_gen} \end{aligned}$$
(12)

For Eq. (12), \(Max\_gen\) means the number of iterations, and t represents the current number of iterations. The threshold G will become smaller and smaller as the number of iterations increases.

If the distance between the current population \(x_i\) and other randomly selected population \(x_j\) is less than the threshold G, then it is considered that the two populations have competed. Competition will have an impact on the evolution trend of the current population \(x_i\), which is described by the following formula

$$\begin{aligned} ev^{t+1} = ev^{t+1}+ \frac{f(x_j)-f(x_i)}{f(x_j)}(x_j-x_i) \end{aligned}$$
(13)

In addition, when the population is too small or the population growth rate exceeds the normal range, the solution needs to be eliminated, and a new population is generated to replace, indicating that the current stick insect population disappears due to poor adaptability to the environment.

Based on the above statement, the pseudo-code of the PPE is shown in Algorithm 1.

figure a

In Algorithm 1, rd means a random number generated using a uniform distribution, and the range is 0–1. The dist function is used to calculate the Euclidean distance between two n-dimensional vectors. Algorithm code is exposed on the website (https://github.com/Spacewe-outlook/PPE).

Experimental results

Benchmark function and parameter settings

Based on the previous introduction, this section tests the performance of the proposed PPE. This article uses benchmark functions to test the performance of the PPE and analyzes the performance of the PPE algorithm in different dimensions.

There are many test functions for related algorithms, but there are some common test suites in the CEC competition. This paper uses CEC2014 [24] benchmark suites for testing. All the benchmark functions include 3 unimodal functions (F1–F3), 13 simple multimodal functions (F4–F16), 6 mixed functions (F17–F22) and 8 composition functions (F23–F30).

To show the performance of the proposed PPE algorithm more objectively and truthfully, the more classic PSO [20] and GA [15] algorithms are selected in the manuscript, and then several other algorithms proposed in recent years are selected, including the GSA algorithm in 2009 [40] and the GWO algorithm in 2014 [29], Social Learning Particle Swarm Optimization (SLPSO) algorithm in 2015 [7], BOA [1] and ASO [53] algorithms in 2019. The parameter settings of related algorithms are shown in Table 1.

Table 1 Parameters setting of every different algorithm

Table 1 shows the parameter settings of different algorithms and the number of solutions Np generated in each iteration.

Comparison with other algorithms

After determining the algorithm to be compared with and the parameters of the corresponding algorithm, for a fairer comparison, it is also necessary to ensure that different algorithms perform the same function evaluation times. Therefore, the function evaluation times of all algorithms in this article are 40,000. The dimension is 30, each different algorithm is run 30 times on different functions and the average value is recorded. The overall performance of each different algorithm compared with the PPE was measured at a significant level \(\alpha \) = 0.05 under the Wilcoxon’s sign rank test. The results are shown in Table 4.

Table 2 is the test results of the proposed PPE and other algorithms on 30 benchmark functions. The symbol \((<)\) means that the algorithm does not perform as well as the PPE on the current benchmark function. And the symbol \((=)\) means that the two algorithms perform similarly on the current benchmark function. And the symbol \((>)\) means that the PPE performs poorly. In the last row of the table, the comparison results on all functions are summarized.

Shown in Table 4 are the Wilcoxon’s sign rank test results of each algorithm compared with the PPE algorithm at a significant level of 0.05. The symbol \((+)\) indicates that the performance of the algorithm under the current benchmark function is significantly worse than that of the PPE algorithm, the symbol \((-)\) indicates that the performance of the current algorithm is stronger than the PPE algorithm, and the symbol \((\approx )\) indicates that there is no significant difference between the performance of the current algorithm and the PPE algorithm.

Table 2 Comparison of average of fitness functions on 30D optimization among PSO, GA, SA, GSA, GWO, BOA and ASO

For Table 2, the overall performance of the PPE on the 30 functions of CEC2014 is better than SLPSO, GA, SA, BOA, GSA, GWO algorithms, and similar to the overall performance of PSO and ASO algorithms. Compared with SA algorithm, the performance of PPE on 25 benchmark functions is better than SA algorithm. Compared with the PSO, the PPE only has better performance on 16 benchmark functions than the PSO, and cannot achieve an overwhelming advantage. At the same time, the performance of the PPE is better than that of the ASO on only 15 benchmark functions. Due to the randomness of the algorithm test, the PPE cannot achieve an overwhelming advantage.

To compare the performance of different algorithms on different types of benchmark functions more clearly, this paper sorts out the data in Table 2, finds out which algorithm obtains the optimal solution for each benchmark function, and summarizes according to the type of benchmark function. The results are shown in Table 3.

Table 3 shows and compares the performance of the algorithm on different types of benchmark functions.

Table 3 Performance of different algorithms on different types of functions

Table 3 compares how many functions the current algorithm has achieved the best results in each type of function compared to all other algorithms.

In Table 3, the PPE has achieved the best solution among all algorithms on seven functions, and at the same time, stronger than all other algorithms. The BOA algorithm performs well on the composition function, which is stronger than other algorithms, but the effect is worse than other algorithms on other types of functions.

Table 4 Compared with the PPE, the results of each algorithm is measured at a significant level \(\alpha \) = 0.05 under the Wilcoxon’s signed rank test

Convergence evaluation

For meta-heuristic algorithms, it is not only necessary to compare the final results of different algorithms, but also to consider the convergence of the algorithm. Algorithms with different convergence speeds may eventually obtain similar results, so this article shows the convergence of the proposed PPE algorithm, as shown in Figs. 1 and 2.

Due to space limitations, only partial results are shown here. The type of the selected functions are different, the performance of the algorithms are also different, and all the test results are displayed on the website (https://github.com/Spacewe-outlook/PPE).

In Figs. 1 and 2, the horizontal axis is the number of function evaluations. To show the difference between different curves more clearly, the vertical axis is \(Log(f - f*)\). f represents the final result obtained by the algorithm on a benchmark function. \(f*\) represents the minimum value of the current benchmark function.

In Fig. 1, the final results of the PPE algorithm on the benchmark functions F1 and F3 are better than other algorithms, but in the early stage of algorithm execution, the PPE algorithm’s convergence speed is slower than other algorithms. The final results of the PPE algorithm on the benchmark functions F5 and F10 are worse than other algorithms, but in the early stage of the algorithm execution, the convergence speed of the algorithm is better than that of the PSO, GWO, and GSA algorithms.

According to Fig. 2, the proposed PPE algorithm has continuous convergence ability on the benchmark functions F17 and F20. In the later stage of the algorithm execution, the proposed PPE algorithm is not easy to fall into a local optimum compared to other algorithms, but the convergence speed is slower. The PPE algorithm has better performance on the benchmark function F21, and the final result is slightly better than all other algorithms, but the performance on the benchmark function F30 is more general.

Compared with other algorithms, the PPE algorithm has a downward trend within the given evaluation times. Compared with other algorithms, most of them no longer continue to converge, and the convergence curve tends to be stable in the later stage. It can be seen that it cannot find a better result and falls into a local optimum.

Since the number of the nearest optimal solutions in the PPE algorithm is calculated by Eq. (5), when Np is equal to 20, k is 3.

Fig. 1
figure 1

Convergence test results in 30 dimensions (F1, F3, F5, F10)

Fig. 2
figure 2

Convergence test results in 30 dimensions (F17, F20, F21, F30)

In the case of keeping Np equal to 20, this paper tests whether the number of the nearest optimal solutions will affect the convergence speed of the algorithm and how it will affect. This article selected several different results, and the test results are shown in Fig. 3.

Fig. 3
figure 3

Convergence test result when k is different (F2, F6, F14, F19)

It can be seen from Fig. 3 that when k is different, the convergence curve of the PPE algorithm is also different. For the benchmark function F2, when k is smaller, the algorithm converges faster and the result is the best. As k increases, the performance of the algorithm keeps getting worse. For the benchmark functions F6 and F14, the smaller the k, the faster the algorithm converges, but the final results of different k are closer. But for the benchmark function F19, the smaller the k, the faster the algorithm converges, but the final result is not as good as when k is larger. It can be seen that when k is relatively small, it is helpful for the rapid convergence of the algorithm, but the diversity of the solution cannot be fully guaranteed, and it is still possible to fall into a local optimum.

Scalability analysis

Since the above test mainly uses a benchmark function with a dimension of 30 for testing, in practical applications, the dimension of the optimization problem is not necessarily 30. Therefore, to show the performance of the PPE algorithm more comprehensively, it is necessary to display and analyze the performance of the algorithm in different dimensions. The comparison results are shown in Figs. 4 and 5.

Fig. 4
figure 4

Comparison of different algorithms with different dimensions in different functions (F1, F3, F6, F7)

Fig. 5
figure 5

Comparison of different algorithms with different dimensions in different functions (F14, F18, F20, F29)

According to Fig. 4, the performance of the PPE algorithm on the 10-, 30-, 50- and 100-dimensional benchmark function F1 is better than other algorithms. On the F3, the PPE algorithm can obtain better results when the dimension is relatively low, but when the dimension is 100, the algorithm performance is worse than the GA and ASO algorithms. The performance of the algorithm PPE on the benchmark functions F6 and F7 is worse than the ASO and PSO algorithms.

According to Fig. 5, the PPE algorithm benchmark functions F14, F17, F18, and F29 have achieved good results, but they do not have advantages in every dimension. On the benchmark function F14, the PPE algorithm has a poor effect when the dimension is 10. But the effect is better when the dimension becomes higher. The PPE algorithm has certain advantages in different dimensions on the benchmark function F29, but it is worse than the BOA algorithm.

Visualization of algorithm changes

To show the internal changes of the PPE algorithm more clearly, this paper selects the benchmark functions F1 and F8 to visualize the internal changes of the PPE algorithm during the execution of the algorithm. The results are shown in Figs. 6 and 7.

Fig. 6
figure 6

Analysis of the algorithm execution process in F1

Fig. 7
figure 7

Analysis of the algorithm execution process in F8

Fig. 8
figure 8

PPE algorithm test results on Model 1 (D = 4, N = 20) and Model 2 (D = 8, N = 30)

Figure 6 shows the characteristics of different aspects of the algorithm PPE in the process of iterating 1000 times on the benchmark function F1.

The first picture is a three-dimensional map of the function F1 in two dimensions.

The second figure shows the changes in the best fitness value and the worst fitness value obtained in all populations throughout the iteration process. It can be seen that the best fitness value of Np populations has been changing, but the relative change is relatively small, and the worst fitness value gradually becomes better with relatively small changes, but the fluctuation of each iteration process is large.

The third picture shows the change process of the population number of the first population in the iteration process. It can be seen that the change of the population number p is irregular.

According to Algorithm 1, since the PPE algorithm will first judge whether a better solution can be obtained after the population position is updated, if a better solution is obtained, the first part will be executed, otherwise the second part will be executed. Therefore, the fourth picture compares the ratio of the number of times the first part and the second part are executed to the total number of times in the entire iteration process. Therefore, the fourth picture compares the ratio of the number of times the first part and second part is executed to the total number of times.

It can be seen from the fourth figure that in the six test results, the ratio of PPE algorithm obtaining better results on the benchmark function F1 is higher than the ratio of obtaining worse results.

Figure 7 shows the internal changes of the PPE algorithm when iterating on the benchmark function F8. Different from Fig. 6, according to the fourth picture of Fig. 7, the ratio of the PPE algorithm to obtain a worse position in the whole iterative process is higher than that of a better position. According to the second picture, the worst fitness values obtained by Np populations have not gradually improved and the fluctuations are relatively stable, and the best fitness values have also converged slowly.

PPE for engineering problems

This section tests the application of the proposed PPE algorithm on engineering optimization problems, and selects several well-known engineering problems, including welded beam design, compression spring design and pressure vessel design and drone logistics hub location.

The parameter settings of all algorithms and the number of generated solutions are shown in Table 1, and are not modified in this section. The evaluation times of all algorithms in different engineering problems are 40,000. All algorithms are run five times in different problems, recording the average, best value, standard deviation and worst value. At the same time, the paper gives the rank-sum test results of the best values obtained by different algorithms.

Welded beam design

Welding beam design problem is a basic and classic engineering optimization problem, often used to test the performance of optimization algorithms. This problem is a minimization problem, which minimizes the manufacturing cost of the welded beam [9].

Four variables need to be considered when optimizing this problem, including thickness of weld (h), height of the bar (t), length of the clamped bar (l) and thickness of the bar (b). In addition to this, multiple constraints need to be considered, the mathematical representation is as follows

$$\begin{aligned} Consider\quad \mathbf {g}&= [g_1,g_2,g_3,g_4] = [h,l,t,b]\\ \min \quad f(\mathbf {g})&= g_1^2 g_2 1.10471\\&\quad + (14.0 + g_2) g_3 g_4 0.04811\\ st. \quad y_{1}(\mathbf {g})&=\tau (\mathbf {g})-\tau _{\max } \le 0 \\ y_{2}(\mathbf {g})&=\sigma (\mathbf {g})-\sigma _{\max } \le 0 \\ y_{3}(\mathbf {g})&=\delta (\mathbf {g})-\delta _{\max } \le 0 \\ y_{4}(\mathbf {g})&=g_{1}-g_{4} \le 0 \\ y_{5}(\mathbf {g})&=\mathrm {P}-P_{c}(\mathbf {g}) \le 0 \\ y_{6}(\mathbf {g})=&0.125-g_{1} \le 0 \\ y_{7}(\mathbf {g})=&1.10471 g_{1}^{2}+0.0481 g_{3}g_{4}\\&\quad \times \left( 14.0+g_{2}\right) -5.0 \le 0 \\ Variable\ constraint\ interval \quad 0.1&\le g_{1} \le 2,\\ 0.1&\le g_{2} \le 10,\\ 0.1&\le g_{3} \le 10,\\ 0.1&\le g_{4} \le 2\\ \end{aligned}$$
$$\begin{aligned} where \quad&\\ \tau (\mathbf {l})&=\sqrt{\tau ^{\prime 2}+2 \tau ^{\prime } \tau ^{\prime \prime }\left( g_{2} / R\right) +\left( \tau ^{\prime \prime }\right) ^{2}}\\ \tau ^{\prime }&=\mathrm {P} / \sqrt{2 g_{1} g_{2}, \tau ^{\prime \prime }}=\mathrm {MR} / \mathrm {J}, \mathrm {M}=\mathrm {p}\left( \mathrm {L}+g_{2} / 2\right) \\ \mathrm {R}&=\sqrt{\frac{g_{2}^{2}}{4}+\left( g_{1}+g_{3} / 2\right) ^{2}}\\ \mathrm {J}&=2\left\{ \sqrt{2} g_{1} g_{2}\left[ \left( \frac{g_{2}^{2}}{4}\right) +\left( \frac{g_{1}+g_{3} }{2}\right) ^{2}\right] \right\} \\ P_{c}(\mathbf {l})&=\frac{4.013 \mathrm {E} \sqrt{\frac{g_{3}^{2} g_{4}^{6}}{36}}}{L^{2}}\left( 1-\frac{g_{3}}{2 L} \sqrt{E} / 4 G\right) \\ \sigma _{\max }&=30000 \mathrm {psi}, \mathrm {P}=6000 \mathrm {lb}, \mathrm {L}=14 \mathrm {in.}, \\ \delta _{\max }&=0.25in. , \mathrm {E}=3 \times 10^{6} \mathrm {psi}, \tau _{\max }=13600 \mathrm {psi} \\ \mathrm {G}&=12 \times 10^{6} \mathrm {psi} \end{aligned}$$

Based on the above description, this paper uses different algorithms to test, the results are shown in Table 5.

Compression spring design

This problem is also a minimization engineering problem often used to test optimization algorithms. This problem requires minimizing the weight of tension and compression springs [41]. The three variables to be considered in the problem optimization process are the diameter of the wire (d), mean coil diameter (D) and the number of the active coils (N). In addition to this, multiple constraints need to be considered, the mathematical representation of the problem is as follows

$$\begin{aligned} Consider\quad \mathbf {g}&= [g_1,g_2,g_3] = [d,D,N]\\ \min \quad f(\mathbf {g})&= (g_3+2)g_2 g_1^2\\ st. \quad y_{1}(\mathbf {g})&=1-\frac{g_{2}^{3} g_{3}}{71785 g_{1}^{4}} \le 0,\\ y_{2}(\mathbf {g})&=\frac{4 g_{2}^{2}-g_{1} g_{2}}{12566\left( g_{2} g_{1}^{3}-g_{1}^{4}\right) }+\frac{1}{5108 g_{1}^{2}} \le 0,\\ y_{3}(\mathbf {g})&=1-\frac{140.45 g_{1}}{g_{2}^{2} g_{3}} \le 0,\\ y_{4}(\mathbf {g})&=\frac{g_{1}+g_{2}}{1.5}-1 \le 0\\ Variable\ range\ 0.05&\le g_{1} \le 2.00, 0.25 \le g_{2} \le 1.30,\\ 2.00&\le g_{3} \le 15.00 \end{aligned}$$

Combined with the above description of the problem, this paper uses related algorithms to test the problem, the results are shown in Table 6. Compared with other algorithms, the best value obtained by the PPE algorithm is better than other algorithms.

Pressure vessel design

The goal of the pressure vessel design problem is to minimize the total cost of the cylindrical pressure vessel. Variables to consider include the shell thickness (\(T_s\)), the thickness of the head (\(T_h\)), the inner radius (R), the section length of the vessel (L). In addition to this, multiple constraints need to be considered, the mathematical representation is as follows

$$\begin{aligned} Consider\quad \mathbf {g}&= [g_1,g_2,g_3,g_4]\\&\quad \quad = [T_s,T_h,R,L]\\ \min \quad f(\mathbf {g})&=0.6224 g_{1} g_{3} g_{4}+1.7781 g_{2} g_{3}^{2}\quad \\&\qquad +3.1661 g_{1}^{2} g_{4}+19.84 g_{1}^{2} g_{3}\\ st. \quad y_{1}(\mathbf {g})&=-g_{1}+0.0193 g_{3} \le 0,\\ y_{2}(\mathbf {g})&=-g_{3}+0.00954 g_{3} \le 0,\\ y_{3}(\mathbf {g})&=-\pi g_{3}^{2} g_{4}-\frac{4}{3} \pi g_{3}^{3}\\&\qquad +1296000 \le 0,\\ y_{4}(\mathbf {g})&=g_{4}-240 \le 0\\ Variable\ constraint\ interval \quad 0&\le g_{1} \le 99,\\ 0&\le g_{2} \le 99,\\ 10&\le g_{3} \le 200,\\ 10&\le g_{4} \le 200\\ \end{aligned}$$

This article uses the engineering problem to test the PPE and other algorithms, the results are shown in Table 7. Compared with other algorithms, the PPE algorithm can obtain better results, but it is not as stable as the GWO algorithm. Since the algorithm is not specifically designed for the above application problems, the performance gap between PPE algorithm and GWO, ASO and other algorithms is not obvious. Based on the above comparison results, although the proposed PPE algorithm does not have an overwhelming advantage on a specific problem, it still has similar performance compared with existing algorithms.

Table 5 Results of different algorithms for welded beam design problem
Table 6 Results of different algorithms for compression spring design problem
Table 7 Results of different algorithms for pressure vessel design problem
Table 8 The results of the PPE algorithm and other algorithms on the location of the drone logistics hub in Model 1 and 2

Drone logistics hub location

This paper uses the Drone logistics hub location model proposed in [35] to test the proposed PPE algorithm.

This model considers the situation where the drone logistics hub serves the surrounding villages. Each village is in charge of a logistics hub, and each logistics hub is responsible for multiple villages. The location of the drone logistics hub is selected considering the location of the surrounding villages and the population size and the difficulty of transportation from the current location to the village. The objective function constructed by the model is

$$\begin{aligned} \min F = \sum _{k=1,k\in N}(H_k-R_k)\cdot cp_k \cdot \left( \frac{L1_k}{L2_k}\right) , \end{aligned}$$
(14)

where N means the number of villages, k means the k-th village, \(cp_k\) is represented as the population of the k-th village, \(R_k\) means the radius of a village, and \(H_k\) represents the straight-line distance from a village to the nearest logistics hub. \(L2_k\) is the same as \(H_k\), and \(L1_k\) represents the land distance from the current village to the nearest logistics hub. This paper randomly generates several models. The two-dimensional area simulated by the model is 50,000 m \(\times \) 50,000 m. The village size and population are randomly generated. The radius of the village ranges from 200 to 900, and the village population ranges from 300 to 3000.

Table 8 is the test results of different algorithms when using different models. Table 8 is the test results of different algorithms when using different models, M means the number of models, D means the number of drone hubs, and N means the number of villages generated. And the number of iterations is 1000.

In Table 8, the algorithm can get better results than other algorithms in the two generated models, and the generated results are shown in Fig. 8.

Conclusion

By imitating the evolution law of stick insect population, this paper proposes and implements a population evolution algorithm for optimization problems. The proposed PPE algorithm realizes convergent evolution, path dependence and intra-population mutation, and combines population growth and competition models. In this paper, the performance of the proposed PPE is tested, compared with classic and newer similar algorithms, and the algorithm effect is tested on several engineering problems. The results show that the PPE algorithm has better performance, and It can be further optimized. Since the PPE algorithm is not specifically applied to a certain type of practical problems, it is necessary to improve the algorithm for practical application problems in the next work to get better performance and achieve more practical results.