# A Simplex Method-Based Salp Swarm Algorithm for Numerical and Engineering Optimization

Dengyun Wang, Yongquan Zhou, Shengqi Jiang, Xin Liu

► To cite this version:

Dengyun Wang, Yongquan Zhou, Shengqi Jiang, Xin Liu. A Simplex Method-Based Salp Swarm Algorithm for Numerical and Engineering Optimization. 10th International Conference on Intelligent Information Processing (IIP), Oct 2018, Nanning, China. pp.150-159, 10.1007/978-3-030-00828-4_16.hal-02197771

HAL Id: hal-02197771

https://inria.hal.science/hal-02197771

Submitted on 30 Jul 2019

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# A Simplex Method-Based Salp Swarm Algorithm for Numerical and Engineering Optimization

Dengyun Wang¹, Yongquan Zhou¹,², Shengqi Jiang¹, Xin Liu¹

¹College of Information Science and Engineering, Guangxi University for Nationalities,
Nanning 530006, China

²Guangxi High School Key Laboratory of Complex System and Computational Intelligence,
Nanning 530006, China
yongquanzhou@126.com

**Abstract:** Salp Swarm Algorithm (SSA) is a novel meta-inspired optimization algorithm. The main inspiration of this algorithm is the swarming behavior of salps when navigating and foraging in the ocean. This algorithm has already displayed the strong ability in solving some engineering design problems. This paper proposes an improved salp swarm algorithm based on simplex method named as simplex method-based salp swarm algorithm (SMSSA). The simplex method is a stochastic variant strategy, which increases the diversity of the population and enhances the local search ability of the algorithm. This approach helps to achieve a better trade-off between the exploration and exploitation ability of the SSA and makes SSA more robust and faster. The proposed algorithm is compared with other four meta-inspired algorithms on 4 benchmark functions. The proposed algorithm is also applied to one real-life constrained engineering design problems. The experimental results have demonstrated the MSSSA performs better than the other competitive meta-inspired algorithms.

**Keywords:** Simplex method; salp swarm algorithm; benchmark function; global optimization

## 1 Introduction

The purpose of the optimization aims at finding the best possible solution(s) for given problems. In the real world, a lot of problems can be considered as optimization problems. With the scale and complexity of the problem escalating, we need new optimization techniques more than ever. Over the past few decades, many new meta-heuristic techniques have been proposed to solve these optimization problems and become very popular. These meta-heuristics like a black box just need to looking at the inputs and outputs. In the recent years, some well-known meta-heuristic algorithms are proposed in this field such as Different Evolution [1], Particle Swarm
Optimization (PSO) [2], Bat algorithm (BA) [3], Moth-Flame Optimization (MFO) [4], Grey Wolf Optimization (GWO) [5], and Cuckoo Search (CS) [6]. Most of these algorithms are derived from a various natural phenomenon. These algorithms are widely used in a variety of scientific and industry fields.

The salp swarm optimization algorithm is proposed by Mirjalili. et.al. [7]). The salps swarm optimization has been shown the powerful results, when it compared to other state-of-the-art met-heuristic optimization algorithms. The author has been applied this algorithm to engineering design problems such as welded design problem, and achieved good results. Although, the SSA has proved good performance compared with some traditional algorithms, it still has some drawbacks such as spend too long time in research phase, and need to enhance the ability of convergence speed and calculation accuracy. To overcome the above problems, a simplex method-based salp swarm algorithm is proposed. The simplex method [8] has the strong ability to avoid local optimum and enhance the ability of searching the global optimum. In this work an improved version of the SSA is based on simplex method named SMSSA which purpose aimed at enhance the precision of the convergence of basic SSA.

The rest of paper is organized as follows: In the section 2 presents a briefly introduce of the original SSA algorithm and Simplex method. The detailed description of the SMSSA algorithm is introduced in the section 3. In the section 4, through a range of tests to demonstrate the superior performance of SMSSA and compared with other well-known five meta-heuristic algorithms (including the original algorithm SSA) via fourteen benchmark functions. In the section 5, SMSSA employed to solve one engineering design problems. The analysis and discussion of the results are provided in section 6. In the last section, the conclusion of the work will provided.

## 2 Related Works

In this part, a briefly background information about the salp swarm algorithm will be provided. The salp swarm algorithm [9] is a new meta-heuristic optimization algorithm that proposed by Seyedali Mirjalili. The SSA inspired from the behavior of the salps foraging and navigating in the ocean. Salps is one of the family of Salpidae and the body is transparent barrel-shaped. The tissues of salp are very similar to jelly fish. Salps navigate in the water by using water pumped through body to get propulsion to move forward [10].

In the SSA algorithm, the mathematically model of the salp chains are divided to two groups: leader groups and follow groups. The leader salp position updating formula as follows:

$$X_j^i = \begin{cases} F_j + c_l((ub_j - lb_j)c_2 + lb_j) & c_3 \ge 0.5 \\ F_j - c_l((ub_j - lb_j)c_2 + lb_j) & c_3 < 0.5 \end{cases} \quad (1)$$
where $X_j^i$ indicate the position of the leader salp groups in the jth dimension, $F_j$ indicates the position of the food source in the jth dimension, $ub_j$ denotes the upper bound of the salps in the jth dimension, $lb_j$ denotes the lower bound of the salps in the jth dimension, $c_1, c_2, c_3$ are three random coefficients.

The equation of the follow salps update its position can be expressed as follows:

$$X_j^i = \frac{1}{2}(X_j^i + X_j^{i-1}) \quad (2)$$

Where $i \ge \frac{N}{2}$ and $X_j^i$ denotes that the follower salp position in jth dimension.

The equation (1) simulated the move of the salp chains. The steps of salp swarm algorithm (SSA) can be described through the pseudo code illustrated as follows (algorithm 1):

### Algorithm 1. SSA pseudo-code

1. Initialize the salp population $X_i(i = 1,2,...,n)$ considering ub and lb

2. **while**(end condition is not satisfied)

3. calculate the fitness of each search agent(salp)

4. F—the best search agent

5. Update $c_1$ by Equation(3.2)

6. **for** each salp ($X_i$)

7. **if** ($i < \frac{N}{2}$)

8. Update the position of the leading salp by equation (3.1)

9. **else**

10. Update the position of the follower salp by equation (3.3)

11. **end if**

12. **end for**

13. Amend the salps based on the upper and lower bounds of variables

14. **end while**

15. Return F

## 3 The Proposed SMSSA Approach

The simplex method-based on salp swarm algorithm (SMSSA) proposed in this paper is designed to improve the population diversity and enhance the speed of the convergence. The simplex method has excellent qualities that make the algorithm to jump out the local optimum and increase the diversity of the population. It is means that this approach can make a balance between exploration and exploitation ability of
SSA. So, we update the location of the worst salp by using simplex method after each
iterating. The modified algorithm 2 illustrated as follows:

<table><caption>**Algorithm 2.** SMSSA pseudo-code</caption>
  <tr>
    <td>16.</td>
    <td>Initialize the salp population X<sub>i</sub> (i = 1,2,...,n) considering ub and lb</td>
  </tr>
  <tr>
    <td>17.</td>
    <td><b>while</b>(end condition is not satisfied)</td>
  </tr>
  <tr>
    <td>18.</td>
    <td>calculate the fitness of each search agent(salp)</td>
  </tr>
  <tr>
    <td>19.</td>
    <td>F=the best search agent</td>
  </tr>
  <tr>
    <td>20.</td>
    <td>Update c<sub>1</sub> by Equation(3.2)</td>
  </tr>
  <tr>
    <td>21.</td>
    <td><b>for</b> each salp (X<sub>i</sub>)</td>
  </tr>
  <tr>
    <td>22.</td>
    <td><b>if</b>(i == 1)</td>
  </tr>
  <tr>
    <td>23.</td>
    <td>Update the position of the leading salp by equation (3.1)</td>
  </tr>
  <tr>
    <td>24.</td>
    <td><b>else</b></td>
  </tr>
  <tr>
    <td>25.</td>
    <td>Update the position of the follower salp by equation (3.3)</td>
  </tr>
  <tr>
    <td>26.</td>
    <td><b>end if</b></td>
  </tr>
  <tr>
    <td>27.</td>
    <td><b>end for</b></td>
  </tr>
  <tr>
    <td>28.</td>
    <td>Amend the salps based on the upper and lower bounds of variables</td>
  </tr>
  <tr>
    <td>29.</td>
    <td>Update the location of the worst salp by using the simplex method [Eqs. (4)-(8)]</td>
  </tr>
  <tr>
    <td>30.</td>
    <td><b>end while</b></td>
  </tr>
  <tr>
    <td>31.</td>
    <td>Return F</td>
  </tr>
</table>

4 Simulation Experiments

**4.1 Simulation Platform**

The experimental settings for these algorithms are tested in MATLAB R2016 (a)
on a windows 10 computer with an Intel Core (TM) i5-4590 Processor, 3.30GHz,
4GB RAM.

4.2 Benchmark Functions

Benchmark functions are widely used in this field to benchmark the performance of the algorithm by using a set of quintessential math functions to find the globally optimal. Following the same procedure, 4 standard benchmark functions are used as a comparative test bed from the literature [8, 9]. Tables 1, 2 illustrated the mathematical formulations that employed benchmark functions used respectively. In these three tables, range denotes the search space boundary of the function, and dim means the dimension of the function, and $f_{\min}$ represent the theoretical minimum (optimal value). Heuristic algorithms are stochastic optimization techniques, so they must run dozens of times to produce meaningful statistical results. The result of the last iteration is calculated as the best solution. The same method was chosen to generate and report results for over 30 independent runs.
<table><caption>Table1 Unimodal benchmark functions</caption><thead><tr><th>Name</th><th>Function</th><th>Range</th><th>Dim</th><th>f<sub>min</sub></th></tr></thead><tbody><tr><td>Sphere</td><td>f<sub>1</sub>(x) = &sum;<sub>i=1</sub><sup>n</sup> x<sub>i</sub><sup>2</sup></td><td>[-100, 100]</td><td>10</td><td>0</td></tr><tr><td>Schwefel's 2.22</td><td>f<sub>2</sub>(x) = &sum;<sub>i=1</sub><sup>n</sup> |x<sub>i</sub>| + &prod;<sub>i=1</sub><sup>n</sup> x<sub>i</sub></td><td>[-10, 10]</td><td>10</td><td>0</td></tr><tr><td>Schwefel's 1.2</td><td>f<sub>3</sub>(x) = &sum;<sub>i=1</sub><sup>n</sup> (&sum;<sub>j=1</sub><sup>i</sup> x<sub>j</sub>)<sup>2</sup></td><td>[-100,100]</td><td>10</td><td>0</td></tr></tbody></table>

To evaluate the performance of the proposed SMSSA algorithm, we have chosen some new and well-known algorithm for comparison: CS [6], MFO [4], PSO [2], BA [3], and SSA [7]. Every algorithm uses 30 population individuals and experiences 1000 iteration.

In this work, the best, the average, the worst, and the standard represent the best fitness value, the worst fitness value, and the standard deviation, respectively. The experimental results are shown in Tables 3, 4. The best results are shown in bold type. In addition, for the randomness of the algorithm, statistical tests should be conducted to confirm the significance of the results [10]. To determine whether the SMSSA results differed statistically from the best results for CS, MFO, PSO, BA, and SSA, a non-parametric test called the Wilcoxon rank-sum test [11] is performed at 5% significance level. Tables 6,7 illustrated the pairwise comparisons of the best values for the six groups generated by the Wilcoxon test. Such groups are formed by CS versus SMSSA, MFO versus SMSSA, PSO versus SMSSA, BA versus SMSSA, SSA versus SMSSA. Generally, *p* values < 0.05 can harbor the idea that it is strong evidence against the null hypothesis. Through the statistical test, we can confirm that the results are not produced by chance.

In addition, through nonparametric Wilcoxon statistical tests and calculate the *p* values are reported as the standards of significance as well. Tlabes5, 6 show the experimental results of the rank-sum test.

## 4.3 Unimodal Benchmark Functions

The unimodal benchmark functions have only one global optimum and have no local optimum. So, this type of functions is very suitable for benchmarking the convergence of the algorithm. The results shown in Table 4 show that SMSSA algorithm is more competitive in researching the global optimum. According to the Table 4, the results of SMSSA are superior to some of other algorithms in $f_1 \sim f_3$. Therefore, the SMSSA has higher performance in finding the global minimum of unimodal benchmark functions. As shown in Table 5, the *p* values of $f_1 \sim f_3$ illustrated that SMSSA achieves paramount improvement in some unimodal benchmark functions against other algorithm. Therefore, it is proved by unimodal
benchmark functions that SMSSA has better performance in searching global optimal value. Figure 1-3 shows that the average convergence curve for all algorithms tested with the unimodal benchmark functions are obtained from 30 times independent run.

<table><caption>**Table2** Multimodal benchmark functions</caption><thead><tr><th>Name</th><th>Function</th><th>Range</th><th>Dim</th><th>f<sub>min</sub></th></tr></thead><tbody><tr><td>Ackey</td><td>f<sub>4</sub>(x) = -20 exp{ -0.2 * [sqrt((1/n) * &Sigma;<sub>i=1</sub><sup>n</sup> x<sub>i</sub><sup>2</sup>) - exp((1/n) * &Sigma;<sub>i=1</sub><sup>n</sup> cos 2&pi;x<sub>i</sub>)] + 20 + e }</td><td>[-32, 32]</td><td>10</td><td>0</td></tr></tbody></table>

## 4.4 Multimodal Benchmark Functions

Compared with the unimodal benchmark functions, the multimodal benchmark functions have many local optimal solutions (minima) which increases exponentially with the dimension. This feature makes them good at benchmarking the exploration ability of the algorithm. The result obtained from the benchmark function test reflects the ability of an algorithm to avoid the local minimum and finally can reach the global minimum. Table 4 illustrated the results of the algorithm on multimodal benchmark functions. All the results of the Best, Worst, Mean, and Std values illustrated in the table, SMSSA can provide more competitive results on the multimodal benchmark functions. All the results in the table show that the SMSSA has advantage in exploration. As the *p* values of *f*<sub>4</sub> shown in the Table 6 are less than 0.05 mostly, which demonstrated it is not the null hypothesis. Therefore, these evidence shows that the results of SMSSA not occurring by accident in the statistic's sense.

As the Table 4 and Figures 5 shown, the speed of convergence of SMSSA on the multimodal benchmark functions is faster than other algorithms. In summary, these evidence shows that this algorithm is more stable and robust than other algorithms.

<table><caption>**Table3** The results of unimodal benchmark functions</caption><thead><tr><th rowspan="2">Benchmark functions</th><th rowspan="2">Result</th><th colspan="6">Algorithm</th><th rowspan="2">Rank</th></tr><tr><th>MFO</th><th>PSO</th><th>CS</th><th>BA</th><th>SSA</th><th>SMSSA</th></tr></thead><tbody><tr><td rowspan="4">f1<br>(D=10)</td><td>Best</td><td>1.33E-32</td><td>2.51E-11</td><td>0.001754</td><td>7.85E-05</td><td>9.71E-11</td><td><b>0</b></td><td rowspan="4">1</td></tr><tr><td>Worst</td><td>5.68E-28</td><td>1.88E-08</td><td>0.007574</td><td>977.8178</td><td>4.56E-10</td><td>0</td></tr><tr><td>Mean</td><td>2.23E-29</td><td>2.27E-09</td><td>0.004869</td><td>142.7748</td><td>2.78E-10</td><td>0</td></tr><tr><td>Std</td><td>1.03E-28</td><td>4.17E-09</td><td>0.001515</td><td>233.6054</td><td>1.13E-10</td><td>0</td></tr><tr><td rowspan="4">f2<br>(D=10)</td><td>Best</td><td>7.82E-21</td><td>1.82E-06</td><td>0.086866</td><td>0.020074</td><td>2.46E-06</td><td><b>1.06E-63</b></td><td rowspan="4">1</td></tr><tr><td>Worst</td><td>10</td><td>0.000193</td><td>0.379926</td><td>46.0267</td><td>6.35E-06</td><td>4.97E-18</td></tr><tr><td>Mean</td><td>1</td><td>2.41E-05</td><td>0.181721</td><td>18.95383</td><td>3.89E-06</td><td>1.67E-19</td></tr><tr><td>Std</td><td>3.051286</td><td>3.46E-05</td><td>0.046013</td><td>18.41805</td><td>8.49E-07</td><td>9.07E-19</td></tr></tbody></table>
<table><caption>**Table 4.** The results of multimodal benchmark functions.</caption><tr><td rowspan="4">f3<br>(D=10)</td><td>Best</td><td>1.59E-10</td><td>0.00029</td><td>0.002953</td><td>0.000241</td><td>9.47E-11</td><td><strong>5.93E-95</strong></td></tr><tr><td>Worst</td><td>6666.667</td><td>0.019537</td><td>0.025104</td><td>3570.337</td><td>4.75E-10</td><td>3.72E-57</td><td rowspan="2">1</td></tr><tr><td>Mean</td><td>888.8889</td><td>0.002678</td><td>0.011328</td><td>1100.737</td><td>2.65E-10</td><td>1.24E-58</td></tr><tr><td>Std</td><td>2040.459</td><td>0.003616</td><td>0.005053</td><td>901.8556</td><td>1.09E-10</td><td>6.79E-58</td></tr></table>

<table><caption>**Table 5.** *p*-values rank-sum test on unimodal benchmark functions</caption><thead><tr><th rowspan="2">Benchmark<br>functions</th><th rowspan="2">Result</th><th colspan="6">Algorithm</th><th rowspan="2">Rank</th></tr><tr><th>MFO</th><th>PSO</th><th>CS</th><th>BA</th><th>SSA</th><th>SMSSA</th></tr></thead><tbody><tr><td rowspan="4">f4(D=10)</td><td>Best</td><td>4.44E-15</td><td>1.2E-05</td><td>1.176417</td><td>17.25099</td><td>3.38E-06</td><td><strong>8.88E-16</strong></td><td rowspan="4">1</td></tr><tr><td>Worst</td><td>1.155149</td><td>0.000157</td><td>3.590626</td><td>19.94035</td><td>8.69E-06</td><td>2.316849</td></tr><tr><td>Mean</td><td>0.038505</td><td>5.23E-05</td><td>2.64839</td><td>18.62497</td><td>6.09E-06</td><td>0.485117</td></tr><tr><td>Std</td><td>0.2109</td><td>3.9E-05</td><td>0.53206</td><td>0.606456</td><td>1.35E-06</td><td>0.73783</td></tr></tbody></table>

<table><caption>**Table 6.** *p*-values rank-sum test on multimodal benchmark functions</caption><thead><tr><th>Functions</th><th>CS vs<br>SMSSA</th><th>MFO vs<br>SMSSA</th><th>PSO vs<br>SMSSA</th><th>BAvs<br>SMSSA</th><th>SSA vs<br>SMSSA</th></tr></thead><tbody><tr><td>f<sub>1</sub></td><td>3.16E-12</td><td>3.16E-12</td><td>3.16E-12</td><td>3.16E-12</td><td>3.16E-12</td></tr><tr><td>f<sub>2</sub></td><td>3.02E-11</td><td>5.06E-10</td><td>3.02E-11</td><td>3.02E-11</td><td>3.02E-11</td></tr><tr><td>f<sub>3</sub></td><td>3.02E-11</td><td>3.02E-11</td><td>3.02E-11</td><td>3.02E-11</td><td>3.02E-11</td></tr></tbody></table>

<table><thead><tr><th>Functions</th><th>CS vs<br>SMSSA</th><th>MFO vs<br>SMSSA</th><th>PSO vs<br>SMSSA</th><th>BAvs<br>SMSSA</th><th>SSA vs<br>SMSSA</th></tr></thead><tbody><tr><td>f<sub>4</sub></td><td>5.32E-11</td><td>0.292688</td><td>0.026289</td><td>2.38E-11</td><td>0.026289</td></tr></tbody></table>

<figure><img src="image_2.png" /><figcaption>**Figure 1:** The convergence curves for $f_1$</figcaption></figure>

<figure><img src="image_3.png" /><figcaption>**Figure 2:** The convergence curves for $f_2$</figcaption></figure>
<figure><img src="image_4.png" /><figcaption>Figure 3. The convergence curves for $f_3$</figcaption></figure>

<figure><img src="image_5.png" /><figcaption>Figure 4. The standard deviation for $f_1$</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>Figure 5. The convergence curves for $f_4$</figcaption></figure>

<figure><img src="image_7.png" /><figcaption>Figure 6. The standard deviation for $f_4$</figcaption></figure>

# 5 SMSSA for Engineering Optimization Problems

In this part, solve an engineering problem (spring design problem) by applying SMSSA algorithm to prove the good performance of SMSSA. Assuming the use of the SMSSA algorithm, some inequality constraints of real problems will be solved. Some methods have been employed to deal with constraints in the paper: special operators, penalty function, repaired algorithms, and hybrid methods [12]. The spring design problem,[13] is a classic engineering design problem. The main purpose of this problem is to minimize the weight of the spring illustrated in Figure 7. The model of this problem described as follows:

<figure><img src="image_8.png" /><figcaption>Figure 7. The spring design problem.</figcaption></figure>
$$ \text{Consider } \vec{x} = [x_1 \ x_2 \ x_3] = [RDN], $$

$$ \text{Minimize } f(\vec{x}) = (x_3 + 2)x_2x_1^2, $$

$$ \text{Subject to } g_1(\vec{x}) = 1 - \frac{x_2^3 x_3}{71785 x_1^4} \le 0, \quad g_2(\vec{x}) = \frac{4x_2^2 - x_1x_2}{12566(x_2x_1^3 - x_1^4)} + \frac{1}{5108x_1^2} \le 0, $$

$$ g_3(\vec{x}) = 1 - \frac{140.45x_1}{x_2^2 x_3} \le 0, \quad g_4(\vec{x}) = \frac{x_1 + x_2}{1.5} - 1 \le 0, $$

$$ \text{Variable range } 0.05 \le x_1 \le 2.00, \ 0.25 \le x_2 \le 1.30, \ 2.00 \le x_3 \le 15.0 $$

<table><caption>Table 10. Comparison results for spring design problem</caption><thead><tr><th rowspan="2">Algorithms</th><th colspan="3">Optimal values for variables</th><th rowspan="2">Optimalcost</th></tr><tr><th>R</th><th>D</th><th>N</th></tr></thead><tbody><tr><td>GSA[14]</td><td>0.050276</td><td>0.323680</td><td>13.525410</td><td>0.0127022</td></tr><tr><td>PSO(Ha and Wang)[15]</td><td>0.051728</td><td>0.357644</td><td>11.244543</td><td>0.0126747</td></tr><tr><td>GA (Coello)[16]</td><td>0.051480</td><td>0.351661</td><td>11.632201</td><td>0.0127048</td></tr><tr><td>SSA</td><td>0.051207</td><td>0.345215</td><td>12.004032</td><td>0.0126763</td></tr><tr><td>SMSSA</td><td>0.051783</td><td>0.358988</td><td>11.15708</td><td>0.0126757</td></tr></tbody></table>

As shown in Table 10, the spring design problem has been solved by some different approaches. Some meta-heuristic algorithms such as GSA [14], PSO [15] Evolutionary genetic algorithms GA [16] has been employed to solve this problem. The statistics lead us to the conclusion that the SMSSA is better than other algorithms.

## 6 Conclusion

This work proposed an improved algorithm named SMSSA based on simplex method aims at increases the performance of the original SSA algorithm. It can be seen from the section 4, experimental results show that SMSSA achieves not only faster convergence speed and better solutions compared with other algorithms. The conclusion is derived from the comparison between SMSSA and other algorithms. This proposed algorithm demonstrated its outstanding performance by 4 benchmark functions. In addition, this algorithm (SMSSA) also applied to solve engineering problems. The results in the section 5 illustrated that SMSSA algorithm has good performance in solving engineering constraint problems. By combining the advantages of both techniques, SMSSA can get a balance between exploitation and exploration to deal with classical engineering problems.

## Acknowledgment

This work is supported by National Science Foundation of China under Grants No.
61463007; 61563008. Project of Guangxi University for Nationalities Science Foundation under Grant No. 2016GXNSFAA380264.

References

[1] Storn R, Price K. Differential Evolution – A Simple and Efficient Heuristic for global Optimization over Continuous Spaces. Journal of Global Optimization, 1997, 11(4):341-359.

[2] Eberhart R, Kennedy J. A new optimizer using particle swarm theory. International Symposium on MICRO Machine and Human Science. IEEE, 2002:39-43.

[3] XinShe Yang. A New Metaheuristic Bat-Inspired Algorithm. Computer Knowledge and Technology, 2010, 284:65-74.

[4] Mirjalili S. Moth-flame optimization algorithm: A novel nature-inspired heuristic paradigm. Knowledge-Based Systems, 2015, 89:228-249.

[5] Mirjalili S, Mirjalili S M, Lewis A. Grey Wolf Optimizer. Advances in Engineering Software, 2014, 69(3):46-61.

[6] Yang X S, Deb S. Cuckoo Search via Levy Flights. Mathematics, 2010:210 - 214.

[7] Mirjalili S, Gandomi A H, Mirjalili S Z, Saremi S, Faris H, Mirjalili M S. Salp Swarm Algorithm: A bio-inspired optimizer for engineering design problems. Advances in Engineering Software, 2017,114(11):163-191

[8] Yang X S. Appendix A: Test Problems in Optimization. Engineering Optimization. 2010:261-266.

[9] Tang K, Yao X, Suganthan P N, et al. Benchmark functions for the CEC' 2008 special session and competition on large scale global optimization. Hefei, China: University of Science and Technology of China, 2007.

[10] Derrac J, García S, Molina D, et al. A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms. Swarm & Evolutionary Computation, 2011, 1(1):3-18.

[11] Wolfe D A, Hollander M. Nonparametric Statistical Methods Robust nonparametric statistical methods. Arnold;, 1998:189-211.

[12] Carlos A Coello Coello. Theoretical and numerical constraint-handling techniques used with evolutionary algorithms: a survey of the state of the art. Computer Methods in Applied Mechanics and Engineering, 2002, 191(11):1245-1287.

[13] Belegundu, Ashok D, Arora, Jasbir S. A Study of Mathematical Programming Methods for Structural Optimization. International Journal for Numerical Methods in Engineering, 1985, 21(9):1601-1623.

[14] Esmat Rashedi, Hossein Nezamabadi-pour, Saeid Saryazdi. GSA: A Gravitational Search Algorithm. Intelligent Information Management, 2012, 4(6):390-395.

[15] He Q, Wang L. An effective co-evolutionary particle swarm optimization for constrained engineering design problems. Engineering Applications of Artificial Intelligence, 2007, 20(1):89-99.

[16] Coello C A C. Use of a self-adaptive penalty approach for engineering optimization problems. Elsevier Science Publishers B. V. 2000.