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. The paper listed below discusses biogeography and how it can be generalized to obtain an algorithm called biogeography-based optimization (BBO). The reference discusses the performance of BBO on a set of 14 standard benchmarks and compares it with seven other population-based optimization algorithms: ant colony optimization (ACO), differential evolution (DE), evolutionary strategy (ES), genetic algorithm (GA), particle swarm optimization (PSO), probability based incremental learning (PBIL), and stud genetic algorithm (SGA). The paper also looks at the performance of BBO on a real-world sensor selection problem for aircraft health estimation.
The software that was used to create the results in the reference can be downloaded in a zip file. The software contains general ACO, BBO, DE, ES, GA, PSO, PBIL, and SGA software, and is written in m-files that can be run in the MATLAB environment. M-files are written in a very high-level language that can be easily read, almost like pseudo code. The data files and m-files are contained in the following zip file.
In the original paper and MATLAB code, I think I put too much emphasis on the use of species probabilities: the m-file calculates probabilities, and then uses those probabilities to compute mutation rates. But this is unnecessarily complicated. The distinctive feature of BBO is its implemention of migration. A simpler and more straightforward implementation of BBO for both continuous and discrete objective functions can be downloaded from http://embeddedlab.csuohio.edu/BBO.
However, I am leaving bbo.zip on this web page so that the results of the original paper can be more easily reproduced. If you download bbo.zip to your hard drive by clicking on the above link, then unzip the file (using, for example, WinZip), you can run computer intelligence experiments and reproduce the results in the paper. When you unzip the file on your hard drive, look at the readme.txt file for more detailed information. If you don't have software to unzip the file, you can download a free evaluation version of WinZip from www.winzip.com.
Last Revised: May 8, 2009