View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Backtracking Search Optimization Algorithm

5.0 | 4 ratings Rate this file 42 Downloads (last 30 days) File Size: 51.5 KB File ID: #44842 Version: 1.0
image thumbnail

Backtracking Search Optimization Algorithm



A new swarm-based global optimization algorithm for real valued numerical optimization problems.

| Watch this File

File Information

This paper introduces the backtracking search optimization algorithm (BSA), a new evolutionary algorithm (EA) for solving real-valued numerical optimization problems. EAs are popular stochastic search algorithms that are widely used to solve non-linear, non-differentiable and complex numerical optimization problems. Current research aims at mitigating the effects of problems that are frequently encountered in EAs, such as excessive sensitivity to control parameters, premature convergence and slow computation. In this vein, development of BSA was motivated by studies that attempt to develop simpler and more effective search algorithms.

Unlike many search algorithms, BSA has a single control parameter. Moreover, BSA's problem-solving performance is not over sensitive to the initial value of this parameter. BSA has a simple structure that is effective, fast and capable of solving multimodal problems and that enables it to easily adapt to different numerical optimization problems.

BSA's strategy for generating a trial population includes two new crossover and mutation operators. BSA's strategies for generating trial populations and controlling the amplitude of the search-direction matrix and search-space boundaries give it very powerful exploration and exploitation capabilities.

In particular, BSA possesses a memory in which it stores a population from a randomly chosen previous generation for use in generating the search-direction matrix. Thus, BSA's memory allows it to take advantage of experiences gained from previous generations when it generates a trial preparation. This paper uses the Wilcoxon Signed-Rank Test to statistically compare BSA's effectiveness in solving numerical optimization problems with the performances of six widely used EA algorithms: PSO, CMAES, ABC, JDE, CLPSO and SADE.

The comparison, which uses 75 boundary-constrained benchmark problems and three constrained real-world benchmark problems, shows that in general, BSA can solve the benchmark problems more successfully than the comparison algorithms.

P. Civicioglu, "Backtracking Search Optimization Algorithm for numerical optimization problems", Applied Mathematics and Computation, 219, 8121–8144, 2013.

please visit the
for more detail about the algorithm and updated versions of BSA.

Related references

1. P. Civicioglu, "Transforming Geocentric Cartesian Coordinates to Geodetic Coordinates by Using Differential Search Algorithm", Computers and Geosciences, 46, 229-247, 2012.

    see for software code of Differential Search Algorithm (DSA).

    see for more information about DSA updates.

2. P. Civicioglu, "Artificial cooperative search algorithm for numerical optimization problems",Information Sciences, 229, 58–76, 2013.

3. P. Civicioglu, E. Besdok, "A conceptual comparison of the cuckoo-search, particle swarm optimization, differential evolution and artificial bee colony algorithms", Artificial Intelligence Review, 39 (4), 315-346, 2013.

4. P. Civicioglu, "Circular Antenna Array Design by Using Evolutionary Search Algorithms", Progress In Electromagnetics Research B, Vol. 54, 265-284, 2013.


This file inspired Particle Swarm Optimization Toolbox and Particle Swarm Optimization Toolbox.

Required Products Statistics and Machine Learning Toolbox
MATLAB release MATLAB 7.13 (R2011b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (4)
28 Oct 2016 Anka

simple and clear code, high performance and extremely robust, native parallel; nonrecursive search.

25 May 2016 Maher Abdolrasol


15 Apr 2015 Anka

excellent, simple, and effective

27 Dec 2013 Anka

Excellent code and algorithm

Contact us