Artificial Bee Colony Algorithm
Presented By: Asma Sanam Larik
Contents
• Swarm Intelligence - an Introduction
• Behavior of Honey Bee Swarm
• ABC algorithm
• Simulation Results
• Conclusion
Introduction
• Bonabeau has defined swarm intelligence as
“any attempt to design algorithms or distributed problem-solving devices
inspired by the collective behaviour of social insect colonies and other
animal societies” [1]
• Term swarm in general refer to any restrained
collection of interacting agents or individuals
• Two fundamental concepts self-organization and
division of labour, are necessary and sufficient
properties to obtain swarm intelligent behaviour
• Self-organization : can be defined as a set of dynamical
mechanisms that establish basic rules for interactions
between the components of the system. The rules ensure
that the interactions are executed on the basis of purely
local information without any relation to the global pattern.
• Bonabeau et al. has characterized four basic properties on
which self organization relies:
– Positive feedback
– Negative feedback,
– Fluctuations and
– Multiple interactions [1]
• Division of Labor: In swarm behavior different
tasks are performed simultaneously by
specialized individuals which is referred to as
division of labor. It enables swarm to respond
to changed conditions in the search space.
Behavior of Honey Bee Swarm
Three essential components of forage selection:
• Food Sources: The value of a food source depends on many
factors such as its proximity to the nest, its richness or
concentration of its energy, and the ease of extracting this
energy.
• Employed Foragers: They are associated with a particular
food source which they are currently exploiting or are
“employed” at. They carry with them information about
this particular source, its distance and direction from the
nest, the profitability of the source and share this
information with a certain probability.
• Unemployed Foragers: They are continually at look out
for a food source to exploit. There are two types of
unemployed foragers: scouts, searching the
environment surrounding the nest for new food
sources and onlookers waiting in the nest and
establishing a food source through the information
shared by employed foragers.
• The model defines two leading modes of the behavior:
– recruitment to a nectar source
– the abandonment of a source.
Exchange of Information among bees
• The exchange of information among bees is the most
important occurrence in the formation of collective
knowledge.
• The most important part of the hive with respect to
exchanging information is the dancing area
• Communication among bees related to the quality of
food sources takes place in the dancing area.
• This dance is called a Waggle dance.
• Employed foragers share their information with a
probability proportional to the profitability of the food
source, and the sharing of this information through
waggle dancing is longer in duration.
• An onlooker on the dance floor, probably she can
watch numerous dances and decides to employ herself
at the most profitable source.
• There is a greater probability of onlookers choosing
more profitable sources since more information is
circulated about the more profitable sources.
Basic Self Organization Properties
• Positive feedback: As the nectar amount of food sources
increases, the number of onlookers visiting them increases,
too.
• Negative feedback: The exploitation process of poor food
sources is stopped by bees.
• Fluctuations: The scouts carry out a random search process
for discovering new food sources.
• Multiple interactions: Bees share their information about
food sources with their nest mates on the dance area.
Artificial Bee Colony Algortihm
• Simulates behavior of real bees for solving multidimensional and
multimodal optimisation problems.
• The colony of artificial bees consists of three groups of bees:
employed bees, onlookers and scouts.
• The first half of the colony consists of the employed artificial bees
and the second half includes the onlookers.
• The number of employed bees is equal to the number of food
sources around the hive.
• The employed bee whose food source has been exhausted by the
bees becomes a scout.
ABC Algorithm
Explanation
• Each cycle of search consists of three steps: moving the
employed and onlooker bees onto the food sources and
calculating their nectar amounts; and determining the
scout bees and directing them onto possible food sources.
• A food source position represents a possible solution to the
problem to be optimized.
• The amount of nectar of a food source corresponds to the
quality of the solution
• Onlookers are placed on the food sources by using a
probability based selection process.
• As the nectar amount of a food source increases, the
probability value with which the food source is preferred by
onlookers increases, too.
• The scouts are characterized by low search costs and a low
average in food source quality. One bee is selected as the
scout bee.
• The selection is controlled by a control parameter called
"limit".
• If a solution representing a food source is not improved by a
predetermined number of trials, then that food source is
abandoned and the employed bee is converted to a scout.
Control Parameters of ABC Algorithm
• swarmsize
• Limit
• number of onlookers: 50% of the swarm
• number of employed bees: 50% of the swarm
• number of scouts: 1
Exploration vs Exploitation
• Onlookers and employed bees carry out the
exploitation process in the search space
• Scouts control the exploration process
Java source Code
for(run=0;run<bee.runtime;run++)
{
bee.initial();
bee.MemorizeBestSource();
for (iter=0;iter<bee.maxCycle;iter++)
{
bee.SendEmployedBees();
bee.CalculateProbabilities();
bee.SendOnlookerBees();
bee.MemorizeBestSource();
bee.SendScoutBees();
}
}
Explanation
• bee.initial(): Number of food sources are
initialized randomly and fitness of each food
source is computed. This task is performed by the
initial scout bee and hence supports exploration
• bee.Memorize(): The best food source is
memorized by the bee
• bee.SendEmployedBees(): In this function an
artificially employed bee generates a random
solution that is a mutant of the original solution.
• The formula for producing a candidate solution from
the existing is described below:
where k: {1,2,….. Number of Employed Bees}
j: {1,2,….D} are randomly chosen index
D: Number of parameters to optimize
k<> i : both are randomly chosen
φi,j: random number [-1,+1]
solution[param2change]=Foods[i][param2change]+(Foods[i][param2change]-
Foods[neighbour][param2change])*(r-0.5)*2;
• After each candidate source position vi,j is produced and
then evaluated by the artificial bee, its performance is
compared with that of xi,j. If the new food has equal or
better nectar than the old source, it is replaced with the old
one in the memory. Otherwise, the old one is retained. In
other words, a greedy selection mechanism is employed as
the selection operation between the old and the current
food sources.
• bee.CalculateProbabilities(): An onlooker bee chooses a
food source depending on the probability value
associatedwith that food source, pi, calculated by:
• Bee.SendScoutBees(): The trial parameter is
defined for those solutions that are exhausted
and not changing. This function determines
those food sources and abandons them
Simulation for Rosenbrock function
Conclusion
ABC algorithm in fact employs four different selection processes:
• A global selection process used by the artificial onlooker bees for
discovering promising regions as
• A local selection process carried out in a region by the artificial
employed bees and the onlookers depending on local information
• A local selection process called greedy selection process carried
out by all bees in that if the nectar amount of the candidate source
is better than that of the present one, thebee forgets the present
one and memorizes the candidate source. Otherwise the bee keeps
the present one in the memory.
• A random selection process carried out by scouts.
References
[1] E. Bonabeau, M. Dorigo, G. Theraulaz, “Swarm
Intelligence: From Natural to Artificial Systems”,
New York, NY: Oxford University Press, 1999.
[2] D. Karaboga , B. Basturk “A powerful and
efficient algorithm for numerical function
optimization: artificial bee colony (ABC)
algorithm, J Glob Optim (2007) 39:459–471
[3] D.Karaboga “An idea based on honey bee swarm
for numerical optimization” TR-06, October 2005

Artificial bee colony algorithm

  • 1.
    Artificial Bee ColonyAlgorithm Presented By: Asma Sanam Larik
  • 2.
    Contents • Swarm Intelligence- an Introduction • Behavior of Honey Bee Swarm • ABC algorithm • Simulation Results • Conclusion
  • 3.
    Introduction • Bonabeau hasdefined swarm intelligence as “any attempt to design algorithms or distributed problem-solving devices inspired by the collective behaviour of social insect colonies and other animal societies” [1] • Term swarm in general refer to any restrained collection of interacting agents or individuals • Two fundamental concepts self-organization and division of labour, are necessary and sufficient properties to obtain swarm intelligent behaviour
  • 4.
    • Self-organization :can be defined as a set of dynamical mechanisms that establish basic rules for interactions between the components of the system. The rules ensure that the interactions are executed on the basis of purely local information without any relation to the global pattern. • Bonabeau et al. has characterized four basic properties on which self organization relies: – Positive feedback – Negative feedback, – Fluctuations and – Multiple interactions [1]
  • 5.
    • Division ofLabor: In swarm behavior different tasks are performed simultaneously by specialized individuals which is referred to as division of labor. It enables swarm to respond to changed conditions in the search space.
  • 6.
    Behavior of HoneyBee Swarm Three essential components of forage selection: • Food Sources: The value of a food source depends on many factors such as its proximity to the nest, its richness or concentration of its energy, and the ease of extracting this energy. • Employed Foragers: They are associated with a particular food source which they are currently exploiting or are “employed” at. They carry with them information about this particular source, its distance and direction from the nest, the profitability of the source and share this information with a certain probability.
  • 7.
    • Unemployed Foragers:They are continually at look out for a food source to exploit. There are two types of unemployed foragers: scouts, searching the environment surrounding the nest for new food sources and onlookers waiting in the nest and establishing a food source through the information shared by employed foragers. • The model defines two leading modes of the behavior: – recruitment to a nectar source – the abandonment of a source.
  • 8.
    Exchange of Informationamong bees • The exchange of information among bees is the most important occurrence in the formation of collective knowledge. • The most important part of the hive with respect to exchanging information is the dancing area • Communication among bees related to the quality of food sources takes place in the dancing area. • This dance is called a Waggle dance.
  • 9.
    • Employed foragersshare their information with a probability proportional to the profitability of the food source, and the sharing of this information through waggle dancing is longer in duration. • An onlooker on the dance floor, probably she can watch numerous dances and decides to employ herself at the most profitable source. • There is a greater probability of onlookers choosing more profitable sources since more information is circulated about the more profitable sources.
  • 11.
    Basic Self OrganizationProperties • Positive feedback: As the nectar amount of food sources increases, the number of onlookers visiting them increases, too. • Negative feedback: The exploitation process of poor food sources is stopped by bees. • Fluctuations: The scouts carry out a random search process for discovering new food sources. • Multiple interactions: Bees share their information about food sources with their nest mates on the dance area.
  • 12.
    Artificial Bee ColonyAlgortihm • Simulates behavior of real bees for solving multidimensional and multimodal optimisation problems. • The colony of artificial bees consists of three groups of bees: employed bees, onlookers and scouts. • The first half of the colony consists of the employed artificial bees and the second half includes the onlookers. • The number of employed bees is equal to the number of food sources around the hive. • The employed bee whose food source has been exhausted by the bees becomes a scout.
  • 13.
  • 14.
    Explanation • Each cycleof search consists of three steps: moving the employed and onlooker bees onto the food sources and calculating their nectar amounts; and determining the scout bees and directing them onto possible food sources. • A food source position represents a possible solution to the problem to be optimized. • The amount of nectar of a food source corresponds to the quality of the solution • Onlookers are placed on the food sources by using a probability based selection process.
  • 15.
    • As thenectar amount of a food source increases, the probability value with which the food source is preferred by onlookers increases, too. • The scouts are characterized by low search costs and a low average in food source quality. One bee is selected as the scout bee. • The selection is controlled by a control parameter called "limit". • If a solution representing a food source is not improved by a predetermined number of trials, then that food source is abandoned and the employed bee is converted to a scout.
  • 16.
    Control Parameters ofABC Algorithm • swarmsize • Limit • number of onlookers: 50% of the swarm • number of employed bees: 50% of the swarm • number of scouts: 1
  • 17.
    Exploration vs Exploitation •Onlookers and employed bees carry out the exploitation process in the search space • Scouts control the exploration process
  • 18.
    Java source Code for(run=0;run<bee.runtime;run++) { bee.initial(); bee.MemorizeBestSource(); for(iter=0;iter<bee.maxCycle;iter++) { bee.SendEmployedBees(); bee.CalculateProbabilities(); bee.SendOnlookerBees(); bee.MemorizeBestSource(); bee.SendScoutBees(); } }
  • 19.
    Explanation • bee.initial(): Numberof food sources are initialized randomly and fitness of each food source is computed. This task is performed by the initial scout bee and hence supports exploration • bee.Memorize(): The best food source is memorized by the bee • bee.SendEmployedBees(): In this function an artificially employed bee generates a random solution that is a mutant of the original solution.
  • 20.
    • The formulafor producing a candidate solution from the existing is described below: where k: {1,2,….. Number of Employed Bees} j: {1,2,….D} are randomly chosen index D: Number of parameters to optimize k<> i : both are randomly chosen φi,j: random number [-1,+1] solution[param2change]=Foods[i][param2change]+(Foods[i][param2change]- Foods[neighbour][param2change])*(r-0.5)*2;
  • 21.
    • After eachcandidate source position vi,j is produced and then evaluated by the artificial bee, its performance is compared with that of xi,j. If the new food has equal or better nectar than the old source, it is replaced with the old one in the memory. Otherwise, the old one is retained. In other words, a greedy selection mechanism is employed as the selection operation between the old and the current food sources. • bee.CalculateProbabilities(): An onlooker bee chooses a food source depending on the probability value associatedwith that food source, pi, calculated by:
  • 22.
    • Bee.SendScoutBees(): Thetrial parameter is defined for those solutions that are exhausted and not changing. This function determines those food sources and abandons them
  • 23.
  • 24.
    Conclusion ABC algorithm infact employs four different selection processes: • A global selection process used by the artificial onlooker bees for discovering promising regions as • A local selection process carried out in a region by the artificial employed bees and the onlookers depending on local information • A local selection process called greedy selection process carried out by all bees in that if the nectar amount of the candidate source is better than that of the present one, thebee forgets the present one and memorizes the candidate source. Otherwise the bee keeps the present one in the memory. • A random selection process carried out by scouts.
  • 25.
    References [1] E. Bonabeau,M. Dorigo, G. Theraulaz, “Swarm Intelligence: From Natural to Artificial Systems”, New York, NY: Oxford University Press, 1999. [2] D. Karaboga , B. Basturk “A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm, J Glob Optim (2007) 39:459–471 [3] D.Karaboga “An idea based on honey bee swarm for numerical optimization” TR-06, October 2005