
Since the meta-heuristic water cycle algorithm (WCA) was presented, it has been used extensively in scientific computation and engineering optimization. The aims of this study are to improve the exploration and exploitation capabilities of the WCA algorithm, accelerate its convergence speed, and enhance its calculation accuracy. In this paper, a novel complex-valued encoding WCA (CWCA) is proposed. The positions of rivers and streams are divided into two parts, that is, the real part and imaginary part, and modified formulas for the new positions of rivers and streams are proposed. To evaluate the performance of the CWCA, 12 benchmark functions and four engineering examples were considered. The experimental results indicated that the CWCA had higher precision and convergence speed than the real-valued WCA and other well-known meta-heuristic algorithms.
Citation: Guo Zhou, Yongquan Zhou, Zhonghua Tang, Qifang Luo. CWCA: Complex-valued encoding water cycle algorithm[J]. Mathematical Biosciences and Engineering, 2021, 18(5): 5836-5864. doi: 10.3934/mbe.2021294
[1] | Zhonghua Lu, Min Tian, Jie Zhou, Xiang Liu . Enhancing sensor duty cycle in environmental wireless sensor networks using Quantum Evolutionary Golden Jackal Optimization Algorithm. Mathematical Biosciences and Engineering, 2023, 20(7): 12298-12319. doi: 10.3934/mbe.2023547 |
[2] | Jiahao Zhang, Zhengming Gao, Suruo Li, Juan Zhao, Wenguang Song . Improved intelligent clonal optimizer based on adaptive parameter strategy. Mathematical Biosciences and Engineering, 2022, 19(10): 10275-10315. doi: 10.3934/mbe.2022481 |
[3] | Shuang Tan, Shangrui Zhao, Jinran Wu . QL-ADIFA: Hybrid optimization using Q-learning and an adaptive logarithmic spiral-levy firefly algorithm. Mathematical Biosciences and Engineering, 2023, 20(8): 13542-13561. doi: 10.3934/mbe.2023604 |
[4] | Shuang Wang, Heming Jia, Qingxin Liu, Rong Zheng . An improved hybrid Aquila Optimizer and Harris Hawks Optimization for global optimization. Mathematical Biosciences and Engineering, 2021, 18(6): 7076-7109. doi: 10.3934/mbe.2021352 |
[5] | Qixin Zhu, Mengyuan Liu, Hongli Liu, Yonghong Zhu . Application of machine learning and its improvement technology in modeling of total energy consumption of air conditioning water system. Mathematical Biosciences and Engineering, 2022, 19(5): 4841-4855. doi: 10.3934/mbe.2022226 |
[6] | Xiaoxu Peng, Heming Jia, Chunbo Lang . Modified dragonfly algorithm based multilevel thresholding method for color images segmentation. Mathematical Biosciences and Engineering, 2019, 16(6): 6467-6511. doi: 10.3934/mbe.2019324 |
[7] | Yuanshuo Liu, Defeng Wu, Zheng You . An enhanced A* method incorporating an encrypted memory database for ASV efficient local path planning. Mathematical Biosciences and Engineering, 2024, 21(2): 2302-2322. doi: 10.3934/mbe.2024101 |
[8] | Rong Zheng, Heming Jia, Laith Abualigah, Qingxin Liu, Shuang Wang . An improved arithmetic optimization algorithm with forced switching mechanism for global optimization problems. Mathematical Biosciences and Engineering, 2022, 19(1): 473-512. doi: 10.3934/mbe.2022023 |
[9] | Teng Fei, Xinxin Wu, Liyi Zhang, Yong Zhang, Lei Chen . Research on improved ant colony optimization for traveling salesman problem. Mathematical Biosciences and Engineering, 2022, 19(8): 8152-8186. doi: 10.3934/mbe.2022381 |
[10] | Koji Oshima, Daisuke Yamamoto, Atsuhiro Yumoto, Song-Ju Kim, Yusuke Ito, Mikio Hasegawa . Online machine learning algorithms to optimize performances of complex wireless communication systems. Mathematical Biosciences and Engineering, 2022, 19(2): 2056-2094. doi: 10.3934/mbe.2022097 |
Since the meta-heuristic water cycle algorithm (WCA) was presented, it has been used extensively in scientific computation and engineering optimization. The aims of this study are to improve the exploration and exploitation capabilities of the WCA algorithm, accelerate its convergence speed, and enhance its calculation accuracy. In this paper, a novel complex-valued encoding WCA (CWCA) is proposed. The positions of rivers and streams are divided into two parts, that is, the real part and imaginary part, and modified formulas for the new positions of rivers and streams are proposed. To evaluate the performance of the CWCA, 12 benchmark functions and four engineering examples were considered. The experimental results indicated that the CWCA had higher precision and convergence speed than the real-valued WCA and other well-known meta-heuristic algorithms.
Generally, the objective of optimization is to find the optimal feasible response, considering the constraints of a problem. As a modern optimization method, meta-heuristic algorithms have been proposed by researchers in recent years, for example, the genetic algorithm (GA) [1], particle swarm optimization (PSO) [2], simulated annealing (SA) [3], glowworm swarm optimization (GSO) [4], harmony search (HS) [5], bacterial foraging optimization [6], earthworm optimization [7], bat algorithm (BA) [8], elephant herding behavior algorithm [9], krill herd algorithm [10], water cycle algorithm (WCA) [10], and various improved versions of the meta-heuristic optimization algorithm [45,46,47,48]. To date, hundreds of meta-heuristics have been proposed and used successfully to solve complex optimization problems.
In 2012, Eskandar et al. presented the WCA and used it to solve real-valued optimization issues. The real-valued WCA is a meta-heuristic optimization algorithm inspired by the water cycle process in nature. It considers how rivers and streams flow into the sea. A simplified water cycle system diagram is illustrated in Figure 1. In the WCA, the initial population comprises raindrops; the best raindrop represents the ocean. Many good raindrops represent a river, and the remaining raindrops represent streams that flow to the ocean and rivers. The rivers flow to the ocean, which is the lowest terrain location.
Since the WCA was proposed, it has been used extensively in scientific computation and engineering optimization. In 2014, Ail et al. applied the WCA to multi-objective optimization [12]. Zhang et al. applied the WCA to solve engineering optimization problems [13]. In 2015, Ail et al. proposed the WCA with the evaporation rate (ERWCA) for unconstrained and constrained optimization [14]. In [41], a comprehensive and exhaustive review was conducted on the WCA and its applications in a wide variety of study fields, including mechanical engineering, electrical and electronic engineering, civil engineering, industrial engineering, water resources and hydropower engineering, computer engineering, and mathematics. In [42], the detailed open source code for the WCA was provided, and its performance and efficiency for solving optimization problems was demonstrated. In [43], an enhanced discrete version of the WCA called DWCA was proposed to solve the symmetric and asymmetric traveling salesman problem. The designed solver was tested on over 33 problem datasets, and the statistical significance of the performance gaps for this benchmark was validated using results from non-parametric tests, not only in terms of optimality but also in terms of convergence speed. In [44], an extended version of WCA, that is, gradient-based WCA (GWCA) with the evaporation rate, was introduced to enhance the performance of the standard WCA by incorporating a local optimization operator in a so-called gradient-based approach. The experimental results demonstrated the feasibility and efficiency of the proposed GWCA.
In this paper, the complex-valued encoding WCA (CWCA) is proposed, which uses the complex number coding method of the complex-valued BA [15] and individual genes in the evolutionary algorithm [16,17]. A diploid is adopted in the indication of individual genes, which significantly enhances the individual's in information capacity. Finally, twelve benchmark functions and four engineering examples were considered to evaluate the performance of the CWCA. The test results indicated that the CWCA had higher precision and convergence speed than the real-valued WCA and other well-known meta-heuristic algorithms.
In the WCA, the initial population is represented by Npop×N matrix:
Population=[SeaRiver1River2River3⋮StreamNsr+1StreamNsr+2StreamNsr+3⋮StreamNpop]=[x1,1x1,2x1,3⋯x1,Nx2,1x2,2x2,3⋯x2,N⋮⋮⋮⋮⋮xNpop,1xNpop,2xNpop,3⋯xNpop,N], | (1) |
where Npop represents the population size and N represents the design variables. Initially, the Npop stream is randomly generated, and Nsr good individuals represent a sea or river. The stream that has the minimum value among all streams is identified as the ocean.Nsr represents the summation of the number of rivers.
The remainder of the populations are computation using
Nsr=NumberofRivers+1⏟Sea | (2) |
Nstream=Npop−Nsr. | (3) |
The total volume of water flowing in a river and/or the ocean varies from stream to stream. The number of specified streams for a river or the ocean can be calculated as
NSn=round{|f(Riverk)∣Nsr∑k=1f(Riverk)|×NStream},k=1,2,⋯Nsr, | (4) |
where NSn denotes the number of rivers and f represents the fitness function.
In nature, streams are formed by raindrops, and then they join each other to constitute new rivers. A part of a streams flows directly into the ocean. All streams and rivers end up in the open ocean (the best point). Figure 2 shows a schematic of a stream flowing into a river. The star represents the river and the circles represent the stream.
In Figure 2, a stream flows into a river using a random distance:
X∈(0,C×d),C>1, | (5) |
where C is a numerical value between 1 and 2 (near to 2). The best numerical value is chosen as 2. d represents the current distance between the stream and river current distance. X is a random number between 0 and (C×d).
The position update for streams and rivers is determined
Xk+1Stream=XkStream+rand×C×(XkRiver−XkStream) | (6) |
Xk+1River=XkRiver+rand×C×(XSea−XkRiver), | (7) |
where rand represents a random number uniformly distributed between 0 and 1. If the current solution provided by a stream is better than that of its connecting river, the positions of the river and stream are swapped. Such a swap can also occur for rivers and the ocean.
New raindrops form streams in different places to avoid being trapped in local optima. The rainfall condition is as follows:
∣XOcean−XkRevier<eps,k=1,2,…,Nsr, | (8) |
where eps is a small numerical constant.
The stream and river location update formulas are
XnewStream=LB+rand×(UB−LB) | (9) |
XnewRiver=LB+rand×(UB−LB), | (10) |
where LB represents the lower bound and UB represents the upper bound. The best newly formed raindrop is treated as a river running into the ocean. The remaining raindrops form new streams that flow into the rivers or ocean.
In Figure 3, the circles, stars, and diamonds represent streams, rivers, and the ocean, respectively. In view to the above description, the WCA steps are as follows:
Step 1. Initialize parameters Npop,Nsr, and the number of maximum iterations iterMax
Step 2. Randomly generate the initial population, composite initial rivers, streams, and ocean using Eqs (1)–(3).
Step 3. Calculate the intensity of streams flowing into the rivers and ocean using Eq (4).
Step 4. Determine the streams' flow into the rivers, and the rivers' flow into the ocean using Eqs (6) and (7).
Step 5. According to the fitness function value, swap the positions of the streams, rivers, and ocean.
Step 6. If the termination condition is not satisfied [using Eq (8)], the process of raining occurs using Eqs (9) and (10); otherwise, go to Step 4.
Step 7. Stop the algorithm if the termination condition is satisfied; otherwise, go to Step 4.
In the CWCA, the imaginary and real parts of the complex number are updated respectively for each individual, which leads to inherent parallelism, improves the diversity of individuals, and enhances its exploitation and exploration capabilities, and it does not fall into the local optimum.
In the WCA, first, an interval [LBk,UBk],k=1,2,…,Npop is defined, and the Npop complex modulus and phase angle are randomly generated using
ρk∈[0,LBk−UBk2],k=1,2,…Npop | (11) |
θk∈[−2π,2π],k=1,2,…,Npop. | (12) |
The 2M complex number is obtained as follows:
XRk+iXIk=ρk(cosθk+isinθk),k=1,2,…Npop | (13) |
Therefore, in the CWCA, the initial population represented by a matrix of streams of size Npop×N is composed as follows:
Population=[SeaRiver1River2River3⋮StreamNsr+1StreamNsr+2StreamNsr+3⋮StreamNpop]=[[xR(1,1),xI(1,1)][xR(1,2),xI(1,2)][xR(1,3)xI(1,3)]⋯[xR(1,N),xI(1,N)][xR(2,1),xI(1,1)][xR(2,2),xI(2,2)]x2,3⋯[xR(2,N),xI(2,N)]⋮⋮⋮⋮⋮[xR(Npop,1),xI(Npop,1)][xR(Npop,2),xI(Npop,2)][xR(Npop,3),xI(Npop,3)]⋯[xR(Npop,N),xI(Npop,N)]], | (14) |
where Npop denotes the complex modulus.
In the CWCA, the new positions of rivers and streams are determined as follows: the real parts are updated using
Xk+1R−Stream=XkR−Stream+rand×C×(XkR−River−XkR−Stream) | (15) |
Xk+1R−River=XkR−River+rand×C×(XR−Sea−XkR−River), | (16) |
and the imaginary parts are updated using
Xk+1I−Stream=XkI−Stream+rand×C×(XkI−River−XkI−Stream) | (17) |
Xk+1I−River=XkI−River+rand×C×(XI−Sea−XkI−River). | (18) |
The fitness value is determined as follows: First, the complex value is converted into a real value and then its fitness value is calculated. The real-valued fitness function is determined using the complex modules and the sign is updated using the amplitude angle:
ρk=√X2Rk+X2Ik,k=1,2,…,Npop | (19) |
Xk=ρksgn(sin(XIkρk))+UBk+LBk2,k=1,2,…,Npop, | (20) |
where Xk denotes the converted real variables.
The pseudocode of the CWCA is as follows:
Pseudocode of the CWCA |
1. BEGIN
2. Initial population parameters: Npop,Nsr and let ρk∈[0,LBk−UBk2],θk∈[−2π,2π]. 3. Convert the complex value into real variables [Eqs (19) and (20)]. Using Eqs (14), (2) and (3), randomly generate the initial population and form the initial rivers, streams, and ocean, respectively. 4. Evaluate the intensity of flow for rivers [Eq (4)]. 5. while (iter < iterMax) 6: Calculate the real part using Eqs (14) and (15). 7. Calculate the imaginary part using Eqs (17) and (18). 8. Convert the complex value into real variables using Eqs (19) and (20). Swap the positions of the rivers, streams, and ocean with respect to their fitness values. 9. for each river do 10. if |Xsea−XkRiver|<eps 11. Rain began, and new streams and rivers are generated [Eqs (11-13)] 12. end if 13. end for 14. end while 15. Output the optimal solution 16. END |
The experimental setup was as follows: MATLAB R2012a, AMD Athlon™*4 640 processor, and 2 GB memory. The CWCA was used to solve 12 benchmark functions [18,19] and four engineering design problems. The performance of CWCA was compared with that of GSO [4], artificial bee colony (ABC) [20], WCA [11], and ERWCA [14] using the standard deviation and mean. The control parameters of the algorithms were set as follows:
● GSO: Parameters Npop = 50, G0=100,α=20;K0 linearly decreased to 1 and was set to NP [4].
● ABC: Parameters Npop = 50, Limit = 5D. [20].
● WCA: Parameters Npop = s 50, Nsr = 8 (number of rivers), with C = 2. [11].
● ERWCA: Parameters Npop = 50, Nsr=8, with C = 2. [14].
● CWCA: Parameters Npop = 50, Nsr=8, with C = 2, ρk∈[0,LBk−UBk2],θk∈[−2π,2π]
For the simulation experiments, the mean outcomes of 25 independent runs for f01 - f04 are listed in Table 2, the test results for functions f05 - f08 are listed in Table 3, and the test results for functionsf09 - f12 are listed in Table 4. The unrestrained benchmark functions are presented in Table 1. The results perform 25 generations. "Best, " "Mean, " "Worst, " "Std, " and "ANOVA" represent the optimal value, mean value, worst value, standard deviation, and analysis of variance, respectively.
Unstrained functions | D | Range | Optimum | Iter |
f01=D∑i=1x2i | 50 | [–100,100] | 0 | 500 |
f02=D∑i=1|xi|+D∏i=1|xi| | 50 | [–10, 10] | 0 | 500 |
f03=D∑i=1(i∑j=1xj)2 | 50 | [–100,100] | 0 | 500 |
f04=max{|xi|,1≤i≤D} | 50 | [–100,100] | 0 | 500 |
f05=D∑0(⌊xi+0.5⌋)2 | 50 | [–100,100] | 0 | 100 |
f06=D∑i=1[x2i−10cos2πxi+10] | 50 | [–5.12, 5.12] | 0 | 100 |
f07=−20exp(−0.2√1DD∑i=1x2i)−exp(1DD∑i=1cos2πxi)+20+e | 50 | [–32, 32] | 0 | 100 |
f08=14000D∑i=1x2i−D∏i=1cos(xi√i)+1 | 50 | [–600,600] | 0 | 100 |
f09=4x2i−2.1x41+13x61+x1x2−4x22+4x42 | 2 | [–5, 5] | –1.03162 | 100 |
f10=[1+(x1+x2+1)2(19−14x1+3x21−14x2+6x1x2+3x22)]×[30+(2x1−3x2)2(18−32x1+12x21+48x2−36x1x2+27x22)] | 2 | [–5, 5] | 3 | 100 |
f11=−4∑i=1ciexp[3∑j=1aij(xj−pij)2] | 3 | [0, 1] | –3.8628 | 100 |
f12=−4∑i=1ciexp[6∑j=1aij(xj−pij)2] | 6 | [0, 1] | –3.3224 | 100 |
Functions | Algorithms | Results | |||
Best | Mean | Worst | Std. | ||
f01(D=50) | GSO | 0.207355483 | 0.643658692 | 1.381211712 | 0.305186488 |
ABC | 0.02164161 | 0.266296242 | 1.0272904 | 0.308026332 | |
WCA | 27.27537295 | 60.81289202 | 125.1674416 | 24.49799538 | |
ERWCA | 3.65357E–16 | 2.23497E–13 | 1.2168E–12 | 2.98299E–13 | |
CWCA | 1.9495E–207 | 7.9173E–188 | 1.9695E–186 | 0 | |
f02(D=50) | GSO | 0.190471323 | 0.523626056 | 1.926347272 | 0.35741995 |
ABC | 0.083559555 | 0.159897637 | 0.284741881 | 0.054138322 | |
WCA | 12.77983257 | 73286.99059 | 1666293.509 | 332935.3144 | |
ERWCA | 5.40146E–09 | 0.000105465 | 0.002580972 | 0.000515735 | |
CWCA | 3.0115E–108 | 4.8137E–101 | 5.05153E–100 | 1.29853E–100 | |
f03(D=50) | GSO | 5614.494834 | 9162.038749 | 13171.78451 | 2191.964722 |
ABC | 49854.83613 | 63062.58662 | 80673.90543 | 7903.826327 | |
WCA | 22036.10203 | 40160.29047 | 71405.33553 | 11778.719 | |
ERWCA | 1.48038E–14 | 3.58088451 | 31.08218217 | 7.333461723 | |
CWCA | 1.0586E–175 | 1.0027E–155 | 2.0513E–154 | 4.1614E–155 | |
f04(D=50) | GSO | 7.482344366 | 11.02103367 | 15.22690812 | 1.805226231 |
ABC | 68.25830295 | 80.27564106 | 87.87728499 | 4.794442375 | |
WCA | 48.67045644 | 66.08139632 | 81.93733451 | 7.664963523 | |
ERWCA | 2.43589E–10 | 5.55482E–08 | 2.43961E–07 | 5.29924E–08 | |
CWCA | 7.15741E–99 | 3.31169E–92 | 3.17129E–91 | 7.72028E–92 |
Functions | Algorithms | Results | |||
Best | Mean | Worst | Std. | ||
f05(D=50) | GSO | 566 | 1131.64 | 1950 | 342.5811193 |
ABC | 13,559 | 27,666.12 | 44,007 | 7900.040123 | |
WCA | 8099 | 13,872.64 | 24,084 | 4340.085031 | |
ERWCA | 0 | 0.76 | 19 | 3.8 | |
CWCA | 0 | 0 | 0 | 0 | |
f06(D=50) | GSO | 102.9655468 | 130.6203352 | 186.189766 | 18.88401764 |
ABC | 219.8304665 | 322.5058351 | 377.4759954 | 40.06728218 | |
WCA | 299.2085116 | 440.4852994 | 533.5915321 | 59.06933452 | |
ERWCA | 0 | 1.989918114 | 49.74795285 | 9.949590571 | |
CWCA | 0 | 0 | 0 | 0 | |
f07(D=50) | GSO | 5.764211343 | 8.469214323 | 10.36140998 | 1.216196283 |
ABC | 16.85525103 | 18.18606241 | 18.93602973 | 0.470872533 | |
WCA | 5.598512115 | 16.86361644 | 20.34625814 | 4.444925239 | |
ERWCA | 2.84823E–09 | 1.74804E–05 | 0.000429133 | 8.57614E–05 | |
CWCA | 8.88178E–16 | 8.88178E–16 | 8.88178E–16 | 0 | |
f08(D=50) | GSO | 1.11022E–16 | 0.052857507 | 0.073410582 | 0.033637865 |
ABC | 3.33067E–16 | 0.003443108 | 0.073410582 | 0.014668708 | |
WCA | 6.24611E–13 | 0.063455934 | 0.195437086 | 0.047329549 | |
ERWCA | 0 | 5.41167E–14 | 8.64864E–13 | 1.70589E–13 | |
CWCA | 0 | 0 | 0 | 0 |
Functions | Algorithms | Results | |||
Best | Mean | Worst | Std. | ||
f09(D=2) | GSO | –1.031628453 | –1.031628453 | –1.031628453 | 4.2276E–16 |
ABC | –1.031628453 | –1.031628453 | –1.031628453 | 4.03633E–12 | |
WCA | –1.031628453 | –1.031628453 | –1.031628453 | 1.16441E–10 | |
ERWCA | –1.031628453 | –1.031628453 | –1.031628453 | 6.06115E–14 | |
CWCA | –1.031628453 | –1.031628453 | –1.031628453 | 8.87086E–11 | |
f10(D=2) | GSO | 3 | 3 | 3 | 4.39868E–13 |
ABC | 3 | 6.829312618 | 34.11721073 | 9.461128153 | |
WCA | 3 | 3.000000007 | 3.000000081 | 1.62655E–08 | |
ERWCA | 3 | 3 | 3 | 7.70669E–12 | |
CWCA | 3 | 3.000000005 | 3.000000093 | 1.8483E–08 | |
f11(D=3) | GSO | –3.862782148 | –3.862781304 | –3.86277018 | 2.56717E–06 |
ABC | –3.862782148 | –3.831845002 | –3.0897641 | 0.154600208 | |
WCA | –3.862782148 | –3.862782122 | –3.862781721 | 8.52233E–08 | |
ERWCA | –3.862782148 | –3.862782148 | –3.862782148 | 1.67437E–11 | |
CWCA | –3.862782148 | –3.862782148 | –3.862782147 | 7.21169E–11 | |
f12(D=6) | GSO | –3.322368009 | –3.274490605 | –3.199245153 | 0.059836344 |
ABC | –3.322367256 | –3.322206338 | –3.319008561 | 0.000668069 | |
WCA | –3.322367865 | –3.283354564 | –3.186190502 | 0.058086807 | |
ERWCA | –3.322368011 | –3.312831524 | –3.203161909 | 0.033006674 | |
CWCA | –3.322368011 | –3.322367989 | –3.322367817 | 4.5094E–08 |
As shown in Table 2, the best values produced by the CWCA were more accurate than those obtained using the proposed WCA and the other meta-heuristic optimization algorithms. For four functions, the standard deviation of the CWCA was less than that of GSO, ABC, WCA, and ERWCA, which implies that the CWCA had better stability in terms of optimizing high-dimensional unimodal functions. Figures 4–7 show that the fitness functions converged to a curve. Hence, it can be concluded that the proposed CWCA had a higher convergence rate and higher computation precision than meta-heuristic algorithms such as GSO, ABC, WCA, ERWCA, and CWCA. Figures 8–11 show the analysis of ANOVA using a graph. The ERWCA and CWCA obtained stable optimal values. Figure 9 show that most of the algorithms produced a stable value, except the WCA, when solving function f02.
It can be noted from Table 3 that the CWCA located the optimal solutions of the functions f05, f06 and f08 with a standard deviation of 0. For function f07, the precision and mean value were higher than those for the other meta-heuristic optimization algorithms. Building on the results shown in Figures 12-15, it can be concluded that the CWCA converged faster and its precision was higher than that of the other meta-heuristic optimization algorithms. Figures 16-19 show the ANOVA graphical analysis results. The results demonstrated that both the ERWCA and CWCA had better stability than the other meta-heuristic optimization algorithms.
As shown in Table 4, for f09, all algorithms produced optimal solutions, and the solutions of GSO were the most stable. For functions f10 and f11, the solutions for most algorithms achieved the same order of magnitude, but the standard deviation of the CWCA was the best. For function f12, both the ERWCA and CWCA obtained optimal solutions, but the CWCA had the best stability. Figures 20–27 shows that the CWCA had excellent performance when solving multimodal low-dimensional problems.
The mathematical model for general constrained optimization is defined [21] as
Minimizef(x);subjecttogj(x)≤0,j=1,…,q,hi(x)=0,i=q+1,…,m,li≤xi≤ui,i=1,…,D, | (21) |
where x=(x1,x2,…,xD) represents the D-dimensional decision variables, f(x) denotes the objective function, gj(x)≤0 represents q inequality constraints, and hi(x) represents m - q equality constraints. The functions f, gj and hi are nonlinear or linear functions. li,ui denote the lower and upper bounds, respectively.
Generally, when practical problems are solved, it is common to convert equality constraints into inequality constraints:
|hi(x)|−ε≤0,i=q+1,…,m, | (22) |
where ε denotes the allowed tolerance, which is set to a small value. The best numerical value for ε is 0.001. According to the feasibility-based rules, each individual's constraint violation is
fviol(x)=max(f1viol,f2viol) | (23) |
f1viol=max(gj(x))j=1,…,q | (24) |
f2viol=max(|hi(x)|−ε)i=q+1,…,m. | (25) |
Generally, a feasibility-based rule is used [22]:
Rule 1: Any feasible solution is preferred over any infeasible solution.
Rule 2: The feasible solution that has a better objective function value is preferred, if choosing between two feasible solutions.
Rule 3: The infeasible solution that has smaller constraint violations is preferred, if choosing between two infeasible solutions.
A cylindrical pressure vessel with hemispherical heads capped at both ends is shown in Figure 28, where Ts(x1) denotes the shell thickness, Th(x2) denotes the head thickness, R(x3) denotes the inner radius, and L(x4) denotes the cylindrical vessel length. The overall cost, including a combination of material cost, single 600 welding cost, and forming cost, is minimized.
The mathematical model for the pressure vessel design problem is
Minimizef(x)=0.6224x1x3x4+1.7781x2x23+3.1661xx+19.84x21x4Subjecttog1(x)=−x1+0.0193x3≤0g2(x)=−x2+0.00954x3≤0g3(x)=−πx23x4−43πx33+1296000≤0g4(x)=x4−240≤00≤x1,x2≤10010≤x3,x4≤200 | (26) |
The results obtained using the CWCA to solve the pressure vessel design problem is shown in Table 5. The statistical outcomes were compared with those of the meta-heuristic algorithms ES [27], GSA [28], PSO [29], GA [24,25,26], DE [30], MVO [23], WCA [11], and ACO [31]. As shown in Table 5, the proposed CWCA outperformed all the other optimization algorithms.
Algorithms | Optimal values for variables | Optimum cost | |||
Ts | Th | R | L | ||
ES [27] | 0.8125 | 0.4375 | 42.098087 | 176.640518 | 6059.7456 |
GSA [28] | 1.1250 | 0.6250 | 55.9886598 | 84.4542025 | 8538.8359 |
PSO [29] | 0.8125 | 0.4375 | 42.091266 | 176.746500 | 6061.0777 |
GA [21] | 0.8125 | 0.4375 | 40.323900 | 200.000000 | 6288.7445 |
GA [22] | 0.8125 | 0.4375 | 42.097398 | 176.654050 | 6059.9463 |
GA [23] | 0.9375 | 0.5000 | 48.329000 | 112.679000 | 6410.3811 |
DE [30] | 0.8125 | 0.4375 | 42.098411 | 176.637690 | 6059.7340 |
ACO [31] | 0.8125 | 0.4375 | 42.103624 | 176.572656 | 6059.0888 |
MVO [23] | 0.8125 | 0.4375 | 42.0907382 | 176.738690 | 6060.8066 |
WCA [11] | 1.7958 | 0.3933 | 41.2310 | 187.6901 | 5916.0914 |
CWCA | 0.7782 | 0.3846 | 40.3196 | 200.0000 | 5885.3327 |
Cantilever beam design optimization aims to minimize the weight of a cantilever beam, which is composed of hollow square blocks. In this study, it involved five squares: the first block was fixed, and the fifth block had the burden of a vertical load. In Figure 29, five parameters define the shape of the cross section of the cubes.
The mathematical model for the cantilever beam design optimization is
Minimizef(x)=0.06224(x1+x2+x3+x4+x5)Subjecttog(x)=61x31+27x32+19x33+7x34+1x35−1≤00.01≤x1,x2x3,x4,≤100 | (27) |
In the same way, the meta-heuristic optimization algorithms MVO [23], CS [32], SOS [33], MMA [34], WCA [11], and CWCA were used. Table 6 shows that the results of the CWCA for the cantilever beam design problem were consistent with those of the other engineering optimization problems. Both the WCA and CWCA outperformed all the other optimization algorithms.
Algorithms | Optimal variable values | Optimum weight | ||||
x1 | x2 | x3 | x4 | x5 | ||
CS [32] | 6.0089 | 5.3049 | 4.5023 | 3.5077 | 2.1504 | 1.3340 |
SOS [33] | 6.01878 | 5.3034 | 4.4958 | 3.4989 | 2.1556 | 1.3340 |
MMA [34] | 6.0100 | 5.3000 | 4.4900 | 3.4900 | 2.1500 | 1.3400 |
MVO [23] | 6.0239 | 5.3060 | 4.49501 | 3.4960 | 2.1527 | 1.3399 |
WCA [11] | 5.9799 | 4.8821 | 4.4659 | 3.4733 | 2.1380 | 1.30325382 |
CWCA | 5.9783 | 4.8762 | 4.4663 | 3.4791 | 2.1391 | 1.30325143 |
The design problem for a three-bar planar truss structure is shown in Figure 30. The volume of a statically loaded three-bar truss was minimized, subject to stress (σ) constraints. The objective was to find the best cross-sectional areas (A1, A2).
The mathematical model for the three-bar planar truss structure design problem is
Minimizef(x)=(2√2x1+x2)×lSubjecttog1(x)=√2x1+x2√2x21+2x1x2P−σ≤0g2(x)=x2√2x21+2x1xP−σ≤0g3(x)=1√2x2+x1P−σ≤00≤x1,x2≤1l=100 cm,P=2kn/cm2,σ=kn/cm2,x1=A1,x2=A2A1=A3 | (28) |
For the three-bar truss design problem, the metaheuristic optimization algorithms MVO [23], DEDS [34], PSO-DE [35], MBA [36], CS [37], WCA [11], and CWCA were used. The proposed CWCA was compared with the other optimization algorithms (see Table 7). The results obtained using the CWCA were very close to those obtained using DEDS.
Algorithms | Optimal values for variables | Optimal weight | |
A1 | A2 | ||
DEDS [34] | 0.78867513 | 0.40824828 | 263.8958434 |
PSO-DE[35] | 0.7886751 | 0.4082482 | 263.8958433 |
MBA [36] | 0.7885650 | 0.4085597 | 263.8958522 |
CS [37] | 0.78867 | 0.40902 | 263.9716 |
MVO [23] | 0.78860276 | 0.40845307 | 263.8958499 |
WCA [11] | 0.7888 | 0.4080 | 263.89585025 |
CWCA | 0.7887 | 0.4082 | 263.89584340 |
Figure 31 shows a beam made of low-carbon steel and welded to a rigid support. The welded beam was designed to achieve the minimum cost, subject to constraints on shear stress (τ), bending stress (σ) in the beam, buckling load on the bar (Pb), end deflection of the beam (δ), and side constraints. There were four design variables: h(x1),l(x2),t(x3) and b(x4).
The objective function is expressed as
Minimizef(x)=1.10471x21x2+0.04811x3x4(14+x2)Subjecttog1(x)=τ(x)−τmax≤0g2(x)=σ(x)−σmax≤0g3(x)=x1−x4≤0g4(x)=0.10471x21+0.04811x3x4(14+x2)−5≤0g5(x)=0.125−x1≤0g6(x)=δ(x)−δmax≤0g7(x)=P−Pc(x)≤00.1≤x1,x4≤2x1=hx2=l0.1≤x2,x3≤10x3=tx4=b | (29) |
where
τ(x)=√(τ′)2+2τ′τ′′x22R+(τ′′)2τ′=P√2x1x2τ′′=MRJM=P(L+x22),R=√x224+(x1+x32)2,J=2{√2x1x2[x2212+(x1+x32)2]}σ(x)=6PLx4x23,δ(x)=4PL3Ex33x4,Pc(x)=4.013E√x23x6436L2(1−x32L√E4G)P=6000lb,L=14in,E=30×106psi,G=12×106psiτmax=13600psi,σmax=30000psi,δmax=0.25in | (30) |
In the same way, the meta-heuristic optimization algorithms MVO [23], GSA [28], CPSO [38], GA [39], and HS [40] were applied. The proposed CWCA was compared with the other meta-heuristic algorithms (see Table 8). The results showed that the proposed CWCA achieved the minimum cost.
Algorithms | Optimal values for variables | Optimal cost | |||
h | l | t | b | ||
GSA [28] | 0.1821 | 3.856979 | 10.0000 | 0.202376 | 1.87995 |
CPSO [38] | 0.2023 | 3.544214 | 9.048120 | 0.205723 | 1.72802 |
GA [39] | 0.2489 | 6.1730 | 8.1789 | 0.2533 | 2.4331 |
HS [40] | 0.2442 | 6.2231 | 8.2915 | 0.2443 | 2.3807 |
MVO [23] | 0.2054 | 3.473193 | 9.044502 | 0.205695 | 1.72645 |
WCA [11] | 0.2058 | 3.4697 | 9.0353 | 0.2058 | 1.7252 |
CWCA | 0.2057 | 3.4705 | 9.0366 | 0.2057 | 1.7248 |
In recent years, significant attention has been paid to the design of meta-heuristic optimization algorithms to solve optimization problems. The aims of this study were to improve the exploration and exploitation capabilities of the WCA algorithm, accelerate its convergence speed, and enhance its calculation accuracy. A novel CWCA algorithm was proposed, and to evaluate the performance of CWCA optimization, 12 benchmark functions and four engineering examples were considered. The test results indicated that the CWCA had higher precision and convergence speed than the WCA and other popular meta-heuristic optimization algorithms. Further improvements to versions of the WCA equipped with the latest, efficient strategies should be considered in future research. Additionally, the CWCA is not well used in some engineering majors, such as mechanical engineering. Despite the great potential of this principal field, it is necessary to use and use more meta-heuristic optimization algorithms, such as CWCA, to solve large-scale optimization problems.
This work was supported by the National Science Foundation of China under Grant No. 62066005 and the Project of Guangxi Natural Science Foundation under Grant No. 2018GXNSFAA138146. We thank Maxine Garcia, Ph.D, from Liwen Bianji (Edanz) (www.liwenbianji.cn/) for editing the English text of a draft of this manuscript.
The authors declare no conflict of interest.
CWCA MATLAB source code
%-----------------------------------------------
function [Xmin, Fmin] = CWCA(objective_function, LB, UB, nvars, Fnum, Nmax)
nvar = nvars; % Dimension
N = 50; % Population size
Nsr = 8; % Number of rivers
C = 2;
Nwat = N-Nsr; % Raindrops
Fmin = inf;
%------------- Initialization (In module and Angle mode)----------------------------------
zigma_NCn = inf*ones(1, Nwat + 1);
for i = 1: N
x_age(i, :) = 4*pi*(rand(1, nvar)-0.5); % Argument
x_mod(i, :) = 0.5*(UB - LB).*rand(1, nvar); % Module
x_R(i, :) = x_mod(i, :).*cos(x_age(i, :));
x_I(i, :) = x_mod(i, :).*sin(x_age(i, :));
sq_x(i, :) = sqrt(x_R(i, :).^2 + x_I(i, :).^2);
x(i, :) = sign(sin(x_I(i, :)/sq_x(i, :)))*sq_x(i, :) + 0.5*(UB + LB);
end
LB_bound = repmat(LB, N, 1);
UB_bound = repmat(UB, N, 1);
x = max(x, LB_bound);
x = min(x, UB_bound);
for i = 1 : N
xx(i, :) = objective_function(x(i, :), Fnum);
end
[~, index1] = sort(xx, 'ascend');
Sr = x(index1(1: Nsr+1), :);
sr_R = x_R(index1(1: Nsr+1), :);
sr_I = x_I(index1(1: Nsr+1), :);
SR = sr;
SR_R = sr_R;
SR_I = sr_I;
%--------------------------------------------------------------------------
for i = 1:Nsr+1
cost(i) = objective_function(SR(i, :), Fnum); % Calculate fitness values
end
cs = sort(cost, 'ascend')';
cs = cs(1: Nsr+1);
CN = cs-max(cs);
Pn = abs(CN/(sum(CN)));
Pn(Nsr+1) = [];
NCn = round(Nwat*Pn);
while (sum(NCn) ~ = Nwat)
i = Nsr;
while sum(NCn) > Nwat
if NCn(i) < = 1
i = i-1;
end
NCn(i) = NCn(i)-1;
end
i = 1;
while sum(NCn) < Nwat
NCn(i) = NCn(i)+1;
end
end
NCn = sort(NCn, 'descend');
Sr = sr(1: Nsr, :);
sr_R = sr_R(1: Nsr, :);
sr_I = sr_I(1: Nsr, :);
zigma_NCn = [0];
for i = 1:Nsr
zigma_NCn = [zigma_NCn sum(NCn(1: i))];
end
end
%------------- Initialization ----------------------------------
for j = 1:Nwat
water_age(j, :) = 4*pi*(rand(1, nvar)-0.5);
water_mod(j, :) = 0.5*(UB - LB).*rand(1, nvar);
water_R(j, :) = water_mod(j, :).*cos(water_age(j, :));
water_I(j, :) = water_mod(j, :).*sin(water_age(j, :));
sq_water = sqrt(water_R(j, :).^2 + water_I(j, :).^2);
water(j, :) = sign(sin(water_I(j, :)/sq_water))*sq_water + 0.5*(UB + LB);
end
WATER_R = water_R;
WATER_I = water_I;
WATER = water;
%------------------------------------------------------
Sea = sr(1, :);
sea_R = sr_R(1, :);
sea_I = sr_I(1, :);
%--------------- The main loop ------------------------------
Locate = 1;
for ii = 1:Nmax % Maximum number of iterations
%--------------- The stream flows to the river --------------------------
stp = 1;
for i = 1: Nsr_k
for j = (zigma_NCn(i) + 1): zigma_NCn(i+1)
%----------- Real component update --------
new_WATER_R = WATER_R(j, :) + C.* rand(1, nvar).*(sr_R(i, :) - WATER_R(j, :));
%----------- Imaginary part update --------
new_WATER_I = WATER_I(j, :) + C.* rand(1, nvar).*(sr_I(i, :) - WATER_I(j, :));
sq_new_WATER = sqrt(new_WATER_R.^2 + new_WATER_I.^2);
new_WATER =
sign(sin(new_WATER_I/sq_new_WATER))*sq_new_WATER+0.5*(UB+LB);
if objective_function(WATER(j, :), Fnum) > objective_function(new_WATER, Fnum)
WATER(j, :) = new_WATER;
WATER_R(j, :) = new_WATER_R;
WATER_I(j, :) = new_WATER_I;
end
end
end
%------------Rivers flow to the sea --------------------------
for i = 1:Nsr_k
new_sr = [];
%----------- Real component update --------
new_sr_R = sr_R(i, :) + C.*rand(1, nvar).*(sea_R - sr_R(i, :));
%----------- Imaginary part update --------
new_sr_I = sr_I(i, :) + C.*rand(1, nvar).*(sea_I - sr_I(i, :));
sq_new_sr = sqrt(new_sr_R.^2 + new_sr_I.^2);
new_sr = sign(sin(new_sr_I/sq_new_sr))*sq_new_sr + 0.5*(UB + LB);
if objective_function(sr(i, :), Fnum) > objective_function(new_sr, Fnum)
sr_R(i, :) = new_sr_R;
sr_I(i, :) = new_sr_I;
sr(i, :) = new_sr;
end
end
%------------ Replacement of rivers and streams --------------------
new_sr = [];
for i = 1:Nsr_k
for j = (zigma_NCn(i)+1):zigma_NCn(i+1)
if objective_function(sr(i, :), Fnum) > objective_function(WATER(j, :), Fnum)
temp = WATER(j, :);
temp_R = WATER_R(j, :);
temp_I = WATER_I(j, :);
WATER(j, :) = sr(i, :);
WATER_R(j, :) = sr_R(i, :);
WATER_I(j, :) = sr_I(i, :);
sr(i, :) = temp;
sr_R(i, :) = temp_R;
sr_I(i, :) = temp_I;
end
end
end
%------------- River and sea location update ----------------------
for i = 1:Nsr_k
if objective_function(sea, Fnum) > objective_function(sr(i, :), Fnum)
temp = sr(i, :);
temp_R = sr_R(i, :);
temp_I = sr_I(i, :);
sr(i, :) = sea;
sr_R(i, :) = sea_R;
sr_I(i, :) = sea_I;
sea = temp;
sea_R = temp_R;
sea_I = temp_I;
end
end
Xmin = sea;
Fmin = objective_function(sea, Fnum);
f(ii) = Fmin;
end
end
%----------------------End------------------------------------------------
[1] |
K. Deb, A. Pratap, S. Agarwal, T. Meyarivan, A fast and elitist multi-objective genetic algorithm: NSGA-Ⅱ, IEEE Trans. Evol. Comput., 6 (2002), 182-197. doi: 10.1109/4235.996017
![]() |
[2] | J. Kennedy, Particle swarm optimization, in Encyclopedia of Machine Learning, Springer US, (2010), 760-766. |
[3] |
S. Kirkpatrick, C. D. Gelatt, M. P. Vecchi, Optimization by simulated annealing, Science, 220 (1983), 671-680. doi: 10.1126/science.220.4598.671
![]() |
[4] |
K. N. Krishnanand, D. Ghose, Glowworm swarm optimisation: A new method for optimising multi-modal functions, Int. J. Comput. Intell. Stud., 1 (2009), 93-119. doi: 10.1504/IJCISTUDIES.2009.025340
![]() |
[5] | B. Alatas, Chaotic harmony search algorithms, Appl. Math. Comput., 216 (2010), 2687-2699. |
[6] |
K. M. Passino, Biomimicry of bacterial foraging for distributed optimization and control, IEEE Control Syst. Mag., 22 (2002), 52-67. doi: 10.1109/MCS.2002.1004010
![]() |
[7] |
G. G. Wang, S. Deb, L. D. S. Coelho, Earthworm optimization algorithm: a bio-inspired metaheuristic algorithm for global optimization problems, J. Bio-Inspired Comput., 12 (2018), 1-22. doi: 10.1504/IJBIC.2018.093328
![]() |
[8] | X. S. Yang, A new metaheuristic bat-inspired algorithm, in Nature inspired cooperative strategies for optimization, Springer Berlin Heidelberg, (2010), 65-74. |
[9] | G. G. Wang, S. Deb, X. Z. Gao, L. D. S. Coelho, A new metaheuristic optimization algorithm motivated by elephant herding behavior, J. Bio-Inspired Comput., 8 (2017), 394-409. |
[10] |
G. Wang, L. Guo, H. Wang, H. Duan, L. Liu, J. Li, Incorporating mutation scheme into krill herd algorithm for global numerical optimization, Neural Comput. Appl., 24 (2014), 853-871. doi: 10.1007/s00521-012-1304-8
![]() |
[11] | H. Eskandar, A. Sadollah, A. Bahreininejad, M. Hamdi, Water cycle algorithm-A novel metaheuristic optimization method for solving constrained engineering optimization problems, Comput. Struct., 110 (2012), 151-166. |
[12] |
A. Sadollah, H. Eskandar, A. Bahreininejad, J. H. Kim, Water cycle algorithm for solving multi-objective optimization problems, Soft Comput., 19 (2015), 2587-2603. doi: 10.1007/s00500-014-1424-4
![]() |
[13] | C. Zhang, G. W. Liao, L. Li, Optimizations of space truss structures using WCA algorithm, Prog. Steel Build. Struct., 1 (2014), 35-38. |
[14] |
A. Sadollah, H. Eskandar, A. Bahreininejad, J. H. Kim, Water cycle algorithm with evaporation rate for solving constrained and unconstrained optimization problems, Appl. Soft Comput., 30 (2015), 58-71. doi: 10.1016/j.asoc.2015.01.050
![]() |
[15] |
L. Li, Y. Zhou, A novel complex-valued bat algorithm, Neural Comput. Appl., 25 (2014), 1369-1381. doi: 10.1007/s00521-014-1624-y
![]() |
[16] | D. B. Chen, H. J. Li, Z. Li, Particle swarm optimization based on complex-valued encoding and application in function optimization, Comput. Appl., 45 (2009), 59-61. |
[17] | Z. Zheng, Y. Zhang, Y. Qiu, Genetic algorithm based on complex-valued encoding, Control Theory Appl., 20 (2003), 97-100. |
[18] | X. S. Yang, Appendix A: test problems in optimization, Eng. Optim., 2010 (2010), 261-266. |
[19] | K. Tang, X. Yao, P. N. Suganthan, C. MacNish, Y. P. Chen, C. M. Chen, et al., Benchmark functions for the CEC'2008 special session and competition on large scale global optimization. Nat. Inspired Comput. Appl. Lab., 2007 (2007), 153-177. |
[20] |
D. Karaboga, B. Basturk, A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm, J. Global Optim., 39 (2007), 459-471. doi: 10.1007/s10898-007-9149-x
![]() |
[21] |
C. A. C. Coello, Theoretical and numerical constraint-handling techniques used with evolutionary algorithms: a survey of the state of the art, Comput. Methods Appl. Mech. Eng., 191 (2002), 1245-1287. doi: 10.1016/S0045-7825(01)00323-1
![]() |
[22] |
E. Mezura-Montes, C. A. C. Coello, An empirical study about the usefulness of evolution strategies to solve constrained optimization problems, Int. J. Gen. Syst., 37 (2008), 443-473. doi: 10.1080/03081070701303470
![]() |
[23] |
S. Mirjalili, S. M. Mirjalili, A. Hatamlou, Multi-Verse Optimizer: a nature-inspired algorithm for global optimization, Neural Comput. Appl., 27 (2016), 495-513. doi: 10.1007/s00521-015-1870-7
![]() |
[24] |
C. A. C. Coello, Use of a self-adaptive penalty approach for engineering optimization problems, Comput. Ind., 41 (2000), 113-127. doi: 10.1016/S0166-3615(99)00046-9
![]() |
[25] |
C. A. C. Coello, Montes, E. M. Constraint-handling in genetic algorithms through the use of dominance-based tournament selection, Adv. Eng. Inf., 16 (2002), 193-203. doi: 10.1016/S1474-0346(02)00011-3
![]() |
[26] | K. Deb, Geneas: A robust optimal design technique for mechanical component design, in Evolutionary algorithms in engineering applications, Springer Berlin Heidelberg, (1997), 497-514. |
[27] |
E. Mezura-Montes, C. A. C. Coello, An empirical study about the usefulness of evolution strategies to solve constrained optimization problems, Int. J. Gen. Syst., 37 (2008), 443-473. doi: 10.1080/03081070701303470
![]() |
[28] |
E. Rashedi, H. Nezamabadi-Pour, S. Saryazdi, GSA: A gravitational search algorithm, Inf. Sci., 179 (2009), 2232-2248. doi: 10.1016/j.ins.2009.03.004
![]() |
[29] |
Q. He, L. Wang, An effective co-evolutionary particle swarm optimization for constrained engineering design problems, Eng. Appl. Artif. Intell., 20 (2007), 89-99. doi: 10.1016/j.engappai.2006.03.003
![]() |
[30] |
L. J. Li, Z. B. Huang, F. Liu, Q. H. Wu, A heuristic particle swarm optimizer for optimization of pin connected structures, Comput. Struct., 85 (2007), 340-349. doi: 10.1016/j.compstruc.2006.11.020
![]() |
[31] |
A. Kaveh, S. Talatahari, An improved ant colony optimization for constrained engineering design problems, Eng. Comput., 27 (2010), 155-182. doi: 10.1108/02644401011008577
![]() |
[32] |
A. H. Gandomi, X. S. Yang, A. H. Alavi, Cuckoo search algorithm: A metaheuristic approach to solve structural optimization problems, Eng. Comput., 29 (2013), 17-35. doi: 10.1007/s00366-011-0241-y
![]() |
[33] |
M. Y. Cheng, D. Prayogo, Symbiotic Organisms Search: A new metaheuristic optimization algorithm, Comput. Struct., 139 (2014), 98-112. doi: 10.1016/j.compstruc.2014.03.007
![]() |
[34] |
M. Zhang, W. Luo, X. Wang, Differential evolution with dynamic stochastic selection for constrained optimization, Inf. Sci., 178 (2008), 3043-3074. doi: 10.1016/j.ins.2008.02.014
![]() |
[35] |
H. Liu, Z. Cai, Y. Wang, Hybridizing particle swarm optimization with differential evolution for constrained numerical and engineering optimization, Appl. Soft Comput., 10 (2010), 629-640. doi: 10.1016/j.asoc.2009.08.031
![]() |
[36] |
A. Sadollah, A. Bahreininejad, H. Eskandar, M. Hamdi, Mine blast algorithm: A new population based algorithm for solving constrained engineering optimization problems, Appl. Soft Comput., 13 (2013), 2592-2612. doi: 10.1016/j.asoc.2012.11.026
![]() |
[37] |
A. H. Gandomi, X. S. Yang, A. H. Alavi, Cuckoo search algorithm: A metaheuristic approach tosolve structural optimization problems, Eng. Comput., 29 (2013), 17-35. doi: 10.1007/s00366-011-0241-y
![]() |
[38] |
R. Krohling, L. dos Santos Coelho, Coevolutionary particle swarm optimization using Gaussian distribution for solving constrained optimization problems, IEEE Trans. Syst. Man Cyber. B Cyber., 36 (2006), 1407-1416. doi: 10.1109/TSMCB.2006.873185
![]() |
[39] |
K. Deb, An efficient constraint handling method for genetic algorithms, Comput. Methods Appl. Mech. Eng., 186 (2000), 311-338. doi: 10.1016/S0045-7825(99)00389-8
![]() |
[40] |
K. S. Lee, Z. W. Geem, A new meta-heuristic algorithm for continuous engineering optimization: harmony search theory and practice, Comput. Methods Appl. Mech. Eng., 194 (2005), 3902-3933. doi: 10.1016/j.cma.2004.09.007
![]() |
[41] | N. Mohammad, S. Ali, H. C. Young, H. K. Joong, A comprehensive review on water cycle algorithm and its applications, Neural Comput. Appl., 32 (2020), 7433-17488. |
[42] |
A. Sadollah, H. Eskandar, H. M. Lee, D. G. Yoo, J. H. Kim, Water cycle algorithm: A detailed standard code, Softwarex, 5 (2016), 37-43. doi: 10.1016/j.softx.2016.03.001
![]() |
[43] |
E. Osaba, J. Del Ser, A. Sadollah, M. N. Bilbao, D. Camacho, A discrete water cycle algorithm for solving the symmetric and asymmetric traveling salesman problem, Appl. Soft Comput., 71 (2018), 277-290. doi: 10.1016/j.asoc.2018.06.047
![]() |
[44] |
M. Seyed, P. Abedi, A. Alireza, S. Ali, H. Joong, Gradient-based water cycle algorithm with evaporation rate applied to chaos suppression, Appl. Soft Comput., 53 (2017), 420-440. doi: 10.1016/j.asoc.2016.12.030
![]() |
[45] |
G. G. Wang, Y. Tan, Improving metaheuristic algorithms with information feedback models, IEEE Trans. Cybern., 49 (2019), 542-555. doi: 10.1109/TCYB.2017.2780274
![]() |
[46] |
G. G. Wang, L. Guo, A. H. Gandomi, G. S. Hao, H. Wang, Chaotic krill herd algorithm, Inf. Sci., 274 (2014), 17-34. doi: 10.1016/j.ins.2014.02.123
![]() |
[47] | W. Deng, J. Xu, X. Z. Gao, H. Zhao, An enhanced MSIQDE algorithm with novel multiple strategies for global optimization problems, IEEE Trans. Syst. Man Cybern. Syst., 2020 (2020). |
[48] |
Y. Jiang, Q. Luo, Y. Wei, L. Abualigah, An efficient binary Gradient-based optimizer for feature selection, Math. Biosci. Eng., 18 (2021), 3813-3854. doi: 10.3934/mbe.2021192
![]() |
1. | Adel Sabry Eesa, Masoud Muhammed Hassan, Wahab Khalaf Arabo, Letter: Application of optimization algorithms to engineering design problems and discrepancies in mathematical formulas, 2023, 15684946, 110252, 10.1016/j.asoc.2023.110252 | |
2. | Liuyan Feng, Yongquan Zhou, Qifang Luo, Yuanfei Wei, Complex-valued artificial hummingbird algorithm for global optimization and short-term wind speed prediction, 2024, 246, 09574174, 123160, 10.1016/j.eswa.2024.123160 | |
3. | Ali Mohammadi, Farid Sheikholeslam, Intelligent optimization: Literature review and state-of-the-art algorithms (1965–2022), 2023, 126, 09521976, 106959, 10.1016/j.engappai.2023.106959 |
Pseudocode of the CWCA |
1. BEGIN
2. Initial population parameters: Npop,Nsr and let ρk∈[0,LBk−UBk2],θk∈[−2π,2π]. 3. Convert the complex value into real variables [Eqs (19) and (20)]. Using Eqs (14), (2) and (3), randomly generate the initial population and form the initial rivers, streams, and ocean, respectively. 4. Evaluate the intensity of flow for rivers [Eq (4)]. 5. while (iter < iterMax) 6: Calculate the real part using Eqs (14) and (15). 7. Calculate the imaginary part using Eqs (17) and (18). 8. Convert the complex value into real variables using Eqs (19) and (20). Swap the positions of the rivers, streams, and ocean with respect to their fitness values. 9. for each river do 10. if |Xsea−XkRiver|<eps 11. Rain began, and new streams and rivers are generated [Eqs (11-13)] 12. end if 13. end for 14. end while 15. Output the optimal solution 16. END |
Unstrained functions | D | Range | Optimum | Iter |
f01=D∑i=1x2i | 50 | [–100,100] | 0 | 500 |
f02=D∑i=1|xi|+D∏i=1|xi| | 50 | [–10, 10] | 0 | 500 |
f03=D∑i=1(i∑j=1xj)2 | 50 | [–100,100] | 0 | 500 |
f04=max{|xi|,1≤i≤D} | 50 | [–100,100] | 0 | 500 |
f05=D∑0(⌊xi+0.5⌋)2 | 50 | [–100,100] | 0 | 100 |
f06=D∑i=1[x2i−10cos2πxi+10] | 50 | [–5.12, 5.12] | 0 | 100 |
f07=−20exp(−0.2√1DD∑i=1x2i)−exp(1DD∑i=1cos2πxi)+20+e | 50 | [–32, 32] | 0 | 100 |
f08=14000D∑i=1x2i−D∏i=1cos(xi√i)+1 | 50 | [–600,600] | 0 | 100 |
f09=4x2i−2.1x41+13x61+x1x2−4x22+4x42 | 2 | [–5, 5] | –1.03162 | 100 |
f10=[1+(x1+x2+1)2(19−14x1+3x21−14x2+6x1x2+3x22)]×[30+(2x1−3x2)2(18−32x1+12x21+48x2−36x1x2+27x22)] | 2 | [–5, 5] | 3 | 100 |
f11=−4∑i=1ciexp[3∑j=1aij(xj−pij)2] | 3 | [0, 1] | –3.8628 | 100 |
f12=−4∑i=1ciexp[6∑j=1aij(xj−pij)2] | 6 | [0, 1] | –3.3224 | 100 |
Functions | Algorithms | Results | |||
Best | Mean | Worst | Std. | ||
f01(D=50) | GSO | 0.207355483 | 0.643658692 | 1.381211712 | 0.305186488 |
ABC | 0.02164161 | 0.266296242 | 1.0272904 | 0.308026332 | |
WCA | 27.27537295 | 60.81289202 | 125.1674416 | 24.49799538 | |
ERWCA | 3.65357E–16 | 2.23497E–13 | 1.2168E–12 | 2.98299E–13 | |
CWCA | 1.9495E–207 | 7.9173E–188 | 1.9695E–186 | 0 | |
f02(D=50) | GSO | 0.190471323 | 0.523626056 | 1.926347272 | 0.35741995 |
ABC | 0.083559555 | 0.159897637 | 0.284741881 | 0.054138322 | |
WCA | 12.77983257 | 73286.99059 | 1666293.509 | 332935.3144 | |
ERWCA | 5.40146E–09 | 0.000105465 | 0.002580972 | 0.000515735 | |
CWCA | 3.0115E–108 | 4.8137E–101 | 5.05153E–100 | 1.29853E–100 | |
f03(D=50) | GSO | 5614.494834 | 9162.038749 | 13171.78451 | 2191.964722 |
ABC | 49854.83613 | 63062.58662 | 80673.90543 | 7903.826327 | |
WCA | 22036.10203 | 40160.29047 | 71405.33553 | 11778.719 | |
ERWCA | 1.48038E–14 | 3.58088451 | 31.08218217 | 7.333461723 | |
CWCA | 1.0586E–175 | 1.0027E–155 | 2.0513E–154 | 4.1614E–155 | |
f04(D=50) | GSO | 7.482344366 | 11.02103367 | 15.22690812 | 1.805226231 |
ABC | 68.25830295 | 80.27564106 | 87.87728499 | 4.794442375 | |
WCA | 48.67045644 | 66.08139632 | 81.93733451 | 7.664963523 | |
ERWCA | 2.43589E–10 | 5.55482E–08 | 2.43961E–07 | 5.29924E–08 | |
CWCA | 7.15741E–99 | 3.31169E–92 | 3.17129E–91 | 7.72028E–92 |
Functions | Algorithms | Results | |||
Best | Mean | Worst | Std. | ||
f05(D=50) | GSO | 566 | 1131.64 | 1950 | 342.5811193 |
ABC | 13,559 | 27,666.12 | 44,007 | 7900.040123 | |
WCA | 8099 | 13,872.64 | 24,084 | 4340.085031 | |
ERWCA | 0 | 0.76 | 19 | 3.8 | |
CWCA | 0 | 0 | 0 | 0 | |
f06(D=50) | GSO | 102.9655468 | 130.6203352 | 186.189766 | 18.88401764 |
ABC | 219.8304665 | 322.5058351 | 377.4759954 | 40.06728218 | |
WCA | 299.2085116 | 440.4852994 | 533.5915321 | 59.06933452 | |
ERWCA | 0 | 1.989918114 | 49.74795285 | 9.949590571 | |
CWCA | 0 | 0 | 0 | 0 | |
f07(D=50) | GSO | 5.764211343 | 8.469214323 | 10.36140998 | 1.216196283 |
ABC | 16.85525103 | 18.18606241 | 18.93602973 | 0.470872533 | |
WCA | 5.598512115 | 16.86361644 | 20.34625814 | 4.444925239 | |
ERWCA | 2.84823E–09 | 1.74804E–05 | 0.000429133 | 8.57614E–05 | |
CWCA | 8.88178E–16 | 8.88178E–16 | 8.88178E–16 | 0 | |
f08(D=50) | GSO | 1.11022E–16 | 0.052857507 | 0.073410582 | 0.033637865 |
ABC | 3.33067E–16 | 0.003443108 | 0.073410582 | 0.014668708 | |
WCA | 6.24611E–13 | 0.063455934 | 0.195437086 | 0.047329549 | |
ERWCA | 0 | 5.41167E–14 | 8.64864E–13 | 1.70589E–13 | |
CWCA | 0 | 0 | 0 | 0 |
Functions | Algorithms | Results | |||
Best | Mean | Worst | Std. | ||
f09(D=2) | GSO | –1.031628453 | –1.031628453 | –1.031628453 | 4.2276E–16 |
ABC | –1.031628453 | –1.031628453 | –1.031628453 | 4.03633E–12 | |
WCA | –1.031628453 | –1.031628453 | –1.031628453 | 1.16441E–10 | |
ERWCA | –1.031628453 | –1.031628453 | –1.031628453 | 6.06115E–14 | |
CWCA | –1.031628453 | –1.031628453 | –1.031628453 | 8.87086E–11 | |
f10(D=2) | GSO | 3 | 3 | 3 | 4.39868E–13 |
ABC | 3 | 6.829312618 | 34.11721073 | 9.461128153 | |
WCA | 3 | 3.000000007 | 3.000000081 | 1.62655E–08 | |
ERWCA | 3 | 3 | 3 | 7.70669E–12 | |
CWCA | 3 | 3.000000005 | 3.000000093 | 1.8483E–08 | |
f11(D=3) | GSO | –3.862782148 | –3.862781304 | –3.86277018 | 2.56717E–06 |
ABC | –3.862782148 | –3.831845002 | –3.0897641 | 0.154600208 | |
WCA | –3.862782148 | –3.862782122 | –3.862781721 | 8.52233E–08 | |
ERWCA | –3.862782148 | –3.862782148 | –3.862782148 | 1.67437E–11 | |
CWCA | –3.862782148 | –3.862782148 | –3.862782147 | 7.21169E–11 | |
f12(D=6) | GSO | –3.322368009 | –3.274490605 | –3.199245153 | 0.059836344 |
ABC | –3.322367256 | –3.322206338 | –3.319008561 | 0.000668069 | |
WCA | –3.322367865 | –3.283354564 | –3.186190502 | 0.058086807 | |
ERWCA | –3.322368011 | –3.312831524 | –3.203161909 | 0.033006674 | |
CWCA | –3.322368011 | –3.322367989 | –3.322367817 | 4.5094E–08 |
Algorithms | Optimal values for variables | Optimum cost | |||
Ts | Th | R | L | ||
ES [27] | 0.8125 | 0.4375 | 42.098087 | 176.640518 | 6059.7456 |
GSA [28] | 1.1250 | 0.6250 | 55.9886598 | 84.4542025 | 8538.8359 |
PSO [29] | 0.8125 | 0.4375 | 42.091266 | 176.746500 | 6061.0777 |
GA [21] | 0.8125 | 0.4375 | 40.323900 | 200.000000 | 6288.7445 |
GA [22] | 0.8125 | 0.4375 | 42.097398 | 176.654050 | 6059.9463 |
GA [23] | 0.9375 | 0.5000 | 48.329000 | 112.679000 | 6410.3811 |
DE [30] | 0.8125 | 0.4375 | 42.098411 | 176.637690 | 6059.7340 |
ACO [31] | 0.8125 | 0.4375 | 42.103624 | 176.572656 | 6059.0888 |
MVO [23] | 0.8125 | 0.4375 | 42.0907382 | 176.738690 | 6060.8066 |
WCA [11] | 1.7958 | 0.3933 | 41.2310 | 187.6901 | 5916.0914 |
CWCA | 0.7782 | 0.3846 | 40.3196 | 200.0000 | 5885.3327 |
Algorithms | Optimal variable values | Optimum weight | ||||
x1 | x2 | x3 | x4 | x5 | ||
CS [32] | 6.0089 | 5.3049 | 4.5023 | 3.5077 | 2.1504 | 1.3340 |
SOS [33] | 6.01878 | 5.3034 | 4.4958 | 3.4989 | 2.1556 | 1.3340 |
MMA [34] | 6.0100 | 5.3000 | 4.4900 | 3.4900 | 2.1500 | 1.3400 |
MVO [23] | 6.0239 | 5.3060 | 4.49501 | 3.4960 | 2.1527 | 1.3399 |
WCA [11] | 5.9799 | 4.8821 | 4.4659 | 3.4733 | 2.1380 | 1.30325382 |
CWCA | 5.9783 | 4.8762 | 4.4663 | 3.4791 | 2.1391 | 1.30325143 |
Algorithms | Optimal values for variables | Optimal weight | |
A1 | A2 | ||
DEDS [34] | 0.78867513 | 0.40824828 | 263.8958434 |
PSO-DE[35] | 0.7886751 | 0.4082482 | 263.8958433 |
MBA [36] | 0.7885650 | 0.4085597 | 263.8958522 |
CS [37] | 0.78867 | 0.40902 | 263.9716 |
MVO [23] | 0.78860276 | 0.40845307 | 263.8958499 |
WCA [11] | 0.7888 | 0.4080 | 263.89585025 |
CWCA | 0.7887 | 0.4082 | 263.89584340 |
Algorithms | Optimal values for variables | Optimal cost | |||
h | l | t | b | ||
GSA [28] | 0.1821 | 3.856979 | 10.0000 | 0.202376 | 1.87995 |
CPSO [38] | 0.2023 | 3.544214 | 9.048120 | 0.205723 | 1.72802 |
GA [39] | 0.2489 | 6.1730 | 8.1789 | 0.2533 | 2.4331 |
HS [40] | 0.2442 | 6.2231 | 8.2915 | 0.2443 | 2.3807 |
MVO [23] | 0.2054 | 3.473193 | 9.044502 | 0.205695 | 1.72645 |
WCA [11] | 0.2058 | 3.4697 | 9.0353 | 0.2058 | 1.7252 |
CWCA | 0.2057 | 3.4705 | 9.0366 | 0.2057 | 1.7248 |
Pseudocode of the CWCA |
1. BEGIN
2. Initial population parameters: Npop,Nsr and let ρk∈[0,LBk−UBk2],θk∈[−2π,2π]. 3. Convert the complex value into real variables [Eqs (19) and (20)]. Using Eqs (14), (2) and (3), randomly generate the initial population and form the initial rivers, streams, and ocean, respectively. 4. Evaluate the intensity of flow for rivers [Eq (4)]. 5. while (iter < iterMax) 6: Calculate the real part using Eqs (14) and (15). 7. Calculate the imaginary part using Eqs (17) and (18). 8. Convert the complex value into real variables using Eqs (19) and (20). Swap the positions of the rivers, streams, and ocean with respect to their fitness values. 9. for each river do 10. if |Xsea−XkRiver|<eps 11. Rain began, and new streams and rivers are generated [Eqs (11-13)] 12. end if 13. end for 14. end while 15. Output the optimal solution 16. END |
Unstrained functions | D | Range | Optimum | Iter |
f01=D∑i=1x2i | 50 | [–100,100] | 0 | 500 |
f02=D∑i=1|xi|+D∏i=1|xi| | 50 | [–10, 10] | 0 | 500 |
f03=D∑i=1(i∑j=1xj)2 | 50 | [–100,100] | 0 | 500 |
f04=max{|xi|,1≤i≤D} | 50 | [–100,100] | 0 | 500 |
f05=D∑0(⌊xi+0.5⌋)2 | 50 | [–100,100] | 0 | 100 |
f06=D∑i=1[x2i−10cos2πxi+10] | 50 | [–5.12, 5.12] | 0 | 100 |
f07=−20exp(−0.2√1DD∑i=1x2i)−exp(1DD∑i=1cos2πxi)+20+e | 50 | [–32, 32] | 0 | 100 |
f08=14000D∑i=1x2i−D∏i=1cos(xi√i)+1 | 50 | [–600,600] | 0 | 100 |
f09=4x2i−2.1x41+13x61+x1x2−4x22+4x42 | 2 | [–5, 5] | –1.03162 | 100 |
f10=[1+(x1+x2+1)2(19−14x1+3x21−14x2+6x1x2+3x22)]×[30+(2x1−3x2)2(18−32x1+12x21+48x2−36x1x2+27x22)] | 2 | [–5, 5] | 3 | 100 |
f11=−4∑i=1ciexp[3∑j=1aij(xj−pij)2] | 3 | [0, 1] | –3.8628 | 100 |
f12=−4∑i=1ciexp[6∑j=1aij(xj−pij)2] | 6 | [0, 1] | –3.3224 | 100 |
Functions | Algorithms | Results | |||
Best | Mean | Worst | Std. | ||
f01(D=50) | GSO | 0.207355483 | 0.643658692 | 1.381211712 | 0.305186488 |
ABC | 0.02164161 | 0.266296242 | 1.0272904 | 0.308026332 | |
WCA | 27.27537295 | 60.81289202 | 125.1674416 | 24.49799538 | |
ERWCA | 3.65357E–16 | 2.23497E–13 | 1.2168E–12 | 2.98299E–13 | |
CWCA | 1.9495E–207 | 7.9173E–188 | 1.9695E–186 | 0 | |
f02(D=50) | GSO | 0.190471323 | 0.523626056 | 1.926347272 | 0.35741995 |
ABC | 0.083559555 | 0.159897637 | 0.284741881 | 0.054138322 | |
WCA | 12.77983257 | 73286.99059 | 1666293.509 | 332935.3144 | |
ERWCA | 5.40146E–09 | 0.000105465 | 0.002580972 | 0.000515735 | |
CWCA | 3.0115E–108 | 4.8137E–101 | 5.05153E–100 | 1.29853E–100 | |
f03(D=50) | GSO | 5614.494834 | 9162.038749 | 13171.78451 | 2191.964722 |
ABC | 49854.83613 | 63062.58662 | 80673.90543 | 7903.826327 | |
WCA | 22036.10203 | 40160.29047 | 71405.33553 | 11778.719 | |
ERWCA | 1.48038E–14 | 3.58088451 | 31.08218217 | 7.333461723 | |
CWCA | 1.0586E–175 | 1.0027E–155 | 2.0513E–154 | 4.1614E–155 | |
f04(D=50) | GSO | 7.482344366 | 11.02103367 | 15.22690812 | 1.805226231 |
ABC | 68.25830295 | 80.27564106 | 87.87728499 | 4.794442375 | |
WCA | 48.67045644 | 66.08139632 | 81.93733451 | 7.664963523 | |
ERWCA | 2.43589E–10 | 5.55482E–08 | 2.43961E–07 | 5.29924E–08 | |
CWCA | 7.15741E–99 | 3.31169E–92 | 3.17129E–91 | 7.72028E–92 |
Functions | Algorithms | Results | |||
Best | Mean | Worst | Std. | ||
f05(D=50) | GSO | 566 | 1131.64 | 1950 | 342.5811193 |
ABC | 13,559 | 27,666.12 | 44,007 | 7900.040123 | |
WCA | 8099 | 13,872.64 | 24,084 | 4340.085031 | |
ERWCA | 0 | 0.76 | 19 | 3.8 | |
CWCA | 0 | 0 | 0 | 0 | |
f06(D=50) | GSO | 102.9655468 | 130.6203352 | 186.189766 | 18.88401764 |
ABC | 219.8304665 | 322.5058351 | 377.4759954 | 40.06728218 | |
WCA | 299.2085116 | 440.4852994 | 533.5915321 | 59.06933452 | |
ERWCA | 0 | 1.989918114 | 49.74795285 | 9.949590571 | |
CWCA | 0 | 0 | 0 | 0 | |
f07(D=50) | GSO | 5.764211343 | 8.469214323 | 10.36140998 | 1.216196283 |
ABC | 16.85525103 | 18.18606241 | 18.93602973 | 0.470872533 | |
WCA | 5.598512115 | 16.86361644 | 20.34625814 | 4.444925239 | |
ERWCA | 2.84823E–09 | 1.74804E–05 | 0.000429133 | 8.57614E–05 | |
CWCA | 8.88178E–16 | 8.88178E–16 | 8.88178E–16 | 0 | |
f08(D=50) | GSO | 1.11022E–16 | 0.052857507 | 0.073410582 | 0.033637865 |
ABC | 3.33067E–16 | 0.003443108 | 0.073410582 | 0.014668708 | |
WCA | 6.24611E–13 | 0.063455934 | 0.195437086 | 0.047329549 | |
ERWCA | 0 | 5.41167E–14 | 8.64864E–13 | 1.70589E–13 | |
CWCA | 0 | 0 | 0 | 0 |
Functions | Algorithms | Results | |||
Best | Mean | Worst | Std. | ||
f09(D=2) | GSO | –1.031628453 | –1.031628453 | –1.031628453 | 4.2276E–16 |
ABC | –1.031628453 | –1.031628453 | –1.031628453 | 4.03633E–12 | |
WCA | –1.031628453 | –1.031628453 | –1.031628453 | 1.16441E–10 | |
ERWCA | –1.031628453 | –1.031628453 | –1.031628453 | 6.06115E–14 | |
CWCA | –1.031628453 | –1.031628453 | –1.031628453 | 8.87086E–11 | |
f10(D=2) | GSO | 3 | 3 | 3 | 4.39868E–13 |
ABC | 3 | 6.829312618 | 34.11721073 | 9.461128153 | |
WCA | 3 | 3.000000007 | 3.000000081 | 1.62655E–08 | |
ERWCA | 3 | 3 | 3 | 7.70669E–12 | |
CWCA | 3 | 3.000000005 | 3.000000093 | 1.8483E–08 | |
f11(D=3) | GSO | –3.862782148 | –3.862781304 | –3.86277018 | 2.56717E–06 |
ABC | –3.862782148 | –3.831845002 | –3.0897641 | 0.154600208 | |
WCA | –3.862782148 | –3.862782122 | –3.862781721 | 8.52233E–08 | |
ERWCA | –3.862782148 | –3.862782148 | –3.862782148 | 1.67437E–11 | |
CWCA | –3.862782148 | –3.862782148 | –3.862782147 | 7.21169E–11 | |
f12(D=6) | GSO | –3.322368009 | –3.274490605 | –3.199245153 | 0.059836344 |
ABC | –3.322367256 | –3.322206338 | –3.319008561 | 0.000668069 | |
WCA | –3.322367865 | –3.283354564 | –3.186190502 | 0.058086807 | |
ERWCA | –3.322368011 | –3.312831524 | –3.203161909 | 0.033006674 | |
CWCA | –3.322368011 | –3.322367989 | –3.322367817 | 4.5094E–08 |
Algorithms | Optimal values for variables | Optimum cost | |||
Ts | Th | R | L | ||
ES [27] | 0.8125 | 0.4375 | 42.098087 | 176.640518 | 6059.7456 |
GSA [28] | 1.1250 | 0.6250 | 55.9886598 | 84.4542025 | 8538.8359 |
PSO [29] | 0.8125 | 0.4375 | 42.091266 | 176.746500 | 6061.0777 |
GA [21] | 0.8125 | 0.4375 | 40.323900 | 200.000000 | 6288.7445 |
GA [22] | 0.8125 | 0.4375 | 42.097398 | 176.654050 | 6059.9463 |
GA [23] | 0.9375 | 0.5000 | 48.329000 | 112.679000 | 6410.3811 |
DE [30] | 0.8125 | 0.4375 | 42.098411 | 176.637690 | 6059.7340 |
ACO [31] | 0.8125 | 0.4375 | 42.103624 | 176.572656 | 6059.0888 |
MVO [23] | 0.8125 | 0.4375 | 42.0907382 | 176.738690 | 6060.8066 |
WCA [11] | 1.7958 | 0.3933 | 41.2310 | 187.6901 | 5916.0914 |
CWCA | 0.7782 | 0.3846 | 40.3196 | 200.0000 | 5885.3327 |
Algorithms | Optimal variable values | Optimum weight | ||||
x1 | x2 | x3 | x4 | x5 | ||
CS [32] | 6.0089 | 5.3049 | 4.5023 | 3.5077 | 2.1504 | 1.3340 |
SOS [33] | 6.01878 | 5.3034 | 4.4958 | 3.4989 | 2.1556 | 1.3340 |
MMA [34] | 6.0100 | 5.3000 | 4.4900 | 3.4900 | 2.1500 | 1.3400 |
MVO [23] | 6.0239 | 5.3060 | 4.49501 | 3.4960 | 2.1527 | 1.3399 |
WCA [11] | 5.9799 | 4.8821 | 4.4659 | 3.4733 | 2.1380 | 1.30325382 |
CWCA | 5.9783 | 4.8762 | 4.4663 | 3.4791 | 2.1391 | 1.30325143 |
Algorithms | Optimal values for variables | Optimal weight | |
A1 | A2 | ||
DEDS [34] | 0.78867513 | 0.40824828 | 263.8958434 |
PSO-DE[35] | 0.7886751 | 0.4082482 | 263.8958433 |
MBA [36] | 0.7885650 | 0.4085597 | 263.8958522 |
CS [37] | 0.78867 | 0.40902 | 263.9716 |
MVO [23] | 0.78860276 | 0.40845307 | 263.8958499 |
WCA [11] | 0.7888 | 0.4080 | 263.89585025 |
CWCA | 0.7887 | 0.4082 | 263.89584340 |
Algorithms | Optimal values for variables | Optimal cost | |||
h | l | t | b | ||
GSA [28] | 0.1821 | 3.856979 | 10.0000 | 0.202376 | 1.87995 |
CPSO [38] | 0.2023 | 3.544214 | 9.048120 | 0.205723 | 1.72802 |
GA [39] | 0.2489 | 6.1730 | 8.1789 | 0.2533 | 2.4331 |
HS [40] | 0.2442 | 6.2231 | 8.2915 | 0.2443 | 2.3807 |
MVO [23] | 0.2054 | 3.473193 | 9.044502 | 0.205695 | 1.72645 |
WCA [11] | 0.2058 | 3.4697 | 9.0353 | 0.2058 | 1.7252 |
CWCA | 0.2057 | 3.4705 | 9.0366 | 0.2057 | 1.7248 |