SCSO: A novel sine-cosine based swarm optimization algorithm for numerical function optimization

Received Feb 5, 2018 Revised June 4, 2018 Accepted August 28, 2018 Many swarm optimization algorithms have been presented in the literature and these algorithms are generally nature-inspired algorithms. In this paper a novel sine-cosine based particle swarm optimization (SCSO) is presented. In SCSO, firstly particles are generated randomly in the search space. Personal best value and velocity of the particles are calculated and by using sine, cosine and difference valuee. Calculated velocity is used for updating particles. The proposed algorithm is basic algorithm and approximately 30 rows MATLAB codes are used to implement the proposed algorithm. This short code surprisingly has high optimization capability. In order to evaluate performance and prove success of this algorithm, 14 well known numerical functions was used and the results illustrate that the proposed algorithm is successful in numerical functions optimization. Keyword:


Introduction
Optimization is the process of searching a global optimum solution of a problem in a finite search space.Optimization algorithms consist of two sub-classes and these are gradient based optimization and metaheuristic optimization algorithms.In the real-world applications, some problems cannot be solved by using mathematically approaches.In order to solve these problems, meta-heuristic optimization algorithms have been used Meta-heuristic algorithms do not require gradient knowledge and they call fitness (objective) function repeatedly in order to find global minimum.These algorithms try to narrow the search space and find an effective solution.In the past two decade, researchers proposed many optimization algorithms and optimization has become hot-topic research area and the well-known swarm optimization algorithm is Particle Swarm Optimization (PSO).PSO is proposed by Kenedy et al. [1] in 1995 and this algorithm is natureinspired heuristic optimization algorithm.In the PSO, social behavior of individuals of fish and bird swarms were mathematically modelled.Besides the PSO, many optimization algorithms such as artificial neural network [2,3], ant colony optimization (ACO) [4], moth-flame optimization (MFO) algorithm [5], artificial bee colony (ABC) algorithm [6] ,firefly algorithm [7], sine-cosine algorithm (SCA) [8], genetic algorithm (GA) [9], bat algorithm (BA) [10], differential evaluation (DE) [11], biogeography-based optimization (BBO) [12] , harmony search (HS) [13], gravitational search algorithm (GSA) [14], krill herd algorithm (KH) [15], etc were proposed in the literature.The main aim of these algorithms to find global optima value but some of them trapped local optima values.In order to obtain more successful results, chaotic maps were used to calculate velocity of these algorithms [16].Can and Alatas [17] presented performance comprisons of current nature-inspired metaheuristic optimization algorithms.He used 7 benchmark functions to evalueate Ant Lion Optimization (ALO) [18], Dragonfly Algorithm (DA) [19], Grey Wolf Optimization (GWO) [20], MFO [5], Multi-Verse Optimizer (MVO) [21], SCA [8] and Whale Optimization Algorithm (WOA) [22] methods.Also, optimization techniques can be solved many real world problems [23].A hybrid method which used GWO and SCA together is presented by Singh and Singh to achieve more successful results and this method called as hybrid grey wolf optimizer sine cosine algorithme (HGWOSCA) [24].We need a successful, basically implemented and effective optimization technique.Thus, a novel SCSO algorithm is proposed.In order to implement this algorithm, only approximately 30 rows MATLAB code has been used.The characteristics of the proposed algorithm given as follows.SCSO is a basic and effective swarm optimization algorithm and it uses sine and cosine to find global optima.We used 14 numerical benchmark functions to evaluate performance of SCSO.The obtained results and comparisons showed that, SCSO is successful search algorithm for numerical function optimization.The organization of this article given as follows.In section 2, the proposed sine-cosine swarm optimization algorithm is mentioned, in section 3, numerical functions and the obtained results are given and finally conclusions and recommendations is presented in the section 4.

The proposed sine-cosine based swarm optimization algorithm: SCSO
A novel sine-cosine based swarm optimization method is presented in this paper.SCSO is modified version of the SCA and it is a heuristic search method [8].SCSO consists of initial value generation, local optima selection, particles updating and best value selection.Firstly, particles are generated randomly in the search space.Then, personal best value are computed by using objective function and particles are updated sinecosine based particle updating equation.In the SCSO, particles are used for searching global optima.In this section, steps, pseudo code and MATLAB code of the SCSO are presented.We give MATLAB code of this method for researchers in this paper.Researchers can use MATLAB code of SCSO in order to solve their problems.The steps of the SCSO is given in below.
Step 1: Generate initial particles randomly in the search space.
Where is particle, is upper bound, is lower bound.Step2: Evaluate each particles by using objective function and calculate personal best (pbest) value.
Step 5: Update all particles by using velocity.
Step 6: Evaluate all updated particles by using objective function.To implement of the SCSO and validate results by researchers, MATLAB code of the SCSO is given in this paper and it is shown in Fig. 2.

Experimental Results and Discussions
In order to evaluate the effectiveness of the SCSO, 14 well known numerical benchmark functions are used and these functions are evaluated into two subgroups which are unimodal and multimodal.In this paper, 7 unimodal and 7 multimodal benchmark functions were used.These numerical benchmark functions are adopted widely used optimization techniques.These numerical benchmark functions are given.Table 1.The widely used numerical benchmark functions [16][17][18][19][20][21][22][23][24][25].The proposed SCSO algorithm applied on these functions and the obtained results are given in Table 2 with various parameters.These numerical benchmark functions which are listed in Table 1 are applied to widely used swarm optimization algorithms in order to obtain comparisons.Moth-flame optimization (MFO) [5] algorithm, artificial bee colony (ABC) algorithm [6], sine-cosine algorithm (SCA) [8], biogeography-based optimization (BBO) [12] and krill herd algorithm (KH) [15] and hybrid grey wolf optimizer sine cosine algorithm (HGWOSCA) [24] are used to obtain comparisons.Population, maximum iteration, dim of each object and other parameters of these algorithms are listed in Table 3.In this section, numerical results are demonstrated clearly according to Ref. [25].Experimental results of the SCSA were presented with variable parameters and these results were compared with the widely used meta-heuristic optimization algorithms.To obtain comparisons, 12 numerical benchmark functions are used and best results were achieved in 11 of them.The experimental results clearly demonstrated that the SCSO has high minimization ability and is resulted successfully in terms of numerical function optimization.

Conclusions and Recommendations
In the literature, many nature-inspired swarm optimization algorithms but a few mathematical based swarm optimization algorithms have been presented.In this paper, a novel mathematical based swarm optimization algorithm is presented and this algorithm uses sine, cosine and step value.The proposed algorithms is called as SCSO.To calculate step value, bounds of search space and number of particles are utilized.This algorithm is a modified version of SCA [8] and the experiments clearly demonstrated that the SCSO have more successful results than SCA [8].The proposed SCSO algorithm consists of randomly generate initial particles, finding local optima value, updating particles and searching global optima value.This algorithm used very simple mathematical model.In order to evaluate performance of the proposed SCSO and obtain experiments, 14 widely used numerical benchmark functions were used with various parameters.Also, 12 of these were utilized to obtain comparisons and SCSO achieved the best values in 11 of the 12 benchmark functions.The experiments and comparisons clearly illustrated that the SCSO algorithm is successful meta-heuristic optimization algorithm for numerical function optimization.
In the future work, the presented SCSO will be applied to real-world optimization problems such as deep learning, artificial intelligence, image segmentation, etc. and various mathematical models will be used for proposing novel swarm optimization algorithms.

Tuncer PEN Vol. 6 , 3 Step 7 :
No. 1, 2018, pp.1-9 If particles exceed lower bound or upper bound, generate new particles in range of lower bound and upper bound randomly.Step 8: Update pbest.Step 9: Repeat steps 4 and 8 until the global optima is found or maximum iterations is reached.The pseudo code of the proposed algorithm is shown in Figure1.

Figure 1 .
Figure 1.Pseudo code of the SCSO algorithm.

Figure 2 .
Figure 2. The MATLAB code of the SCSO.

Table 1 .
Numerical Benchmark Functions

Table 2 .
Performance of SCSO with variable iteration numbers and particles and Dim=30

Table 3 .
[16]meters of the algorithms[16]These algorithms and SCSO were applied to the first 12 numerical benchmark functions listed in Table1and performance comparisons are listed in Table4.

Table 4 .
Performance comparison results.