20
Bee Colony Optimization: The Applications Survey DU ˇ SAN TEODOROVI ´ C University of Belgrade, Faculty of Transport and Traffic Engineering TATJANA DAVIDOVI ´ C Mathematical Institute, Serbian Academy of Sciences and Arts and MILICA ˇ SELMI ´ C University of Belgrade, Faculty of Transport and Traffic Engineering Bee Colony Optimization is a recently proposed, nature-inspired meta-heuristic. It has been suc- cessfully applied to many combinatorial optimization problems, mostly in transportation, location and scheduling fields. In this survey we summarize these application and give a brief description of the BCO algorithm and its modifications. Categories and Subject Descriptors: I.2.8 [Artificial Intelligence]: Problem Solving, Control Methods, and Searc—Heuristic methods; G.2.1 [Discrete Mathematics]: Combinatorics; H.4.2 [Information Systems Applications]: Types of Systems— Decision support (e.g., MIS); Lo- gistics General Terms: Optimization, Meta-heuristics Additional Key Words and Phrases: Combinatorial Optimization, Bee Colony Optimization, Lo- cation Problems, Scheduling 1. INTRODUCTION Nature-Inspired Algorithms are motivated by a variety of biological and natural processes. The popularity of the Nature-Inspired Algorithms is primarily caused by the ability of biological systems to effectively adjust to frequently changeable environment. Evolutionary computation, neural networks, ant colony optimiza- tion, particle swarm optimization, artificial immune systems, and bacteria foraging algorithm are the algorithms and concepts that were motivated by nature. Swarm behavior is one of the main characteristics of different colonies of social insects (bees, wasps, ants, termites). This type of behavior is first and foremost characterized by autonomy, distributed functioning and self-organizing. Swarm Intelligence [Beni and Wang 1989] is the area of Artificial Intelligence that is based on study of actions of individuals in various decentralized systems. When creating Author’s address: D. Teodorovi´ c, M. ˇ Selmi´ c, University of Belgrade, Faculty of Transport and Traffic Engineering, Vojvode Stepe 305, 11000 Belgrade, Serbia. T. Davidovi´ c, Mathematical Institute, Serbian Academy of Sciences and Arts, Kneza Mihaila 36, P.O.Box 367, 11000 Belgrade, Serbia.. Permission to make digital/hard copy of all or part of this material without fee for personal or classroom use provided that the copies are not made or distributed for profit or commercial advantage, the ACM copyright/server notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists requires prior specific permission and/or a fee. c 2011 ACM 1529-3785/2011/0700-0001 $5.00 ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011, Pages 1–20.

Bco Acm Trans Ver2

  • Upload
    mossdas

  • View
    24

  • Download
    0

Embed Size (px)

Citation preview

Bee Colony Optimization: The Applications Survey

DUSAN TEODOROVIC

University of Belgrade, Faculty of Transport and Traffic Engineering

TATJANA DAVIDOVIC

Mathematical Institute, Serbian Academy of Sciences and Arts

and

MILICA SELMIC

University of Belgrade, Faculty of Transport and Traffic Engineering

Bee Colony Optimization is a recently proposed, nature-inspired meta-heuristic. It has been suc-cessfully applied to many combinatorial optimization problems, mostly in transportation, locationand scheduling fields. In this survey we summarize these application and give a brief descriptionof the BCO algorithm and its modifications.

Categories and Subject Descriptors: I.2.8 [Artificial Intelligence]: Problem Solving, ControlMethods, and Searc—Heuristic methods; G.2.1 [Discrete Mathematics]: Combinatorics; H.4.2[Information Systems Applications]: Types of Systems— Decision support (e.g., MIS); Lo-gistics

General Terms: Optimization, Meta-heuristics

Additional Key Words and Phrases: Combinatorial Optimization, Bee Colony Optimization, Lo-cation Problems, Scheduling

1. INTRODUCTION

Nature-Inspired Algorithms are motivated by a variety of biological and naturalprocesses. The popularity of the Nature-Inspired Algorithms is primarily causedby the ability of biological systems to effectively adjust to frequently changeableenvironment. Evolutionary computation, neural networks, ant colony optimiza-tion, particle swarm optimization, artificial immune systems, and bacteria foragingalgorithm are the algorithms and concepts that were motivated by nature.

Swarm behavior is one of the main characteristics of different colonies of socialinsects (bees, wasps, ants, termites). This type of behavior is first and foremostcharacterized by autonomy, distributed functioning and self-organizing. SwarmIntelligence [Beni and Wang 1989] is the area of Artificial Intelligence that is basedon study of actions of individuals in various decentralized systems. When creating

Author’s address: D. Teodorovic, M. Selmic, University of Belgrade, Faculty of Transport andTraffic Engineering, Vojvode Stepe 305, 11000 Belgrade, Serbia.T. Davidovic, Mathematical Institute, Serbian Academy of Sciences and Arts, Kneza Mihaila 36,P.O.Box 367, 11000 Belgrade, Serbia..Permission to make digital/hard copy of all or part of this material without fee for personalor classroom use provided that the copies are not made or distributed for profit or commercialadvantage, the ACM copyright/server notice, the title of the publication, and its date appear, andnotice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish,to post on servers, or to redistribute to lists requires prior specific permission and/or a fee.c© 2011 ACM 1529-3785/2011/0700-0001 $5.00

ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011, Pages 1–20.

2 · Dusan Teodorovic et al.

Swarm Intelligence models and techniques, researchers apply some principles of thenatural swarm intelligence.

Few algorithms from the swarm intelligence class, inspired by bees’ behavior,appeared during the last decade [Abbass 2001; Afshar et al. 2007; Benatchba et al.2005; Chong et al. 2006; Drias et al. 2005; Karaboga 2005; Koudil et al. 2007; Lucicand Teodorovic 2001; Navrat 2006; Pham et al. 2006; Quijano and Passino 2007a;2007b; Wedde et al. 2004; Yang et al. 2007]. An excellent survey of the algorithmsinspired by bees’ behavior in the nature is given in [Baykasoglu et al. 2007].

The Bee Colony Optimization (BCO) proposed in [Lucic and Teodorovic 2001;2002; 2003a] is a meta-heuristic, since it represents a general algorithmic frameworkapplicable to various optimization problems in management, engineering, and con-trol, and it should always be tailored for a specific problem. The BCO belongs tothe class of population-based algorithms. Complex initial formulation of the algo-rithm has been evolving to simpler versions through later applications [Anantasateet al. 2009; Davidovic et al. 2009b; Edara et al. 2008; Lucic and Teodorovic 2003b;Markovic et al. 2007; Teodorovic and Dell’Orco 2005; Teodorovic and Selmic 2007].

The BCO uses a similarity among the way in which bees in nature look fora food, and the way in which optimization algorithms search for an optimum incombinatorial optimization problems. The major idea behind the BCO is to createthe multi agent system (colony of artificial bees) capable to efficiently solve hardcombinatorial optimization problems. The artificial bee colony behaves to someextent similar and to some extent in a different way from bee colonies in nature.They explore through the search space looking for the feasible solutions. In order todiscover superior and superior solutions, artificial bees cooperate with each otherand exchange information. Via collective knowledge and giving out informationamong themselves, artificial bees focus on more promising areas, and graduallydiscard solutions from the less promising areas.

This paper presents a brief description of the BCO and some of its modifica-tions, as well as the taxonomy and analysis of the results achieved using BCO tomodel various engineering and management processes. The paper is organized inthe following way. The biological background is given in Section 2. The BCO isdescribed Section 3, and its applications to engineering and management problemsare outlined in Section 4. Section 5 contains conclusions and recommendation forthe future research.

2. BIOLOGICAL INSPIRATION

Scout-Bees in nature leave the hive and explore the areas in the locality of their hive[Camazine and Sneyd 1991]. They search for sources of pollen, nectar and propolis.Finishing the search, scout bees go back to the hive and report to foraging collectorbees about the locations, quantity and quality of existing sources of pollen, nectarand propolis in the areas they have explored. Bees exchange information about thefood sources by dancing (ritual called a ”waggle dance”). Scout bees dance in theso-called ”dance floor area” of the hive in an endeavor to ”promote” food locationsand persuade the members of the colony to trail their lead. When a bee decidesto depart from the hive to collect nectar, it follows one of the dancing scout beesto the discovered source of food. Upon arrival to the food source, the foraging beeACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

BCO: The Applications Survey · 3

takes a load of nectar and returns to the hive relinquishing the nectar to a foodstorer bee. A number of scenarios are then possible for a foraging bee: (1) the beecan discard the food location and become again an uncommitted follower; (2) itcan keep on with the foraging behavior at the discovered nectar source, with norecruiting the rest of the colony; (3) it can recruit other bees with the dance ritualprior to return to the food location. The bee decides for one of the possibilities usingthe mechanism based on the characteristics of the food source (quality, quantity,distance from the hive, . . . ). The described process continues constantly, while thebees from a hive collect nectar and investigate new areas with possible food sources.

3. THE BEE COLONY OPTIMIZATION META-HEURISTIC

The Bee Colony Optimization (BCO) meta-heuristic belongs to the group of SwarmIntelligence techniques. In the 1999-2002, the basic concepts of BCO [Lucic andTeodorovic 2001; 2002; 2003a; 2003b] were introduced by Dusan Teodorovic (ad-viser) and Panta Lucic (Ph.D. candidate) while doing research at Virginia Tech.The BCO is nature-inspired meta-heuristic which is to be applied for finding solu-tions of difficult combinatorial optimization problems.

In order to show the basic characteristics of the proposed BCO meta-heuristic,we will first describe its steps as an analogy with the bees from nature and thenpresent pseudo-code for its implementation. The proposed BCO is based on theconstructive concept. It was designed as a method which builds solutions from thescratch within execution steps, unlike the local search based meta-heuristics whichperform iterative improvements of the current best solution.

3.1 Description of the BCO

Artificial bees live in an environment characterized by the discrete time. Colony ofB artificial bees collaboratively searches for the optimal solution of a given problem.Each artificial bee generates one solution to the problem. There are two alternatingphases (forward pass and backward pass) constituting single step in the BCO algo-rithm. In each forward pass, every artificial bee visits NC solution components,creates partial solution, and after that returns to the hive. According to the keyidea in the present version of the BCO algorithm, the hive is an non-natural object,with no precise location and does not influence the algorithm execution. It is usedjust to denote the synchronization point at which bees are exchanging informationabout the current state of the search. The number of solution components NC tobe visited within one forward pass is prescribed by the analyst at the beginning ofthe search process. For example, let bees Bee 1, Bee 2, . . . , Bee B are engaged insolving a problem consisting of n components. In the case when NC = 1, at eachforward pass bees are supposed to visit a single component. The possible situationafter third forward pass is illustrated on Figure 1.

Having obtained new partial solutions, the bees meet in the hive and start thebackward pass. In the backward pass, all artificial bees share information about thequality of their partial solutions. Having all solutions evaluated, each bee decideswith a certain probability whether it will stay loyal to its solution or not. Thebees with better solutions have more chances to keep and advertise their solutions.Artificial bees that are loyal to their partial solutions are at the same time recruiters,i.e. their solutions would be advertised. Once the solution is abandoned by a bee

ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

4 · Dusan Teodorovic et al.

Bee 1

Bee 2

Bee B

...

Bee 1

Bee 2

Bee B

...

.

.

.

1

2

3

4

n-1

n

.

.

.

1

2

3

4

n-1

n

.

.

.

1

2

3

4

n-1

n

.

.

.

1

2

3

4

n-1

n

.

.

.

1

2

3

4

n-1

n

. . .

1 2 3 4 n

Bee 1Bee 1

Bee 2

Bee B

Fig. 1. An illustration of the third forward pass

it becomes uncommitted and has to select one of the advertised solutions. Thisdecision is taken with a probability too, so that better advertised solutions havebigger opportunity to be chosen for further exploration. In such a way, within eachbackward pass all bees are divided into two groups (R recruiters, and remainingB − R uncommitted bees) as it is shown on Figure 2. Values for R and B − R arechanging from one backward pass to another one.

Recruiters

1

2

3

4

B-R

5

.

.

.

Uncommitted

1

2

R

3

4...

Fig. 2. Recruiting of uncommitted followers

The case when, after comparing all generated partial solutions, Bee 2, from theprevious example decided to abandon already generated partial solution and tojoin Bee B (see Figure 3). Bee 2 and Bee B ”fly together” along the path alreadygenerated by the Bee B. In practice, this means that partial solution generated byBee B is associated (copied) to Bee 2 also. When they reach the end of that commonpath, they are free to make an individual decision about the next constructive stepto be made. The Bee 1 will keep already generated partial solution without beingchosen by any of the uncommitted hive-mates, and therefore, it will perform newconstructive step independently. The described situation is illustrated on Figure 3.

ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

BCO: The Applications Survey · 5

Bee 1

Bee 2

Bee B

...

Bee 1

Bee 2

Bee B

...

.

.

.

1

2

3

4

n-1

n

.

.

.

1

2

3

4

n-1

n

.

.

.

1

2

3

4

n-1

n

.

.

.

1

2

3

4

n-1

n

.

.

.

1

2

3

4

n-1

n

. . .

1 2 3 4 n

Bee 1Bee 1

Bee 2

Bee B

Fig. 3. An example of partial solutions after fourth forward

The two phases of the search algorithm, forward and backward pass, are alternat-ing in order to generate all required feasible solutions (one for each bee). When allsolutions are completed the best one is determined, it is used to update global bestsolution and an iteration of the BCO is accomplished. At this point all B solutionsare deleted, and the new iteration could start. The BCO runs iteration by iterationuntil a stopping condition is met. The possible stopping conditions could be, forexample, the maximum total number of iterations, the maximum total number ofiterations without the improvement of the objective function, maximum allowedCPU time, etc. At the end, the best found solution (the so called global best) isreported as the final one.

Details that depend on the concrete application should be resolved and specifiedwithin each particular implementation. These are: constructive steps (the selectionof solution components to be added to each particular partial solution); evaluationand comparison of partial solutions. The decisions connected with probabilities,loyalty decision and recruiting, are usually resolved by using roulette wheel.

3.2 Bee Colony Optimization (BCO) Algorithm

The algorithm parameters whose values need to be set prior the algorithm executionare as follows:

B - The number of bees in the hive;NC - The number of constructive moves during one forward pass.At the start of the search, all the bees are in the hive. The pseudo-code of the

BCO algorithm could be described in the following way:

(1) Initialization: an empty solution is assigned to each bee;(2) For each bee: // (the forward pass)

(a) Set k = 1; // (count constructive moves in the forward pass)(b) Evaluate all possible constructive moves;(c) Choose one move using the roulette wheel;(d) k = k + 1; If k ≤ NC Goto step (b).

(3) All bees are back to the hive; // (backward pass starts)(4) Evaluate (partial) objective function value for each bee;

ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

6 · Dusan Teodorovic et al.

(5) Each bee decides randomly whether to continue its own explorationand become a recruiter, or to become a follower;

(6) For each follower, choose a new solution from recruiters by theroulette wheel;

(7) If solutions are not completed Goto step 2;(8) Evaluate all solution and find the best one;(9) If the stopping criteria is not met Goto step 2;(10) Output the best solution found.

Steps (2) and (4) are problem dependent and should be resolved in each BCOalgorithm implementation. On the other hand, there are formulae specifying steps(5), loyalty decision, and (6), recruiting process, and they are described in the restof this section.

3.2.1 Loyalty decision. The probability that b-th bee (at the beginning of thenew forward pass) is loyal to its previously generated partial solution is expressedas follows:

pu+1b = e−

Omax−Obu , b = 1, 2, . . . , B, (1)

whereOb - the normalized value for the objective function of partial solution created

by the b-th bee;Omax - maximum over all normalized values of partial solution to be compared;u - the ordinary number of the forward pass (e.g., u = 1 for first forward pass,

u = 2 for second forward pass, etc.).Let us discuss relation (1) in some more details. The better the generated partial

solution (higher Ob value), the higher the probability that the bee b will be loyal toit. The greater the ordinary number of the forward pass, the higher the influenceof the already discovered partial solution. This is expressed by the term u inthe denominator of the exponent (relation (1)). In other words, at the beginningof the search process bees are ”more brave” to search the solution space. Themore forward passes they make, the bees have less courage to explore the solutionspace. The more we are approaching the end of the search process, the morefocused the bees are on the already known partial solution. Using relation (1) anda random number generator, for each artificial bee it is decided whether to becomeuncommitted follower, or to continue exploring already known path.

3.2.2 Recruiting process. For each uncommitted bee with a certain probabilityit is decided which recruiter it would follow. The probability that b’s partial solutionwould be chosen by any uncommitted bee is equal to:

pb =Ob

R∑k=1

Ok

, b = 1, 2, . . . , R (2)

where Ok represents normalized value for the objective function of the k-th adver-tised partial solution and R denotes the number of recruiters.

Using relation (2) and a random number generator, each uncommitted followerjoin one recruiter.ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

BCO: The Applications Survey · 7

4. APPLICATIONS OF BEE COLONY OPTIMIZATION

4.1 Solving the Travelling Salesman Problem by BCO

Lucic and Teodorovic [Lucic and Teodorovic 2001; 2002; 2003a] tested the BeeColony Optimization approach in the case of Travelling Salesman Problem (TSP).The well-known TSP is defined in the following way: Given n nodes, find theshortest itinerary that starts in a specific node, goes through all other nodes exactlyonce and finishes in the starting node. They considered symmetric TSP when thedistance from node i to node j is the same as the distance from node j to node i.

The authors called the first version of the BCO - ”Bee System”. The ”BeeSystem” had more similarities with the behavior of bees in the nature, than therecent version of algorithm. The main difference between these two versions is inthe fact that hive had a crucial role in the previous one. The hive had specifiedlocation that could also be changed during the search process. The other differenceis that not all the bees are engaged at the beginning of the search process. Thescout bees start the search, and at each stage new bees join it by recruiting process.

In their papers, the authors located hive at random node and decompose theTSP problem into stages. At each stage (corresponding to the forward pass ofBCO), a bee chooses the new nodes to be added to the partial Travelling Salesmantour created so far. This selection was performed in random manner with certainprobabilities. For calculating the probability of choosing next node to be visitedthe authors used Logit-based model. Logit model is one of the most successful andwidely accepted discrete choice model [McFadden 1973]. When calculating thisprobability, the proposed model took into account the distance between currentnode (and/or hive) and node-candidate to be visited, the total number of performediterations in a search process, as well as the total number of bees that visitedconsidered link in the past. The proposed model was represented by the complexand complicated formulae, and was not used in subsequent research.

Once all solutions (travelling salesman tours) are completed the authors tried toimprove them by applying different tour improvement algorithms based on k-optprocedure. Among all generated solutions, the best one was determined and usedto update the global best. This represented the end of single iteration and the nextone started after the hive relocation.

Table I. TSP benchmark problems: The results obtained by the BCO algorithm

Problem No. of Optimal BCO Relative CPU (sec)

name nodes value error (%)

Eil51 51 428.87 428.87 0.00 29

Berlin52 52 7544.37 7544.37 0.00 0

St70 70 677.11 677.11 0.00 7

Pr76 76 108159.00 108159.00 0.00 2

Kroa100 100 21285.40 21285.40 0.00 10

Eil101 101 640.21 640.21 0.00 61

Tsp225 225 3859.00 3899.90 1.06 11651

A280 280 2586.77 2608.33 0.83 6270

Pcb442 442 50783.55 51366.04 1.15 4384

Pr1002 1002 259066.60 267340.70 3.19 28101

ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

8 · Dusan Teodorovic et al.

The effectiveness of the BCO was tested on a large number of numerical examples.In Table I we present the results for benchmark problems taken from:http://www.iwr.uni-heidelberg.de/iwr/comopt/software/TSPLIB95/tsp/.

Results given in the Table I show that the BCO proposed in [Lucic and Teodorovic2001; 2002; 2003a] was capable to get the objective function values equal or veryclose to the optimal ones. The CPU times necessary to discover the best solutionsby the BCO were very low (in 2001). In other words, the BCO was able to produce”very good” solutions in a ”reasonable amount” of computer time.

4.2 BCO for the p-Median Problem

The problem of locating p facilities in order to minimize the average ”distance”between facilities and service users is known an a p-median problem and it is en-countered when designing networks for distribution centers, locations for schools,post offices, shops, etc. The p-median problem was formulated for the first timeby Hakimi [Hakimi 1964; 1965]. It is one of the fundamental problems in the areaof discrete location. The p-median problem could be defined in the following way:Locate the p facilities (medians) on a network so as to minimize the sum of all thedistances from each demand node to its nearest facility.

The p-median problem is NP-hard problem ([Kariv and Hakimi 1969]) that issolved by various heuristic algorithms and procedures based on meta-heuristic rules([Mladenovic et al. 2003]). In [Teodorovic and Selmic 2007] the authors solved p-median problem by the BCO. In the first step they located hive in the node wherea median should be positioned in the case p = 1. They used an algorithm based onthe matrix of shortest distances between nodes and service demands in all nodes.

In order to calculate the node attractiveness and to choose the next node to beadded to the partial solution, the authors used the concept of bee’s utility. Theutility Vi in the case when bee chooses node i to be the median was calculated as:

Vi = wRi + qAi, i = 1, . . . , n, (3)

where:Ri - normalized value of the distance from the hive to the i-th node;Ai - normalized value of the demand in the i-th node;w, q - weight (importance) of the distance and the demand, respectively;Normalized values are calculated as follows:

Ri =rmax − ri

rmax − rmin, Ai =

ai − amin

amax − amin, Ri, Ai ∈ [0, 1], i = 1, . . . , n, (4)

whereri - the total distance from the hive to the i-th node;rmin, rmax - minimum and maximum among total distances, respectively;ai - demand at node i;amin, amax - minimum and maximum among all demands, respectively.

ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

BCO: The Applications Survey · 9

The probability pi of choosing node i as a median was calculated as follows:

pi =Vi

K∑k=1

Vk

, i = 1, 2, . . . , n, (5)

where K denotes the number of not previously chosen nodes.Each generated partial solution was evaluated by using the total distance travelled

by the clients served at the medians chosen so far. After solutions are evaluated (andnormalized) the loyalty decision and recruiting process are performed as describedat the end of Section 3.

The proposed algorithm was tested on a various test problems with parametersrange from instances with n = 20 nodes and p = 2, 3, and 4 up to instances withn = 1000 and p = 2, 3, and 5. The obtained BCO results were compared withthe optimal solution and results are recalled in the Table II. Test problems M1–M15 were generated by Teodorovic and Selmic in [Teodorovic and Selmic 2007] andthey are available upon request. The 1000 nodes examples (Koerkel Problem Sets)were taken from the Internet. The BCO was able to produce ”good” solutions ina ”reasonable” computation time. Based on large number of performed tests, theauthors showed that the solution quality does not change much if the number ofbees increases, only the required computational times become larger. The resultsfor CPU times, shown in Table II, are obtained for the case of I = 100 algorithmiterations, NC = 1 constructive moves and B = 5 bees.

Table II. The p-median test problems: results obtained by the BCO algorithm

Test n p BCO Rel. CPU Test n p BCO Rel. CPUproblem error (%) (sec) problem error (%) (sec)

M1 20 2 0 0.48 Set2 1000 2 0.60 112.00M2 20 3 0 0.96 Set2 1000 4 4.45 448.00M3 20 4 0 2.40 Set3 1000 2 0.34 95.40

M4 25 2 0 0.46 Set3 1000 4 2.94 211.40M5 25 3 0 2.65 Set4 1000 2 0.55 117.00M6 25 4 0 6.99 Set4 1000 4 3.02 206.00

M7 30 2 0 0.46 Set5 1000 2 0.26 117.00M8 30 3 0 2.33 Set5 1000 4 4.34 406.00

M9 30 4 0 5.33 Set6 1000 3 1.14 168.00

M10 40 2 0 0.45 Set6 1000 5 7.48 448.00M11 40 3 0 2.34 Set7 1000 3 1.09 102.10

M12 40 4 0 3.35 Set7 1000 5 4.40 300.30

M13 50 2 0 1.14

M14 50 3 0.73 23.52

M15 50 4 1.71 46.94

4.3 The BCO for Ride-Matching Problem

Urban road networks in many countries are severely congested, resulting in in-creased travel times, increased number of stops, unexpected delays, greater travel

ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

10 · Dusan Teodorovic et al.

costs, inconvenience to drivers and passengers, increased air pollution and noiselevel, and increased number of traffic accidents. Transportation professionals havedeveloped different Travel Demand Management (TDM) strategies to solve theseproblems. Ride-sharing is one of the widely used TDM techniques. Within thisconcept, two or more persons share vehicle when travelling from their origins tothe destinations. The operator of the system must posses the following informationregarding trips planned for the next week: (a) Vehicle capacity (2, 3, or 4 persons);(b) Days in the week when person is ready to participate in ride-sharing; (c) Triporigin for every day in a week; (d) Trip destination for every day in a week; (e)Desired departure and/or arrival time for every day in a week.

The ride-matching problem considered by in [Teodorovic and Dell’Orco 2005;2008] could be defined in the following way: Make routing and scheduling of thevehicles and passengers for the whole week in such a way to minimize the total dis-tance travelled by all participants. The authors developed BCO based model for theride-matching problem. They started their choice model from the assumption thatthe quantities perceived by bees are ”fuzzy”. They created artificial bees that useapproximate reasoning and rules of fuzzy logic [Zaheh 1965] in their communicationand acting.

When adding the solution component to the current partial solution during theforward pass, a specific bee perceives a specific solution component as ’less at-tractive’, ’attractive’, or ’very attractive’. Artificial bee can perceive a specificattribute as ’short’, ’medium’ or ’long’; ’cheap’, ’medium’, or ’expensive’; etc. Theauthors developed the approximate reasoning algorithm for calculating the solutioncomponent attractiveness. In order to describe bee’s partial solutions comparisonmechanism, the authors introduced the concept of partial solution badness. Thepartial solution badness was calculated in the following way:

Lb =L(b) − Lmin

Lmax − Lmin(6)

where:Lb - represents the badness of the partial solution discovered by the b-th bee;L(b) - the objective function value of the corresponding partial solution;Lmin and Lmax denote the objective function value of the best and worst partial

solution discovered from the beginning of the search process.The approximate reasoning algorithm to determine bee’s loyalty to its partial

solution contained the rules of the following type:

If the discovered partial solution is BADThen loyalty is LOW.

Bees use approximate reasoning, and compare their discovered partial solutionswith the best, and the worst discovered partial solution from the beginning of thesearch process. In this way, ’historical facts’ discovered by all members of the beecolony have significant influence on the future search directions.

Based on the quality of its solution each bee decided with certain probabilityweather to stay loyal or became an uncommitted follower. Each partial solution(partial path) that was being advertised in the dance area had two main attributes:(a) the objective function value; and (b) the number of bees that were advertisingACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

BCO: The Applications Survey · 11

the partial solution (partial path). The number of bees advertising the partial solu-tion was a good indicator of a bees’ collective knowledge. It showed how a bee colonyperceives specific partial solutions. The authors used the approximate reasoningalgorithm to determine the advertised partial solution attractiveness consisted ofthe rules similar to:

If the length of the advertised path is SHORT and the number of beesadvertising the path is SMALLThen the advertised partial solution attractiveness is MEDIUM

The approximate reasoning algorithm was used to calculate the number of shiftingbees with the rules of the following type:

If bees’ loyalty to path pi is LOW and path pj ’s attractiveness is HIGHThen the number of shifting bees from path pi to path pj is HIGH

In this way, the number of bees flying along a specific path is changed beforebeginning of the new forward pass. Using collective knowledge and sharing infor-mation among themselves, bees concentrate on more promising search paths, andslowly abandon the less promising ones.

The proposed model was tested in the case of ride-sharing demand from Trani,a small city in the south-east of Italy, to Bari, the regional capital of Puglia. Theauthors collected data regarding 97 travellers demanding ride sharing, and assumed,for the sake of simplicity, that capacity is four passengers for all their cars. TheBCO obtained result turned out to be the optimal one, yielding up to four timessavings regarding the number of cars.

4.4 BCO for Routing and Wavelength Assignment in All-Optical Networks

The Routing and Wavelength Assignment (RWA) in All-Optical Networks is thewell-known optimization problem in telecommunication. The RWA problem couldbe described in the following way: Assign a path through the network and a wave-length on that path for each considered connection between a pair of nodes in sucha way to maximize the total number of established connections in the network.

In [Markovic et al. 2007] this problem had successfully been solved by the BCOmeta-heuristic. The authors called the proposed algorithm the BCO-RWA. Anartificial network had been created with nodes representing the collection of allconsidered origin-destination pairs. Each artificial node is comprised of an originand destination linked by a number of routes. Light-path is a route chosen by beeagent. Bee agent’s entire flight is collection of established light-paths.

During forward pass each bee visited n nodes (tried to establish n new light-paths). That means NC = n, where n was selected in such a way that n � m, mrepresenting the total number of requested light-paths. At every node a bee waschoosing among remaining artificial nodes (not previously selected ones). Sequenceof the n visited artificial nodes generated by the bee represented one partial solutionof the problem considered. Bee was not always successful in establishing light-path when visiting artificial node. Bee’s success depended on the wavelengths’availability on the specific links. In this way, generated partial solutions differedamong themselves according to the total number of established light-paths.

ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

12 · Dusan Teodorovic et al.

Probability p that specific unvisited artificial node will be chosen by the bee was1/nunvis, where nunvis was the total number of unvisited artificial nodes. By visit-ing specific artificial node in the network bees attempted to establish the requestedlight-path between one real source-destination node pair in optical network. Letus assume that the specific bee decided to consider the light-path request betweenthe source node s and the destination node d. In the next step, it was necessaryto choose the route and to assign an available wavelength along the route betweenthese two real nodes. For every node pair (s, d), the authors defined a subset Rsd ofallowed routes that could be used when establishing the light-path. These subsetswere defined by using the k shortest path algorithm: For each of the k possibleroutes the bee’s utility when choosing the considered route was calculated. Theshorter the chosen route and the higher the number of available wavelengths alongthe route, the higher the bee’s utilities were. The authors defined the bee’s utilitiesV sd

r when choosing the route r between the node pair (s, d) in the following way:

V sdr = a

1hr − hr min + 1

+ (1 − a)Wr

Wmax(7)

where:r - the route ordinary number for a node pair, r = 1, 2, ..., k r ∈ Rsd;hr - the route length expressed in the number of physical hops;hr min - the length of the shortest route rmin;Wr - the number of available wavelengths along the route r;Wmax = max

r∈Rsd{Wr} - the maximum number of available wavelengths among all

routes r ∈ Rsd;a - weight (importance of the criteria), 0 ≤ a ≤ 1.Bees decide to choose a physical route in optical network in a random man-

ner. Inspired by the Logit model, the authors assumed that the probability psdr of

choosing route r in the case of origin-destination pair (s, d) equals:

psdr =

⎧⎨⎩

eV sdr

∑ |Rsd|i=1 eV sd

i, ∀r ∈ Rsd and Wr > 0;

0, ∀r ∈ Rsd and Wr = 0.(8)

where |Rsd| is the total number of available routes between pair of nodes (s, d).The route r is available if there is at least one available wavelength on all links thatbelong to the route r.

As a criterion for the partial solution evaluation the total number of establishedlight-paths from the beginning of the search process by the b-th bee was used. Aftersolutions are evaluated (and normalized) the loyalty decision and recruiting processare performed as described at the end of Section 3.

The BCO-RWA algorithm from [Markovic et al. 2007] was tested on a few nu-merical examples with number of requested light-paths ranging from 28 to 40.The authors formulated corresponding Integer Linear Program (ILP) to determineoptimal solutions for the considered examples. They compared the BCO-RWA re-sults with the optimal solution. Some of the comparison results are shown in theTable III. From the results presented in Table III it can be concluded that the pro-posed BCO-RWA algorithm has been able to produce optimal, or a near-optimalACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

BCO: The Applications Survey · 13

solutions in a reasonable amount of computer time.

Table III. The results obtained by comparison of BCO-RWA with ILP

Total Number of Number of CPU time BCO

number of wave- established (sec) Relativerequested lengths light-paths error (%)

light-paths ILP BCO-RWA ILP BCO-RWA

38 1 17 16 16 5.67 5.88

2 28 27 247 6.09 3.573 35 35 261 6.23 0

4 38 38 1773 6.33 0

40 1 17 16 31 6.00 5.88

2 28 27 491 6.28 3.57

3 35 35 429 6.61 04 40 40 1346 6.67 0

4.5 BCO Approach to Optimize Locations of Traffic Sensors on Highways

The placement of point detectors within a roadway network problem belongs to thefield of location theory. Point detectors are deployed on roadways to collect trafficdata including volume, occupancy, and speed. The spacing of detectors on freewayshas a key impact on the travel time estimates obtained from the reported speeds.There is a tradeoff between detector spacing and travel time estimate correctness.Transportation agencies are therefore seeking a method to indicate the most appro-priate locations for detector deployment such that the travel time estimate error isminimized, within the constraints of available capital and maintenance funding.

In [Edara et al. 2008; Selmic et al. 2008] it was studied the problem of optimalplacing traffic detectors on freeways and developed the BCO algorithm to solve it.The proposed model tried to minimize the error in travel time estimation, whiletaking into account the constraints of available capital and maintenance funding.

During the forward pass of the BCO algorithm the Logit model [McFadden 1973]was used for selection of the potential detector locations (NC was equal to one).The probability of a bee choosing the node i was expressed using the Logit modelas follows:

pi =eUi∑n

r=1 eUr, (9)

where Ui represented the utility of having a detector at node i. This utility de-pended on several factors that may affect travel time estimates. Factors such asthe presence of a natural bottleneck at that location (e.g. a lane reduction) thatleads to recurring congestion during the peak traffic periods, historical accidentlikelihoods (to monitor the induced delays by deploying detectors), level of trafficvolumes, etc, can be used to determine the utilities. It was assumed that all poten-tial detector locations have equal utilities. Within each forward pass a bee visiteda certain number of nodes and created a partial solution (choose few nodes thatbecome detector locations).

ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

14 · Dusan Teodorovic et al.

Each generated partial solution was characterized by the travel time estimationerror. As the criteria for comparison of partial solutions, the maximum travel timeerror over all travel time runs was selected. After solutions are evaluated (andnormalized) the loyalty decision and recruiting process are performed as describedat the end of Section 3.

The proposed BCO algorithm was tested on a real-world freeway segment inVirginia. One of the main purposes of developing proposed methodology was togenerate tradeoff plots between the travel time error and the number of detectorswhich would give the optimal placement of detectors for different levels of availablefunding. Results of the BCO runs from [Selmic et al. 2008] are shown in Figure 4.

0

1.7

3.3

5

6.7

8.3

10

2 4 6 8 10 12 14 16 18 20

GA Solutions

BCO Solutions

Number of Detector Deployed

Ma

xim

um

TT

Estim

atio

nE

rro

r (M

inu

tes)

Fig. 4. Maximum Travel Time Estimation Error Plot (BCO vs GA)

Tradeoff plots were generated by varying the actual number of detectors (d)from 2 to 20 in increments of 1. For a given number of detectors, the obtainedoptimal placement would result in a travel time estimation error for each travel timerun. The maximum error versus the detector deployment obtained by the Geneticalgorithms (GA) is also plotted in Figure 4. These results enabled savings of 30%as compared to the current deployment at 20 locations. The obtained results werevery competitive when compared with the results of Genetic Algorithms achievedin previous study [Edara et al. 2008].

4.6 Optimal Placement and Calculation of the Number of the Distributed Generation(DG) in Electric Network by BCO

In [Anantasate et al. 2009] the authors studied the problem of optimal placing dis-tributed generation (DG) in the electric network in Greater Mekong subregion. In atraditional way, electricity is generated at central stations, and powered up throughtransformers. Electricity is then transmitted over high voltage transmission lines,and passed down through low voltage distribution lines to final circuits for deliveryto the clients. This centralized generation pattern is characterized by transmissionACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

BCO: The Applications Survey · 15

losses, the need for permanent improvement and replacement of the transmissionand distribution facilities. In last decade, the placement of small-scaled generatorsin the electric network in Greater Mekong subregion has been considered. Thesesmall-scaled generators (distributed generation (DG)), are installed in the networkto act as a source of power at the site where they are to be used. The DG’s canbe driven by various types of resource and technology such as wind, solar, fuelcells, hydrogen, and biomass. DG’s are also an alternative for some industrial andcommercial customers.

The authors proposed mathematical formulation for the problem of optimal place-ment of distributed generation (DG) in the electric network. The main objectivewas minimization of the real power loss along with violation of system contin-gency (voltage violation and line overloading). The authors formulated combinato-rial problem with multiple objectives. The considered multi-objective optimizationproblem is converted to a single objective problem with the help of suitable weights.The set of constraints took care about power balance and power generation limit.The authors performed simulation on the IEEE 30-bus system. The performed ex-periments showed that BCO can obtain the optimal solutions faster than GeneticAlgorithm (GA), Simulated Annealing (SA), and Tabu Search (TS). The averagecomputing time of BCO, GA, SA, and TS are shown in Table IV.

The authors of [Anantasate et al. 2009] also performed single objective optimiza-tion. They showed that when trying to minimize only system loss BCO can placeDG’s in such a way that system loss is reduced 27% in comparison with systemwithout DG’s. In the case of minimization of system contingency (voltage viola-tion and line overloading) BCO placed DG’s in such away that violation is reduced43.75% in comparison with system without DG’s.

Table IV. Comparison results for DG problem

Meta-heuristic Average CPU [sec]

GA 7.0293

SA 4.7729TS 7.5553BCO 1.2219

4.7 Scheduling Independent Tasks by BCO and Parallel BCO

In [Davidovic et al. 2009b; 2009a] the authors applied BCO heuristic algorithmto the problem of static scheduling of independent tasks on identical machines.This problem can be described as follows. Let T = {1, 2, . . . , n} be a given setof independent tasks, and P = {1, 2, . . . ,m} a set of identical machines. Theprocessing time of task i (i = 1, 2, . . . , n) is denoted by li. All tasks are mutuallyindependent and each task can be scheduled to any machine. All given tasks mustbe executed. Task preemption is not allowed. Task should be scheduled to exactlyone machine and machines can execute one task at a time. The goal is to find aschedule of tasks to machines such that the corresponding completion time of alltasks (the so called makespan) is minimized.

ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

16 · Dusan Teodorovic et al.

At each iteration of its execution BCO performed constructive steps composed offorward and backward passes and within them generated B solutions (schedules),one schedule for each bee. Within a single forward step each bee had to selectNC task-processor pairs and add them to its current partial schedule. The authorsassumed that the probability pi that specific bee chooses task i was equal:

pi =li

K∑k=1

lk

, i = 1, 2, . . . , n (10)

with li representing the processing time of the i-th task and K being the number of”available” tasks (not previously chosen). Obviously, tasks with a higher processingtime have a higher chance to be chosen. Using relation (10) and a random numbergenerator, we determine a task to be chosen by each bee.

In addition, the authors assumed that the probability pj that specific bee choosesprocessor j was calculated as:

pj =Vj

m∑k=1

Vk

, j = 1, 2, . . . ,m (11)

where

Vj =max F − Fj

max F − min F, j = 1, 2, . . . ,m (12)

and Fj represents running time of processor j based on tasks already scheduled to it;max F denotes maximum over all processors running times; minF being minimumover all processors running times.

Therefore, Vj represented normalized value for the running time of correspondingprocessor and as such was used in the definition of probability for its selection.

The backward pass starts with the evaluation of all partial solutions generatedduring the preceding forward pass. The latest time point of finishing the last task atany processor characterizes each generated partial solution. After solutions are eval-uated (and normalized) the loyalty decision and recruiting process are performedas described at the end of Section 3.

The BCO implementation was tested on examples with known optimal solu-tions. Optimal solutions were obtained by using ILOG AMPL and CPLEX 11.2optimization software. Both programs, CPLEX and our BCO are running on thesame computer and the authors were able to compare execution times and solutionquality for these programs.

Out of the large number of experimental results presented in [Davidovic et al.2009b; 2009a] we present in the Table V the comparison between BCO and CPLEXfor the largest size instances. The BCO algorithm parameters were set to the fol-lowing values: The total number of bees B engaged in the search process was equalto 5; the number of moves during one forward pass (generated task-processor pairs)NC was equal to 10; as the stopping criterion was selected number of iterations Iwithin one run and was assigned values 100.ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

BCO: The Applications Survey · 17

Table V. The comparison of the BCO results the optimal ones for n=5000

Opt BCO BCO BCOm OPT CPU time BCO % error min time CPU time

4 6844 1.112 6844 0.000 0.070 69.2198 3422 6.113 3422 0.000 0.209 200.967

16 1711 9.786 1711 0.000 0.217 219.867

25 1095 30.288 1095 0.000 0.226 231.66550 548 28.561 548 0.000 0.251 250.562

100 274 1130.31 277 1.095 0.560 295.850

4.7.1 Parallel BCO. The above described implementation represented good start-ing point for testing parallelization strategies of BCO. In [Davidovic et al. 2010] twosynchronous parallelization strategies of BCO were proposed. The parallel BCOwas implemented in C programming language with MPI communication library.

The test instances were the same one that have been used in [Davidovic et al.2009a]. It allowed authors to easily compare sequential and parallel BCO ver-sions and measure the performance for various parallelization strategies. The tar-get architecture for parallelized BCO in [Davidovic et al. 2010] was homogeneouscompletely connected network of processors. One of them was responsible for thecommunication with user and was named master. It is usually marked as processor0. The other q−1 processors were called working processors or slaves. Their markswere processor 1 up to processor q − 1. Parallel versions of BCO are executingon all q processors, i.e. computations were assigned to master too. Within theexperiments presented in [Davidovic et al. 2010] the q was changing from 2 to 12.

We present here some of the results for coarse grained parallelization strategyDBCO and for the other cases we just rewrite conclusions. The results of schedulingone of the largest size examples from [Tobita and Kasahara 2002] (with 5000 tasks)on different number of machines are given in Table VI. These instances were not toohard to be solved by sequential BCO, and even they were solvable to optimality byCPLEX within a reasonable CPU time. For all examples, within DBCO parametersettings were the following: B = 5, NC = 10 and stopping criterion 1000 iterations.

Table VI. The comparison of the sequential and parallel BCO, results for n = 5000m DBCO m DBCO

OPT q DBCO CPU t Sq Eq OPT q DBCO CPU t Sq Eq

16 1 1711 65.65 1.00 1.00 25 1 1095 69.75 1.00 1.00

2 1711 34.77 1.89 0.94 2 1095 37.12 1.88 0.94

1711 3 1711 23.20 2.83 0.94 1095 3 1095 24.76 2.82 0.944 1711 17.38 3.78 0.94 4 1095 18.50 3.77 0.94

5 1711 13.89 4.73 0.95 5 1095 14.12 4.70 0.94

50 1 548 81.03 1.00 1.00 100 1 277 104.46 1.00 1.002 548 43.51 1.86 0.93 2 277 65.39 1.85 0.93

548 3 548 29.04 2.79 0.93 274 3 277 37.54 2.78 0.934 548 21.73 3.73 0.93 4 277 28.21 3.70 0.93

5 548 17.41 4.65 0.93 5 277 22.56 4.63 0.93

ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

18 · Dusan Teodorovic et al.

Since for the calculation of the speedup and efficiency, ”the best sequential al-gorithm” is required, in [Davidovic et al. 2010] it was assumed that BCO from[Davidovic et al. 2009b; 2009a] can take the role of the best sequential algorithm.To assure fairness of obtained results, parallel versions of BCO were comparedwith the original sequential one executed on a single processor of given parallelarchitecture (instead of parallel version executed for q = 1).

As can be seen from the results presented in Table VI DBCO applied to thoseexamples showed very good performance, almost linear speedup and above 90%efficiency, and also the stability in the solution quality (there was no degradationin parallel execution). In some other examples, solution quality was changing, theauthors reported improvements or degradations for less than 3%. When testinganother variant of coarse grained parallelization the authors obtained excellent(superlinar) speedup and efficiency, due to the reduction of computations assignedto each processor. On the other hand, fine grained parallelization resulted in slowingdown the computations due to the communication delays caused by intensive dataexchange between processors. This strategy is obviously more suitable for sharedmemory multiprocessor systems.

5. CONCLUSION

The meta-heuristic Bee Colony Optimization, is inspired by the foraging behaviorof honeybees. The BCO represents a general algorithmic framework relevant tovarious optimization problems in management, engineering, and control, and itcould always be tailored for a specific problem. The BCO method is based on theconcept of cooperation, which increases the efficiency of artificial bees and allowsachievement of goals that could not be reached individually. The BCO has thecapability, through the information exchange and recruiting process, to intensifythe search in the promising regions of the solution space. When it is necessary, theBCO can also diversify the search: The freedom to make an individual decisionconstitutes that diversifying element.

The BCO has already been effectively applied to some combinatorial optimiza-tion problems, and we hope that extended application reports are to come quickly.Additionally, the appropriateness for parallelization of the BCO algorithm opensnot only a new research direction but also some new possible applications. On theother hand, the BCO has not been extensively used for solving real-life problemsand theoretical results supporting BCO concepts are still absent. That it the nec-essary work in the forthcoming research. Based on the achieved results and gainedexperience, new models founded on BCO principles (autonomy, distributed func-tioning, self-organizing) are expected to significantly contribute to solving complexengineering, management, and control problems. Until now, the most important di-rection of the future research is the mathematical validation of the BCO approach.In years to come, the authors expect more BCO based models, examining, for in-stance, bees’ homogeneity (homogenous vs. heterogeneous artificial bees), variousinformation sharing mechanisms, and various collaboration mechanisms.

Acknowledgements. This work has been supported by Serbian Ministry of Scienceand Technological Development, grants No. 144007 and 144033.ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

BCO: The Applications Survey · 19

REFERENCES

Abbass, H. A. 2001. MBO: marriage in honey bees optimization-a haplometrosis polygynousswarming approach. In Proceedings of the Congress on Evolutionary Computation. Seoul,South Korea, 207–214.

Afshar, A., Bozorg Haddad, O., Marino, M., and B.J., A. 2007. Honey-bee mating optimiza-tion (HBMO) algorithm for optimal reservoir operation. Journal of the Franklin Institute 344, 5

(Aug.), 452–462.

Anantasate, S., Chokpanyasuwan, C., Pattaraprakorn, W., and Bhasaputra, P. 2009.

Multi-objective optimal placement of distributed generation using bee colony optimization.

GMSARN International Journal 3, 55–64.

Baykasoglu, A., Ozbakyr, L., and Tapkan, P. 2007. Artificial bee colony algorithm andits application to generalized assignment problem. In Swarm Intelligence: Focus on Ant andParticle Swarm Optimization, T. S. C. Felix and K. T. Manoj, Eds. Itech Education andPublishing, Vienna, Austria, 113–143.

Benatchba, K., Admane, L., and Koudil, M. 2005. Using bees to solve a data-mining problemexpressed as a max-sat one. In IWINAC 2005, LNCS, 3562, J. Mira and J. R. Alvarez, Eds.Springer-Verlag, Berlin–Heidelberg, 212–220.

Beni, G. and Wang, J. 1989. Swarm intelligence. In Proceedings of the Seventh Annual Meetingof the Robotics Society of Japan. RSJ Press, Tokyo, 425–428.

Camazine, S. and Sneyd, J. 1991. A model of collective nectar source by honey bees: self-organization through simple rules. Journal of Theoretical Biology 149, 547–571.

Chong, C. S., Low, M. Y. H., Sivakumar, A. I., and Gay, K. L. 2006. A bee colony optimiza-tion algorithm to job shop scheduling simulation. In Proceedings of the Winter Conference,L. F. Perrone, F. P. Wieland, J. Liu, B. G. Lawson, D. M. Nicol, and R. M. Fujimoto, Eds.Washington, DC, 1954–1961.

Davidovic, T., Ramljak, D., Selmic, M., and Teodorovic, D. 2010. Parallel bee colony opti-mization for scheduling independent tasks to identical machines. In . (submitted).

Davidovic, T., Selmic, M., and Teodorovic, D. 2009a. Bee colony optimization for schedulingindependent tasks to identical processors. (Submitted for publication).

Davidovic, T., Selmic, M., and Teodorovic, D. 2009b. Scheduling independent tasks: Beecolony optimization approach. In Proc. 17th Mediterranean Conference on Control and Au-tomation (June 24-26,). Makedonia Palace, Thessaloniki, Greece, 1020–1025.

Drias, H., Sadeg, S., and Yahi, S. 2005. Cooperative bees swarm for solving the maxi-mum weighted satisfiability problem. LNCS: Computational Intelligence and Bioinspired Sys-tems 3512, 318–325.

Edara, P., Guo, J., Smith, B. L., and McGhee, C. 2008. Optimal placement of point detectorson Virginia’s freeways: case studies of northern Virginia and Richmond. Tech. rep., FinalContract Report VTRC 08-CR3, Virginia Transportation Research Council, Richmond, VA.

Edara, P., Selmic, M., and Teodorovic, D. 2008. Heuristic solution algorithms for a trafficsensor optimization problem. In INFORMS 2008. Washington D.C.

Hakimi, S. L. 1964. Optimal locations of switching centers and the absolute centers and mediansof a graph. Operations Research 12, 450–459.

Hakimi, S. L. 1965. Optimum distribution of switching centers in a communication network andsome related graph theoretic problems. Operations Research 13, 3 (May – Jun.), 462–475.

Karaboga, D. 2005. An idea based on honey bee swarm for numerical optimization. Tech. rep.,Erciyes University, Engineering Faculty Computer Engineering Department Kayseri/Turkiye.

Kariv, O. and Hakimi, S. L. 1969. An algorithmic approach to network location problems. partii: The p-median. SIAM Journal of Applied Mathematics 37, 539–560.

Koudil, M., Benatchba, K., Tarabetand, A., and El Batoul Sahraoui. 2007. Using artificial

bees to solve partitioning and scheduling problems in codesign. Appl. Math. Comput 186, 2(Mar.), 1710–1722.

ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.

20 · Dusan Teodorovic et al.

Lucic, P. and Teodorovic, D. 2001. Bee system: modeling combinatorial optimization trans-portation engineering problems by swarm intelligence. In Preprints of the TRISTAN IV Tri-ennial Symposium on Transportation Analysis. Sao Miguel, Azores Islands, 441–445.

Lucic, P. and Teodorovic, D. 2002. Transportation modeling: an artificial life approach. InProceedings of the 14th IEEE International Conference on Tools with Artificial Intelligence.Washington, DC, 216–223.

Lucic, P. and Teodorovic, D. 2003a. Computing with bees: attacking complex transportationengineering problems. International Journal on Artificial Intelligence Tools 12, 375–394.

Lucic, P. and Teodorovic, D. 2003b. Vehicle routing problem with uncertain demand at nodes:the bee system and fuzzy logic approach. In Fuzzy Sets based Heuristics for Optimization, J. L.Verdegay, Ed. Physica Verlag: Berlin Heidelberg, 67–82.

Markovic, G., Teodorovic, D., and Acimovic-Raspopovic, V. 2007. Routing and wavelengthassignment in all-optical networks based on the bee colony optimization. AI Commun. 20,273–285.

McFadden, D. 1973. Conditional logit analysis of quantitative choice behavior. In Frontier ofEconometrics, P. Zaremmbka, Ed. Academic Press, New York.

Mladenovic, N., Labbe, M., and Hansen, P. 2003. Solving the p-center problem with tabusearch and variable neighborhood search. Networks 42, 1, 48–64.

Navrat, P. 2006. Bee hive metaphor for web search. In Proceedings of the International Con-ference on Computer Systems and Technologies - CompSysTech 2006, B. Rachev and A. Sm-rikarov, Eds. Veliko Turnovo, Bulgaria, IIIA.12—1–7.

Pham, D. T., Ghanbarzadeh, A., Koc, E., Otri, S., and Zaidi, M. 2006. The bees algorithm- a novel tool for complex optimisation problems. In Proceedings of the 2nd Virtual Interna-tional Conference on Intelligent Production Machines and Systems (IPROMS 2006). Elsevier,Cardiff, 454–459.

Quijano, N. and Passino, K. M. 2007a. Honey bee social foraging algorithms for resource alloca-tion, Part I: Algorithm and theory. In Proceedings of the 2007 American Control Conference.New York, 3383–3388.

Quijano, N. and Passino, K. M. 2007b. Honey bee social foraging algorithms for resourceallocation, Part II: Application. In Proceedings of the 2007 American Control Conference.New York, 3389–3394.

Teodorovic, D. and Dell’Orco, M. 2005. Bee colony optimization - a cooperative learningapproach to complex transportation problems. In Advanced OR and AI Methods in Trans-portation. Proceedings of the 10th Meeting of the EURO Working Group on Transportation.Poznan, Poland, 51–60.

Teodorovic, D. and Dell’Orco, M. 2008. Ritigating traffic congestion: solving the ride-matching problem by bee colony optimization. Transport. Plan. Techn. 31, 135–152.

Teodorovic, D. and Selmic, M. 2007. The BCO algorithm for the p-median problem. In Pro-ceedings of the XXXIV Serbian Operations Research Conferece. Zlatibor, Serbia (in Serbian).

Tobita, T. and Kasahara, H. 2002. A standard task graph set for fair evaluation of multipro-cessor scheduling algorithms. J. Sched. 5, 5, 379–394.

Selmic, M., Edara, P., and Teodorovic, D. 2008. Bee colony optimization approach to optimizelocations of traffic sensors on highways. Tehnika 6 (in Serbian), 9–15.

Wedde, H. F., Farooq, M., and Zhang, Y. 2004. BeeHive: an efficient fault-tolerant rout-ing algorithm inspired by honey bee behavior. LNCS: Ant Colony Optimization and SwarmIntelligence 3172, 83–94.

Yang, C., Chen, J., and Tu, X. 2007. Algorithm of fast marriage in honey bees optimizationand convergence analysis. In Proceedings of the IEEE International Conference on Automation

and Logistics. Jinan, China, 1794–1799.

Zaheh, L. 1965. Fuzzy sets. Information and Control 8, 338–353.

Received February 2010; Revised ???; accepted ???

ACM Transactions on Computational Logic, Vol. ??, No. ??, ?? 2011.