SCA: A Sine Cosine Algorithm for solving optimization problems


SCA algorithm is a population-based optimization algorithm which is proposed by Mirajalili [1]. The SCA was inspired by the cyclic form of sine and cosine trigonometric functions, which permits a search agent to be transposed around the desired solution.

This circle search can guarantee the switching between the two optimization phases, exploration and exploitation. To emphasize these two mechanisms, two equations have been modeled as follow: X_(t+1)^i = X_t^i + r1 × sin (r2) × |r3 P_t^i − X_t^i |
(1) X_(t+1)^i = X_t^i + r1 × cos (r2) × |r3 P_t^i − X_t^i |
(2) where X_t^i is the position of the current solution in i-th dimension at t-th iteration, r2, r3 and r4 are random numbers, Pi is the position of the destination point in i-th dimension. r1 is a parameter that controls the balance between exploration and exploitation phases of the algorithm. r1 dictates the movement direction of the current solution in the search space which could be toward the target (r1>1) or outside it (r1< 1), which conducts the global search or local search respectively. Mathematically the parameter r1 can be defined as follows: r1=a-t a/T
(3) where is a constant, t is the current iteration, and T is the maximum number of iterations.
The random value of r2 controls the amplitude of the movement according to r1. The parameter r3 provides a random weight for the destination with the purpose of accentuation its effect in defining the distance. Finally, r4 is a parameter to randomly transit from the sine to cosine components and vice versa. Flowchart of the original SCA algorithm.
The steps of the SCA algorithm are presented in the flowchart which is illustrated. For more details, we can also discover.


Similar to other population-based algorithms, the SCA is very efficient in the exploration search space and local optima avoidance. However, sometimes it suffers from many problems such as jumping of true solution which causes trivial exploitation. Also, premature convergence can be produced by a lack of diversity.

Therefore, to surmount the mentioned issues from the original SCA, some ameliorations have been proposed in the present work. The search model of classical SCA is modified as follow.

Firstly, the current position is replaced by the best solution (Xb) position. The advantages of the best solution are to avoid the stability in local solutions and to redirect the search process around the most optimum areas. Consequently, the exploitation is improved and the

obtained solution converged so far to the global optima.

Secondly, to efficiently expand the search direction and growths the possibility of algorithm skipping out of the local optima, a randomly selected agent from the recent population is adopted (Xrand). Also, the application of gradient helps to emphasize the exploitation phase and saved the best orientation search by reducing the weight of Xrand.

Finally, to increase the diversity of SCA’s population and the search ability which prevents this algorithm to converge too early, we are added a thirst equation Eq. (6). Algorithm 1: BGRISCA algorithm. Initialize the parameters max (maximum number of iterations) and r1, r2, r3 et r4. Generate the initial population. Select the best solution Xb from the initial set of solutions while < max for each individual solution Update the population using Eq. (4), (5) and (6) Calculate the fitness of each updated solution.

Update the best solution end for Update r1 using Eq. (3) = + 1 end while.
Return the optimal solution. Flowchart of the BGRISCA algorithm The steps of this algorithm are obviously described in Algorithm 1 and the flowchart is also defined in Fig. 2. RESULTS and comparisons In order to evaluate the proposed algorithm, we compared it to HS, BBO, PSO, SA and the original SCA algorithms. A 16 benchmark functions with 30 dimensions was developed to investigate the efficiency of BGRISCA for numerical optimization problems.

These functions are classified into three different groups: unimodal, multimodal and rotated versions of f3 to f9 problems. Table 1 explains the characteristics of these functions (name, formula, range, and acceptance). During all tests, the global optimum and the number of runs, the maximum number of function evaluations, the population size are equal to zero, 100000, 40 and 30 ,respectively. The set of the obtained results are also discussed as follow:

The xerogel thermal curves recorded at 5°C/minFIG. 2. SEM micrographs of the TiO2 thin films annealed at 500°C for 3 %At. Co : a) 1 dipping; (b) 2 dipping and(c) 3 dipping.FIG. 3. . X-ray diffraction pattern of TiO2 thin films obtained after annealing: a) at 400, 450 500°C for 3%At. Co and 3 dippings; b) at 500°C for 5 %At. Co and 1, 2 and 3 drippings; c) at 500°C for 7 %At. Co and 2 and 3 dippings d) at 500°C for 2 dipping and 0, 3, 5 and 7 %At. Co.Fig. 4. Variation of the grain size of TiO2 thin films with: a) Different treatment temperatures for 3 %At. Co and 4 dippings. b) Thin layer at 500°C for 3 and 5 %At. Co . c) Cobalt doped at 500°C for 2 and 3 dippings.FIG. 5(a). AFM images of the TiO2:Co films 2 layers annealed at 500 °C for 2 hours :(a) TiO2, (b) TiO2-3 at.% Co, and (c) TiO2-7 at.% Co.FIG. 5(b).

AFM images of the TiO2: 7 at %Co films 1 layer annealed 2 hours for (a) 450°C; (b) 500°C FIG. 6. Transmission spectra of the TiO2 thin films obtained after three dippings and annealing temperatures of a), 450°C (b) 500 °CFIG. 7. Band gap Eg for 3 % At. Co: a) photon energy (eV); b) temperatureFIG. 8. Evolution of conductivity of azo films with : a) Al concentration b) TemperaturesTables:Table 1. Structural parameters of Sol-Gel deposited Co: TiO2 thin films for different annealing temperatures and dipping number.Table 2. Recapitulating measured values of band gap energy Eg, the refractive index (n) and porosity (p) for TiO2 thin films as a function of Co doping level, dopping number and Temperature at 650 nm wave length.