Date of Award


Degree Type



Electrical and Computer Engineering

First Advisor

Simon, Daniel

Subject Headings

Computer algorithms, Evolutionary computation, Biogeography -- Mathematical models, Mathematical optimization, Mobile robots, Evolutionary algorithm


I present hardware testing of an evolutionary algorithm (EA) known as distributed biogeography based optimization (DBBO). DBBO is an extended version of biogeography based optimization (BBO). Typically, EAs require a central computer to control the evaluation of candidate solutions to some optimization problem, and to control the sharing of information between those candidate solutions. DBBO, however, does not require a centralized unit to control individuals. Individuals independently run the EA and find a solution to a given optimization problem. Both BBO and DBBO are based on the theory of biogeography, which describes how organisms are distributed geographically in nature. I have compared the performance of BBO and DBBO by using fourteen benchmark functions that are commonly used to evaluate the performance of optimization algorithms. I perform both hardware and simulation experiments. Wall-following robots are used as hardware to implement the DBBO algorithm. Robots use two different controllers to maintain a constant distance from the wall: one is a proportional integral derivative (PID) controller and the other is a fuzzy controller. DBBO optimizes the performance of the robots with respect to the control parameters. During simulation experiments I used different EA mutation rates different staring points for the robots and different wheel bases. I have also done T-tests to analyze the statistical significance of performance differences and robustness tests to analyze the performance of the algorithms in the face of environmental changes. The results show that centralized BBO gives better optimization results than distributed BBO. DBBO gives less optimal solutions but it removes the necessity of centralized control. The results also show that the fuzzy controller performs better than the PID controller