I’ve always been fascinated by algorithms which are inspired by natural processes. In fact my Master’s thesis investigated optimization using genetic algorithms which mimic evolutionary processes by simulating genetic crossover and mutation. During the past few months I’ve been looking at optimization algorithms which are based on the behavior of honey bee colonies. These types of algorithms have been studied since at least 1997 and perhaps earlier, but have received a lot of attention in the past three years. Different researchers use different approaches and end up with slightly different meta-heuristics. Some of the names I’ve come across in my research include Bee System, BeeHive, Virtual Bee Algorithm, Bee Swarm Optimization, Bee Colony Optimization, Artificial Bee Colony, and Bees Algorithm. The basic idea is that foraging bees have a potential solution to an optimization problem in their memory. This solution corresponds to the location of a food source. Each food source has an associated quality measure of how well it solves the optimization problem. Foraging bees return to the hive and perform a waggle dance which describes a potential solution and it quality to currently inactive foragers. These inactive bees then go to the food source and examine nearby sources/solutions. There are also scout foragers who randomly search the problem domain space. Anyway, I cooked up a program which uses a simulated bee colony algorithm to solve various problems in software testing and the results were very promising. I’ve written up a paper and intend to submit it to a software conference at some point.