Roy optimization algorithm (ROA) (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.

 

"The ROA optimization algorithm (ROA) pushed today was proposed by Professor Jia Heming of the School of Information Engineering of Sanming University in 2021. For a detailed introduction to ROA, you can follow Professor Jia's CSDN blog: Heming Optimization"

 

Remora Optimization Algorithm (ROA) is a meta-heuristic optimization algorithm proposed in 2021, which is inspired by the parasitic behavior of remora in the ocean. The authors validate the effectiveness of ROA with 29 benchmark problems and 5 real engineering problems. Compared with other 10 heuristic algorithms, the experimental results show that ROA has good application prospects and strong competitiveness compared with other advanced heuristic techniques. The original references for ROA are as follows:

“Jia H, Peng X, Lang C. Remora optimization algorithm[J]. Expert Systems with Applications, 2021, 185: 115665.”

01
Source of inspiration

As one of the smartest fish in the ocean, in order to avoid the invasion of enemies and also to save energy, pufferfish will parasitize on sailfish, whales or other creatures to look for food. Algorithms Design a mathematical model using the example of the parasitism of the mackerel on sailfish and whales. Therefore, ROA uses the update formulas of Sailfish Optimizer (SFO) and Whale Optimization Algorithm (WOA) for global and local position updates. In other words, ROA can be seen as a hybrid algorithm of SFO and WOA. Therefore, for students who do not understand the two composition algorithms, you can read the previous newsletter first to understand SFO and WOA:

Sailfish Optimization (SFO) Algorithm (with MATLAB code)

Whale Optimization Algorithm (WOA) and its excellent variants (with MATLAB code)

In addition, in order to determine whether it is necessary to change the host, the catfish will move around the host in a small range, that is, to accumulate experience. If there is no need to change the host, it will search for food by the host. Figure 1 shows the detailed process of predation by david carp.

Fig. 1 The predation process of squid

02
Algorithm design

In order not to misunderstand the author's design intention, the description of the algorithm is based on the explanation given by Professor Jia himself. The picture is taken from Professor Jia's CSDN blog.

03
Calculation process

The calculation process of ROA is as follows:

04
Experimental simulation

Here is a simple test of the performance of the algorithm ROA. Firstly, ROA 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 and CEC2020 optimization function test set. The simulation results are briefly displayed here, and no further analysis will be made.

First, let's examine ROA's ability to balance global exploration and local development. As shown in Figure 2, it is the exploration and development ratio curve of ROA on the CEC2005 test function f7.

Fig. 2 The change curve of ROA's exploration and development percentages on CEC2005 f7

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

(a) Unimodal function Schwefel's 2.22 (f2)

(b) Multimodal function Ackley (f10)

Figure 3 Convergence curves of ROA on two test functions of CEC2005

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

Figure 4 Error convergence curve of ROA on CEC2013 F5

Next, taking the mixing function F19 in the CEC2014 test set as an example, the convergence effect of ROA in a 30-dimensional environment is shown, as shown in Figure 5. (Note that the error curve is drawn)

Figure 5 The error convergence curve of ROA on CEC2014 F19

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

Figure 6 Error convergence curve of ROA on CEC2017 F4

Finally, taking the composite function F9 in the CEC2020 optimization function test set as an example, the convergence effect of ROA in a 30-dimensional environment is shown, as shown in Figure 7. (Note that the error curve is drawn)

Figure 7 Error convergence curve of ROA on CEC2020 optimization function F9

Further, ROA can be applied to complex engineering constraint optimization problems, such as the two-phase algorithm application content 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 we take the welded beam design problem as an example to show the ROA solution effect. The convergence curve is shown in Figure 8.

Fig.8 Convergence curve of objective function of ROA on welded beam design problem

05
MATLAB code

There is a link in the official account

ROA runs the CEC2005 test set:

(Focus on the public account: heuristic algorithm discussion)

ROA runs the CEC2013 test set:

(Focus on the public account: heuristic algorithm discussion)

ROA runs the CEC2014 test set:

(Focus on the public account: heuristic algorithm discussion)

ROA runs the CEC2017 test set:

(Focus on the public account: heuristic algorithm discussion)

ROA runs the CEC2020 optimization function test set:

(Focus on the public account: heuristic algorithm discussion)

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

(Focus on the public account: heuristic algorithm discussion)

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

(Focus on the public account: heuristic algorithm discussion)

Engineering application of ROA (No. 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.

(Focus on the public account: heuristic algorithm discussion)

For MATLAB codes of other intelligent optimization algorithms, you can visit my personal homepage to view:

(Focus on the public account: heuristic algorithm discussion)

Guess you like

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