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 http://academic.csuohio.edu/simond/bbo.
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 LBBO.zip
to your computer and unzip it. Let’s suppose that you extract the files to
directory "X."

5.Read the file “readme.txt” (extracted from LBBO.zip)
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.