Many complex optimization problems in the real world can easily fall into local optimality and fail to find the optimal solution, so more new techniques and methods are needed to solve such challenges. Metaheuristic algorithms have received a lot of attention in recent years because of their efficient performance and simple structure. Sine Cosine Algorithm (SCA) is a recent Metaheuristic algorithm that is based on two trigonometric functions Sine & Cosine. However, like all other metaheuristic algorithms, SCA has a slow convergence and may fail in sub-optimal regions. In this study, an enhanced version of SCA named RDSCA is suggested that depends on two techniques: random spare/replacement and double adaptive weight. The first technique is employed in SCA to speed the convergence whereas the second method is used to enhance exploratory searching capabilities. To evaluate RDSCA, 30 functions from CEC 2017 and 4 real-world engineering problems are used. Moreover, a non-parametric test called Wilcoxon signed-rank is carried out at 5% level to evaluate the significance of the obtained results between RDSCA and the other 5 variants of SCA. The results show that RDSCA has competitive results with other metaheuristics algorithms.

Recently, an enormous number of meta-heuristics algorithms have been proposed which simulate natural-based phenomena or biological behavior [

Sine Cosine Algorithm (SCA) is a novel population-based algorithm that has been introduced to solve real-world problems. For example, Elaziz et al. [

Many variants of SCA have been proposed such as a multi-objective SCA (MO-SCA) which was proposed by Tawhid and Savsani [

Although the success of all mentioned variants of SCA, it still has low convergence and may struggle in local optimal regions. This motivated us to propose a novel variant of SCA called RDSCA that employed two strategies: 1) double adaptive weight strategy in order to achieve a good balance between exploitation and exploration by using two weights

To the best of our information & knowledge and according to the literature, this is the first time that these two strategies were introduced into SCA. The main contributions of this paper are shown below:

A new metaheuristic algorithm, called RDSCA, is proposed based on a random replacement and double adaptive weight strategy, combined with SCA.

In classical CEC2017 benchmark functions, experimental results with SCADE [

To verify the performance of the algorithm on real-world problems, RDSCA’s experimental results on four engineering problems demonstrate that the optimizer can effectively solve complex real-world problems.

The rest of this paper is organized as follows: the basic SCA and its mathematical equation are given in

Recently many new meta-heuristics algorithms have been developed and have shown great potential in tackling complex optimization problems such as image segmentation [

In this section, the structure of the suggested algorithm called RDSCA has been illustrated in detail. RDSCA is a modification of SCA with 2 strategies: 1) random spare/replacement. 2) double adaptive weight. The pseudo-code and flow chart are given in Algorithm 1 and

In this strategy, the current individual with

In this strategy, similar to PSO [

In the algorithmic optimization search process, certain dimensional vectors of the current individual may be responsible for the superior quality of the individual, and in contrast, certain dimensions may also lead to the poor quality of the individual. This is explained by the fact that the result of the mapping from the decision space to the objective space is determined jointly by multiple dimensions of the decision variables. Therefore, we go to adopt the values of some dimensions of the current optimal individual to replace the values of the corresponding dimensions of the current individual with a certain probability in the optimization process of the algorithm. In addition, the timing of random replacement is also very important, and we use the mathematical description in lines 10 to 13 of Algorithm 1 to define a random replacement probability. The mathematical description is mainly used to determine whether the individual adopts the random replacement strategy through the Cauchy random number and the current number of iterations. At the beginning of the algorithm iteration, the Cauchy random number can improve the randomness, so we have a higher probability to replace some dimensions of the individual, thus speeding up the convergence of the algorithm; at the later stage of the algorithm iteration, the mathematical description in the third line of the pseudo-code will have a smaller probability to replace the dimensions of the individual, resulting in Individuals have more vectors of random dimensions, thus reducing the possibility of the algorithm falling into a local optimum.

In addition, the proposed RDSCA algorithm in which we introduce an double adaptive weight strategy is shown in lines 16 to 22 of Algorithm 1.

In addition, it should be especially noted that RDSCA and SCA use the same algorithm framework, and SCA mainly accomplishes the balance of algorithm exploration and exploitation through

The complexity of any meta-heuristic algorithm is very crucial as it computes its needed time. The time complexity of RDSCA is is depended on the number of individuals (

In order to verify the effectiveness of the algorithm, a fair experiment is necessary, and the whole process must be controlled and have a verifiable data set [

In order to evaluate the performance of the proposed RDSCA, 30 functions from CEC 2017 benchmark were used. These functions have really complex parameters and a variety of real optimization difficulties that are close to reality. They can be classified into unimodal (F1–F3), multi-modal (F4–F10), hybrid (F11–F20), and composite (F21–F30) as given in Table S1 in the supplement, where ‘’Types” denotes the type of function; unimodal indicates that there is only one global optimum solution and no local optimum, which can test the convergence speed of the algorithm; multi-modal contains multiple local optima with one and only one global optimum; hybrid and composite functions are more complex, which often have multi-modal nature and have more difficult to jump out of the local optimum, which requires a better balance between exploration and exploitation of the algorithm. “Name” denotes the name of the function; “Opt” denotes the optimal objective value of the function. In all experiments, the number of population (

No. | Parameter name | Value |
---|---|---|

1 | Population size | 30 |

2 | No. of dim | 30 |

3 | MaxFEs |

To evaluate the performance of RDSCA, a comparison against many other variants of SCA has been done using 30 functions from CEC 2017. Modified SCA versions are chosen for comparison purpose, which are mentioned as bellow:

SCADE [

OBSCA [

CGSCA [

ASCA_PSO [

CESCA [

Here, a number of statistical metrics are used to compute the RDSCA performance.

Average (mean):

Std:

Min: the best solution obtained over all running.

Max: the worst solution obtained over all running.

The comparison results between RDSCA and other SCA variants mentioned in

F1 | F2 | F3 | ||||
---|---|---|---|---|---|---|

RDSCA | 1.3508E + 04 | 3.2852E + 03 | ||||

SCADE | 1.9458E + 10 | 2.9400E + 09 | 6.5175E + 36 | 1.9188E + 37 | 5.9178E + 04 | 8.8280E + 03 |

OBSCA | 1.6934E + 10 | 2.7440E + 09 | 4.8814E + 35 | 1.5962E + 36 | 6.1150E + 04 | 8.0092E + 03 |

CGSCA | 1.4120E + 10 | 2.5116E + 09 | 7.4460E + 34 | 1.6640E + 35 | 4.2958E + 04 | 6.9959E + 03 |

ASCA_PSO | 7.7378E + 08 | 1.5252E + 09 | 1.2520E + 27 | 4.6678E + 27 | ||

CESCA | 5.7287E + 10 | 6.1611E + 09 | 3.7953E + 45 | 5.0936E + 45 | 1.0539E + 05 | 1.6255E + 04 |

F4 | F5 | F6 | ||||

RDSCA | 5.5428E + 02 | 2.2956E + 01 | ||||

SCADE | 4.0202E + 03 | 1.3020E + 03 | 8.3253E + 02 | 2.2439E + 01 | 6.6306E + 02 | 8.3519E + 00 |

OBSCA | 2.7684E + 03 | 9.3773E + 02 | 8.0663E + 02 | 2.5466E + 01 | 6.5491E + 02 | 6.3008E + 00 |

CGSCA | 1.6880E + 03 | 3.4037E + 02 | 7.8427E + 02 | 2.0481E + 01 | 6.5665E + 02 | 5.1924E + 00 |

ASCA_PSO | 6.6006E + 01 | 7.2477E + 02 | 4.3301E + 01 | 6.3756E + 02 | 8.4264E + 00 | |

CESCA | 1.6195E + 04 | 2.5128E + 03 | 9.6710E + 02 | 7.0422E + 02 | 5.7106E + 00 | |

F7 | F8 | F9 | ||||

RDSCA | 2.5753E + 01 | |||||

SCADE | 1.1704E + 03 | 2.9579E + 01 | 1.0879E + 03 | 7.8497E + 03 | 1.1822E + 03 | |

OBSCA | 1.1782E + 03 | 3.5411E + 01 | 1.0723E + 03 | 2.3461E + 01 | 6.7385E + 03 | 1.1729E + 03 |

CGSCA | 1.1400E + 03 | 2.8765E + 01 | 1.0611E + 03 | 1.7267E + 01 | 6.7102E + 03 | 1.2599E + 03 |

ASCA_PSO | 9.8674E + 02 | 3.9556E + 01 | 9.9564E + 02 | 3.8894E + 01 | 4.9985E + 03 | 1.9772E + 03 |

CESCA | 1.5571E + 03 | 4.7498E + 01 | 1.1812E + 03 | 2.1949E + 01 | 1.4828E + 04 | 1.4044E + 03 |

F10 | F11 | F12 | ||||

RDSCA | 5.1937E + 02 | 1.3329E + 03 | 5.9536E + 01 | |||

SCADE | 8.1219E + 03 | 3.7608E + 02 | 3.3038E + 03 | 5.6592E + 02 | 1.9612E + 09 | 4.6716E + 08 |

OBSCA | 7.5473E + 03 | 3.2308E + 02 | 2.7073E + 03 | 5.1518E + 02 | 2.0054E + 09 | 5.5859E + 08 |

CGSCA | 8.1201E + 03 | 3.3866E + 02 | 2.2159E + 03 | 3.5319E + 02 | 1.4299E + 09 | 3.4403E + 08 |

ASCA_PSO | 5.9528E + 03 | 7.9130E + 02 | 7.2270E + 07 | 1.1435E + 08 | ||

CESCA | 8.7428E + 03 | 1.0656E + 04 | 1.8880E + 03 | 1.5387E + 10 | 1.9571E + 09 | |

F13 | F14 | F15 | ||||

RDSCA | 1.2088E + 05 | 1.0403E + 05 | ||||

SCADE | 6.4792E + 08 | 2.4197E + 08 | 3.4666E + 05 | 2.2972E + 05 | 7.0301E + 06 | 3.6304E + 06 |

OBSCA | 6.7626E + 08 | 3.0294E + 08 | 2.6070E + 05 | 1.3005E + 05 | 9.5494E + 06 | 1.2684E + 07 |

CGSCA | 4.8767E + 08 | 2.1961E + 08 | 1.6833E + 05 | 7.8688E + 04 | 7.2397E + 06 | 6.0676E + 06 |

ASCA_PSO | 1.0763E + 07 | 1.2694E + 07 | 1.1501E + 06 | 4.5750E + 05 | ||

CESCA | 1.2639E + 10 | 3.4271E + 09 | 5.5891E + 06 | 2.5718E + 06 | 5.2247E + 08 | 1.7039E + 08 |

F16 | F17 | F18 | ||||

RDSCA | 2.9551E + 02 | 1.9596E + 02 | 9.5726E + 05 | 1.1475E + 06 | ||

SCADE | 3.8803E + 03 | 2.4641E + 02 | 2.4752E + 03 | 1.5444E + 02 | 3.6425E + 06 | 2.4851E + 06 |

OBSCA | 3.7950E + 03 | 2.0856E + 02 | 2.5064E + 03 | 1.8704E + 02 | 3.8241E + 06 | 1.8391E + 06 |

CGSCA | 3.6968E + 03 | 2.5356E + 03 | 3.4098E + 06 | 2.0000E + 06 | ||

ASCA_PSO | 2.8850E + 03 | 3.5832E + 02 | 2.3200E + 03 | 1.9910E + 02 | ||

CESCA | 5.9314E + 03 | 5.1787E + 02 | 4.5860E + 03 | 7.4977E + 02 | 5.4109E + 07 | 2.3017E + 07 |

F19 | F20 | F21 | ||||

RDSCA | 1.6119E + 02 | 2.8768E + 01 | ||||

SCADE | 2.6168E + 07 | 1.7777E + 07 | 2.7560E + 03 | 2.5820E + 03 | 2.4448E + 01 | |

OBSCA | 4.2022E + 07 | 2.2274E + 07 | 2.6801E + 03 | 1.1593E + 02 | 2.4642E + 03 | 8.0519E + 01 |

CGSCA | 2.6169E + 07 | 1.3637E + 07 | 2.6328E + 03 | 1.2153E + 02 | 2.5624E + 03 | |

ASCA_PSO | 3.1399E + 06 | 2.0703E + 06 | 2.4800E + 03 | 1.2768E + 02 | 2.4967E + 03 | 3.9199E + 01 |

CESCA | 1.0812E + 09 | 3.6928E + 08 | 3.1630E + 03 | 1.5016E + 02 | 2.7655E + 03 | 3.3188E + 01 |

F22 | F23 | F24 | ||||

RDSCA | 6.7629E + 03 | 1.5406E + 03 | 2.5385E + 01 | 3.0600E + 03 | 3.4885E + 01 | |

SCADE | 4.5688E + 03 | 4.3701E + 02 | 3.0113E + 03 | 3.1721E + 03 | ||

OBSCA | 4.1686E + 03 | 2.9004E + 02 | 3.0123E + 03 | 3.3441E + 01 | 3.1861E + 03 | 3.0541E + 01 |

CGSCA | 2.9985E + 03 | 2.6455E + 01 | 3.1473E + 03 | 3.0094E + 01 | ||

ASCA_PSO | 5.7603E + 03 | 2.1633E + 03 | 2.8827E + 03 | 2.9855E + 01 | 3.1956E + 01 | |

CESCA | 9.3554E + 03 | 5.1942E + 02 | 3.4619E + 03 | 6.2651E + 01 | 3.4831E + 03 | 4.1613E + 01 |

F25 | F26 | F27 | ||||

RDSCA | 2.9410E + 03 | 4.6596E + 02 | ||||

SCADE | 3.4387E + 03 | 7.9046E + 01 | 7.5227E + 03 | 3.4437E + 03 | 5.6021E + 01 | |

OBSCA | 3.3592E + 03 | 1.1763E + 02 | 7.1190E + 03 | 5.7717E + 02 | 3.4644E + 03 | 5.8403E + 01 |

CGSCA | 3.2545E + 03 | 8.2526E + 01 | 7.0669E + 03 | 5.1308E + 02 | 3.3868E + 03 | 3.9520E + 01 |

ASCA_PSO | 4.6595E + 01 | 6.1373E + 03 | 9.3932E + 02 | 3.3062E + 03 | 5.6614E + 01 | |

CESCA | 5.6851E + 03 | 4.8949E + 02 | 1.1209E + 04 | 4.9538E + 02 | 3.7079E + 03 | 8.6987E + 01 |

F28 | F29 | F30 | ||||

RDSCA | 3.3476E + 03 | |||||

SCADE | 4.3131E + 03 | 2.9379E + 02 | 5.0399E + 03 | 2.9513E + 02 | 1.1438E + 08 | 3.7507E + 07 |

OBSCA | 4.2012E + 03 | 2.2539E + 02 | 5.0085E + 03 | 2.1728E + 02 | 1.0531E + 08 | 3.9825E + 072 |

CGSCA | 3.9233E + 03 | 1.6877E + 02 | 4.7242E + 03 | 2.0969E + 02 | 9.0569E + 07 | 3.2672E + 072 |

ASCA_PSO | 8.8893E + 01 | 4.4363E + 03 | 2.0425E + 02 | 9.2961E + 06 | 4.8182E + 06 | |

CESCA | 7.0690E + 03 | 4.6778E + 02 | 6.0375E + 03 | 1.9535E + 02 | 2.3883E + 09 | 7.2958E + 08 |

Also,

Besides the performance measured mentioned in

All algorithms are tested in all test functions for WSR. Each algorithm is performed 30 times independently on each test function, and the resulting solutions are available as data samples. WSR can test whether the two algorithms are significantly different on that test function based on these samples. First, we start with the null hypothesis, which is the assumption that there is no significant difference in the performance of the two algorithms. When

To validate our proposed meta-heuristic which known as RDSCA, we apply it to solve real engineering constrained problems which have various inequality and equality constraints. Furthermore, best values of such parameter of these problems remain unknown. Here, four different engineering optimization problems are used in order to validate RDSCA namely: tension/compression spring design (TCSD), welded beam design (WBD), pressure vessel design (PVD), and I-beam design (IBD).

The first engineering problem is called TCSD [

Table S3 in the supplement shows the results of RDSCA against other peers. It can be noticed that the proposed algorithm achieved the best results.

WBD problem is a well-known metal problem [

The purpose of this unconstrained engineering problem is to find the minimum cost of the cylindrical pressure vessel [

Table S5 in the supplement shows the comparison results among RDSCA, other peers. It is obviously noticed that RDSCA ranked first.

In this section, our proposed algorithm is used to find the optimal design of I-beam problem [

In this study, a new metaheuristic algorithm, called RDSCA, is proposed by adding double adaptive weight and random replacement strategy to the algorithmic framework of SCA, where random replacement are used in the process of iterative optimization of the algorithm, and each individual has a certain probability to select a dimensional value and the corresponding dimension of the current optimal value for replacement. The basic principle of this strategy is that the cause of poor individual fitness values may be the value of a single dimension of an individual. And this method can effectively increase the convergence speed of the algorithm because the individuals are using as much information as possible from the current optimal solution. The double adaptive weight strategy mainly uses two adaptive weights

However, RDSCA and SCA’s use the same algorithm framework, which also means that the algorithm is explored and developed in the same way of conversion as the original SCA, which may not be able to better balance the exploration and development of the algorithm when optimizing complex composite functions. In the future, we will use new techniques to improve the ability of algorithms to balance exploration and development. In the future, we will apply this version to many applications in different fields such as community service [

This study was supported in part by the

The authors declare that they have no conflicts of interest to report regarding the present study.

Minimize:

Subject to:

Variable Range

Minimize:

Subject to:

Variable Range

Minimize:

Subject to:

Variable Range

Minimize:

Subject to:

Variable Range