A New Cuckoo Search

Zhigang Lian, Lihua Lu, Yangquan Chen

► To cite this version:

Zhigang Lian, Lihua Lu, Yangquan Chen. A New Cuckoo Search. 2nd International Conference on Intelligence Science (ICIS), Oct 2017, Shanghai, China. pp.75-83, 10.1007/978-3-319-68121-4_8 . hal-01820910

HAL Id: hal-01820910

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

Submitted on 22 Jun 2018

**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 New Cuckoo Search

Zhigang Lian¹ and Lihua Lu¹ Yangquan Chen²

¹ School of Electronic and Information Engineering, Shanghai DianJi University, Shanghai, 200240,China,
lianzg@sdju.edu.cn, lulihua@sdju.edu.cn

² School of Engineering, University of California, Merced, CA 95343, USA
ychen53@ucmerced.edu

**Abstract.** In this paper, we intend to formulate a new Cuckoo Search (NC-S) for solving optimization problems. This algorithm is based on the obligate brood parasitic behavior of some cuckoo species in combination with the Lévy flight behavior of some birds and fruit flies, at the same time, combine particle swarm optimization (PSO), evolutionary computation technique. It is tested with a set of benchmark continuous functions and compared their optimization results, and we validate the proposed NCS against test functions with big size and then compare its performance with those of PSO and original Cuckoo search. Finally, we discuss the implication of the results and suggestion for further research.

**Keywords:** Cuckoo search, Lévy distribution, Particle swarm optimization

## 1 Introduction

In factual production and management, there are many complicated optimization problems. So many scientists have constantly proposed the new intelligent algorithms to solve them. For example, PSO was inspired by fish and bird swarm intelligence [1] [2]. These nature-inspired metaheuristic algorithms have been used in a wide range of optimization problems including NP-hard problems such as the travelling salesman problem (TSP) and scheduling problems [3] [4]. Based on the interesting breeding behavior such as brood parasitism of certain species of cuckoos, Yang and Deb [5] has formulated the Cuckoo Search (CS) algorithm. Yang and Deb in [6] review the fundamental ideas of CS and the latest developments as well as its applications. They analyze the algorithm, gain insight into its search mechanisms and find out why it is efficient.

In this paper, we intend to formulate a new Cuckoo Search (NCS) with different evolution mode, for solving function optimization problems. The NCS is based on the obligate brood parasitic behavior of some cuckoo species in combination with the Lévy flight behavior of some birds and fruit flies. Moreover it integrates the PSO with some evolutionary computation technique. The PSO has particularly gained prominence due to its relative ease of operation and capability to quickly arrive at an optimal/near-optimal solution. This algorithm
is considered with the advantages of CS and PSO, avoid tendency to get stuck in a near optimal solution in reaching optimum solutions especially for middle or large size optimization problems. This work differs from existing ones at least in three aspects:

- it proposes the iterative formula of NCS, in which combines the iterative equations of CS and PSO.

- it finds the best combine parameters of NCS for different size optimization problems.

- by strictly analyzes the performance of NCS, we validate it against test functions and then compare its performance with those of PSO and CS with different random coefficient generate.

Finally, we discuss the implication of the results and suggestion for further research.

# 2 The new CS

## 2.1 The model of new CS algorithm

Yang [7] provides an overview of CS and firefly algorithm as well as their latest developments and applications. In this paper, we research on different random distribution number and their influence for algorithm. Furthermore, we also present a new CS with evolutionary pattern.

A New Cuckoo Search (NCS) combining CS and PSO is presented in this paper, in which is based on the obligate brood parasitic behavior of some cuckoo species and considered with the Lévy flight behavior of some birds and fruit flies. In the process of evolution, nests/particles/solutions of next generation share the historical and global best of the ith nests/particles/solutions. NCS improves upon the PSO and CS variation to increase accuracy of solution without sacrificing the speed of search solution significantly, and its detailed information will be given in following.

Suppose that the searching space is D-dimensional and m nests/particles/solutions form the colony. The ith nest/particle represents a D-dimensional vector $X_i = (x_{i1}, x_{i2},..., x_{iD})$, ($i = 1, 2, ..., m$), and it means that the ith nest/particle located at $X_i$ in the searching is a potential solution. Calculate the nest/particle/solution fitness by putting it into a designated objective function. The historical best of the ith nests/particles/solutions denotes as $P_i = (p_{i1}, p_{i2},..., p_{iD})$, called IBest, and the best of the global as $P_g = (p_1, p_2, ..., p_D)$, called GBest respectively. At the same time, some of the new nest/particle/solution should be generated combining Lévy walk around the best solution obtained so far. It will speed up the local search.

After finding above two best values, and with Lévy flight the nests/particles/solutions of NCS updates as formulas (1).

$$X_i^{(t+1)} = X_i^{(t)} + \alpha \oplus \delta * L'evy(\lambda) + (1-\delta)(R_1(P_i^{(t)} - X_i^{(t)}) + R_2(P_g^{(t)} - X_i^{(t)})); (1)$$
In (1), Lévy is same as (??) and its step size follows a random walk Lévy distribution. A part from distant random position solution is far from the optimal solution, so it can make sure that the system does not fall into local optimal solution. Where the $\delta \in [0, 1]$ is weight index that is chosen according to different optimization problem. It reflects relatively important degree of the t generation Lévy fly, the best nests/particles/solutions of individual historical $P_i^{(t)}$ and the best nest/particle/solution of global $P_g^{(t)}$. In addition, the NCS evolution process, the global best nest/particle/solution $P_g^{(t)}$ may in K% forced preserved, $K \in (0, 100)$. Others parameters such as $\alpha$ and $R_1, R_2 \in (0, 1)$ are same as the ones in [2].

The search is a repeated process, and the stop criteria are that the maximum iteration number is reached or the minimum error condition is satisfied. The stop condition depends on the problem to be optimized. In the NCS evolution process, the nests/particles/solutions will be mainly updated through the three parts:

- Lévy walk;

- the distance between the best nests/particles/solutions of individual historical $P_i^{(t)}$ and its current nests/particles/solutions;

- the distance between the best nest/particle/solution of individual historical $P_i^{(t)}$ and its current nest/particle/solution

There are some significant differences of NCS, CS and PSO. Firstly, their iterative equations are not the same. The NCS integrates the advantages of CS and PSO algorithm, which share the excellent information of nests/particles/solutions. It uses some sort of elitism and/or selection which is similar to the ones used in harmony search (HS). Secondly, the randomization is more efficient as the step length is heavy-tailed, and any large step is possible. Thirdly, the parameter $\delta$ is to be turned and easy to find the highest efficiency parameters which are adapted to a wider class of optimization problems. In addition, the NCS can thus be extended to the type of meta-population algorithm.

## 2.2 Pseudo code of the NCS Algorithm

# 3 Numerical simulation

## 3.1 Test functions

To proof-test the effectiveness of NCS for optimization problems, 14 representative benchmark functions with different dimensions are employed to compare with CS and PSO described in Table 1, where the $f_{10}$ is given as formula (2).

$$f_{10}(x) = 0.1 \left\{ (\sin(\pi y_1))^2 + \sum_{i=1}^{n-1} (y_i - 1)^2 \times [1 + 10(\sin(\pi y_{i+1}))^2] + (y_n - 1)^2 \right\} + \sum_{i=1}^{n} u(x_i, 10, 100, 4) \quad (2)$$
<caption>**Algorithm 1** Pseudo code of NCS: Part 1</caption>

**Require:**
1: nests/particles/solutions population size: *PS*;
2: maximum of generation *Endgen*;
3: weight index *δ*;
4: forced preserved percent;
5: step size *α*;
**Ensure:** optimization results;
6: **procedure**
7: &nbsp;&nbsp;&nbsp;&nbsp;Generate stochastically PS size initial population;
8: &nbsp;&nbsp;&nbsp;&nbsp;Evaluate each nest/particle/solutions fitness/quality;
9: &nbsp;&nbsp;&nbsp;&nbsp;Generate initial global best population $P_g^{(t)}$ with the lowest fitness nest/particle/solution in the whole population;
10: &nbsp;&nbsp;&nbsp;&nbsp;Generate randomly initial individual historical best population $P_i^{(t)}$;
11: &nbsp;&nbsp;&nbsp;&nbsp;**t**:=0;
12: &nbsp;&nbsp;&nbsp;&nbsp;**while** (t ¡ *Endgen*) or (stop criterion) **do**
13: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**t**:=**t**+1;
14: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generate next nests/particle/solutions by equations (1);
15: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*β* = 3/2;
16: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;σ = (gamma(1 + *β*) * sin(*π* * β/2) / (gamma(1 + *β*)/2) * *β* * 2((*β*−1)/2)))⁽¹/β⁾;
17: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*μ* = *randn()* *σ*, *v* = *randn*();
18: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;step = *μ*./abs(*ρ*)⁽¹/beta⁾;
19: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stepsize = 0.01 * step.* (Xᵢ⁽ᵗ⁾ − P_g⁽ᵗ⁾);
20: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xᵢ⁽ᵗ+¹⁾ = Xᵢ⁽ᵗ⁾ + *δ* * stepsize.* *randn*() + (1 − *δ*) * (randn() * (P_g⁽ᵗ⁾ − Xᵢ⁽ᵗ⁾)));
21: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluate nests/particles/solutions;
22: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{Compute each nest/particle/solution's fitness *F*ᵢ in the population;
23: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find new $P_g⁽ᵗ⁾$ of nest/particle/solution by comparison, and update $P_g⁽ᵗ⁾$;}
24: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Keep the best nest/particle/solution;
25: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rank solutions and find the current best;
26: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**t**:=**t**+1;
27: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Choose a nest/particle/solution in population randomly;
28: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**if** (*F*ᵢ > *F*ⱼ) **then**
29: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace *j* by the new nest/particle/solution;
30: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**end if**
31: &nbsp;&nbsp;&nbsp;&nbsp;A fraction *p*<sub>*α*</sub> of worse nests/particles/solutions are abandoned and new ones are built;
32: &nbsp;&nbsp;&nbsp;&nbsp;The iteration calculation are as follows (*X*<sub>*randn*</sub> is generated randomly):
33: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*K* = *randn*() > *p*<sub>*α*</sub>;
34: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stepsize = *randn()* *(*X*<sub>*randn*</sub> − *X*'<sub>*randn*</sub>);
35: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*X*ᵢ⁽ᵗ+¹⁾ = *X*ᵢ⁽ᵗ⁾ + stepsize.* *K*;
36: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluate nests/particles/solutions;
37: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{Compute each nest/particle/solution's fitness *F*ᵢ in the population;
38: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find new $P_g⁽ᵗ⁾$ and $P_i⁽ᵗ⁾$ by comparison, and update $P_g⁽ᵗ⁾$ and $P_i⁽ᵗ⁾$;}
39: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Keep the best nest/particle/solution;
40: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rank solutions and find the current best;
41: &nbsp;&nbsp;&nbsp;&nbsp;Randomly selected nests/particles/solutions of populations K%, forced instead them by the highest quality nest/particle/solution $P_g⁽ᵗ⁾$;
42: &nbsp;&nbsp;&nbsp;&nbsp;**end while**
43: &nbsp;&nbsp;&nbsp;&nbsp;**end procedure**
<table><caption>Table 1. Benchmark functions</caption><tr><td>sphere : f<sub>1</sub>(x):</td><td>Quadric : f<sub>2</sub>(x):</td><td>Schwefe : f<sub>3</sub>(x):</td></tr><tr><td>Rosenbrock : f<sub>4</sub>(x):</td><td>Schwefel : f<sub>5</sub>(x):</td><td>Rastrigin : f<sub>6</sub>(x):</td></tr><tr><td>Ackley : f<sub>7</sub>(x):</td><td>Griewank : f<sub>8</sub>(x):</td><td>Generalized Penalized : f<sub>9</sub>(x):</td></tr><tr><td>f<sub>10</sub>(x):</td><td>Axis parallel hyper-ellipsoid : f<sub>11</sub>(x):</td><td></td></tr><tr><td>Sum of different power : f<sub>12</sub>(x):</td><td>Michalewicz : f<sub>13</sub>(x):</td><td>Schaffer f<sub>7</sub> : f<sub>14</sub>(x):</td></tr></table>

where

$$ u(x_i, a, k, m) = \begin{cases} k(x_i - a)^m, & x_i > a \\ 0, & -a \le x_i \le a, y_i = 1 + \frac{1}{4}(x_i + 1), x_i \in [-50, 50] \\ k(-x_i - a)^m, & x_i < -a \end{cases} \tag{3} $$

## 3.2 Experimental results and comparison used against test function with big size

To more scientifically evaluate the proposed algorithm, we run the algorithm 32 times and compare their minimum values, mean values and standard deviations searched by NCS, CS and PSO. For each test function, the parameters and results used in experiments are listed in table 2.

<table><caption>Table 2. The comparison results of the PSO, CS [6] and the NCS algorithm</caption><thead><tr><th colspan="10">In CS, the p<sub>α</sub>=0.25, and in NCS the p<sub>α</sub>=0.25 and k = 10%(e ~ n is × 10<sup>4</sup>)</th></tr></thead><tbody><tr><td colspan="2">Fun = f<sub>1</sub></td><td colspan="2">δ</td><td colspan="2">Min/Average/Std</td><td colspan="2">Fun = f<sub>2</sub></td><td colspan="2">δ</td><td colspan="2">Min/Average/Std</td></tr><tr><td colspan="2">Dim=100</td><td colspan="2">NCS</td><td colspan="2">0.2</td><td colspan="2">Dim=50</td><td colspan="2">NCS</td><td colspan="2">0.2</td><td>5.5837/136.355/104.5021</td></tr><tr><td colspan="2">Best=0</td><td colspan="2">0.5</td><td colspan="2">4.1881/4.1752/4.1881</td><td colspan="2">Best=0</td><td colspan="2">0.5</td><td colspan="2">2.2119/112.231/103.8505</td><td></td></tr><tr><td colspan="2">PS=200</td><td colspan="2">0.8</td><td colspan="2">0.0161/3.2514/2.9194</td><td colspan="2">PS=200</td><td colspan="2">0.8</td><td colspan="2">3.3954/109.8777/116.003</td><td></td></tr><tr><td colspan="2">EG=2000</td><td colspan="2">PSO</td><td colspan="2">4.2734e+4/6.4205e+4/1.7802e+4</td><td colspan="2">EG=2000</td><td colspan="2">PSO</td><td colspan="2">8.0679e+3/1.837e+4/5.6383e+3</td><td></td></tr><tr><td colspan="2"></td><td colspan="2">CS</td><td colspan="2">1.4453e+3/1.9655e+3/311.6468</td><td colspan="2"></td><td colspan="2">CS</td><td colspan="2">9.8117e+3/1.1428e+4/938.2576</td><td></td></tr><tr><td colspan="2">Fun = f<sub>3</sub></td><td colspan="2">δ</td><td colspan="2">Min/Average/Std</td><td colspan="2">Fun = f<sub>4</sub></td><td colspan="2">δ</td><td colspan="2">Min/Average/Std</td></tr><tr><td colspan="2">Dim=50</td><td colspan="2">NCS</td><td colspan="2">0.2</td><td colspan="2">Dim=50</td><td colspan="2">NCS</td><td colspan="2">0.2</td><td>3.3818/173.9222/140.0647</td></tr><tr><td colspan="2">Best=0</td><td colspan="2">0.5</td><td colspan="2">0.041/0.2531/0.14356.1344</td><td colspan="2">Best=0</td><td colspan="2">0.5</td><td colspan="2">22.6772/148.6759/88.6797</td><td></td></tr><tr><td colspan="2">PS=200</td><td colspan="2">0.8</td><td colspan="2">0.0439/0.2491/0.1356</td><td colspan="2">PS=200</td><td colspan="2">0.8</td><td colspan="2">6.7335/147.4183/81.444</td><td></td></tr><tr><td colspan="2">EG=2000</td><td colspan="2">PSO</td><td colspan="2">2.8602e+3/1.7809e+4/7.2644e+3</td><td colspan="2">EG=2000</td><td colspan="2">PSO</td><td colspan="2">9.4946e+3/1.8978e+4/7.0683e+3</td><td></td></tr><tr><td colspan="2"></td><td colspan="2">CS</td><td colspan="2">18.5934/20.3249/1.2497</td><td colspan="2"></td><td colspan="2">CS</td><td colspan="2">1.0000e+10/1.0000e+10/0</td><td></td></tr><tr><td colspan="2">Fun = f<sub>5</sub></td><td colspan="2">δ</td><td colspan="2">Min/Average/Std</td><td colspan="2">Fun = f<sub>6</sub></td><td colspan="2">δ</td><td colspan="2">Min/Average/Std</td></tr><tr><td colspan="2">Dim=30</td><td colspan="2">NCS</td><td colspan="2">0.2</td><td colspan="2">Dim=50</td><td colspan="2">NCS</td><td colspan="2">0.2</td><td>0.0394/1.1456/1.0407</td></tr><tr><td colspan="2">Best=-12569.5</td><td colspan="2">0.5</td><td colspan="2">-12569.5/-12565.5/4.8859</td><td colspan="2">Best=0</td><td colspan="2">0.5</td><td colspan="2">0.0244/0.9167/0.7278</td><td></td></tr><tr><td colspan="2">PS=200</td><td colspan="2">0.8</td><td colspan="2">-12569.5/-12566/4.0731</td><td colspan="2">PS=200</td><td colspan="2">0.8</td><td colspan="2">0.0204/1.1315/0.9799</td><td></td></tr><tr><td colspan="2">EG=2000</td><td colspan="2">PSO</td><td colspan="2">0/1.2656e+4/4.9802e+4</td><td colspan="2">EG=2000</td><td colspan="2">PSO</td><td colspan="2">1.0071e+5/1.0272e+5/1.1186e+3</td><td></td></tr><tr><td colspan="2"></td><td colspan="2">CS</td><td colspan="2">-9.5134e+3/-8.9445e+3/199.3234</td><td colspan="2"></td><td colspan="2">CS</td><td colspan="2">166.4727/203.5985/16.2855</td><td></td></tr><tr><td colspan="2">Fun = f<sub>7</sub></td><td colspan="2">δ</td><td colspan="2">Min/Average/Std</td><td colspan="2">Fun = f<sub>8</sub></td><td colspan="2">δ</td><td colspan="2">Min/Average/Std</td></tr><tr><td colspan="2">Dim=100</td><td colspan="2">NCS</td><td colspan="2">0.2</td><td colspan="2">Dim=100</td><td colspan="2">NCS</td><td colspan="2">0.2</td><td>0.0944/0.7814/0.3262</td></tr><tr><td colspan="2">Best=0</td><td colspan="2">0.5</td><td colspan="2">2.5087/5.10446/29.1489</td><td colspan="2">Best=0</td><td colspan="2">0.5</td><td colspan="2">0.2225/0.8737/0.2328</td><td></td></tr><tr><td colspan="2">PS=200</td><td colspan="2">0.8</td><td colspan="2">0.0328/0.4947/0.3140</td><td colspan="2">PS=200</td><td colspan="2">0.8</td><td colspan="2">0.0777/0.8240/0.2938</td><td></td></tr><tr><td colspan="2">EG=2000</td><td colspan="2">PSO</td><td colspan="2">6.6817e+4/8.8147e+4/9.6893e+3</td><td colspan="2">EG=2000</td><td colspan="2">PSO</td><td colspan="2">4.3883e+4/1.0700e+6/5.1800e+5</td><td></td></tr><tr><td colspan="2"></td><td colspan="2">CS</td><td colspan="2">13.0822/16.9746/1.3364</td><td colspan="2"></td><td colspan="2">CS</td><td colspan="2">9.1896/11.6123/1.2995</td><td></td></tr><tr><td colspan="2">Fun = f<sub>9</sub></td><td colspan="2">δ</td><td colspan="2">Min/Average/Std</td><td colspan="2">Fun = f<sub>10</sub></td><td colspan="2">δ</td><td colspan="2">Min/Average/Std</td></tr><tr><td colspan="2">Dim=100</td><td colspan="2">NCS</td><td colspan="2">0.2</td><td colspan="2">Dim=100</td><td colspan="2">NCS</td><td colspan="2">0.2</td><td>2.1331e-4/0.0084/0.0061</td></tr><tr><td colspan="2">Best=0</td><td colspan="2">0.5</td><td colspan="2">4.9369e-5/0.0045/0.0038</td><td colspan="2">Best=0</td><td colspan="2">0.5</td><td colspan="2">9.1625e-4/0.0075/0.006</td><td></td></tr><tr><td colspan="2">PS=200</td><td colspan="2">0.8</td><td colspan="2">1.0745e-4/0.0034/4.9369e-5</td><td colspan="2">PS=200</td><td colspan="2">0.8</td><td colspan="2">1.8272e-5/0.0034/0.0037</td><td></td></tr><tr><td colspan="2">EG=2000</td><td colspan="2">PSO</td><td colspan="2">2.391e+4/5.0278e+4/1.5785e+4</td><td colspan="2">EG=2000</td><td colspan="2">PSO</td><td colspan="2">1.1415e+4/5.3205e+4/1.6434e+4</td><td></td></tr><tr><td colspan="2"></td><td colspan="2">CS</td><td colspan="2">8.3128/10.159/0.8293</td><td colspan="2"></td><td colspan="2">CS</td><td colspan="2">24.833/31.9707/3.7447</td><td></td></tr><tr><td colspan="2">Fun = f<sub>11</sub></td><td colspan="2">δ</td><td colspan="2">Min/Average/Std</td><td colspan="2">Fun = f<sub>12</sub></td><td colspan="2">δ</td><td colspan="2">Min/Average/Std</td></tr><tr><td colspan="2">Dim=100</td><td colspan="2">NCS</td><td colspan="2">0.2</td><td colspan="2">Dim=100</td><td colspan="2">NCS</td><td colspan="2">0.2</td><td>1.7951e-4/0.0069/0.0077</td></tr><tr><td colspan="2">Best=0</td><td colspan="2">0.5</td><td colspan="2">0.0129/0.6487/0.8072</td><td colspan="2">Best=0</td><td colspan="2">0.5</td><td colspan="2">6.4493e-5/0.0069/0.0114</td><td></td></tr><tr><td colspan="2">PS=200</td><td colspan="2">0.8</td><td colspan="2">0.0057/0.4278/0.3422</td><td colspan="2">PS=200</td><td colspan="2">0.8</td><td colspan="2">1.4869e-5/0.0064/0.0064</td><td></td></tr><tr><td colspan="2">EG=2000</td><td colspan="2">PSO</td><td colspan="2">2.1285e+5/2.1521e+5/1.7257e+3</td><td colspan="2">EG=2000</td><td colspan="2">PSO</td><td colspan="2">1.6815e+4/4.8188e+4/1.6373e+4</td><td></td></tr><tr><td colspan="2"></td><td colspan="2">CS</td><td colspan="2">57.2611/80.8869/10.0869</td><td colspan="2"></td><td colspan="2">CS</td><td colspan="2">1.0000e+10/1.0000e+10/0</td><td></td></tr><tr><td colspan="2">Fun = f<sub>13</sub></td><td colspan="2">δ</td><td colspan="2">Min/Average/Std</td><td colspan="2">Fun = f<sub>14</sub></td><td colspan="2">δ</td><td colspan="2">Min/Average/Std</td></tr><tr><td colspan="2">Dim=100</td><td colspan="2">NCS</td><td colspan="2">0.2</td><td colspan="2">Dim=100</td><td colspan="2">NCS</td><td colspan="2">0.2</td><td>0.0014/0.098/0.0852</td></tr><tr><td colspan="2">Best=?</td><td colspan="2">0.5</td><td colspan="2">-39.6594/-35.0528/1.7772</td><td colspan="2">Best=0</td><td colspan="2">0.5</td><td colspan="2">6.1878e-4/0.1044/0.0954</td><td></td></tr><tr><td colspan="2">PS=200</td><td colspan="2">0.8</td><td colspan="2">-39.3823/-35.7054/1.9454</td><td colspan="2">PS=200</td><td colspan="2">0.8</td><td colspan="2">0.0012/0.0822/0.0723</td><td></td></tr><tr><td colspan="2">EG=2000</td><td colspan="2">PSO</td><td colspan="2">2.2069e+5/2.2175e+5/493.2826</td><td colspan="2">EG=2000</td><td colspan="2">PSO</td><td colspan="2">3.7512e+4/7.1659e+4/1.6774e+4</td><td></td></tr><tr><td colspan="2"></td><td colspan="2">CS</td><td colspan="2">-34.82341/-32.8746/0.9454</td><td colspan="2"></td><td colspan="2">CS</td><td colspan="2">168.0519/199.9071/9.6655</td><td></td></tr></tbody></table>
**Remark 1:** In table 2, the parameters of *Fun* and *Dim* denote function and its dimension respectively. The *Best* is this functions optimum value. The *PS* and *EG* indicate algorithm population size and their terminate generation number. The better solutions and corresponding parameters found in NCS algorithm are illustrated with bold letters. The best minimum average and standard deviation are shown in italic and underline respectively.

From table 2, in general it can observe that the $\delta \in [0.5, 0.8]$ has the highest performance since using them have smaller minimum and arithmetic mean in relation to solutions obtained by others. Especially the $\delta \approx 0.5$ has better search efficiency. In NCS, to optimize different problem should select various parameter $\delta$, as a whole, it is better when $\delta \approx 0.5$. The CS optimization function $f_4$ and $f_{12}$ is almost divergence. The NCS in all kinds of function optimization show excellent performance. In above function tests, the minimum value of NCS searched is NS and PSO searched 1/1000, or even 1/10000. Especially for large size problem, and function argument value in large range, optimal is strong search ability. NCS From simulation results we can obtain that the NCS is clearly better than PSO and CS for continuous non-linear function optimization problem. The NCS algorithm searches performance is strong, which can get better *the minimum, mean and standard deviation* relatively, but it computes more part $(1 - \delta) * (\text{randn}() * (P_i^{(t)} - X_i^{(t)})) + \text{randn}() * (P_g^{(t)} - X_i^{(t)})$, therefore more cost of hardware resources, although each running use a little more time, which is negligible. The convergence figures of most effective, distribution figures of run 32 times to search the optimal value of NCS comparing with PSO and CS for 14 instances are shown in Figure 1 Figure 4.

From Figure 1 Figure 4, it can discover that the convergence rate of NCS is clearly faster than the PSO and CS on every benchmark function. Especially it is more efficacious than PSO for middle and large size optimization problem. Accordingly, we can do state that the NCS is more effective than PSO and CS.

# 4 Conclusions and perspectives

According to shortcoming of CS and PSO algorithm especially solving the middle or large size problem, we proposed NCS. Using 14 representative instances with different dimensions and compared with the PSO and CS, the performance of the NCS shows that is efficacious for solving optimization problems.

The proposed NCS algorithm can be considered as effective mechanisms from this point of view. There are a number of research directions which can be regarded as useful extensions of this research. Although this algorithm is tested with 14 representative instances, a more comprehensive computational study should be made to measure it. In the future it is maybe do experiments with different parameters and evaluate the performance of NCS. Furthermore, it finds the best parameters and usage scenarios such as TSP, scheduling, etc.
<figure><img src="image_2.png" /><figcaption>Fig. 1. Convergence figure of NCS comparing with PSO and CS for $f_1 - f_4$.</figcaption></figure>
<figure><img src="image_3.png" /><figcaption>Fig. 2. Convergence figure of NCS comparing with PSO and CS for $f_5 - f_8$.</figcaption></figure>
<figure><img src="image_4.png" /><figcaption>Fig. 3. Convergence figure of NCS comparing with PSO and CS for $f_9 - f_{12}$.</figcaption></figure>

<figure><img src="image_5.png" /><figcaption>Fig. 4. Convergence figure of NCS comparing with PSO and CS for $f_{13} - f_{14}$.</figcaption></figure>
# 5 Acknowledgements

This work is supported by Academic Discipline Project of Shanghai Dianji University (Number: 16YSXK04) the Shanghai Natural Science Foundation (Number: 14ZR1417300).

# References

1. Eberhart R. Kennedy J.: A New Optimizer Using Particle Swarm Theory. In: Proc of the Sixth International Symposium on Micro Machine and Human Science, Nagoya, Japan. 39-43 (1995)

2. Kennedy J, Eberhart R.: Particle Swarm Optimization. In: IEEE Int1 Conf on Neural Networks, Perth, Australia. 1942-1948 (1995)

3. Lian Zhigang, Lin Weitian, Gao Yejun, Jiao bin: A Discrete Particle Swarm Optimization Algorithm for Job-Shop Scheduling Problem to Maximizing production. The International Journal of Innovative Computing, Information and Control. International Journal of Innovative Computing, Information and Control. 10(2), 729-740 (2014)

4. Lian Zhigang: A United Search Particle Swarm Optimization Algorithm for Multi-Objective Scheduling Problem. Applied Mathematical Modelling. 34, 3518-3526 (2010)

5. X.-S. Yang, S. Deb: Cuckoo search via Lvy flights. World Congress on Nature & Biologically Inspired Computing, IEEE Publications. 210C-214 (2009)

6. Xin-She Yang, Suash Deb: Cuckoo search: recent advances and applications. Neural Computing and Applications, 24(1), 169-174, (2014)

7. Xin-She Yang: Cuckoo Search and Firefly Algorithm: Overview and Analysis. Cuckoo Search and Firefly Algorithm. Studies in Computational Intelligence. 516, 1-26 (2014)