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."
2. Download CEC2005Benchmarks.zip to directory "X:\CEC 2005 Benchmarks" and unzip it there.
3. Download CEC2011Benchmarks.zip 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 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.
D. Simon, M. Omran, and M. Clerc, “Linearized Biogeography-Based Optimization with Re-initialization and Local Search,” submitted for publication - pdf, 371 KB
Last Revised: March 13, 2013