The Bees Algorithm (BA) is a swarm-based optimization algorithm inspired by the food foraging behavior of honeybees. The aim of this chapter is to describe a swarm-based optimization algorithm called the Bees Algorithm and its applications to real world problems. After an explanation of the natural foraging behavior of honeybees, the basic Bees Algorithm and its enhanced version based on Adaptive Neighborhood Search and Site Abandonment (ANSSA) strategy are described and two applications are discussed in detail. The first application deals with the optimization of several benchmark functions and the results obtained by the ANSSA-based BA is compared with the basic BA and other optimization algorithms. The second application deals with the multi-objective optimization problem in finding the best supply chain configuration.
TopIntroduction
Optimization is a mathematical technique for finding fittest / best solution to a problem. Optimization has been utilized in many fields such as engineering, physics, chemistry, manufacturing, energy, economy, computer science, logistics, robotics, finance, medicine. Several types of optimization techniques have been proposed in the literature. However there is not a single optimization technique that can claim to be suitable for all types of problems (Wolpert & Macready, 1997). In literature optimization techniques have been classified into two main groups according to their variable types, as deterministic and stochastic techniques (Yuce, 2012).
Deterministic techniques are straightforward techniques to solve the problems in polynomial time. In literature, several types of deterministic techniques has been proposed such as, State Space (Weise, 2009), Algebraic Geometry (Tayur et al., 1995) and Branch Bound (Horst and Tuy, 1996). However, when there is no solution in polynomial time with deterministic techniques, stochastic techniques play an important role to solve problems with stochastic variables. In literature the most famous stochastic techniques are Evolutionary Algorithms (i.e. the Genetic Algorithm (Back, 1996)), Ant Colony Optimization (Dorigo & Di Caro, 1999), Particle Swarm Optimization (Kennedy & Eberhart, 1995), Simulated Annealing (Koppen et al., 2011), Tabu Search (Pham & Karaboga, 2000)) and the Bee inspired Algorithm (ie. The Bees Algorithm (Pham et al., 2005; Pham et al., 2007; Yuce et al, 2013), Artificial Bees Algorithms (Karaboga, 2005; Karaboga & Basturk, 2007; Karaboga & Basturk, 2008; Tsai et al., 2009).
The Bees Algorithm belongs to the family of swarm-based optimization algorithms which derives its intelligence based on the collective problem solving capabilities of social animals such as birds, fish and ants (Bornabeau et al., 1999). Swarm Intelligence helps these social animals to self-organize themselves and more importantly to interact and communicate with each other with some common purpose.
According to Bonabeau et al. (Bornabeau et al., 1999), swarms achieve self-organization through the following four elements; positive feedback (amplification), negative feedback, randomness, and multiple interactions. The honey bees in nature have been found to achieve self-organization through similar elements which are recruitment, abandonment, scouting and waggle dance.
A bee colony in nature is made up of scout bees, which fly around randomly, and worker bees, which are recruited from the hive by the returning scout bees. The bees use positive feedback as a mechanism to recruit new worker bees to promising flower patches. Through negative feedback depleted and not so promising flower patches are abandoned by the worker bees. The randomness is achieved in particular by the scout bees due to their constant search, in all directions and distances from the hive, to discover new promising flower patches. The scout bees which have found promising flower patches return to the hive and perform waggle dance watched by other bees in the hive causing multiple interactions between the individuals. These four elements form the basis of the Bees Algorithm giving it the power to conduct global search (exploration), local search (exploitation), recruitment, interaction and convergence to optimal solution. The Bees Algorithm has some features in common with other swarm-based optimization algorithms.