Biogeography-Based Optimization Software

The MATLAB® files in this zip archive are m-files that you can use to experiment with BBO. The software is freely available for any purpose (it is on the Internet, after all) although I would of course appreciate an acknowledgment if you use it as part of a paper, thesis, or presentation. The BBO home page is at The original BBO paper is available at

The software can be run by typing the following MATLAB command:

>> BBO(@"function name");

where "function name" is the name of the m-file containing the specific function to minimize. The functions that are available in the zip archive are the continuous Ackley, Fletcher, Griewank, Penalty 1, Penalty 2, Quartic, Rastrigin, Rosenbrock, Schwefel 1.2, Schwefel 2.21, Schwefel 2.22, Schwefel 2.26, Sphere, and Step functions. For example, to use BBO to minimize the Quartic function, you would type:

>> BBO(@QuarticCont);

If you want to minimize your own function, just use the function m-files from the zip archive as a template. You can change parameters like the generation limit, population size, problem dimension, mutation rate, and elitism parameter, by editing BBO.m after extraction from the zip archive. I welcome comments or additional benchmarks that could be added to this zip archive. My email address is listed on the BBO home page.

Last updated: August 29, 2013