The Bees Algorithm – A Novel Tool for Complex Optimisation Problems

Authors : D.T. Pham, A. Ghanbarzadeh, E. Koç, S. Otri, S. Rahim, and M. Zaidi

  • Keywords : Bees Algorithm, Function Optimisation, Swarm Intelligence

A new population-based search algorithm called the Bees Algorithm (BA) is presented. The algorithm 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 and functional optimisation. This paper focuses on the latter. Following a description of the algorithm, the paper gives the results obtained for a number of benchmark problems demonstrating the efficiency and robustness of the new algorithm.

NOTE: TO READ THIS AND OTHER IPROMS 2006 PAPERS, PLEASE REGISTER FOR THE CONFERENCE.

REGISTRATION IS FREE.

CLICK here TO REGISTER.

AttachmentSize
PID217625.pdf85.96 KB
Result.ppt70.5 KB
beespresent1.wmv7.44 MB
a pdf file
Submitted by soroka on Mon, 03/07/2006 - 8:49am.

The Bees Algorithm is clearly able to do functional and combinatorial optimisation do you think it will be possible to adapt the Bees algorithm to the classic Travelling Salesman Problem (TSP)? Do you think Bees perform such path optimisation when travelling from hive to flower or flower to flower?

Submitted by Ebubekir on Mon, 03/07/2006 - 11:56am.

Thank you for nice question. This algorithm is inspired from food foraging behaviour of honey bees and we are testing and tuning the parameters of the Bees Algorithm to solve the TSP. The result will be published on the coming papers.

Submitted by menmca on Mon, 03/07/2006 - 5:42pm.

I am very interested with the information of your article, however, when I try to look further your references as indicated in your table 1, for example, reference on 'De Jong', but I cannot find it in the References Section of your article, in fact, I cannot find the other author names (Goldstenin & Price; Branin, Martin & Gaddy, and so on.)

On table 2 Results, may I know how those mean no. of evaluations being obtained? In your pseudo code, there is step 5 to evaluate fitness, there is also step 7 to evaluate fitness, do your consider all these evaluation together?

On table 2 Results, have you tried all the SIMPSA, NE SIMPSA, GA, ANTS for the comparisons, why the **** Can you explain why is that the data not available?

What are the parameters need to be used in this bees algorithm, what is it has to do with learning mechanism? Do you test on different set/collection of parameter values? If the parameters setting are not optimal, will the table 2 results of bees algorithm be different?

Thanks.

Submitted by Ebubekir on Mon, 03/07/2006 - 7:37pm.

Thank you for your comments and questions.

In Table 1, "Reference" refers to the name of the test function. The mathematical model of the functions are given in the column "Test Function".

The number of evaluations has been calculated exactly following the pseudo code. As you mentioned in your question; in each iteration both step 5 and step 7 have been used for calculating the number of function evaluations.

Table 2, presents the result obtained by the Bees Algorithm and other algorithms available in the literature review.

All the parameters required for the algorithm are stated in section 3.2.

Recruitment, fittest bees' selection and other related parameters are part of the learning mechanism in the Bees Algorithm.

All the given sets of parameters are found empirically. Different set of parameters will give different results.

Submitted by menmca on Mon, 03/07/2006 - 11:11pm.

In your paper, you have classed the swarm-based optimization algorithms into Ant Colony Optimization, Genetic Algorithm and Particle Swarm Optimisation algorithm, my question: are there other evolutionary algorithm techniques that being excluded and why?

I do know that there is a technique called evolutionary programming (pioneered by Lawrence J. Fogel) and how do you class this technique?

Can you comment on agent-based approach, and differentiate between agent-based approach and swarm-based approach?

Hope you can clarify my queries and give your views.

Thanks.

Submitted by Pham on Tue, 04/07/2006 - 2:47pm.

We believe that EP and ES are in the same family as the GA.

In an earlier draft of our paper, we called the GA a population-based optimisation algorithm.

Such a categorisation is probably more appropriate than that of "swarm-based algorithm" and of course also describes EP better.

Thank you for your interest in our paper.

Submitted by menmca on Thu, 06/07/2006 - 5:26am.

Dear Prof Pham,
Thanks for your reply. It is very interesting to see advances in using bio-inspired techniques to solve research problems. Your paper shows the performance of the new approach (bees algorithm) is better than the previous approaches. If evolutionary algorithms are global search methods, correct me if I am wrong, I would say the bees algorithm and ants algorithm are global + local search methods and both methods eliminate unnecessary evaluations and thus are more efficient. One step further, can you explain, in what way, the bees algorithm and ants algorithm are different that enable the bees algorithm to out-perform the ants algorithm?

Thanks

Submitted by Vlado on Thu, 06/07/2006 - 6:48am.

Very interesting approach and results. Do you have any explanation for the comparatively poor performance of the bees algorithm for test 6, the four dimentional Rosenbrock function.

Submitted by Pham on Thu, 06/07/2006 - 4:27pm.

Dear Dr Ang,

Thank you for your interest in our algorithm and very relevant questions/comments.

You are entirely correct that our algorithm performs both local and global search.

As for the comparison with the Ant Algorithm, I must note that the results given in our paper pertain only to the test cases presented.

We cannot claim that the Bees Algorithm is better than the Ant Algorithm or any other algorithm in all cases. I think the 'No Free Lunch' theorem is quite correct.

Best wishes.

DTP.

PS: I hope you will hear directly from the 'Bees' also.

Submitted by Pham on Thu, 06/07/2006 - 4:37pm.

Hi Vlado: How did you discover that chink in our work??? You must have too much spare time!!! Seriously, thanks for your interest. The No-Free-Lunch problem, I am afraid, is my answer to your question. The Bees might have a better explanation. See you.

Submitted by Afshin on Thu, 06/07/2006 - 4:52pm.

The Bees Algorithm addresses the central question of stochastic global optimisation, namely the balance between local exploitation and global exploration.

The Bees Algorithm consists of neighbourhood search plus global search which enable the algorithm to perform better than Ant Colony Optimisation which need another local search algorithm to improve its performance.

Submitted by mark on Thu, 06/07/2006 - 5:05pm.

I have to agree with Prof Pham about the cost of lunch ;)

Also, I don´t think that the performance of the Bees on the 4-d Rosenbrock is too bad, except compared with the performance of the Ants. One notable point is that the Bees algorithm has a 100% success rate for this function. As to why it is out-performed, the simple answer is that different functions have different shapes and present different challenges which require different algorithms. It is not as simple as comparing the volumes of the search spaces.

The last test function, Griewangk, has a search space of 102410 and yet the bees solve this faster than other methods. So my question is a counterpoint to Vlado´s:

Why do the Bees perform so well on Griewangk?

An understanding of the relationship between the shape of a function and the performance of different optimisation algorithms would be a powerful asset...

Submitted by gonzalo on Thu, 06/07/2006 - 5:37pm.

Dear Bee-team, great work!

One of the reasons why GAs are so popular is that apart from obtaining good experimental results, they have a theoretical explanation why they work, in fact, its mathematical foundation is based on the Schemata Theorem.

It would be really interesting and beneficial for the bees-algorithm to see if any mathematical foundation can be developed to explain why the bees-algorithm works.

Thank you

Gonzalo.

Submitted by Ebubekir on Thu, 06/07/2006 - 6:30pm.

Thank you for your comment, I think you have showed us a very important and essential point...

Submitted by Pham on Thu, 06/07/2006 - 9:57pm.

Hi Mark,
Many thanks for your contribution and for coming to the defence of the Bees.
I am sure they will want to buy you lunch some time. And it will be free to you!
Cheers.
DTP.

Submitted by Pham on Thu, 06/07/2006 - 10:10pm.

Dear Gonzalo: Many thanks for your comment. We agree completely with you! Muchas gracias! DTP.

Submitted by seots on Fri, 07/07/2006 - 10:09am.

Above all, it is very interasting to solve a problem using the characteristics of a natural behaviours of bees.

In table 2, there are too many "****". I think that the notation should be "n.a." instead.
What do you think about breaking down the table into two tables:
one for GA, ANTS,and Bees and another for SIMPSA, NE SIMPSA, ANTS, and Bees.

Is there any program package implementing the Bees algorithm for general use?

Submitted by Vlado on Fri, 07/07/2006 - 10:42am.

I absolutely agree. Having a sound understanding of the processes at work, preferrably rooted in maths is key to answering the Why does it perform one way or another questions. The added benefit is understanding the behaviour of the algorithm or the family in dynamic environments. In an off-line chat with Mark we seem to agree that this kind of "foraging" algorithms are probably best suited for situations where the space changes.

Submitted by Sameh on Fri, 07/07/2006 - 10:57am.

Thank you for you interest and comments/questions.

The Bees Algorithm is in its general format and is able to solve the problems it faces with no need for any major changes in its structure or performance

We hope it will continue solving all problems in future as well

Please stay with us for further comments and questions

Sameh Otri
PhD Research Student

Submitted by Afshin on Fri, 07/07/2006 - 4:59pm.

Thanks for your comments, the Bees Algorithm is new and developed in MEC, The authors are sure it will be used in some applications or packages by MEC or others in the near future. Just keep searching for Bees Algorithm to see new out comings.

Submitted by Ebubekir on Fri, 07/07/2006 - 5:14pm.

including the previous answer, an explanation for the first comment... you might be right about the table but we thought that its good to show all the algorithms on the same benchmarking table, even there are some unavailable data...

Submitted by bahriyebasturk on Mon, 10/07/2006 - 3:49pm.

i want to ask that what is your success criteria. how do you assume that the algorithm has converged to the global optimum?

Submitted by Afshin on Mon, 10/07/2006 - 4:48pm.

Thanks for your comments, the success criteria was measured as success runs out of 100 independent runs, which for all the test functions were 100%. In algorithm like the Bees Algorithm, GA and …, the best solution which the algorithm can find, after a number of iterations, will be presented, in table 2 the benchmark has been shown to see how this answer for the Bees Algorithm and other algorithm matches the global optimum (success column).

Please do not hesitate to ask if you need more information or any other question.

Afshin

Submitted by bahriyebasturk on Tue, 11/07/2006 - 7:28am.

you say in your paper "The results are averages
for 100 independent runs. It can be seen that after
approximately 3,000,000 visits, the Bees Algorithm
was able to find solutions close to the optimum."

i mean the measure of this closeness as success criteria.

you have a termination criteria such as
|f*-f|.less than. e1|f*|+e2

this gives how close the solution(f) to the global solution (f*).

i wonder the values you used for e1 and e2.

Submitted by Afshin on Tue, 11/07/2006 - 11:25am.

Thanks for your comments again, the acceptable error is 0.1% of global optimum or .001 (which one is smaller) and for zero answers, .001.

Submitted by bahriyebasturk on Tue, 11/07/2006 - 12:53pm.

thanks..

Submitted by bahriyebasturk on Wed, 12/07/2006 - 12:22pm.

from the text, there is a different set for each function.
you used eight bencmark functions and presented the results in table 2.

1- what is the values of population n, number of selected sites m, number of elite sites e, initial patch size ngh, number of bees around elite points nep,
number of bees around other selected points nsp for these eight functions in both your algorithm and in other algorithms.

2- and on rosenbrock function(5a,5b), your algorithm has better performance than it has on sphere. i as know that sphere function is an easy unimodal function which can be solved by even gradient based methods on the contrary of rosenbrock.(i wouldn't hope this result although i know sphere has 6 parameter while rosenbrock has 2 in your experiments.) what do you think about why the algorithm behaves like this?

Submitted by Ebubekir on Wed, 12/07/2006 - 3:16pm.

1. For the first question, the variables for some of the functions given below,

De Jong:
n= 15, m= 5, nsp =2, nep =2, e =2, ngh=0.1

Brainin:
n= 30, m= 5, nsp =2, nep =3, e =1, ngh=1

Rosenbrock-(a):
n= 10, m= 3, nsp =2, nep =4, e =1, ngh=0.1

Hyper Sphere:
n= 8, m= 3, nsp =1, nep =2, e =1, ngh=0.1

All these variables found empirically. Regarding other algorithms, all the results and variables can be found in the reference number 6.

2. We had the same question last week and it was answered by Prof. Pham:
“We cannot claim that the Bees Algorithm is better than the Ant Algorithm or any other algorithm in all cases. I think the 'No Free Lunch' theorem is quite correct”.
You can also find more details above, in the posts that we sent last week

Thank you for your interest in our paper. Please do not hesitate to ask, if you need more information.

Best wishes

Submitted by soroka on Thu, 13/07/2006 - 9:40am.

After looking at 'A Cooperative Approach to Particle Swarm Optimization' by Frans van den Bergh and Andries P. Engelbrecht I would be interested in hearing your opinions on how the Bees Algorithm differs from Particle Swarm Optimization.

Submitted by Vlado on Thu, 13/07/2006 - 9:48am.

There is wisdom in the "no free lunch", and it does help on the path to enlightenment. If there is no free lunch, what is the cost for different problems? Or phrasing this differently, why the bee algorithm exhibits the described behaviour/performance in the benchmark cases. I'm particularly interested in functions 1 and 6, since they are "out of trend".

A related request. Do you have the data for the medians and the variance, not just the means for the performance of the bees for each test case? Do you mind publishing this data, please.

Submitted by Sameh on Thu, 13/07/2006 - 11:20am.

“No free lunch” doest not mean that every lunch will cost the same amount of money.

You can get a lunch with £5 pounds, £10 pounds and so on………

So Bees Algorithm is a cheap lunch with a very high and tasty quality food

thanks

Sameh Otri
PhD Research Student

Submitted by Afshin on Thu, 13/07/2006 - 11:27am.

Thanks for your interest, for the first part Ebubakir gave some information, I just want to add somthing for the second question.
As you said Hyper sphere is a simple function to get the optimum. But as you wrote functions 5a and 5b (Rosenbrok)are second order and Hyper sphere is 6, as we can see for the Rosenbrok order 4 (function 6) the required evaluations are much more than Hyper sphere.
We can see this trend for Ant Algorithm and GA as they need more evaluations for Hyper sphere order 6 than Rosenbrok order 2.

Submitted by Afshin on Thu, 13/07/2006 - 11:41am.

Thanks for your comment, Anthony.
Although the Bees Algorithm has some similarities with PSO, but there are some major diffrences as:
1- Neighbourhood search is one of them, in PSO we can not see this kind of search as in BA.
2- In PSO, every particle moves from current position to its next position regarding PBest Gbest, as in BA selected bees recruit for neibourhood search about themselves.
3-In PSO, the particles will randomly placed at the first and will move to their next positions in each iteration, but in BA in each iteration we have some randomly placed bees about the search space.
There are some other details which can be said if needed.

Hopy this comment and reply encourage PSO people to come and share their ideas.

A.Ghanbarzadeh

Submitted by Afshin on Thu, 13/07/2006 - 12:42pm.

Thanks for your nice comments, Vlado.

I have uploaded some more details about the results for 4 functions. ( Result.pdf )
Please let us know if you need more information.

A.Ghanbarzadeh

Submitted by Vlado on Thu, 13/07/2006 - 1:05pm.

Thanks. That makes an interesing food for thought

Submitted by Vlado on Thu, 13/07/2006 - 1:11pm.

Well, you do have variations of PSOs with differently structured neigbourhoods, including collaboration. I've stumbled upon a number of papers describing similar ideas.

IMO, the biggest significant difference is that the difference in metaphors should help in optimising the performace using different (maybe slightly different) methods.

There is probably quite a lot of merit in comparing bees to GAs. Not just their performance, but the underlying structure, how can they help to understand the different performance, in different problems.

Submitted by mark on Thu, 13/07/2006 - 1:14pm.

Indeed Vlado. My current work is focussed on this very issue.

Submitted by Pham on Thu, 13/07/2006 - 9:21pm.

Hi Anthony and Vlado,

I believe the difference is more than just in the metaphors employed.

PSO uses quite different "swarming" rules from those adopted by the Bees.

Let us get the Bees team to have a serious bebate with you some time.

Cheers.

DTP.

Submitted by Mr Olivier Dent on Sun, 16/07/2006 - 3:12pm.

... on a very beesy and lively forum!

Submitted by Pham on Sun, 23/07/2006 - 12:18pm.

Many thanks, Mr Dent!

However, I suspect your cover as a wasp is about to be blown!

May I advise you to buzz off before the Bees, aided and abetted by Mark, swarm onto you!

Submitted by mass845 on Fri, 18/08/2006 - 4:07pm.

Hi guys..

Just wonder, if bee algorithm can be expanded (or extended) for data clustering problems. I found papers that claims, ant colony optimization has been used for clustering. For more details check:
a. Tsai et al.,2004,"ACODF: a novel data clustering approach for data mining in large databases",The Journal of Systems and Software,73,pp133–145 .
b. Yang et al., 2006,"An aggregated clustering approach using multi-ant colonies algorithms",Pattern Recognition, 39,pp1278 – 1289.

Best wishes,

Submitted by Vlado on Fri, 18/08/2006 - 4:18pm.

I suppose it could. The shape of the algorithm defines the main properties of the search.

In order to apply it for clustering, I suppose the trickiest bit would be the encoding of the problem in terms suitable for applying the bee-algorithm shape.

Submitted by Pham on Fri, 18/08/2006 - 9:44pm.

Hi Vlado,
I like the idea of the "shape of an algorithm". What do you suppose the shape for the Bees Algorithm might be?
Cheers.
DTP.

Submitted by Pham on Fri, 18/08/2006 - 9:47pm.

Hi Adi,
Sure can! As you know, the difficulty, as with all distance-based clustering algorithms, is to define "distances"!
Cheers.
DTP.

Submitted by mass845 on Wed, 13/09/2006 - 7:22pm.

Thanks for all your comments on Bees and Clustering. I just read a paper that GA is used for feature selection (refer: Yang, J. and Honavar, V., 1998, Feature Subset Selection using A Genetic algorithm, IEEE Intelligent System). I think the same case can be applied to Bees. In my case, I'm facing with more than 1000 features (or attribute) of terms, that some of them may be insufficient/poor to describe a document.

Any thought/comment.....

Best wishes,

Submitted by Pham on Thu, 14/09/2006 - 8:42pm.

Hi Adi,

My hypothesis is that, whatever GAs can do, our Bees Algorithm can too! You are cordially invited to test the hypothesis on your problem!

Cheers.

DTP.

Submitted by beeman on Tue, 08/05/2007 - 9:27am.

Submitted by Ebubekir on Wed, 04/07/2007 - 2:10pm.

Please see the IPROMS 2007... We have a special session.

Submitted by Pham on Sun, 29/07/2007 - 5:03pm.

We are pleased to announce the Bees Algorithm Special Session at IPROMS 2007.

Click here to visit the Special Session and sample our Bees' new nectar!

Submitted by toshke on Wed, 10/10/2007 - 3:01pm.

Did you know that there are already some papers on bee colony optimizations, dating even from 2001? Go here:

www.iasi.rm.cnr.it/ewgt/16conference/ID161.pdf

This paper dates from 2005, and there are also several papers before this conference as it can be seen in the reference.
You can also search for some other work of professor Teodorovic and his colleagues on bee colony optimization. Some papers are on IEEE.

Did you just not know about this approach or you forgot to mention in the paper about it?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

User login

Captcha Image: you will need to recognize the text in it.
Please type in the letters/numbers that are shown in the image above.