1. Introduction
With the continuous development of science and technology, the complexity and scale of various practical application problems and optimization problems are increasing, and the traditional optimization problem-solving methods are no longer suitable for solving complex problems or make it difficult to meet the needs of high-precision solutions [
1,
2]. In recent years, swarm intelligence algorithms inspired by various biological groups in nature have been widely studied by international scholars, such as particle swarm optimization (PSO) [
3], the butterfly optimization algorithm (BOA) [
4], the SALP Swarm Algorithm (SALP) [
5] and so on. This kind of algorithm has been widely used in solving optimization problems and other scientific fields because of its simple principle, high flexibility and high efficiency. Optimization algorithms provide a powerful tool for the engineering field, as they can accelerate the design process, improve system performance, reduce costs, optimize resource utilization and provide support for engineering decision-making [
6,
7]. Optimization algorithms have always been a hot topic in the field of engineering. With the development of society, more and more complex optimization problems have emerged. Traditional optimization algorithms can no longer meet requirements, and more efficient intelligent optimization algorithms are urgently needed. Therefore, people are focusing on swarm intelligence optimization algorithms, such as gray wolf optimization (GWO) [
8], the Whale Optimization Algorithm (WOA) [
9], Firefly FA (Firefly Algorithm) [
10] and the Sparrow Search Algorithm (SSA) [
11]. These algorithms are not limited in search space and objective function form and have good optimization ability, so they have been widely used in real life and engineering fields [
12,
13]. However, as the constraints of practical problems become more and more stringent, the applicability of many such algorithms has been insufficient, which requires the higher performance and higher applicability of optimization algorithms to deal with these complex application problems.
Dandelion Optimizer was first proposed by S. Zhao and T. Zhang in 2022, which was inspired by the seed propagation of dandelion plants and the fluffy structure of the flowers [
14]. The DO algorithm is designed to solve engineering and scientific optimization problems, and its goal is to search the global optimal solution by simulating the growth and propagation mechanism of dandelion plants [
15,
16]. The algorithm has been successfully applied in engineering applications of artificial intelligence, antenna arrays, the design of independent microgrid systems and economic analyses [
17]. However, due to the limitation of its own population, dandelion is still weak in global search ability, and it can easily fall into local optimum [
18]. The long-distance flight process of dandelion seeds by wind was simulated, and two main factors, wind speed and weather, were added. Brownian motion and Levy flight were introduced to describe the trajectory of seeds.
In the original PSO and DO algorithms, there is a defect of easily falling into local optima when solving complex problems such as multidimensional problems and nonlinear optimization. In order to address these issues, this paper proposes a multi-strategy improved PSODO algorithm. The main contributions of our algorithm are as follows:
Combining the particle-updating rules of the DO algorithm with the particle position and velocity-updating rules of the PSO algorithm, thereby expanding its search range in the solution space.
Introducing a velocity decay strategy. In the early stages of algorithm optimization, higher velocities help particles explore the search space more widely to find the global optimal solution. However, as the iterations progress, excessively high velocities may cause the algorithm to skip some potentially excellent solutions. The velocity decay strategy is used to control the particle velocities in the population, providing a finer nutrient search for the later stages of the algorithm search process, thus balancing exploration and exploitation.
Improving the stability of solutions. By mixing these two algorithms and reducing the learning rate of PSO, the stability of solutions can be further improved, reducing oscillation problems during the solving process.
The organization of the subsequent sections in this paper is as follows:
Section 2 introduces the related works.
Section 3 provides a detailed introduction to the dandelion optimization algorithm, including its rising, falling and landing phases.
Section 4 elaborates on the PSODO algorithm, including the background and pseudocode of the PSO algorithm, the concept of combining PSO and DO algorithms, the process and the pseudocode of the PSODO algorithm.
Section 5 presents the simulation results of the PSODO algorithm and six other algorithms, including optimal values, averages and variances of 22 benchmark functions; convergence curves of seven algorithms; the feasibility of the velocity decay strategy; and three typical engineering problems such as the three-bar truss design problem (TTD), pressure vessel design problem (PVD) and compression spring design problem (CSD). Finally, the paper concludes with conclusions and future prospects.
2. Related Works
The dandelion optimization algorithm is a heuristic algorithm based on dandelion falling reproduction. It is not easy for the algorithm itself to fall into local extremum and it has strong robustness. However, the falling operation of the algorithm adopts a fixed step size, which may wander around the optimal position and consume time, resulting in the loss of dandelion individuals with high fitness [
19]. The dandelion optimization algorithm is a new optimization algorithm, which is based on the diffusion process of dandelions in nature and finds the optimal solution through population synergy [
20]. Compared with other algorithms, the dandelion algorithm has the advantages of fast convergence and easy implementation [
21,
22]. Therefore, the dandelion algorithm has a wide application prospect in solving single-objective optimization problems. The dandelion optimization algorithm has been paid attention by a large number of researchers, and many improved algorithms have been proposed to solve complex engineering application problems. Erda ş et al. [
23] proposed the application of the dandelion optimization algorithm to the optimization design and production process of seat brackets to optimize the production process, reduce costs and improve production efficiency. Wang et al. [
24] proposed a multi-threshold segmentation method for breast cancer images based on an improved dandelion optimization algorithm, which achieved the highest fitness value and the fastest convergence speed when using the same threshold number. Han et al. [
25] proposed an improved dandelion algorithm UAV path planning strategy. The algorithm proposes a new coding strategy, in which each dandelion represents a foothold of UAV, and the whole dandelion population is regarded as a whole deployment, which improves the efficiency of data collection.
However, after further study, the dandelion optimization algorithm does not have a high enough convergence accuracy, too easily falls into local optimum, and so on, for solving complex optimization problems. According to the theorem of “no free lunch”, there is no algorithm suitable for solving any optimization problem. Therefore, it is very meaningful to improve the algorithm from different angles. Relevant scholars have made some improvements in view of its shortcomings. For example, in reference [
25] proposed a dandelion optimization algorithm based on insanity self-adaptation, which uses a chaotic map to initialize the population to improve individual diversity and introduces an insanity operator to update the leader position to improve the development ability of the algorithm. Reference [
26], differential mutation operation is introduced into the leader position update mechanism of the standard dandelion optimization algorithm, which improves the global optimization ability of the algorithm and accelerates the convergence speed of the algorithm. Khalil et al. [
27] proposed a new cascaded loop controller based on the dandelion optimization algorithm, which combines fractional proportional derivatives with filters and fractional proportional skewed integral derivatives (FPDN-FPTID) to improve the LFC of single region and multi region IMGs. Reference [
28] proposed a dandelion optimization algorithm based on an adaptive normal cloud model, which uses a normal cloud model mechanism to help the algorithm jump out of local optimum and improve the diversity and search accuracy of the algorithm.
In 1995, Dr. Eberhart and Dr. Kennedy proposed the particle swarm optimization algorithm (PSO), which was inspired by birds’ foraging behavior. Compared with other algorithms, these two algorithms are easy to implement, simple in principle and strong in optimization ability. However, with the further development of research, it is found that there are still some shortcomings in the application process, but these two algorithms provide improved ideas for later researchers. To solve the above problems, this paper proposes a multi-strategy particle swarm hybrid dandelion optimization algorithm (PSODO). The algorithm first uses particle swarm optimization to update the population in the initial stage of population, then calculates the fitness value of each particle and dandelion, that is, the objective function value, then updates the individual and global optimum, updates the individual optimal solution (pBest) for each particle and dandelion and then updates the global optimal solution (gbest) according to the individual optimal solution (pBest). It is compared with the PSO, GWO, WDO, SCA, TSA and DO algorithms. The effectiveness and feasibility of PSODO are verified by solving 22 benchmark functions and three engineering design cases of CEC2005 and comparing it with other optimization algorithms.
3. Dandelion Optimization Algorithm
Dandelion optimizer (DO) was proposed by Shijie Zhao et al. in 2022, which simulates the long-distance flight of dandelion seeds by wind and includes three stages, namely, the ascending stage, descending stage and landing stage [
29]. The algorithm considers two main factors, wind speed and weather, and introduces Brownian motion and Levy flight to describe the trajectory of seeds [
30]. In the ascending stage, according to different weather conditions, seeds move in a spiral ascending way in the community or flow locally [
31]. In the descent stage, by constantly adjusting the flight direction in the global space, the seeds descend steadily after rising to a certain height; in the landing phase, under the influence of wind and weather, seeds randomly select positions to land. Dandelion seed transmission experiences three stages and realizes population evolution [
32].
The framework of the DO algorithm roughly consists of four parts: population initialization, population fitness calculation, population updating and global optimization selection. It contains two main parameters, namely, seed propagation radius α and local search coefficient K. Seed propagation radius α and local search coefficient K change with time in the iterative process; α is used to adjust the global search step size and local search coefficient K is used to adjust the process from exploration to development and avoid local optimization by random numbers obeying normal distribution [
33].
A dandelion population matrix seed with
N seeds and
d-dimensional decision space is defined, and its
i-th seed can be expressed as
,
i = 1, 2, …,
N. The population is initialized as Formula (1):
Among them, parameter
ri is a random number between (0, 1) which obeys normal distribution,
UB is the maximum value in decision space,
LB is the minimum value in decision space,
N is the maximum row value of the population matrix,
d is the maximum column value of the population matrix, and the same characters in the following are synonymous [
34].
- (1)
Rising stage
Dandelion seeds disperse after reaching a certain height. Affected by wind speed, temperature and humidity, the rising height of dandelion seeds is different, which can be divided into two situations according to the weather. On a sunny day, the wind speed obeys the normal distribution of logarithmic property ln
Y ~
N (μ, σ
2) randomly and uniformly distributed along the Y axis. Dandelion seeds have more opportunities to spread to distant areas. In this process, the DO algorithm emphasizes exploration. In the exploration space, dandelion seeds are randomly blown to different positions by the wind. Wind speed determines the flying height of seeds. The stronger the wind, the farther the seeds are scattered. The wind speed constantly adjusts the vortex above the seed, and the rising posture is spiral. In this process, the expression corresponding to the seed ascending stage is shown in Equation (2) [
35].
where
Xt is the position of the seed in
t iterations.
Xs is the randomly selected location in the search space during the iteration. The random locations selected by
Xs are shown in Equation (3).
where
UB and
LB values are set to 1 and 0, respectively, and
rand(1) is a random number. The function ln
Y obeys the lognormal distribution of
μ = 0 and σ
2 = 1, and its formula is shown in (4).
Parameter
Y is the standard normal distribution
N (0, 1). The search step
α is adjusted as an adaptive parameter, as shown in Equation (5).
Random perturbation factor
α is in [0, 1]. With the increase in iteration times,
α nonlinearity decreases and tends to 0. In the initial stage of the algorithm, the disturbance is relatively large, and the algorithm pays more attention to the global search. In the later stage of the algorithm,
α decreases and the algorithm turns to the local search. Turning to a local search after a global search is more conducive to accurate convergence. When the separation vortex acts on dandelion, the lift component coefficients
vx and
vy will be produced. The variable dimensional force formula is shown in Equation (6).
The parameter
θ is a random number [−π, π]. On rainy days, affected by air humidity, air resistance and other factors, dandelion seeds cannot fully rise with the wind, and seeds are developed in local areas. The corresponding formula is shown in Equation (7).
The parameter
k value adjusts the local search area of dandelion. The
k value is calculated as shown in Equation (8).
In Equation (8), the value of
k oscillates convexly downward. This is beneficial for the algorithm to search the global region with a long step in the initial stage and develop the local region with a short step in the later stage. With the increase in iteration times, the parameter
k value is closer and closer to 1, which can ensure that the population finally converges to the optimal search individual. Based on the above analysis, the analytical formula describing the ascending stage of dandelion seeds is shown in Formula (9).
where
rand(
n) is a random number that obeys the standard normal distribution. Equation (9) gives the approximate position of dandelion seed evolution: under sunny weather, the position information to update is randomly selected, the spiral movement direction of seeds is corrected by vx and vy and the exploration process is emphasized. On rainy days, dandelion seeds are developed in local areas. Using the exploration and development of the normal distribution dynamic control algorithm of random numbers, the truncation point value is set to 1.5, which makes the algorithm more global-oriented and traverses the whole search space as much as possible in the initial stage, providing a correct direction for the next iterative optimization.
- (2)
Descending stage
In this stage, the DO algorithm emphasizes the search and optimization of the algorithm. Dandelion seeds descend steadily after rising to a certain height. The DO algorithm uses Brownian motion obeying normal distribution to simulate the movement track of dandelion seeds, so that individuals can easily traverse more search areas in the iterative process. Average position information after the rising stage reflects the stability of dandelion descent, which is helpful for the whole population to search and develop the optimal individual areas, as shown in Formula (10).
Parameter
βt is a random number and obeys Brownian motion with normal distribution.
is the average position information of the population at the
t-th iteration, as shown in Equation (11).
Parameter Np is the number of populations. The average position information of the population determines the evolution direction of individuals, which is very important for the iterative update of individuals. Irregular Brownian motion based on a global search can make individuals escape from the local extremum with high probability when iteratively updating and force the population to search for optimization in the range close to global optimum.
- (3)
Landing phase
The DO algorithm focuses on development. After the first two stages, dandelion seeds randomly select positions to land. With the increase in iteration times, the algorithm is expected to converge to the global optimal solution, reflecting the approximate position where seeds are most likely to survive. Therefore, after obtaining the approximate position where the optimal dandelion seeds are most likely to grow, the algorithm can accurately converge to the global optimal solution by using the local information of the current elite individuals. With the continuous evolution of the population, the final algorithm converges to the global optimal solution, and the expression is Formula (12).
Parameter
Xelite is the optimal position of the seed generated in the
t-th iteration. Levy (
λ) is a Levy flight function, which is used to enhance the local search ability. Parameter
δ is a linearly increasing function, and its value is [0, 2], which is used to avoid over-exploitation and make it converge to the global optimum accurately, and
T is the total number of iterations.
Parameter β is a random number, and its value range is [0, 2], and 1.5 is taken in this paper. Parameter s is 0.01. Parameters w and t are random numbers with values in [0, 1].
4. Dandelion Algorithm Optimized by PSO (PSODO) Particle Swarm Optimization
Inspired by the regularity of bird foraging behavior, James Kennedy and Russell Eberhart established a simplified algorithm model, which, after years of improvement, ultimately formed the particle swarm optimization (PSO) algorithm [
36]. The idea of particle swarm optimization (PSO) originates from research on the foraging behavior of birds. Birds find the best destination through collective information sharing. For example, imagine such a scenario: birds randomly search for food in the forest, and they want to find the position with the largest amount of food or there is only one piece of food in a certain area (that is, the optimal solution studied in the optimization problem), but all birds do not know where the food is and can only feel the approximate direction of the food [
37,
38]. Therefore, each bird searches along the direction determined by itself and records the position where it has found the most food in the process of searching. At the same time, all birds share the position and amount of food found every time, so that each bird in the flock can judge whether it has found the most food (optimal solution). At the same time, the information of the optimal solution is transmitted to the whole bird flock, and finally, the whole bird flock can gather around the food source, that is, we find the optimal solution, that is, the problem converges [
39]. Particle swarm optimization (PSO) has the advantages of fast convergence, few parameters, a simple algorithm and easy implementation (for high-dimensional optimization problems, it converges to the optimal solution faster than a genetic algorithm), but it also has the problem of falling into the local optimal solution, so it depends on good initialization [
40].
The PSO algorithm updates rules. First, the expression (15) for updating the velocity and position of each particle in PSO is as follows:
Parameter
Vij is the velocity of particle
i in dimension
j;
Xij is the position of the particle in dimension
j; parameter
Pij is the individual optimal position of the particle, which is the global optimal position;
is the inertia weight, which controls the influence of the previous velocity on the current velocity to keep its motion inertia and has the ability to search for new areas;
c1 and
c2 are acceleration factors;
r1 and
r2 are random numbers;
r1 and
r2 are the rand() function, and their value range is [0, 1). The location update Formula (16) is as follows:
The pseudo code of the PSO algorithm is shown in Algorithm 1.
Algorithm 1: Particle swarm optimization |
Input: POP, Dim, T, [lb, ub], [vmin, vmax]. |
Output: Best_fitness, Best_pos. |
1: Initialize population with random positions and velocities within the search space [lb, ub]. |
2: Evaluate fitness for each particle |
3: Update personal best position (pBest_Pos) and personal best fitness (pBest_fitness) if necessary. |
4: Determine if the maximum T has been reached. |
5: Update (pBest_Pos) and pBest_fitness based on the best particle’s position and the fitness. Update based on the position and fitness of the best particles (pBest_Pos) and pBest_fitness. |
6: Record the best fitness value in the iteration. |
7: Update the inertia weight if necessary. |
8: Reached cycle count T, ending cycle. |
9: Return pBest_Pos and pBest_fitness. |
Hybrid Strategy of PSODO Algorithm
The PSODO algorithm combines the characteristics of particle swarm optimization (PSO) and dandelion optimization (DO), and realizes mixing through their updating rules. In the PSO part, we use the speed update formula of PSO, including inertia weight and individual and social learning factors, and guide the particle search through individual optimal position (
pBest) and global optimal position (
gBest). In the part of DO, we use the randomness of the DO algorithm to increase the diversity of the search through random numbers and different update strategies and use the location update rules of DO, including a random selection update strategy, dandelion algorithm adjustment and so on. More randomness is introduced through random numbers, including the random selection and updating strategy of the DO part and dandelion optimization parameters, etc. This randomness helps the algorithm jump out of the local optimal solution and increase the global search ability. In addition, we also introduce a deceleration strategy to balance the global search and local search. By properly adjusting the deceleration strategy, we can introduce particle swarm optimization in the early stage of the algorithm to make particles move in the whole search space at a higher speed, realize the global search and hopefully find the global optimal solution. In the later stage, the velocity of particles is gradually reduced, so that particles can search more finely near the global optimal solution and improve the accuracy of the solution. The flow chart of the PSODO algorithm is shown in
Figure 1.
The pseudocode of the PSODO algorithm is shown in Algorithm 2.
Algorithm 2: PSODO algorithm |
Input: POP, Dim, T, [lb, ub], [vmin, vmax]. |
Output: Best Individual Xelite. |
Step 1: Define a dandelion population matrix seed with N seeds and d dimension decision space, and its i-th seed can be expressed as , i = 1, 2, …, N. Initialize the population as Formula (1). DO algorithm initializes settings. |
Step 2: Calculate the initial seed position and select the best position of dandelion seeds. |
Step 3: Evaluating the seed of the population and selecting the best individual of the population. |
Step 4: Determining global search or local development through a random number r obeying normal distribution: If r < 0.7, rising when the weather is clear, the position of the seed at this time is Formula (2), and in order to achieve the global search, the speed and position of the seed are updated (15). If r > 0.7, when the weather is rainy, the position of the seed at this time is Formula (7), and in order to improve the local search ability, the position is updated (16). |
Step 5: After rising for a certain distance, the algorithm still focuses on exploration at this time, and the seed begins to gradually descend according to Brownian motion, and the seed position is shown in Formula (10). |
Step 6: Dandelion begins to land at this time, and randomly selects the landing place on land according to Levy flight, and the algorithm begins to converge and enter the development stage. The seed position is expressed as Formula (12). |
Step 7: Update the best individual Xelite. |
Step 8: If the iteration is not finished, return to step 2, otherwise output Xelite. |
Step 9: Output the optimal result |
6. Conclusions
In this paper, based on the original PSO algorithm and DO algorithm, a multi-strategy hybrid dandelion optimization algorithm is proposed. According to the characteristics of particle swarm optimization and the dandelion population, the proposed algorithm is improved, and the speed-decreasing strategy is introduced to improve the performance of the algorithm. The PSODO algorithm is compared with other six optimization algorithms on 22 benchmark functions in multi-dimensional experiments, and the convergence curves of each algorithm are analyzed, which fully proves the effectiveness of the improved strategy. Finally, PSODO is applied to three complex engineering optimization problems, which proves that PSODO has good engineering practice value and good popularization value.
Although the PSODO algorithm has great advantages in data processing, it still has some shortcomings. Firstly, the algorithm adopts an optimization strategy, which increases the complexity of the algorithm. Secondly, this algorithm still lacks a large number of experiments on other difficult data-processing tasks, and this article only applies this algorithm to test some engineering application problems and benchmark function testing. Therefore, we will continue to apply the PSODO algorithm to other practical problems such as feature selection, image segmentation, parameter optimization and processing in the future, and further discuss the optimization performance of the proposed algorithm.