File Exchange

image thumbnail

SCA: A Sine Cosine Algorithm

version (182 KB) by Seyedali Mirjalili
SCA is a novel algorithm for solving single-objective optimization problems


Updated 22 May 2018

View License

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.
This is the source codes of the paper:

S. Mirjalili, SCA: A Sine Cosine Algorithm for solving optimization problems, Knowledge-Based Systems, in press, 2015, DOI:


A Matlab toolbox for this algorithm can be found here:

If you have no access to the paper, please drop me an email at and I will send you the paper.

All of the source codes and extra information as well as more optimization techniques can be found in my personal website at

I have a number of relevant courses in this area. You can enrol via the following links with 95% discount:

A course on “Optimization Problems and Algorithms: how to understand, formulation, and solve optimization problems”:

A course on “Introduction to Genetic Algorithms: Theory and Applications”

Cite As

Seyedali Mirjalili (2020). SCA: A Sine Cosine Algorithm (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (4)

Nura Yusuf

rxda rxda

I Change the x.^2 to (x-1)^2,and this SCA cannot get the min value after 20000 iterations,SCA is weak and useless.

Raidar Ali


Links added:

A link the Matlab toolbox has been added to the description.

MATLAB Release Compatibility
Created with R2014a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired: A new MATLAB optimization toolbox