the flower patch with follower bees recruited from
the hive. The number of follower bees will depend
on the overall quality of the patch. Flower patches
with large amounts of nectar or pollen that can be
collected with less effort are regarded as more
promising and attract more bees (Seeley, 1996,
Bonabeau et al., 1999). In this way, the colony can
gather food quickly and efficiently.
2.2 The Bees Algorithm
This section summarises the main steps of the Bees
Algorithm. For more details, the reader is referred to
(Pham et al., 2006b, Pham et al., 2006a, Pham et al.,
2005). Figure 1 shows the pseudo code for the Bees
Algorithm. The algorithm requires a number of
parameters to be set, namely: number of scout bees
(n), number of sites selected for neighbourhood
searching (out of n visited sites) (m), number of top-
rated (elite) sites among m selected sites (e), number
of bees recruited for the best e sites (nep), number of
bees recruited for the other (m-e) selected sites
(nsp), the initial size of each patch (ngh) (a patch is a
region in the search space that includes the visited
site and its neighbourhood), and the 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. Determine the patch size.
6. Recruit bees for selected sites (more
bees for best
e sites) and evaluate
fitnesses.
7. Select the fittest bee from each patch.
8. Abandon sites without new
information.
9. Assign remaining bees to search
randomly and evaluate their fitnesses.
10. End While.
Figure 1: Pseudo code of the Bees Algorithm.
In step 4, the m sites with the highest fitnesses
are designated as “selected sites” and chosen for
neighbourhood search. In step 5, the size of
neighbourhood around the selected sites is
determined. In step 6, the algorithm conducts
searches around the selected sites, assigning more
bees to search in the vicinity of the best e sites.
Selection of the best sites can be made directly
according to the fitnesses associated with them.
Alternatively, the fitness values are used to
determine the probability of the sites being selected.
Searches in the neighbourhood of the best e sites –
those which represent the most promising solutions -
are made more detailed. As already mentioned, this
is done by recruiting more bees for the best e sites
than for the other selected sites. Together with
scouting, this differential recruitment is a key
operation of the Bees Algorithm.
In step 7, for each patch, only the bee that has
found the site with the highest fitness (the “fittest”
bee in the patch) will be selected to form part of 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
8, sites which have not shown improvements in
fitness values over a number of recruitment cycles
are abandoned. This is because it is assumed that
such sites correspond to stationary points. The
locations of the sites are recorded. In step 9, the
remaining bees in the population are assigned
randomly around the search space to scout for new
potential solutions.
At the end of each iteration, the colony will have
two parts to its new population: representatives from
the selected patches, and scout bees assigned to
conduct random searches. These steps are repeated
until a stopping criterion is met.
As described above, the Bees Algorithm is
suitable for unconstrained optimisation problems. If
a problem involves constraints, a simple technique
can be adopted to enable the optimisation to be
applied. The technique involves subtracting a large
number from the fitness of a particular solution that
has violated a constraint in order drastically to
reduce the chance of that solution being found
acceptable. This was the technique adopted in this
work. As both design problems were minimisation
problems, a fixed penalty was added to the cost of
any constraint-violating potential solution.
THE BEES ALGORITHM AND MECHANICAL DESIGN OPTIMISATION
251