[ieee 2012 ieee 16th international conference on computer supported cooperative work in design...

7
Proceedings of the 2012 IEEE 16th Inteational Conference on Computer Supported Cooperative Work in Design Task Assignment Approach in a Multi-Agent System Hong Liu School of Information Science and Engineering Shandong Normal University Shandong Provincial Key Laboratory for Novel Disibuted Computer Soſtware Technology Jinan City, P. R. China E-mail:[email protected] Abstract-Task assignment problem is one of the important research topics in a multi-agent system. It is desired to assign each task to a suited agent with a minimum total cost. For the advantages of memory, multi-character, local search and the solution improvement mechanism in artificial bee colony (ABC) algorithm, a task assignment approach based on ABC in a multi- agent cooperative design system is proposed in this paper. Experimental results demonstrate that the optimal solutions obtained by the ABC algorithm are better than genetic algorithm and particle swarm optimation on solving some task assignment problems. Kwords- task assignment, acial bee colony algorithm, cooperative design I. INTRODUCTION Task assignment problem (TAP) is one of the important research topics in a multi-agent cooperative design system. This problem involves assigning a set of tasks to a set of agents in a disibuted system, and its objective was to minimize the s of communication among cooperative agents and task processing costs. In other words, TAP to fmd the minimal costs in a multi-agent cooperative design system which subjects to several resource consaints, for the optimization of TAP enables a disibuted system to work more effectively and efficiently. In general, fmding optimal solutions for the task assignment problem is NP-complete problems. Therefore, only small-sized instances of the problem can be solved optimally using exact algorithms. For large scale instances, most researchers have focused on developing heuristic algorithms that yield near- optimal solutions within a reasonable computation time. Nerous consctive heuristics have been reported for meta-task assignment. Vidythi and Tripathi [1] presented a solution procedure using a simple genetic algorithm (GA) to quickly find a near optimal allocation. Attiya and Hamam [2] developed a simulated annealing (SA) algorithm for the problem and evaluated its performance in comparison with branch-and-bound technique with satisfactory results. Yin et al. [3 ] proposed a hybrid algorithm that combines pticle swarm optimization with a hill climbing heuristic. They claimed that their approach ouerform a GA in terms of effectiveness and efficiency for the test-cases studied. Salman et al. [4] presented a task assignment algorithm that is based on the principles of particle swm optimization (PSO). PSO follows a This paper is supported by the National Natural Science Foundation of China (No.60970004) and the Ph.D. Programs Foundation of Minisy of Education of China (No. 20093704110002), Natural Science Foundation of Shandong Province (No. ZR20IOQLOI) and Shdong Provincial Key Laboratory Project. 978-1-4673-1212-7/12/$31.00 ©2012 IEEE 47 Yuling Sun School of Information Science and Engineering Shandong Normal University Shandong Provincial Key Laboratory for Novel Disibuted Computer Soſtware Technology Jinan City, P.R. China Email:[email protected] collaborative population-based search, which models over the social behavior of bird flocking and fish schooling. PSO system combines local search methods (through self- experience) with global search methods (through neighboring experience), attempting to balance exploration and exploitation. They also discussed the adaptation and implementation of the PSO sech sategy to the task assignment problem. Because of the inactable nature of the task allocation problem and ever growing demand for disibuted computing, it is desirable to explore other avenues for developing good heuristic algorithms for the problem. Bees are social insects living in hives, in very organized colonies. A colony of bees is made up of three categories of adults: the queen, the drones and the workers. The bees are one of the most studied social insects, undoubtedly because they are among the most organized animals and, as a result, the most atactive ones. Indeed, the bees live in communities, divided into several social layers. They communicate by several means (dance of the bees, pheromone... ) and cooperate in the realization of various tasks, such as the consction and the maintenance of the hive, the harvest of pollen, etc. interesting sey of the bees' behavior inspired algorithms could be found in [5, 6]. The Artificial Bee Colony (ABC) algorithm, proposed by Karaboga in 2005 [7] and her developed by Kaboga and Basturk [8], is a new population-based meta-heuristic approach. It is inspired by the intelligent foraging behavior of the honeybee swm. Kaboga and his coparers [9, 10] compares the performance of ABC algorithm with that of DE and PSO algorithms, and EA for a set of well-known test nctions. Also, the performance of ABC is analyzed under the change of conol parameter values. Simulation results show that ABC algorithm performs better than the mentioned algorithms and can be efficiently employed to solve the multimodal engineering problems with high dimensionality. More specifically conceing task assignment, Lale at al. developed a bee algorithm for solving generalized assignment problems with an ejection chain neighborhood mechanism [11]. Yeh et al. proposed a penalty guided artificial bee colony algorithm to solve the reliability redundancy allocation problem [12]. Because ABCs have the advantages of memory, multi- character, local search and the solution improvement mechanism, they are able to discover an excellent optimal

Upload: yuling

Post on 08-Dec-2016

216 views

Category:

Documents


1 download

TRANSCRIPT

Proceedings of the 2012 IEEE 16th International Conference on Computer Supported Cooperative Work in Design

Task Assignment Approach in a Multi-Agent System

Hong Liu School of Information Science and Engineering

Shandong Normal University Shandong Provincial Key Laboratory for Novel

Distributed Computer Software Technology Jinan City, P. R. China

E-mail:[email protected]

Abstract-Task assignment problem is one of the important research topics in a multi-agent system. It is desired to assign each task to a suited agent with a minimum total cost. For the advantages of memory, multi-character, local search and the solution improvement mechanism in artificial bee colony (ABC) algorithm, a task assignment approach based on ABC in a multi­agent cooperative design system is proposed in this paper. Experimental results demonstrate that the optimal solutions obtained by the ABC algorithm are better than genetic algorithm and particle swarm optimization on solving some task assignment problems.

Keywords- task assignment, artificial bee colony algorithm, cooperative design

I. INTRODUCTION

Task assignment problem (TAP) is one of the important research topics in a multi-agent cooperative design system. This problem involves assigning a set of tasks to a set of agents in a distributed system, and its objective was to minimize the sum of communication among cooperative agents and task processing costs. In other words, TAP try to fmd the minimal costs in a multi-agent cooperative design system which subjects to several resource constraints, for the optimization of TAP enables a distributed system to work more effectively and efficiently.

In general, fmding optimal solutions for the task assignment problem is NP-complete problems. Therefore, only small-sized instances of the problem can be solved optimally using exact algorithms. For large scale instances, most researchers have focused on developing heuristic algorithms that yield near­optimal solutions within a reasonable computation time.

Numerous constructive heuristics have been reported for meta-task assignment. Vidyarthi and Tripathi [1] presented a solution procedure using a simple genetic algorithm (GA) to quickly find a near optimal allocation. Attiya and Hamam [2] developed a simulated annealing (SA) algorithm for the problem and evaluated its performance in comparison with branch-and-bound technique with satisfactory results. Yin et al. [3] proposed a hybrid algorithm that combines particle swarm optimization with a hill climbing heuristic. They claimed that their approach outperform a GA in terms of effectiveness and efficiency for the test-cases studied. Salman et al. [4] presented a task assignment algorithm that is based on the principles of particle swarm optimization (PSO). PSO follows a

This paper is supported by the National Natural Science Foundation of China (No.60970004) and the Ph.D. Programs Foundation of Ministry of Education of China (No. 20093704110002), Natural Science Foundation of Shandong Province (No. ZR20IOQLOI) and Shandong Provincial Key Laboratory Project.

978-1-4673-1212-7/12/$31.00 ©2012 IEEE 47

Yuling Sun School of Information Science and Engineering

Shandong Normal University Shandong Provincial Key Laboratory for Novel

Distributed Computer Software Technology Jinan City, P.R. China

Email:[email protected]

collaborative population-based search, which models over the social behavior of bird flocking and fish schooling. PSO system combines local search methods (through self­experience) with global search methods (through neighboring experience), attempting to balance exploration and exploitation. They also discussed the adaptation and implementation of the PSO search strategy to the task assignment problem. Because of the intractable nature of the task allocation problem and ever growing demand for distributed computing, it is desirable to explore other avenues for developing good heuristic algorithms for the problem.

Bees are social insects living in hives, in very organized colonies. A colony of bees is made up of three categories of adults: the queen, the drones and the workers. The bees are one of the most studied social insects, undoubtedly because they are among the most organized animals and, as a result, the most attractive ones. Indeed, the bees live in communities, divided into several social layers. They communicate by several means (dance of the bees, pheromone ... ) and cooperate in the realization of various tasks, such as the construction and the maintenance of the hive, the harvest of pollen, etc. An interesting survey of the bees' behavior inspired algorithms could be found in [5, 6].

The Artificial Bee Colony (ABC) algorithm, proposed by Karaboga in 2005 [7] and further developed by Karaboga and Basturk [8], is a new population-based meta-heuristic approach. It is inspired by the intelligent foraging behavior of the honeybee swarm. Karaboga and his copartners [9, 10] compares the performance of ABC algorithm with that of DE and PSO algorithms, and EA for a set of well-known test functions. Also, the performance of ABC is analyzed under the change of control parameter values. Simulation results show that ABC algorithm performs better than the mentioned algorithms and can be efficiently employed to solve the multimodal engineering problems with high dimensionality.

More specifically concerning task assignment, Lale at al. developed a bee algorithm for solving generalized assignment problems with an ejection chain neighborhood mechanism [11]. Yeh et al. proposed a penalty guided artificial bee colony algorithm to solve the reliability redundancy allocation problem [12].

Because ABCs have the advantages of memory, multi­character, local search and the solution improvement mechanism, they are able to discover an excellent optimal

solution. Although some applications using ABC are proposed in the literature, it is very a little to solve task assignment problem.

This paper presents a novel approach to solve the task assignment problem in multi-agent cooperative design system using honey bees optimization algorithm. Because ABCs have the advantages of memory, multi-character, local search and the solution improvement mechanism, they are able to discover an excellent optimal solution.

II. MULTI-AGENT COOPERATIVE DESIGN SYSTEM

Multi-agent collaborative design system is concerned with how a group of intelligent agents can cooperate to jointly solve problems. Design is a complex knowledge discovery process in which information and knowledge of diverse sources are processed simultaneously by a team of designers involved in the life phases of a product. Complex design generally combines automated software components with human decision-makers, making it imperative to provide support for both human and computational participants in the design process [13].

The general architecture of a multi-agent collaborative design system is organized as a population of asynchronous semi-autonomous agents for integrating design and engineering tools and human specialists in an open environment. Each tool (or interface for human specialist) can be encapsulated as an agent. These tools and human specialists are connected by a local network and communicated via this network. Each can also communicate directly with other agents located in the other local networks by the Internet. The agents exchange design data and knowledge via a local network or the Internet via the management agent [14].

All agents in this system form an agent group. There are three classes of agents: management agent, tool agents and design agents. These agents are situated on the different layers. The hierarchical relation limits the authority of the agents in the group .

• Management agent locates on the server and manages the whole design group. The action of management agent usually shows the decision and inquiry for the problem, control and supervision for lower layer agents. The knowledge in the KB of a management agent includes all design agent's name, address, and skills or competencies, the history records of performing task and the reward in the group. When an agent is added to or deleted from the group, the corresponding knowledge of management agent will be modified .

• Tool agents include design tools, and management tools. They help management agent to complete system management tasks, such as communication management, task assignment, database management, knowledge management, collaboration management and system maintenance.

Task assignment agent help design engineer to decompose a large design task into several sub-tasks and assigns them to suitable design agents ..

Collaborative agent deals with conflict coordination during collaborative design process.

48

Design tool agents include AutoCAD, Pro-Engineer, Inventor, MicroStation, SolidWorks and so on. It also includes Video Conferencing system for synchronous collaborative design providing run-time support.

Communication agent provides support for interaction among agents and designers by E-mail, text, file, image, graph, audio and video. The exchange of data and files is based on the file transfer protocol (FTP) and TCPIIP protocol.

Process monitor agent watches the whole design process via its event monitor and dynamically maintains the information about the state of each design agent and the status of current design sub-tasks. Whenever a design event happened, the event monitor will be triggered and the correlative message will be passed suitable agents.

Assemble agent checks assembly constraints for fmished design components. When constraint violation is found, it will ask collaborative agent and communication agent to solve problem by coordination among design agents.

Knowledge maintenance agent and database agent maintain knowledge base and database respectively.

A collaborative design process is shown as Figure 1. When a large design task comes, task composition agent help design engineer to decompose it into several subtasks and send the sub-tasks to collaborative agent. The collaborative agent matches the sub-tasks and design agents according their ability. After a dynamic task assistant process, design agents and designers perform their own design tasks respectively. During design process, communication agent takes charge of interaction among agents. The KB & DB agents maintain knowledge and database. Process monitor agent watches the whole design process. When the assembly agent fmds constraint violation, it will inform collaborative agent and communication agent to solve problem by coordination among design agents. When a design phase is over, experts will evaluate the design result. Then, design process will be fmished or restarted according to experts' decision.

Designer

Figure 1. A collaborative design process

III. DYNAMIC TASK ASSIGNMENT

Task assignment agent employs a method that divides a design task into a sequence of subtasks and assigns them to suitable design agents.

A. The formal description of task assignment Definition 3.1. DAs denotes a design agent, in which, D

means the type of an agent and s is a character string that represents which group the agent belongs and its serial number in the group. For example, DAll is a design agent with number 1 in the group 1.

Defmition 3.2. Ts stands for a design task, c is a character string that represents the decomposed layer of the design task and the dependency relation. For example, an initial design task can be represented as T(, its subtasks are Tll,T12,oo .,Tln and the sub-processes of Tli are Tlil,T\i2, 0 0 .,Tlim separately, i.e. the length of string denotes the decomposed depth while the value expresses the dependency relation i.

The dependency relation of design tasks forms a design task tree.

Defmition 3.3. T/ denotes the task i is being done by the design agent j.

We can know the group members who is performing the

task Ti by vector (T/ ' T/2 , 0 0 ' , T/) and the current tasks of

the design agent j by vector (I;{ , I;� , ... , I;!).

Defmition 3.4: The prior relation of design task is indicated by pair PRIOR (Ts(, Ts2), which means that the Ts2 takes the fulfillment of Tsl as the starting pre-condition; Tsl and Ts2 are the sequences of tasks respectively.

Defmition 3.5: The concurrent relation CONCUR (Ti, Tj) expresses the design tasks Ti and Tj can be carried out simultaneously.

Definition 3.6: The exclusive relation EXCLUDE (Ti, Tj) expresses the two tasks Ti and Tj can't be performed simultaneously.

Defmition 3.7: The event is expressed by denotation E ( i ). TABLE 1. NOTATIONS USED IN TAP FORMULATION

n the number of tasks in set T

m the number of agents in set A

bij

the amount of available resource by agent j (bj � 0)

rij the resource needed if task i is assigned to agent j (R IS a matrix of size n x m , rij � 0)

cij the cost needed if task i is assigned to agent j (C IS a matrix of sizenxm,cij � 0);

xij the decision variable if task i is assigned to agent j, xij=l; 0, otherwise

(C is a matrix of size n x m).

49

The general formulation of TAP can be described as follows:

Min

Subject to

n m

LLcijxij ;=1 j=1 n

L'ijXij ::;;bj Vi l�i::;;m ;=1

m

LXij =1 Vi j=l

Xij E {0,1} Vi 1::;; i::;; n

Vi 1 � i::;; m

1::;; i::;; n

(1)

(2)

(3)

(4)

According to equation (1) and Table 1, this is 0-1 quadratic integer programming problem, and its objective function is the total sum of execution costs and communication costs. This problem is limited by two kinds of constraints: the first constraint set (2) means that the task assigned to agent j can not exceed the resource capacity of agent j and the second constraint set (3) ensure that each task is assigned to only one agent.

B. Dynamic Resource Assignment Approach Based on ABC Algorithm

1) Bee colony initialization

Initial bee colony is constructed by using the initial task assignment algorithm. The greedy heuristic constructs a solution as follows:

• At each step, a next task to be assigned is selected.

• The agent (the selected task is going to be assigned to) is determined.

• Repeat these two steps until all tasks have been assigned to an agent.

In the algorithm the choice is probabilistic bias to a probability function. This function is updated at each iteration in a reinforcement way by using the features of good solutions.

An initial assignment is a mapping: J -- I, where a(j) = i means that task j is assigned to agent i.Let

ViE J}; which is the set of

tasks assigned to agent i in assignment.

The Initial Task Assignment Algorithm

Step 1 Initialization A={agent i} i=I,2,oo.,m; T={task j} j=1,2,o o .,n; Sj = ¢ , j=1,2,oo.m

(Sj is the set of task assigned to agent j)

Construct a list of agents Li for each task i. The agents

in Li possesses the capability to accomplish the task i.

Step 2 For (i=l;i<=n;i++) { Choose an agent j from Li ;

}

Count the probability according to the resource of agent j and the resource needed by task i

rj/ /bij

p

.. = X

1J r � Ibi/

The agent with minimal cost has greater probability to be chosen

Assign task i to agent j*; S._

= S._ Y (j*) ;

} } i=i+ I;

if " b .. _ > r._ L..J 1J }

remove j* from any list

Step 3 For (i=l;i<=n;i++) if i E Sj

(T(i) =j; Return;

2)The Solution Design

The ABC algorithm is an iterative algorithm. The colony of artificial bees also (bees for short) has the same three types of bees-employed, onlookers and scouts. The first half of the bee colony comprises employed bees, where as the latter half contains the onlookers. It starts by associating all employed bees with randomly generated food sources (solution). Then during each iteration, every employed bee determines a food source in the neighborhood of its currently associated food source and evaluates its nectar amount (fitness). If its nectar amount is better than that of its currently associated food source then that employed bee moves to this new food source leaving the old one, otherwise it retains its old food source. When all employed bees have finished this process, they share the nectar information of the food sources with the onlookers, each of whom selects a food source according to a probability proportional to the nectar amount of that food source.

The ABC algorithm assumes that there is only one employed bee for every food source (a design of the entire system), i.e., the number of food sources is same as the number of employed bees. The employed bee of an abandoned food source becomes a scout and as soon as it fmds a new food source it again becomes employed. At the initialization, the ABC generates a randomly distributed initial population of SN solutions (food source positions and the reliability), where SN denotes the size of employed bees or onlooker bees; a detailed statement follows.

50

Each solution X h (h = 1,2, L, SN) is a d-dimensional vector. Here, d is the number of optimization parameters. And then, the population of the positions (solutions) is subject to repeated cycles, C=I,2, ... ,Maximum Cycle Number (MCN), of the search processes of the employed bees, the onlooker bees and the scout bees. After building solutions, the subsequent task is to evaluate the food source (solutions) by a so-called fitness function, while the design of the fitness function is a crucial point in ABC, determining what ABC should optimize.

The fitness values are used to determine the probability of the bees being selected. In computing the value of fitness function a penalty term is added to the fitness function in order to convert the constrained problem into an unconstrained one. While constructing initial solutions by using the algorithm, the proposed approach may produce infeasible solutions. Therefore, there is an additional term in the fitness function which is determined by penalizing the infeasible solutions with a j

( a j >0). Fitness function is formally defined as follows:

m n m n jit(a-P) = LLcijxij + (Laj max(O, Lrijxij -bj ) (5)

j=1 i=1 j=1 i=1

(TP Solution of employed bee p;

fit( (TP ) Fitness function value of employed bee p;

rrbest v The best solution;

a j The cost of using one of overloaded capacity

of agent j.

The first term in the fitness function denotes the total cost of assignment of tasks to agents. The second term is defined as an additional penalty function for minimi-zation. a . represents

}

the cost of using one of overloaded capacity of agent j. Initial values of a j 's are set by the user. If a solution is not feasible

the second term will be positive and therefore the search will be directed to a feasible solution. If the capacity is not exceeded, this term will be zero to ensure not penalized. The parameter can be increased during the run to penalize infeasible solutions and drive the search to feasible ones which means the adaptive control of the penalty costs.

The ABC algorithm is an iterative algorithm. It starts by associating all employed bees with randomly generated food sources (solutions); during iteration, every employed bee determines a food source in the neighborhood of its currently associated food source and evaluates its nectar amount (fitness). If its nectar amount is better than that of its currently associated food source then that employed bee moves to this new food source leaving the old one, otherwise it retains its old food source. When all employed bees have fmished this process, they share the nectar information on the food sources with the onlookers, each of whom selects a food source according to a probability proportional to the nectar content of that food source. Then the solutions are selected for each task using the

probabilities established by (6) and the probability Ph of

selecting a solutionXh is determined.

(6)

Clearly, with this scheme good food sources will get more onlookers than the bad ones. After all onlookers have selected their food sources, each of them determines a food source in the neighborhood of his chosen food source and computes its fitness. The best food source among all the neighboring food sources determined by the onlookers, associated with a particular food source i itself, will be the new location of the food source i.

1) Local search/or improvement in solution After a solution is generated it is improved by using a local

search process called the greedy selection process carried out by onlooker and employed bees, in that if the nectar amount (fitness) of the candidate source is better than that of the present one, the bee forgets the present one and memorizes the candidate source. This is done by adding to the current value of the chosen parameter the product of a uniform variable in [-1,1] and the difference in values of this parameter of this food source and of some other randomly chosen food source.

Formally, suppose that each solution consists of d parame­ters and let Xh = (XhpXh2,K,Xhd) be a solution. To

determine a new solution NewX h in the neighborhood of Xh, a solution parameter j and another solution Xk = (XkPXk2,K,Xkd) are selected randomly. Except for the value of the selected parameter j, all other parameter values

of NewX h

are the same as X h i.e.,

NewXh = (XhPXh2,K,Xh '_pZh "Xh . pL,Xhd)' The value ,j ,j ,j+

NewX h of the selected from NewX h is determined using the

following formula:

NewXhj = Xhj + U(Xhj - Xk)

where u is an uniform variable in [1, 1]. If the resulting value falls outside the acceptable range for parameter j, it is set to the corresponding extreme value in that range.

2) Solution intensity update

The whole process is repeated again and again till the termination condition is satisfied. In ABC, providing that a position cannot be improved further through a predetermined number of cycles, then that food source is assumed to be abandoned. Assume that the abandoned source is X h ' then the

scout will discover a new food source to be replace withXh.

This operation can be defined as (8) .

X£ =X�in +rand[O.l](X�ax -X�in) j =I,2,oo.,d (8)

51

Dynamic Resource Assignment Algorithm Based on ABC

Step 1 Initialization A={agent i} i=I,2,oo.,m; T={task j} j=I,2,o o .,n; Construct initial bee population (solution)Xhj

as each bee is formed by the number of task and the number of agent, and the number of employed bees are equal to onlooker bees;

Intitiaze the max cycle number MCN; Evaluate fitness value and make the constrains

satisfactory for each employed bee; cycle=l;

Step 2 While (cycle<MSN) { Generate the new population (solution) NewXhj

in the neighborhood of X hj for the employed

bees using Eq. (7) and evaluate them; Apply a greedy selection process between

Xh and NewXh; Calculate the probability values p" of

selecting the solutions Xh by using Eq. (6);

Produce the new population NewXhi for the

onlookers from the population X hj , selected

depending on p" and evaluate them;

Apply a greedy selection process for the onlooker between Xh and NewXh;

Determine the abandoned solution for the scout, if it exists, and replace it with a new randomly produced solution Xh for

the scout bees using Eq. (8); Memorize the best solution achieved so far; cycle=cycle+ 1 ;

} Step 3 Finish the task assignment

IV. EXPERIMENTAL RESULTS

In this section, one design example and two test suits are given for showing the performance of the proposed ABC

Figure 2 is a CA6140 lathe sketch and it is taken as a design example in this section.

Figure 2. a design sketch ofCA6140 lathe

The criteria of performances considered are the quality of the solutions, which is cost of assignment, and the amount of CPU time used for the benchmarks. G (V,E) is used to illustrate TIG (Task Interaction Graph), V is a set of r nodes indicating the r tasks to be executed and E is a set of edges indicating the communication requirements among these tasks, each edge (i, j) E E is associated with a communication cost cij ' Fig. 3

shows a TIG related to figure 2 where the communication requirements among six tasks.

15 •• ---- ode weight

20

dge weight

25 Figure 3. An example of a TIG

There are two key factors which affect the problem complex. One is the task interaction density d of G(V,E) , which quantifies the ratio of the inter-task communication demands for a TIG. The other are the number of tasks (r) and the number of agents (n). Here, we defme d as Eq. (9).

d = ------,--IE-,-- I _ r(r-1)/2

Where lEI calculates the number of existing communication

demands in the TIG, and r(r -1) / 2 indicates the maximal number of communication demands among r tasks.

To be specific, a brief description and the parameter values that control each algorithm are given as follows:

(1) PSO:

(a) The size of the population equals to twice the number of tasks.

(b) The inertia weight W is set to 0.9.

(c) c1 =c2=1.0.

(2) GA:

(a) Crossover probability = 0.9.

(b) Mutation probability =l/(total number of tasks).

(c) Population size = twice the number of tasks.

(d) Elitism is used.

(e) Roulette wheel selection.

(3) ABC:

52

(a) The number of employed bees equals to the number of onlookers, and equals to the number of tasks.

(b) Maximum Cycle Number (MCN) = 1000.

(c) limit = 20.

(d) aj = 1.

A. Test suite 1 In this test suite, we generate TIG representing real-life

tree and Fork-Join problems. The structures of the two TIGs are fixed and each of them requires different number of vertices. We vary the size of TIG. The cost of each node is randomly selected from a normal distribution with mean equal to the specified average computation cost. The cost of each edge is also randomly selected from a normal distribution with mean equal to the product of the average computation cost with density d equivalent to 0.1, 0.5, 1.0, 2.0 and 10.0.

TABLE 2. COMP ARlSON OF RESULTS FOR TREE TYPE GRAPH STRUCTURE

pso GA ABC Tasks Times(s) Cost Times(s) Cost Times(s) Cost

10 0.006868 272.6592 0.0087 255.0182 0.005942 268.5683 20 0.070055 518.9565 0.080128 551.5127 0.06.6623 520.7253 30 0.24359 643.2102 0.27793 642.7952 0.212203 630.7668 40 0.632326 809.5605 0.686814 852.3117 0.5943 800.6471 50 1.164377 1029.841 1.330586 1073.758 1.125463 1010.632 60 1.942398 995.8665 2.354395 1046.949 1.87578 991.1036 70 3.061356 1372.893 3.735806 1543.903 2.898217 1320.758 80 4.71566 1267.116 5.864469 1361.481 4.276832 1189.523 90 6.870791 1471.317 8.617212 1474.�1 6.05837 1479.064 100 9.722069 1560.504 12.34386 1564.4 8.122204 1488.024 Total 28.42949 9941.924 35.29990 10366.�3 25.169311 9699.8121

) TABLE 3. COMPARISON OF RESULTS FOR FORK-JOIN TYPE GRAPH STRUCTURE

pso GA ABC Tasks Times(s) Cost Times(s) Cost Times(s) Cost

10 0.009158 310.571 0.009616 298.7352 0.007112 301.7529 20 0.076923 595.1565 0.08837 557.5495 0.706381 600.0979 30 0.255037 843.3817 0.303572 819.1293 0.20861 802.117 40 0.616758 1168.828 0.7587 1303.026 0.53887 1152.5683 50 16.09478 550.8643 16.26603 573.2727 16.08969 562.746 60 2.089744 1438.425 2.679029 1692.423 1.582842 1504.4828 70 3.298078 2012.21 4.243131 2099.977 2.896381 1998.0596 80 5.017399 2393.497 6.624999 2345.468 5.00008 2400.196 90 7.206502 2263.488 9.568681 2520.966 6.196751 2106.594 100 9.820055 2437.536 13.2184 2950.474 7.009675 2398.075 Total 44.48443 14013.958 53.76053 15161.021 40.23639 13826.69

Tables 2,3 show the results for the two graph structures on a 10-agent homogeneous system. Each result is an average of 20 test cases. Algorithm performances vary depending upon the structure of TIGs. It can be seen form the results that the ABC algorithm outperforms GA and PSO for task assignment problems. It gets the best solutions, and needs the least computation time. The harder the problem is, the larger the cost difference among the three algorithms, which means the proposed ABC algorithm is more scalable against problem complexity. The results illustrate that the ABC algorithm is competent for task assignment problems with both small and large scales.

B. Test suite 2 To analyze the convergence behavior of the proposed

algorithm, in this test suite we consider randomly generated

TIGs. We set the value of (r, n) to ( 10, 6) and (20, 12), respectively, in order to testify the algorithm with different problem scales. For each pair of (r, n), we generate three different TIGs at random. The values of the other parameters are generated randomly: the execution cost is between 1 and 200, the communication cost is between 1 and 50, and the memory and processing capacity of each agent varies from 50 to 250. Fig. 4 displays the typical convergence behaviors of the ABC, PSG and GA for an instance (r, n, d) = (50, 8, 0.3) and Fig. 5 displays an instance (r, n, d) = (80, 10, 0.5).

1000 ZXIO �o 4<00 tI(I)O 6(100 1000 8IXIO 9000 10000 C'yd,

Figure 4. Comparison figure of (r, n, d) = (50, 8, 0.3)

�r----------------------.

310.

Figure. 5. Comparison figure of (r, n, d) = (80, 10, 0.5)

The results showed that the proposed ABC algorithm has a clear advantage in convergence. It runs faster as compared with GA and PSG, and the solution quality is on the average better than GA and PSG. These results indicate that the proposed ABC has advantage in the stability, multi-character, and iterative speed in coordination with the demands of dynamic task assignment. It can combine global search and local search and be able to discover new optima over time. It is an attractive alternative for solving the task assignment problem.

V. CONCLUSION

Unlike the traditional heuristics, ABCs have advantages of memory, multi-character, local search and solution improvement mechanism so that they are able to discover new optima over time. As demonstrated in the previous work by Karaboga and Basturk [8,9], the best solutions found by ABCs are all better than the well-known best solutions found by other heuristic methods, i.e. the proposed method achieves the global

53

solution or finds a near-global solution in each example problem tested.

In this paper a relatively new member of swarm intelligence inspired by honey bees is explained. The proposed bee algorithm is a modified version of the basic ABC algorithm that was initially proposed by Karaboga [7].

Previous work has presented that bee inspired algorithms have a very promising potential for modeling and solving complex optimization problems. But there is still a long way to go in order to fully utilize the potential of bee inspired algorithms. This will be our future research work.

ACKNOWLEDGMENT

This paper is supported by the National Natural Science Foundation of China (No.60970004) and the Ph.D. Programs Foundation of Ministry of Education of China (No. 20093704110002), Natural Science Foundation of Shandong Province (No. ZR20IOQL01) and Shandong Provincial Key Laboratory Project.

REFERENCES

[1] Vidyarthi, D.P., Tripathi, A.K. "Maximizing reliability of distributed computing systems with task allocation using simple genetic algorithm". Journal of Systems Architecture. 2001, 47:549-554.

[2] Attiya, G., Hamam, Y. "Task allocation for maximizing reliability of distributed systems: a simulated annealing approach". Journal of Parallel and Distributed Computing. 2006, 66:1259-1266.

[3] Yin, P.y', Yu, S.S., Wang, P.P., Wang, Y.T. "Task system using hybrid particle swarm optimization". Journal of System and Software, 2007, 80: 724-735.

[4] Salman, A., Ahmad, I., AI--Madani, S. "Particle swarm optimization for task assignment problem". Microprocessors and Microsystems. 2002, 26(8):363-371.

[5] Karaboga D, Akay B. "A survey: algorithms simulating bee swarm intelligence". Artificial Intelligence Review 31,2009: 61-85.

[6] Teodorovic D. Bee colony optimization (BCO). In: Lim C P , Jain L C, Dehuri S, editors. "Innovations in swarm intelligence". Berlin, Heidelberg:Springer-Verlag, 2009, 39-60.

[7] Karaboga, D. "An idea based on honey bee swarm for numerical optimization", Technical Report TR06, Erciyes University, Engineering Faculty, Computer Engineering Department, 2005.

[8] Karaboga D, Basturk B. "A powerful and efficient algorithm for numerical function optimization: artificial bee colony (abc) algorithm". Journal of Global Optimization. 2007, 39:459-471.

[9] Karaboga D, Basturk B. "On the performance of artifical bee colony (abc) algorithm". Applied Soft Computing, 2008,8:687-697.

[10] Karaboga D, Akay B. "A comparative study of artifical bee colony algorithm. Applied Mathematics and Computation". 2009,214:108-132.

[11] Lale 6, Adil B, Pmar T. "Bees algorithm for generalized assignment problem". Applied Mathematics and Computation,2010,215:3782-3795.

[12] Yeh W. C, Hsieh T. J. "Solving reliability redundancy allocation problems using an artificial bee colony algorithm". Computers & Operations Research. 2011, 38:1465-1473.

[13] Lander E. S. "Issues in multiagent design systems", IEEE Expert, 1997, 12(2): 18-26.

[14] Liu H, Tang M. X. & Frazer J. H. "Supporting dynamic management in a multi-agent collaborative design system". International Journal of Advances in Engineering Software. 2004, 35:493-502.