Research article Special Issues

CWCA: Complex-valued encoding water cycle algorithm

  • 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

    Related Papers:

    [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.

    Figure 1.  Simplified water cycle process.

    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=[SeaRiver1River2River3StreamNsr+1StreamNsr+2StreamNsr+3StreamNpop]=[x1,1x1,2x1,3x1,Nx2,1x2,2x2,3x2,NxNpop,1xNpop,2xNpop,3xNpop,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+1Sea (2)
    Nstream=NpopNsr. (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)Nsrk=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.

    Figure 2.  Schematic of a stream flowing into a river.

    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×(XkRiverXkStream) (6)
    Xk+1River=XkRiver+rand×C×(XSeaXkRiver), (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:

    XOceanXkRevier<eps,k=1,2,,Nsr, (8)

    where eps is a small numerical constant.

    The stream and river location update formulas are

    XnewStream=LB+rand×(UBLB) (9)
    XnewRiver=LB+rand×(UBLB), (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:

    Figure 3.  Schematic of a water cycle system.

    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,LBkUBk2],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=[SeaRiver1River2River3StreamNsr+1StreamNsr+2StreamNsr+3StreamNpop]=[[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+1RStream=XkRStream+rand×C×(XkRRiverXkRStream) (15)
    Xk+1RRiver=XkRRiver+rand×C×(XRSeaXkRRiver), (16)

    and the imaginary parts are updated using

    Xk+1IStream=XkIStream+rand×C×(XkIRiverXkIStream) (17)
    Xk+1IRiver=XkIRiver+rand×C×(XISeaXkIRiver). (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,LBkUBk2],θ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 |XseaXkRiver|<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

     | Show Table
    DownLoad: CSV

    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,LBkUBk2],θ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.

    Table 1.  Test functions for the benchmark.
    Unstrained functions D Range Optimum Iter
    f01=Di=1x2i 50 [–100,100] 0 500
    f02=Di=1|xi|+Di=1|xi| 50 [–10, 10] 0 500
    f03=Di=1(ij=1xj)2 50 [–100,100] 0 500
    f04=max{|xi|,1iD} 50 [–100,100] 0 500
    f05=D0(xi+0.5)2 50 [–100,100] 0 100
    f06=Di=1[x2i10cos2πxi+10] 50 [–5.12, 5.12] 0 100
    f07=20exp(0.21DDi=1x2i)exp(1DDi=1cos2πxi)+20+e 50 [–32, 32] 0 100
    f08=14000Di=1x2iDi=1cos(xii)+1 50 [–600,600] 0 100
    f09=4x2i2.1x41+13x61+x1x24x22+4x42 2 [–5, 5] –1.03162 100
    f10=[1+(x1+x2+1)2(1914x1+3x2114x2+6x1x2+3x22)]×[30+(2x13x2)2(1832x1+12x21+48x236x1x2+27x22)] 2 [–5, 5] 3 100
    f11=4i=1ciexp[3j=1aij(xjpij)2] 3 [0, 1] –3.8628 100
    f12=4i=1ciexp[6j=1aij(xjpij)2] 6 [0, 1] –3.3224 100

     | Show Table
    DownLoad: CSV
    Table 2.  Test results for the benchmark functions f01 - f04.
    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

     | Show Table
    DownLoad: CSV
    Table 3.  Test results for the benchmark functions f05 - f08.
    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

     | Show Table
    DownLoad: CSV
    Table 4.  Test results for the benchmark functions f09 - f12.
    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

     | Show Table
    DownLoad: CSV

    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 47 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 811 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.

    Figure 4.  f01 function evolution curve.
    Figure 5.  f02 function evolution curve.
    Figure 6.  f03 function evolution curve.
    Figure 7.  f04 function evolution curve.
    Figure 8.  ANOVA for function f01.
    Figure 9.  ANOVA for function f02.
    Figure 10.  ANOVA for function f03.
    Figure 11.  ANOVA for function f04.

    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.

    Figure 12.  Fitness function evolution curve for f05.
    Figure 13.  Fitness function evolution curve for f06.
    Figure 14.  Fitness function evolution curve for f07.
    Figure 15.  Fitness function evolution curve for f08.
    Figure 16.  ANOVA for function f05.
    Figure 17.  ANOVA for function f06.
    Figure 18.  ANOVA for function f07.
    Figure 19.  ANOVA for function f08.

    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 2027 shows that the CWCA had excellent performance when solving multimodal low-dimensional problems.

    Figure 20.  Fitness function evolution curve for f09.
    Figure 21.  Fitness function evolution curve for f10.
    Figure 22.  Fitness function evolution curve for f11.
    Figure 23.  Fitness function evolution curve for f12.
    Figure 24.  ANOVA for function f09.
    Figure 25.  ANOVA for function f10.
    Figure 26.  ANOVA for function f11.
    Figure 27.  ANOVA for function f12.

    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,lixiui,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.

    Figure 28.  Schematic of the pressure vessel design problem [23].

    The mathematical model for the pressure vessel design problem is

    Minimizef(x)=0.6224x1x3x4+1.7781x2x23+3.1661xx+19.84x21x4Subjecttog1(x)=x1+0.0193x30g2(x)=x2+0.00954x30g3(x)=πx23x443πx33+12960000g4(x)=x424000x1,x210010x3,x4200 (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.

    Table 5.  Comparison of the statistical results for the pressure vessel design problem.
    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

     | Show Table
    DownLoad: CSV

    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.

    Figure 29.  Schematic of the cantilever beam design problem [23].

    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+1x35100.01x1,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.

    Table 6.  Statistical comparison results for the cantilever beam design problem.
    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

     | Show Table
    DownLoad: CSV

    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).

    Figure 30.  Schematic of the three-bar truss design problem [23].

    The mathematical model for the three-bar planar truss structure design problem is

    Minimizef(x)=(22x1+x2)×lSubjecttog1(x)=2x1+x22x21+2x1x2Pσ0g2(x)=x22x21+2x1xPσ0g3(x)=12x2+x1Pσ00x1,x21l=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.

    Table 7.  Comparison of the statistical results for the three-bar truss design problem.
    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

     | Show Table
    DownLoad: CSV

    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).

    Figure 31.  Schematic of the welded beam design problem [23].

    The objective function is expressed as

    Minimizef(x)=1.10471x21x2+0.04811x3x4(14+x2)Subjecttog1(x)=τ(x)τmax0g2(x)=σ(x)σmax0g3(x)=x1x40g4(x)=0.10471x21+0.04811x3x4(14+x2)50g5(x)=0.125x10g6(x)=δ(x)δmax0g7(x)=PPc(x)00.1x1,x42x1=hx2=l0.1x2,x310x3=tx4=b (29)

    where

    τ(x)=(τ)2+2ττx22R+(τ)2τ=P2x1x2τ=MRJM=P(L+x22),R=x224+(x1+x32)2,J=2{2x1x2[x2212+(x1+x32)2]}σ(x)=6PLx4x23,δ(x)=4PL3Ex33x4,Pc(x)=4.013Ex23x6436L2(1x32LE4G)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.

    Table 8.  Comparison of the statistical results for the welded beam design problem.
    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

     | Show Table
    DownLoad: CSV

    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
  • This article has been cited by:

    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
  • Reader Comments
  • © 2021 the Author(s), licensee AIMS Press. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0)
通讯作者: 陈斌, bchen63@163.com
  • 1. 

    沈阳化工大学材料科学与工程学院 沈阳 110142

  1. 本站搜索
  2. 百度学术搜索
  3. 万方数据库搜索
  4. CNKI搜索

Metrics

Article views(3124) PDF downloads(100) Cited by(3)

Figures and Tables

Figures(31)  /  Tables(8)

Other Articles By Authors

/

DownLoad:  Full-Size Img  PowerPoint
Return
Return

Catalog