Elsevier

Knowledge-Based Systems

Volume 96, 15 March 2016, Pages 120-133
Knowledge-Based Systems

SCA: A Sine Cosine Algorithm for solving optimization problems

https://doi.org/10.1016/j.knosys.2015.12.022Get rights and content

Abstract

This paper proposes a novel population-based optimization algorithm called Sine Cosine Algorithm (SCA) for solving optimization problems. The SCA creates multiple initial random candidate solutions and requires them to fluctuate outwards or towards the best solution using a mathematical model based on sine and cosine functions. Several random and adaptive variables also are integrated to this algorithm to emphasize exploration and exploitation of the search space in different milestones of optimization. The performance of SCA is benchmarked in three test phases. Firstly, a set of well-known test cases including unimodal, multi-modal, and composite functions are employed to test exploration, exploitation, local optima avoidance, and convergence of SCA. Secondly, several performance metrics (search history, trajectory, average fitness of solutions, and the best solution during optimization) are used to qualitatively observe and confirm the performance of SCA on shifted two-dimensional test functions. Finally, the cross-section of an aircraft's wing is optimized by SCA as a real challenging case study to verify and demonstrate the performance of this algorithm in practice. The results of test functions and performance metrics prove that the algorithm proposed is able to explore different regions of a search space, avoid local optima, converge towards the global optimum, and exploit promising regions of a search space during optimization effectively. The SCA algorithm obtains a smooth shape for the airfoil with a very low drag, which demonstrates that this algorithm can highly be effective in solving real problems with constrained and unknown search spaces. Note that the source codes of the SCA algorithm are publicly available at http://www.alimirjalili.com/SCA.html.

Introduction

Optimization refers to the process of finding optimal values for the parameters of a given system from all the possible values to maximize or minimize its output. Optimization problems can be found in all fields of study, which makes the development of optimization techniques essential and an interesting research direction for researchers. Due to the drawbacks of the conventional optimization paradigms, local optima stagnation, and the need to derivate the search space [1], a growing interest has been observed in stochastic optimization approaches [2] over the last two decades [3], [4], [5].

Stochastic optimization algorithms consider optimization problems as black boxes [6]. This means that the derivation of the mathematical models is not required because such optimization paradigms only change the inputs and monitor the outputs of the system for maximizing or minimizing its outputs. Another advantage of considering problems as black boxes is the high flexibility, meaning that stochastic algorithms are readily applicable to problems in different fields. As the name of stochastic optimization techniques imply, they optimize optimization problems randomly [7]. Therefore, they intrinsically benefit from higher local optima avoidance compared to the conventional optimization algorithms.

There are different classification for stochastic optimization algorithms in the literature. Two main classifications are based on the inspiration of an algorithm (swarm intelligence-based [8], evolutionary [9], physics-based [10], etc.) and the number of random solutions that an algorithm generates in each step of optimization. The last classification divides the algorithms to two categories: individual-based and population-based algorithms. In the former class, only one solution is generated randomly and improved over the course of optimization. In the latter class, however, an optimization algorithm generates more than one random solution (mostly many) and improves them during optimization.

Due to the above-mentioned advantages, stochastic optimization techniques have become very popular in the literature. This popularity is not only in the field of optimization but also other fields of study. The application of stochastic algorithms can be found in different branches of science and industry. Since the focus of this paper is on the theory, the applications are not discussed further and interested readers are referred to [11], [12].

The theoretical researches in the literature can be divided to three main directions: improving the current techniques, hybridizing different algorithms, and proposing new algorithms. In the first approach, researchers try to equip algorithms with different mathematical or stochastic operators to improve the performance. Popular methods in this class are: chaotic maps [[13], [14], [15], [16], [17]], evolutionary operators [18], [19], [20], [21], [22], [23], and local searches [24], [25], [26], [27]. The second popular research direction deals with hybridizing different algorithms to improve the performance or solve specific problems [28], [29], [30], [31], [32], [33], [34], [35]. There is a significant number of hybrid meta-heuristics in the literature such as: PSO-GA [36], PSO-ACO [37], ACO-GA [38], GA-DE [39], PSO-DE [40], ACO-DE [41], KH-CS [42], and KH-BBO [43].

Last but not least, the proposal of new algorithms is a popular research avenue for many researchers. Inspiration of a new algorithm can be from evolutionary phenomena, collective behavior of creatures (swarm intelligence techniques), physical rules, and human-related concepts. Some of the recent and popular algorithms in each of these subclasses are as follows:

  • Evolutionary techniques: Genetic Algorithms (GA) [44], Differential Evolution (DE) [[45], [46], [47], [48]], Biogeography-Based Optimization algorithm (BBO) [49], and Evolution Strategy (ES) [50].

  • Swarm intelligence techniques: Ant Colony Optimization [51] (ACO), Particle Swarm Optimization (PSO) [52], and Artificial Bee Colony (ABC) algorithm [53].

  • Physics-based techniques: Gravitational Search Algorithm (GSA) [54], Colliding Bodies Optimization (CBO) [55], and Black Hole (BH) [56].

  • Human-related techniques: League Championship Algorithm (LCA) [57], Mine Blast Algorithm (MBA) [58], and Teaching-Learning-Based Optimization (TLBO) [59].

Despite the significant number of recently proposed algorithms in this field, there is a fundamental questions here as if and why we need more optimization techniques. This question can be answered referring to the so-called No Free Lunch (NFL) theorem [60]. This theorem logically proves that no one can propose an algorithm for solving all optimization problems. This means that the success of an algorithm in solving a specific set of problems does not guarantee solving all optimization problems with different type and nature. In other words all the optimization techniques perform equal in average when considering all optimization problems despite the superior performance on a subset of optimization problems. The NFL theorem allows researchers to propose new optimization algorithms or improve/modify the current ones for solving subsets of problems in different fields.

This is also the motivation of this work, in which a simple yet effective optimization algorithm is proposed to optimize real problems with unknown search spaces. The paper also shows that simple mathematical functions can be used to design optimization algorithms in this field. The algorithm proposed utilizes the functions sine and cosine to explore and exploit the space between two solutions in the search space with the hope to find better solutions. It is worth mentioning here that the author has proposed an algorithm called Moth-Flame Algorithm (MFO) [61] recently. The algorithm proposed in this work is completely different in terms of inspiration, mathematical formulation, and real-world application. The MFO algorithm mimics the navigation of moths in nature, whereas the SCA algorithm is based on sine/cosine mathematical functions to solve optimization problems. MFO has been utilized to optimize the shape of a propeller, while SCA is employed to optimize the shape a 2D airfoil in aircraft wings. The rest of the paper is organized as follows:

Section 2 includes the preliminaries and essential definitions, presents related works, and reviews the literature. Section 3 demonstrates the mathematical model and proposes the Sine Cosine Algorithm (SCA). The test beds employed and results obtained are presented and discussed in Section 4. The shape of the cross-section of an aircraft's wing is optimized by the SCA algorithm in Section 5, which demonstrates the merits of this algorithm in solving real challenging problems with a large number of constraints and unknown search spaces. Eventually, Section 6 lists the achievement of the paper, concludes the work, and suggests several directions for future studies.

Section snippets

Related works

This section first covers the preliminaries and definitions of optimization. The mechanisms and challenges of stochastic/heuristic optimization techniques are then discussed. Eventually, the motivation of this work is provided.

Sine Cosine Algorithm (SCA)

Generally speaking, population-based optimization techniques start the optimization process with a set of random solutions. This random set is evaluated repeatedly by an objective function and improved by a set of rules that is the core of an optimization technique. Since population-based optimization techniques look for the optima of optimization problems stochastically, there is no guarantee of finding a solution in a single run. However, with enough number of random solutions and

Results and discussion

In the field of optimization using meta-heuristics and evolutionary algorithms, several test cases should be employed to confirm the performance of an algorithm. This is due to the stochastic nature of these algorithms, in which a proper and sufficient set of test functions and case studies should be employed to confidently make sure that the superior results are not happened by chance. However, there is no clear definition of suitability for a set of benchmark cases studies. Therefore,

Airfoil design using SCA

The problem investigated in this subsection is airfoil design. There are two objectives in this problem: lift versus drag. There two forces are shown in Fig. 14. It may be observed that lift is when the thrust force is converted to a vertical force, which causes flying of a plane. However, drag is the opposite force that is applied to the wing and causes decreasing speed. The lift and drag are in conflict, meaning that increasing one results in decreasing the other. In a real airplane both of

Conclusion

In this paper a novel population-based optimization algorithm was proposed as an alternative for solving optimization problems among the current techniques in the literature. In the SCA algorithm proposed, the solutions were required to update their positions with respect to the best solution obtained so far as the destination point. The mathematical model of position updating fluctuated the solutions outwards or towards the destination point to guarantee exploration and exploitation of the

Reference (75)

  • Y. Wang et al.

    Enhancing the search ability of differential evolution through orthogonal crossover

    Inf. Sci.

    (2012)
  • E. Rashedi et al.

    GSA: a gravitational search algorithm

    Inf. Sci.

    (2009)
  • A. Kaveh et al.

    Colliding Bodies Optimization method for optimum discrete design of truss structures

    Comput. Struct.

    (2014)
  • A. Hatamlou

    Black hole: a new heuristic optimization approach for data clustering

    Inf. Sci.

    (2013)
  • A. Sadollah et al.

    Mine blast algorithm: a new population based algorithm for solving constrained engineering optimization problems

    Appl. Soft Comput.

    (2013)
  • R.V. Rao et al.

    Teaching–learning-based optimization: a novel method for constrained mechanical design optimization problems

    Comput.-Aided Des.

    (2011)
  • S. Mirjalili

    Moth-flame optimization algorithm: A novel nature-inspired heuristic paradigm

    Knowl.-Based Syst.

    (2015)
  • S.H.R. Pasandideh et al.

    Optimization of a multiproduct economic production quantity problem with stochastic constraints using sequential quadratic programming

    Knowl.-Based Syst.

    (2015)
  • H. Salimi

    Stochastic fractal search: a powerful metaheuristic algorithm

    Knowl.-Based Syst.

    (2015)
  • C.A. Coello Coello

    Theoretical and numerical constraint-handling techniques used with evolutionary algorithms: a survey of the state of the art

    Comput. Methods Appl. Mech. Eng.

    (2002)
  • A.R. Simpson et al.

    Genetic algorithms compared to other techniques for pipe optimization

    J. Water Resour. Plan. Manag.

    (1994)
  • C. James

    Introduction to Stochastics Search and Optimization

    (2003)
  • J.A. Parejo et al.

    Metaheuristic optimization frameworks: a survey and benchmarking

    Soft Comput.

    (2012)
  • S. Droste et al.

    Upper and lower bounds for randomized search heuristics in black-box optimization

    Theory of Comput. Syst.

    (2006)
  • H.H. Hoos et al.

    Stochastic Local Search: Foundations & Applications

    (2004)
  • R.S. Parpinelli et al.

    New inspirations in swarm intelligence: a survey

    Int. J. Bio-Inspired Comput.

    (2011)
  • C.M. Fonseca et al.

    An overview of evolutionary algorithms in multiobjective optimization

    Evol. Comput.

    (1995)
  • A. Biswas et al.

    Physics-inspired optimization algorithms: a survey

    J. Optim.

    (2013)
  • A. Gogna et al.

    Metaheuristics: review and application

    J. Exp. Theor. Artif. Intell.

    (2013)
  • X.-S. Yang et al.

    Swarm intelligence and bio-inspired computation: theory and applications

    Newnes

    (2013)
  • S. Saremi et al.

    Biogeography-based optimisation with chaos

    Neural Comput. Appl.

    (2014)
  • G.-G. Wang et al.

    A chaotic particle-swarm krill herd algorithm for global numerical optimization

    Kybernetes

    (2013)
  • G.G. Wang et al.

    A novel cuckoo search with chaos theory and elitism scheme

  • G.-G. Wang et al.

    Chaotic cuckoo search

    Soft Comput.

    (1726)
  • G. Wang et al.

    Incorporating mutation scheme into krill herd algorithm for global numerical optimization

    Neural Comput. Appl.

    (2014)
  • G. Wang et al.

    A bat algorithm with mutation for UCAV path planning

    Sci. World J.

    (2012)
  • J.W. Zhang et al.

    Image matching using a bat algorithm with mutation

    Appl. Mech. Mater.

    (2012)
  • Cited by (3822)

    View all citing articles on Scopus
    View full text