Bees algorithm
The Bees Algorithm is a population-based search algorithm first developed in 2005 [1] that mimics the food foraging behaviour of swarms of honey bees. In its basic version, the algorithm performs a kind of neighbourhood search combined with random search and can be used for both combinatorial optimisation[13,14] and functional optimisation[7].
The foraging process in nature
A colony of honey bees can extend itself over long distances (more than 10 km) and in multiple directions simultaneously to exploit a large number of food sources.A colony prospers by deploying its foragers to good fields. In principle, flower patches with plentiful amounts of nectar or pollen that can be collected with less effort should be visited by more bees, whereas patches with less nectar or pollen should receive fewer bees[2] [3][4][5].
The foraging process begins in a colony by scout bees being sent to search for promising flower patches. Scout bees move randomly from one patch to another. During the harvesting season, a colony continues its exploration, keeping a percentage of the population as scout bees.
When they return to the hive, those scout bees that found a patch which is rated above a certain quality threshold (measured as a combination of some constituents, such as sugar content) deposit their nectar or pollen and go to the “dance floor” to perform a dance known as the “waggle dance”[6].
This mysterious dance is essential for colony communication, and contains three pieces of information regarding a flower patch: the direction in which it will be found, its distance from the hive and its quality rating (or fitness). This information helps the colony to send its bees to flower patches precisely, without using guides or maps. Each individual’s knowledge of the outside environment is gleaned solely from the waggle dance. This dance enables the colony to evaluate the relative merit of different patches according to both the quality of the food they provide and the amount of energy needed to harvest it. After waggle dancing on the dance floor, the dancer (i.e. the scout bee) goes back to the flower patch with follower bees that were waiting inside the hive. More follower bees are sent to more promising patches. This allows the colony to gather food quickly and efficiently.
While harvesting from a patch, the bees monitor its food level. This is necessary to decide upon the next waggle dance when they return to the hive. If the patch is still good enough as a food source, then it will be advertised in the waggle dance and more bees will be recruited to that source.
Proposed Bees Algorithm
The Bees Algorithm [7] is an optimisation algorithm inspired by the natural foraging behaviour of honey bees to find the optimal solution. Figure 2 shows the pseudo code for the algorithm in its simplest form. The algorithm requires a number of parameters to be set, namely: number of scout bees (n), number of sites selected out of n visited sites (m), number of best sites out of m selected sites (e), number of bees recruited for best e sites (nep), number of bees recruited for the other (m-e) selected sites (nsp), initial size of patches (ngh) which includes site and its neighbourhood and stopping criterion. The algorithm starts with the n scout bees being placed randomly in the search space. The fitnesses of the sites visited by the scout bees are evaluated in step 2.
1. Initialise population with random solutions.
2. Evaluate fitness of the population.
3. While (stopping criterion not met)
//Forming new population.
4. Select sites for neighbourhood search.
5. Recruit bees for selected sites (more bees for best e sites) and evaluate fitnesses.
6. Select the fittest bee from each patch.
7. Assign remaining bees to search randomly and evaluate their fitnesses.
8. End While.
Fig.1 Pseudo code of the basic bees algorithm
In step 4, bees that have the highest fitnesses are chosen as “selected bees” and sites visited by them are chosen for neighbourhood search. Then, in steps 5 and 6, the algorithm conducts searches in the neighbourhood of the selected sites, assigning more bees to search near to the best e sites. The bees can be chosen directly according to the fitnesses associated with the sites they are visiting. Alternatively, the fitness values are used to determine the probability of the bees being selected. Searches in the neighbourhood of the best e sites which represent more promising solutions are made more detailed by recruiting more bees to follow them than the other selected bees. Together with scouting, this differential recruitment is a key operation of the Bees Algorithm.
However, in step 6, for each patch only the bee with the highest fitness will be selected to form the next bee population. In nature, there is no such a restriction. This restriction is introduced here to reduce the number of points to be explored. In step 7, the remaining bees in the population are assigned randomly around the search space scouting for new potential solutions. These steps are repeated until a stopping criterion is met. At the end of each iteration, the colony will have two parts to its new population – representatives from each selected patch and other scout bees assigned to conduct random searches.
Applications
The Bees Algorithm, which is inspired by the food foraging behaviour of honey bees, has found many applications in engineering field:
- Training neural networks for pattern recognition[8][9][10][11][12].
- Forming manufacturing cells[13].
- Scheduling jobs for a production machine[14].
- Finding multiple feasible solutions to a preliminary design problems[15].
- Data clustering[16].
- Optimising the design of mechanical components[17].
- Multi-Objective Optimisation[18].
- Tuning a fuzzy logic controller for a robot gymnast[19].
References
- ^ Pham DT, Ghanbarzadeh A, Koc E, Otri S, Rahim S and Zaidi M. The Bees Algorithm. Technical Note, Manufacturing Engineering Centre, Cardiff University, UK, 2005
- ^ Von Frisch K. Bees: Their Vision, Chemical Senses and Language. (Revised edn) Cornell University Press, N.Y., Ithaca, 1976.
- ^ Seeley TD. The Wisdom of the Hive: The Social Physiology of Honey Bee Colonies. Massachusetts: Harvard University Press, Cambridge, 1996.
- ^ Bonabeau E, Dorigo M, and Theraulaz G. Swarm Intelligence: from Natural to Artificial Systems. Oxford University Press, New York, 1999.
- ^ Camazine S, Deneubourg J, Franks NR, Sneyd J, Theraula G and Bonabeau E. Self-Organization in Biological Systems. Princeton: Princeton University Press, 2003.
- ^ Von Frisch K. Bees: Their Vision, Chemical Senses and Language. (Revised edn) Cornell University Press, N.Y., Ithaca, 1976.
- ^ Pham D.T., Ghanbarzadeh A., Koç E., Otri S., Rahim S., and M.Zaidi "The Bees Algorithm – A Novel Tool for Complex Optimisation Problems"", Proceedings of IPROMS 2006 Conference, pp.454-461
- ^ D. T. Pham, E. Koç, A. Ghanbarzadeh, and S. Otri, Optimisation of the weights of multi-layered perceptrons using the Bees Algorithm, Proc 5th International Symposium on Intelligent Manufacturing Systems, Turkey, 2006.
- ^ D. T. Pham, A. Ghanbarzadeh, E. Koç, and S. Otri, Application of the Bees Algorithm to the training of radial basis function networks for control chart pattern recognition, Proc 5th CIRP International Seminar on Intelligent Computation in Manufacturing Engineering (CIRP ICME '06), Ischia, Italy, 2006.
- ^ D. T. Pham, S. Otri, A. Ghanbarzadeh, and E. Koç, Application of the Bees Algorithm to the training of learning vector quantisation networks for control chart pattern recognition, Proc Information and Communication Technologies (ICTTA'06), Syria, p. 1624-1629, 2006.
- ^ D. T. Pham, A. J. Soroka, A. Ghanbarzadeh, E. Koç, S. Otri, and M. Packianather, Optimising neural networks for identification of wood defects using the Bees Algorithm, Proc 2006 IEEE International Conference on Industrial Informatics, Singapore, 2006.
- ^ Pham D. T., Zaidi Muhamad, Massudi Mahmuddin, Afshin ghanbarzadeh, Ebubekir Koc, Sameh Otri. Using the bees algorithm to optimise a support vector machine for wood defect classification. IPROMS 2007 Innovative Production Machines and Systems Virtual Conference, Cardiff, UK."[1]"
- ^ Duc Truong Pham, Ashraf Afify, Ebubekir Koc "Manufacturing cell formation using the Bees Algorithm". IPROMS 2007 Innovative Production Machines and Systems Virtual Conference, Cardiff, UK.
- ^ D. T. Pham, E. Koç, J. Y. Lee, and J. Phrueksanant, Using the Bees Algorithm to schedule jobs for a machine, Proc Eighth International Conference on Laser Metrology, CMM and Machine Tool Performance, LAMDAMAP, Euspen, UK, Cardiff, p. 430-439, 2007.
- ^ D. T. Pham, M. Castellani, and A. Ghanbarzadeh, Preliminary design using the Bees Algorithm, Proc Eighth International Conference on Laser Metrology, CMM and Machine Tool Performance, LAMDAMAP, Euspen, UK, Cardiff, p. 420-429, 2007.
- ^ D. T. Pham, S. Otri, A. A. Afify, M. Mahmuddin, and H. Al-Jabbouli, Data clustering using the Bees Algorithm, Proc 40th CIRP Int. Manufacturing Systems Seminar, Liverpool, 2007.
- ^ D. T. Pham, A. J. Soroka, E. Koç, A. Ghanbarzadeh, and S. Otri, Some applications of the Bees Algorithm in engineering design and manufacture, Proc Int. Conference on Manufacturing Automation (ICMA 2007), Singapore, 2007.
- ^ Pham D.T., Ghanbarzadeh A. "Multi-Objective Optimisation using the Bees Algorithm"", Proceedings of IPROMS 2007 Conference
- ^ D.T Pham, Ahmed Haj Darwish, E.E Eldukhri, Sameh Otri. "Using the Bees Algorithm to tune a fuzzy logic controller for a robot gymnast."", Proceedings of IPROMS 2007 Conference
External links
- Cardiff University
- Manufacturing Engineering Centre
- The Bees Algorithm - First Prize-winning Poster
- BBC Interview Records
- MEC Bees won ‘best communication’ prize at INTEGR8OR
- Boffins put dancing bees to work - BBC News