Linearized Biogeography-Based Optimization with
Re-initialization and Local Search

Dan Simon, Mahamed G. H. Omran, and Maurice Clerc

Biogeography is the study of the geographical distribution of biological organisms. The mindset of the engineer is that we can learn from nature. This motivates the application of biogeography to optimization problems. An introduction to biogeography-based optimization (BBO) can be found at However, BBO can also be improved with the following changes.

1.      Make migration proportional to candidate solution fitness.

2.      Use local search to improve the best candidate solutions.

3.      Search the domain boundaries for better candidate solutions.

4.      Systematically search a grid that covers the search domain.

5.      Systematically search a small Latin hypercube around the best candidate solutions.

6.      Randomly re-initialize on occasion to search for better candidate solutions to mix in with the current population.

7.      Restart the search process if the population stagnates.

These changes are described in Sections 3.1 – 3.7 of the paper below.


The paper below discusses a modified BBO algorithm with the above features, which we call linearized BBO (LBBO), and presents results of its performance on the Congress on Evolutionary Computation (CEC) 2005 and 2011 benchmarks (45 benchmarks total). The software that was used to create the results in the paper can be downloaded in zip files. The software is written in m-files that can be run in the MATLAB environment. Here are the instructions for using the software.

1.      Download to your computer and unzip it. Let’s suppose that you extract the files to directory "X."

2.      Download to directory "X:\CEC 2005 Benchmarks" and unzip it there.

3.      Download to directory "X:\CEC 2011 Benchmarks" and unzip it there.

4.      Set your Matlab path to the "X" directory.

5.      Read the file “readme.txt” (extracted from for more detailed information.


This software includes a lot of tuning parameters with which you can experiment. Many of the tuning parameters are input parameters to the function LBBO.m. Other tuning parameters can be seen at the beginning of LBBO.m (starting around line 60). Gradient descent includes several tuning parameters, which can be seen in GradientDescent.m. Global grid search includes a couple of tuning parameters, which can be seen in SystematicSearch.m. Boundary search includes a couple of tuning parameters, which can be seen in ManGradientDescent.m.


D. Simon, M. Omran, and M. Clerc, “Linearized Biogeography-Based Optimization with Re-initialization and Local Search,” submitted for publication - pdf, 371 KB

Professor Simon’s Home Page

Department of Electrical and Computer Engineering

Cleveland State University

Last Revised: March 13, 2013