Dandelion optimizer (DO) (including MATLAB code)

Let me make a statement first: the article is directly copied and pasted from the push in my personal official account, so friends who are interested in intelligent optimization algorithms can follow my personal official account: heuristic algorithm discussion . From time to time, I will share different intelligent optimization algorithms in the official account, classic ones, or new intelligent optimization algorithms proposed in recent years, with MATLAB code attached.

Dandelion Optimizer (Dandelion Optimizer, DO) was proposed in 2022 by Professor Zhao Shijie and others from the Institute of Intelligence Science and Optimization of Liaoning University of Engineering Technology. If you have read the Seahorse Optimizer (SHO) in the previous issue , you can know that its proposer is also Professor Zhao Shijie. DO simulates the long-distance flight of dandelion seeds by wind. The author compares DO with 9 advanced meta-heuristic algorithms on the CEC2017 test set, and evaluates the optimization accuracy, stability, convergence and extensibility of DO. Experimental results show that compared with existing algorithms, DO has better optimization ability and stronger robustness. Its original reference is as follows:

“Zhao S, Zhang T, Ma S, et al. Dandelion Optimizer: A nature-inspired metaheuristic algorithm for engineering applications[J]. Engineering Applications of Artificial Intelligence, 2022, 114: 105075.”

picture

01
Source of inspiration

Dandelion is a perennial herb of the Asteraceae family. The leaves are obovate-lanceolate, oblanceolate or oblong-lanceolate, petioles and main veins are often reddish-purple; flowers are yellow, the base of the flowers is light green, and the upper part is purple-red; the inner layer is linear-lanceolate shape; achenes are dark brown obovate-lanceolate, with white pappus, about 6mm long; flowering period is April-September, fruit period is May-October.

picture

When the seeds mature, the wind carries them to new places to reproduce life. Wind speed and weather are the two main factors that affect dandelion seed dispersal. Wind speed is used to determine whether seeds fly long or short distances. Weather controls whether dandelion seeds can fly, and also affects a dandelion's ability to grow close or far away. Dandelion seeds go through three stages, described below.

  • During the ascent phase, a vortex is created above the dandelion seed, which rises under the action of drag in sunny and windy weather. Conversely, if the weather is rainy, there is no eddy above the seeds. In this case, only a local search can be performed.

  • In the descending stage, after the seeds rise to a certain height, they gradually descend.

  • In the landing stage, the dandelion seeds will eventually fall to a random place under the influence of wind and weather, and new dandelions will grow.

Dandelion population evolution proceeds in three stages by passing seeds to the next generation. Therefore, the main inspiration of the DO algorithm comes from the above three stages.

02
Algorithm design

The DO algorithm simulates the long-distance flight process of dandelion seeds relying on the wind, including three stages: ascending stage, descending stage and landing stage. The algorithm takes into account the two main factors of wind speed and weather, and introduces Brownian motion and Levy flight to describe the trajectory of seeds. The specific description of the algorithm is as follows:

picture

picture

picture

picture

It needs to be emphasized again that according to the DO source code provided by Professor Zhao Shijie's team, when the algorithm is iterating, the individual positions used in each stage are the positions obtained in the previous stage. That is, the descending stage uses the individual positions obtained in the ascending stage, and the landing stage uses the individual positions obtained in the descending stage.

03
Calculation process

The pseudo code of the calculation process of the DO algorithm is as follows:

picture

04
Experimental simulation

Here is a simple test of the performance of the DO algorithm. First, the DO algorithm is used for function optimization, and the MATLAB program of the algorithm is coded strictly according to its original reference. In addition, the population size is set to N equal to 50, and the Benchmark function uses the CEC2005 test set, CEC2013 test set, CEC2014 test set, CEC2017 test set, CEC2020 optimization function test set and CEC2022 optimization function test set. The simulation results are briefly displayed here, and no further analysis will be made.

First, let's test the DO algorithm's ability to balance global exploration and local development. As shown in Figure 4, it is the exploration and development ratio curve of the DO algorithm on the CEC2005 test function f8.

picture

Fig. 4 The change curve of DO's exploration and development percentage on CEC2005 f8

Secondly, taking the unimodal function Schwefel's 2.22 (f2) and the multimodal function Ackley (f10) of CEC2005 as examples, the convergence effect of the DO algorithm in a 30-dimensional environment is shown, as shown in Figure 5.

picture

(a) f2

picture

(b) f10

Figure 5 Convergence curves of DO on two test functions of CEC2005

Again, take the unimodal function F1 in the CEC2013 test set as an example to show the convergence effect of DO in a 30-dimensional environment, as shown in Figure 6. (Note that the error curve is drawn)

picture

Figure 6 Error convergence curve of DO on CEC2013 F1

Next, taking the multimodal function F14 in the CEC2014 test set as an example, the convergence effect of DO in a 30-dimensional environment is shown, as shown in Figure 7. (Note that the error curve is drawn)

picture

Figure 7 The error convergence curve of DO on CEC2014 F14

Then, take the multimodal function F4 in the CEC2017 test set as an example to show the convergence effect of DO in a 30-dimensional environment, as shown in Figure 8. (Note that the error curve is drawn)

picture

Figure 8 The error convergence curve of DO on CEC2017 F4

After that, take the composite function F9 in the CEC2020 optimization function test set as an example to demonstrate the convergence effect of DO in a 10-dimensional environment, as shown in Figure 9. (Note that the error curve is drawn)

picture

Figure 9 The error convergence curve of DO on the CEC2020 optimization function F9

Finally, taking the unimodal function F1 in the CEC2022 optimization function test set as an example, the convergence effect of DO in a 10-dimensional environment is shown, as shown in Figure 10. (Note that the error curve is drawn)

picture

Fig.10 Error convergence curve of DO on CEC2022 optimization function F1

Further, the DO algorithm can be applied to complex engineering constrained optimization problems, such as the application content of the two algorithms previously pushed:

Algorithm Application: Engineering Optimization Design Based on DBO Algorithm (Phase 1) (including MATLAB code)

Algorithm Application: Engineering Optimal Design (Phase 2) (including MATLAB code)

Here, the problem of pressure vessel design is taken as an example to show the solution effect of DO algorithm. The convergence curve is shown in Figure 11.

picture

Fig.11 Convergence curve of objective function of DO on pressure vessel design problem

05
MATLAB code

The DO algorithm runs the CEC2005 test set

Pay attention to the official account: heuristic algorithm discussion

The DO algorithm runs the CEC2013 test set:

Pay attention to the official account: heuristic algorithm discussion

The DO algorithm runs the CEC2014 test set:

Pay attention to the official account: heuristic algorithm discussion

The DO algorithm runs the CEC2017 test set:

Pay attention to the official account: heuristic algorithm discussion

The DO algorithm runs the CEC2020 optimization function test set:

Pay attention to the official account: heuristic algorithm discussion

The DO algorithm runs the CEC2022 optimization function test set:

Pay attention to the official account: heuristic algorithm discussion

Analysis of the proportion of exploration (Exploration) and development (Exploitation) of DO algorithm:

Pay attention to the official account: heuristic algorithm discussion

Engineering application of DO algorithm (Phase 1): Pressure vessel design, rolling bearing design, tension/compression spring design, cantilever beam design, wheel train design, three-bar truss design.

Pay attention to the official account: heuristic algorithm discussion

Engineering application of DO algorithm (Phase 2): welded beam design, multi-disc clutch brake design problem, stepping conical pulley problem, reducer design problem, planetary gear train design optimization problem, robot gripper problem.

Pay attention to the official account: heuristic algorithm discussion

Guess you like

Origin blog.csdn.net/jieyanping/article/details/132476506