12
Robotics and Autonomous Systems 61 (2013) 1653–1664 Contents lists available at ScienceDirect Robotics and Autonomous Systems journal homepage: www.elsevier.com/locate/robot Decentralized task allocation for surveillance systems with critical tasks Giulio Binetti , David Naso, Biagio Turchiano Department of Electrical and Electronic Engineering, Polytechnic of Bari, Italy highlights A task allocation problem with peculiar constraints, such as critical tasks, is modeled. Heterogeneous robotic agents with limited capacity are considered. The proposed decentralized algorithm relies on auction and consensus algorithms. The proposed decentralized algorithm is a polynomial time algorithm. article info Article history: Received 17 January 2013 Received in revised form 17 June 2013 Accepted 28 June 2013 Available online 4 July 2013 Keywords: Task allocation Auction Consensus Multi-robot Multi-agent abstract This paper considers the problem of assigning a set of tasks to a set of heterogeneous agents under the additional assumptions that some tasks must be necessarily allocated and therefore are critical for the assignment problem, and that each agent can execute a limited number of tasks. In order to solve this problem in a decentralized way (i.e., without any form of central supervision), we develop an extension of an algorithm proposed in the recent literature. After analyzing convergence and communication re- quirement of the algorithm, a set of numerical simulations is provided to confirm the effectiveness of the proposed approach. © 2013 Elsevier B.V. All rights reserved. 1. Introduction Driven by the evolution of computing and communication tech- nologies, many researchers have focused on algorithms suitable for decentralized environments, where each resource is governed by an autonomous decisional entity, called agent, which defines the actions performed by the controlled resource basing on lo- cal interactions with other agents. In the context of multi-agent systems, the problem of Task Allocation (or equivalently Task As- signment, TA) plays a central role in many different domains, ranging from operation research [1] to transportation [2,3] and ve- hicle routing [4], from pickup and delivery [5–7] to environmental surveillance and monitoring [8,9]. The area of multi-robot systems [10,11] is certainly one of the fields in which significant advances on decentralized TA algo- rithms have been recently achieved. In particular, in the context of robotics, tasks are often associated to destinations that agents have to reach [12,13]. For this reason, a considerable part of the literature focuses on specific aspects such as vehicle routing [14], trajectory planning [15], heterogeneous robot [16], energy Corresponding author. Tel.: +39 0805963924; fax: +39 0805963410. E-mail addresses: [email protected], [email protected] (G. Binetti), [email protected] (D. Naso), [email protected] (B. Turchiano). efficiency [17], uncertainty and robustness [18], temporal dead- line [19] or precedence constraints among tasks [20]. Moreover, the recent related literature also focuses on TA algorithms suit- able for large-scale systems [21,22] and coalition formation with constrained resources [23,24]. In the general context of TA algo- rithms, many authors have identified auction algorithms [25,26] as a powerful decision tool to deal with this type of problems [27–30]. This paper aims at extending the range of application of a class of auction-based TA algorithms by considering some important as- pects that emerge in application domains such as transportation, surveillance and environmental monitoring, which are often dis- regarded in target-tracking formulations. The first aspect is that the maximum number of tasks that can be assigned to a single agent (the agent capacity) is fixed a priori due to physical limita- tions (e.g., fuel or battery capacity, space for resources, etc.). More- over, it is also important to consider approaches suitable to deal with heterogeneous agents that can perform different tasks due to differences in their storage, sensory or actuating equipment. An- other peculiar requirement is the need of guaranteeing the assign- ment of some critical tasks which must be considered mandatory (e.g., pickup or delivery of highly dangerous or perishable materi- als, surveillance of critical targets). The proposed TA algorithm, called Decentralized Critical Task Allocation Algorithm (DCTAA), is based on the Consensus-Based 0921-8890/$ – see front matter © 2013 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.robot.2013.06.007

Decentralized task allocation for surveillance systems with critical tasks

  • Upload
    biagio

  • View
    220

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Decentralized task allocation for surveillance systems with critical tasks

Robotics and Autonomous Systems 61 (2013) 1653–1664

Contents lists available at ScienceDirect

Robotics and Autonomous Systems

journal homepage: www.elsevier.com/locate/robot

Decentralized task allocation for surveillance systems withcritical tasksGiulio Binetti ∗, David Naso, Biagio TurchianoDepartment of Electrical and Electronic Engineering, Polytechnic of Bari, Italy

h i g h l i g h t s

• A task allocation problem with peculiar constraints, such as critical tasks, is modeled.• Heterogeneous robotic agents with limited capacity are considered.• The proposed decentralized algorithm relies on auction and consensus algorithms.• The proposed decentralized algorithm is a polynomial time algorithm.

a r t i c l e i n f o

Article history:Received 17 January 2013Received in revised form17 June 2013Accepted 28 June 2013Available online 4 July 2013

Keywords:Task allocationAuctionConsensusMulti-robotMulti-agent

a b s t r a c t

This paper considers the problem of assigning a set of tasks to a set of heterogeneous agents under theadditional assumptions that some tasks must be necessarily allocated and therefore are critical for theassignment problem, and that each agent can execute a limited number of tasks. In order to solve thisproblem in a decentralized way (i.e., without any form of central supervision), we develop an extensionof an algorithm proposed in the recent literature. After analyzing convergence and communication re-quirement of the algorithm, a set of numerical simulations is provided to confirm the effectiveness of theproposed approach.

© 2013 Elsevier B.V. All rights reserved.

1. Introduction

Driven by the evolution of computing and communication tech-nologies, many researchers have focused on algorithms suitablefor decentralized environments, where each resource is governedby an autonomous decisional entity, called agent, which definesthe actions performed by the controlled resource basing on lo-cal interactions with other agents. In the context of multi-agentsystems, the problem of Task Allocation (or equivalently Task As-signment, TA) plays a central role in many different domains,ranging from operation research [1] to transportation [2,3] and ve-hicle routing [4], from pickup and delivery [5–7] to environmentalsurveillance and monitoring [8,9].

The area of multi-robot systems [10,11] is certainly one ofthe fields in which significant advances on decentralized TA algo-rithms have been recently achieved. In particular, in the contextof robotics, tasks are often associated to destinations that agentshave to reach [12,13]. For this reason, a considerable part of theliterature focuses on specific aspects such as vehicle routing [14],trajectory planning [15], heterogeneous robot [16], energy

∗ Corresponding author. Tel.: +39 0805963924; fax: +39 0805963410.E-mail addresses: [email protected], [email protected] (G. Binetti),

[email protected] (D. Naso), [email protected] (B. Turchiano).

0921-8890/$ – see front matter© 2013 Elsevier B.V. All rights reserved.http://dx.doi.org/10.1016/j.robot.2013.06.007

efficiency [17], uncertainty and robustness [18], temporal dead-line [19] or precedence constraints among tasks [20]. Moreover,the recent related literature also focuses on TA algorithms suit-able for large-scale systems [21,22] and coalition formation withconstrained resources [23,24]. In the general context of TA algo-rithms,many authors have identified auction algorithms [25,26] asa powerful decision tool to dealwith this type of problems [27–30].

This paper aims at extending the range of application of a classof auction-based TA algorithms by considering some important as-pects that emerge in application domains such as transportation,surveillance and environmental monitoring, which are often dis-regarded in target-tracking formulations. The first aspect is thatthe maximum number of tasks that can be assigned to a singleagent (the agent capacity) is fixed a priori due to physical limita-tions (e.g., fuel or battery capacity, space for resources, etc.). More-over, it is also important to consider approaches suitable to dealwith heterogeneous agents that can perform different tasks due todifferences in their storage, sensory or actuating equipment. An-other peculiar requirement is the need of guaranteeing the assign-ment of some critical tasks which must be considered mandatory(e.g., pickup or delivery of highly dangerous or perishable materi-als, surveillance of critical targets).

The proposed TA algorithm, called Decentralized Critical TaskAllocation Algorithm (DCTAA), is based on the Consensus-Based

Page 2: Decentralized task allocation for surveillance systems with critical tasks

1654 G. Binetti et al. / Robotics and Autonomous Systems 61 (2013) 1653–1664

Main Nomenclature

Na Number of agentsNt Number of tasks1 Matrix of admissible assignmentsI Index set for agentsJ1 Index set for critical tasksJ2 Index set for non-critical tasksbi Bundle of agent aipi Path of agent aiLt Bundle dimensionK Overload parametercij Score increment for agent ai adding task tj to its

bundle binij Inserting position for agent ai adding task tj to its

path piSpii Score for agent ai performing tasks along path pifi Feasible assignment (FA) for agent aiαi Dynamic assignability vector for agent aizi Winning agent vectoryi Winning bid vectorwi Second winning agent vectorvi Second winning bid vectorsi Timestamp vectormi Marked task vector

Bundle Algorithm (CBBA) which combines auction mechanismswith consensus algorithms [31] to solve spatially distributed taskassignment problems. The CBBA is based on a score function thatcondenses in a unique scalar figure the degree of effectiveness ofeach possible task-to-agent assignment. In principle, by ad hoc def-inition of its score function, the CBBA could cope with agent het-erogeneity, capacity constraints and mandatory assignments forcritical tasks. However, the design of a score function combiningin a satisfactory way the various objectives and constraints mayturn out to be another challenging optimization problem. More-over, incorporating hard constraints as penalty terms in the scorefunction does not give deterministic guarantees about their actualsatisfaction (e.g., a task can remain unassigned for an indefinitetime). The risk of leaving some of the critical tasks unassigned us-ing CBBA could be overcome by extending the bundle size, but thisoption is not admissiblewhen the bundle size is bounded by physi-cal constraints. For these reasons, this paper considers an approachin which assignment constraints (due to agent heterogeneity andlimited capacity) as well as the requirements of assigning criticaltasks are modeled as hard constraints, separated from the scorefunction which only considers ‘‘soft’’ (in opposition to hard) evalu-ation criteria related, e.g., to distance, energy efficiency or similarperformance measures.

Other interesting extensions of the CBBA have been alreadydeveloped to deal with issues such as time windows of task va-lidity [32], asynchronous communication [33], handling obstacleregions in path planning [34], cooperation and coupled constraintsbetween robots [35,36]. In [37] an extension is proposed to in-crease the exploration of the solution space, together with the al-gorithm complexity. In all the mentioned literature, as well as inthis paper, it is assumed that all the agents know the task set. Thecase in which some tasks are only known by a subset of agents isconsidered in [38]. A hierarchical architecture to handle in a coor-dinate way (small) teams of agents is proposed in [39]. It must beremarked that the mentioned CBBA extensions cannot guaranteethe assignment of critical tasks, since the allocation is exclusivelydriven by the score function.

The approach presented in this paper focuses on the useof teams of robots in surveillance problems [40,41], such as

monitoring of public and private sites. Surveillance systems en-compass spatially distributed mobile and static sensors to provideeffective complete monitoring of the area of interest. These sys-tems are typically heterogeneous, distributed, and characterizedby mandatory activities, and therefore motivate the decentralizedalgorithm developed here.

The main contributions of this work, which includes some pre-liminary results presented in [42], are as follows: (I) the descriptionof the TA problem with functional heterogeneity, resource con-straints, and guarantees of allocation of critical tasks; (II) the de-velopment of the DCTAA that solves the considered TA problem;(III) the analysis of theoretical issues concerning algorithm conver-gence and complexity; (IV) the algorithm validation in simulationunder different conditions and a comparisonwith a centralized op-timization algorithm.

The organization of the paper is as follows. Section 2 formulatesthe problem statement while Section 3 describes the proposed TAalgorithm. Section 4 discusses some theoretical issues, and Sec-tion 5 summarizes the numerical results. Finally, Section 6 con-cludes the paper with final remarks.

2. Problem statement

This section provides the formal statement of the consideredproblem and describes the scoring mechanism.

2.1. Task allocation

Given a list of Nt tasks and Na agents, the allocation problemis to find a conflict-free and constraint-fulfilling assignment thatmaximizes a predefined score function. The score function is thesumof local rewards determined as a function of the tasks assignedto each agent. An assignment is free of conflicts if each task is as-signed to nomore than one agent. Various types of constraintsmayarise depending on the specific application. In many applicationdomains, each agent can only perform a limited number of tasksdenoted by Lt . In heterogeneous scenario, a task can be assignedonly to a subset of agents able to perform it. This further constraintcan be handled introducing thematrix of admissible assignments,1,where ∆ij is 1 if task tj can be performed by agent ai and 0 other-wise. A valid 1 must have at least one non-zero element in eachrow (i.e., each agent can perform at least one task) and in eachcolumn (i.e., each task can be performed by at least one agent).In some contexts, it is also necessary to guarantee that a num-ber of critical tasks whose assignment is mandatory are assignedto agents independently from all the other problem constraints,while the non-critical tasks are all the tasks whose assignment isdesirable but not strictly mandatory.

The described task allocation problem can bemodeled with thefollowing integer program:

maxNai=1

Ntj=1

cij (bi) xij

(1)

subject to:Ntj=1

xij ≤ Lt ∀i ∈ I (2)

Nai=1

xij = 1 ∀j ∈ J1 (3)

Nai=1

xij ≤ 1 ∀j ∈ J2 (4)

xij ≤ ∆ij ∀ (i, j) ∈ I × J (5)

xij ∈ {0, 1} ∀ (i, j) ∈ I × J (6)

Page 3: Decentralized task allocation for surveillance systems with critical tasks

G. Binetti et al. / Robotics and Autonomous Systems 61 (2013) 1653–1664 1655

where the binary variable xij is 1 if task tj is assigned to agent ai,and xi ∈ {0, 1}Nt is the assignments vector for agent ai whose j-thelement is xij. The index sets for agents and tasks are I = {1, . . . ,Na} and J = {1, . . . ,Nt}, respectively, where J = J1 ∪ J2 is theunion of the index sets J1 of critical tasks and J2 of non-criticalones, with J1 ∩ J2 = ∅. The variable length vector bi, namedbundle [29], indicates the set of tasks assigned to agent ai orderedby increasing assignment time (time at which the task has beenassigned to the agent). The summation term inside the bracketsin (1) represents the local reward for agent ai, defined as the sumof the score increment cij (bi) that agent ai obtains when it addsa task tj to its bundle bi. Constraints (2)–(5) express the followingrequirements: the number of tasks assigned to an agent has not toexceed its capacity Lt ; a critical taskmust be necessarily assigned toone agent; a non-critical task can be assigned to no more than oneagent; a task has to be assigned only to agents able to perform it.

2.2. Scoring scheme

This work shares some fundamental assumptions with theCBBA [29]. The most important one regards a condition of thescoring scheme called Diminishing Marginal Gain (DMG) property.Given a task tj to add and a bundle bi, the following must hold:

cij (bi) ≥ cij (bi ⊕end {m}) (7)

for all tj, tm, and bi, where the operation⊕end denotes the insertingof an element at the end of a vector, i.e., the insertion of m at theend of bi. This property states that the score increment associatedto a task does not increase as other elements are added to thebundle before it. The DMG property allows agents to acquire (orself-allocate) tasks progressively, i.e., one by one, guaranteeing thatthe acquisition of a new task does not require to reconsider thedecision about the previous ones.

Let us introduce the variable length vector pi, named path, thatindicates the execution order of the set of tasks assigned to agentai. The score increment cij (bi) is defined as follows:

cij (bi) = max0≤n≤|pi|

Spi ⊕n{j}i − Spii

(8)

where | · | denotes the number of elements in a vector (or in a set),Spii is the score associated to agent ai performing the tasks along thepath pi, and Spi ⊕n{j}

i is the score associated to agent ai performingthe tasks along the path obtained inserting the element j into thepath at position n. An example of score function, Spii , is given inSection 5.1.

From definition (8), the position nij (bi) in which task tj has tobe added to the path pi is obtained as:

nij (bi) = argmax0≤n≤|pi|

Spi ⊕n{j}i

. (9)

Hence, a path is uniquely defined for a bundle, while multiplebundles might result in the same path.

2.3. Problem feasibility

In order to obtain an admissible solution, the critical tasks setfor the problem must be feasible, i.e., each critical task must beassigned to an agent. Due to the functional heterogeneity, thecheck that a given tasks set is feasible is not trivial, even for smallvalues of |J1| and Na. A way to verify the feasibility of the criticaltasks set is to solve the following integer linear program (ILP), withdecision variables xij:

maxNai=1

j∈J1

xij

(10)

Fig. 1. Flow chart of DCTAA for each agent ai .

subject to:j∈J1

xij ≤ Lt ∀i ∈ I (11)

Nai=1

xij = 1 ∀j ∈ J1 (12)

xij ≤ ∆ij ∀ (i, j) ∈ I × J1 (13)

xij ∈ {0, 1} ∀ (i, j) ∈ I × J1. (14)

Conditions (11)–(13) can be placed into the classical matrixformulation Ax ≤ d, where it can be proven that A is totally uni-modular [43]. Thus, it is possible to solve the relaxation of the ILPproblem with LP techniques (e.g., the Simplex algorithm), obtain-ing an integer solution. The sum of all the elements of the solutionx is the number of critical tasks that can be assigned to the avail-able agent network. If this number is not lower than the cardinal-ity of critical tasks set, the given problem is admissible. Otherwise,further decision policy has to decide what critical tasks have to bepostponed for future allocation.

3. Decentralized critical task allocation algorithm

The DCTAA is a three-phase iterative procedure, as shown inFig. 1, in which the first two phases are slight modifications of thetwomainCBBAphases,while the third one is a newmodule.When-ever possible, the same notation of the previous literature [29,37]will be used.

The agents obtain the assignment of tasks by means of a bid-ding strategy in which bids are computed basing on the score

Page 4: Decentralized task allocation for surveillance systems with critical tasks

1656 G. Binetti et al. / Robotics and Autonomous Systems 61 (2013) 1653–1664

function. During phase 1, disregarding any possible assignmentconflicts, each agent self-assigns the largest possible number oftasks up to min {Nt , Lt + K}, where the overload parameter K > 0defines a fictitious over-capacity introduced to let agents explore alarger number of solutions and attempt to keep the critical task as-signed to the agent providing the highest score. The condition of abundle with more than Lt tasks is referred to as overloaded bundle.The removal of tasks exceeding the actual capacity will be handledin phase 3. During phase 2, each agent performs some conflict reso-lution operations to avoid that a task is assigned to more than oneagent, leading to consensus. Finally, phase 3 deals with the con-straints satisfaction by releasing the tasks that exceed the actualcapacity with criteria based on the minimization of the score lossassociated to task removal and on specific mechanisms that guar-antee the assignment of all the critical tasks.

3.1. Initialization data

At the beginning of the algorithm each agent must know thecritical and non-critical task sets J1 and J2, respectively, and afeasible assignment (FA) of critical tasks. In particular, a FA for anagent ai is a possible allocation of a subset of critical tasks to agentai defined using the vector fi ∈ {0, 1}Nt , where fij = 1 if the criticaltask tj is assigned to the agent ai in the FA. Feasible assignmentshave to satisfy the following conditions: (1) all the critical tasksmust be assigned; (2) each critical task must be assigned only toone agent; (3) the number of critical tasks assigned to each agentmust be less than or equal to its capacity Lt . Note that a FA can beobtained as the solution of problem (10)–(14), i.e., fij = xij ∀ (i, j) ∈

I × J1 and fij = 0 ∀ (i, j) ∈ I × J2. The FA is not used to initializethe DCTAA, but rather to let the algorithm determine a possibleallocation for all the critical tasks. Finally, each agent can identifythe subsets of tasks it can perform, i.e., it can build the i-th row ofmatrix 1 from the given tasks set.

In order to perform the proposed decentralized algorithm, inaddition to the bundle bi and the path pi, each agent ai must carrythe following information that represents its local knowledge ofthe decision process:• a winning agent vector zi ∈ (I ∪ {0})Nt where each element zij

for j ∈ J is the index of the agent which is currently winningthe auction for task tj, or 0 if there is no winner for the task.

• a winning bid vector yi ∈ RNt+ where each element yij for j ∈ J

is the bid of the winning agent, or 0 if there is no winner for thetask.

• a second winning agent vector wi ∈ (I ∪ {0})Nt where eachelementwij for j ∈ J is the index of the agent placing the secondhighest bid for task tj, or 0 if there is no second bidder for thetask.

• a second winning bid vector vi ∈ RNt+ where each element vij for

j ∈ J is the second highest bid for task tj, or 0 if there is nosecond bidder for the task.

• a timestamp vector si ∈ RNa+ where each element sik for k ∈ I

is the timestamp of the last information update that agent aireceived about agent ak.

• a marked task vector mi ∈ (I ∪ {0})Nt where each element mij∈ I is the index of an agent that, due to the algorithm mech-anisms that will be clarified in the next section, is selected byother agents as the one that must host task tj in the bundle.

• a dynamic assignability vector αi ∈ {0, 1}Nt where each elementαij specifies if agent ai is allowed to bid on task tj.

The role of each of these variables and theway they are updatedis explained in the next sections.

3.2. Phase 1: Bundle construction

Phase 1 is the auction process to build bundles and paths. Eachagent ai creates its bundle bi by continuously adding tasks (proce-

dure 1.2 in Fig. 1) until either the limit Lt + K is reached or thereare no other tasks it can bid on. The bundle construction is basedon the evaluation of the score increment cij (bi) and the insertingposition nij (bi) into the path for all tasks as in (8) and (9). Agentai adds to its bundle the task tj⋆i that gives the highest score incre-ment. Only tasks giving a value cij higher than the current highestbid yij are considered for the bundle construction. Each time task tj⋆iis inserted at the end of the bundle bi, the agent updates also thecorresponding path pi inserting task tj⋆i at position nij⋆i

. The win-ning bid and agent vectors are updated accordingly with the rulesyij⋆i = cij⋆i and zij⋆i = i.

Basically, an agent cannot bid on tasks already in its bundle(j ∈ bi) or if it has not the functionalities or the permission to bid onit (αij = 0). In particular, at the beginning of the algorithm, the dy-namic assignability vector αi is initialized with the i-th row of thematrix 1 of admissible assignments in order to represent the setof tasks on which an agent can bid according to its functionalities.During the algorithm execution, DCTAA may set some elements ofαi to 0. This occurs when a task is removed from the bundle bi inphase 3, so as to avoid that the same agent bids again on such a task.

3.3. Phase 2: Conflict resolution

Phase 2 is the consensus section of the algorithm, consistingin a conflict resolution procedure based on data exchanged withlocal communications between neighboring agents. The conflictresolution procedure is assumed to be synchronized, i.e., everyagent’s conflict resolution takes place simultaneously.

At each execution of phase 2, each agent ai sends a broadcastmessage containing the following vectors: zi, yi,wi, vi, si and mi.At the same time, each agent receives the same vectors from eachof its neighbors. For each message sent from ak to ai, the con-flict resolution procedure is based on the same rationale describedin [29]: the receiver i compares its information about zij that itbelieves to be the current winner for a given task tj with the cor-responding information zkj transmitted by the sender k. As a con-sequence, the receiver can perform a set of actions (leave, update,reset) in order to update its current assignment (procedure 2.1 inFig. 1). The decision rule table proposed in this paper evaluates alsothe second bidders and bids for each task comparing both the firstand second winning bids and bidders received from neighboringagents with the local information. The new rule table with secondbid and bidder evaluation is reported in the Appendix.

Applying the mentioned decision criteria, the assignment zicould be changed due to the update or reset actions. If a bid ischanged as an outcome of communication, each agent checks ifany of the updated or reset tasks were in its bundle and truncatesit starting from the first changed task position (procedure 2.2 inFig. 1). The path is updated by removing the same tasks eliminatedfrom the bundle. For each removed task, zij, yij, wij, and vij are setto 0. Note that vector si is updated at each communicationwith thetimestamp of the last information update that agent ai receivedabout agent ak, either directly or through other agents, as in [29](procedure 2.5 in Fig. 1).

Finally, agents reach consensus also on the second winning bidand agent vectors with the described mechanisms. The consensuscheck at phase 2 end is performed using only local data, as de-scribed in Section 4.1. When the consensus is reached, the algo-rithm termination condition is checked, i.e., each agent ai uses itsvector zi to evaluate if there is an overloaded agent. Each agent canevaluate in the same way such a condition because the consensuson vector zi has been previously reached. If there is at least oneoverloaded bundle, the agents proceedwith phase 3, otherwise thealgorithm stops.

3.4. Phase 3: Bundle resize

The bundle resize operation is performed by each agent ai withoverloaded bundle, until the capacity constraint is fulfilled (proce-

Page 5: Decentralized task allocation for surveillance systems with critical tasks

G. Binetti et al. / Robotics and Autonomous Systems 61 (2013) 1653–1664 1657

dure 3.2 in Fig. 1). With respect to the previous literature [37], thebundle resize procedure described here introduces a new criterionfor the selection of the task to be removed. For each overloadedagent ai this procedure starts computing the following sets of tasks:

Si1 =j ∈ bi|wij > 0 and

bwij

< Lt

(15)

Si2 =j ∈ bi|wij > 0 and

bwij

≥ Lt

(16)

Si3 =j ∈ bi|wij = 0 and fij = 0

. (17)

Si1 and Si2 are composed by tasks with a second bidding agent.Si1 is the set of tasks whose second bidding agent has a residualcapacity to host them in its bundle, while Si2 is the set of taskswhose second bidding agent is either full or overloaded. Finally,Si3 is the set of tasks with no second bidding agent and that arenot in the FA for agent ai. If Si1 and Si2 are empty, Si3 is not emptybecause at least one of the Lt +K tasks in the bundle is not assignedto ai in the FA (which can assign maximum Lt tasks to each agent).

The rationale behind the selection of the task to be removed istwo-folded. The first criterion is ensuring the assignment of all thecritical tasks. Thus, an agent ai tries to choose the task tji to removefirst in Si1, then in Si2 and finally in Si3. The second criterion is tochoose the task causing the least penalty in terms of score whenremoved from the bundle bi (and added elsewhere). Thus, the taskis chosen in the previously identified set as follows:

ji = argminj

Spii − Spi⊖{j}

i − vij

(18)

where the operation ⊖ denotes the removal of an element from avector and vij = 0 if no second bidder exists. If task tji belongs toSi1 or Si2 and it results assigned to agent ai in the FA (fiji = 1), aprocedure referred to as marking and described in the followingsection becomes necessary. Once task tji is chosen, the agentremoves it from its assignment, sets to 0 the second bidder and bidinformation, truncates the bundle starting from position of tji , andupdates the path accordingly (procedure 3.3 in Fig. 1). In any case,each time the task tji to be removed is not assigned to agent ai in theFA (that is, fiji = 0), ai reduces its assignability by setting αiji = 0.This mechanism is fundamental for reaching the convergence as itwill be discussed in Section 4.2.

3.5. Marking procedure and task forcing

The DCTAA combines the task removal with the markingprocedure and the task forcing. Thesemechanisms affect all phasesand, for clarity, we describe them separately in this section.

Consider an agent ai that removes task tj in phase 3. If task tjhas a second bidding agent and results assigned to agent ai in theFA, then agent ai has also to force the second bidding agent to addtj in its bundle; such a task is defined a marked task. The meaningof this operation is that an agent cannot remove a task specified inits FA if there is no other agent able, and forced, to bid on it. Themarking operation uses vector mi, where each element mij is theindex g ∈ I of the agent forced to add the task tj in its bundle bg ,or it is 0 if no marking is defined for that task. Thus, the markingprocedure is performed setting mij = wij = g each time agent aiforces agent ag to add task tj. Every time a phase 1 occurs, if oneor more marked tasks exist for agent ag , that agent has to add suchmarked tasks in its bundle bg (task forcing, procedure 1.1 in Fig. 1)disregarding any score or capacity criteria. The forcing operationhas to be performed at each phase 1 prior to the normal tasksadding procedure. Vectormi is transmitted at each communicationstage and the consensus is reached also on this information with asimple updating procedure: for each neighbor agent ak and for eachtask tj,mkj = g > 0 means that task tj is marked for agent ag , thusthe receiver agent ai has to update its information settingmij = mkj(procedure 2.4 in Fig. 1).

Anyway, it is possible that a marked task tj does not remain inthe bundle bg of the forced agent due to the bundle truncationeither in phase 2 or 3 (i.e., procedures 2.2 and 3.3, respectively).Thus, if the forced agent ag releases the marked task tj as a conse-quence of the bundle truncation, it has to set to 0 the correspondingassignability value, i.e.,αij = 0, and also the information on the sec-ond bid and bidding agent, i.e.,wgj = 0 and vgj = 0 (procedures 2.3and 3.4 in Fig. 1). In such a case, the marking for task tj is no longermeaningful and needs to be removed from the marked task vectorof each agent. Thus, at the beginning of phase 3 (procedure 3.1 inFig. 1), each agent ai verifies if each marked task tj (mij = g > 0)is not assigned to the corresponding forced agent ag (zij = g) and,in this case, it sets to 0 the corresponding marking (mij = 0).

4. Algorithm analysis

This section discusses some issues related to the characteristicsof the communication network and provides the proof ofconvergence and constraints fulfillment of the DCTAA.

4.1. Network topology, consensus and synchronization

Ref. [29] shows that the CBBA convergence time is finite witha synchronized conflict resolution phase over a static communica-tion network, provided that the score function is DMG. This resultis still valid for DCTAA phases 1 and 2 since they inherit the samestructure of CBBA, and the introduced modification (tasks forcing,marking procedure, and conflict resolution for second bids and bid-ding agents) does not alter the behavior of the two phases with re-spect to convergence.

Now let us define an iteration as the set of operations performedbetween two consecutive executions of phase 1. Considering theCBBA convergence time for a networkwith diameterD, every agentwill agree on thewinning bid on a task afterD iterations [29]. Thus,an agent can verify the consensus by waiting D iterations withoutany new bid. Under the same assumption of a synchronized con-flict resolution phase over a static communication network withdiameter D, a DCTAA peculiarity is that, in case of marked tasks,it is necessary first to propagate the marking information and thento propagate the corresponding bid. Thus, to reach consensus, eachagent has to wait 2D iterations, only when a new marking is per-formed. Obviously, each agent is able to detect the arrival of a newmarking by comparing its marked task vector with the other onesreceived during the communication stage.

4.2. Convergence

Let us denote the dynamic assignability vector as it appears atk-th termination test by α

(k)i , with elements α

(k)ik , and let us define

accordingly the dynamic assignability matrix A(k)∈ {0, 1}Na×Nt ,

with α(k)i as i-th row. Moreover, let us define the relation < be-

tween two matrices with the following meaning: B < C if bij ≤ cijfor all elements and bij < cij for at least one element. Using thesenotations, it is easy to prove the following theorem.

Theorem 1. The DCTAA converges in finite time to a conflict-freeassignment allocating all the critical tasks, provided that the scoringfunction is DMG.Proof. As discussed in Section 4.1, the convergence time of phases1 and 2 to a conflict-free assignment is finite. Thus, the DCTAAtermination condition is verified if its termination test is true aftera finite number of times. Obviously, a sufficient (but not necessary)condition for this occurrence is that, for some k ≥ 1, the followingconstraints are fulfilled:

A(k)≤ 1 (19)

Ntj=1

α(k)ij ≤ Lt ∀i ∈ I. (20)

Page 6: Decentralized task allocation for surveillance systems with critical tasks

1658 G. Binetti et al. / Robotics and Autonomous Systems 61 (2013) 1653–1664

At the beginning of the algorithm, it holds A(1)= 1. The ra-

tionale of the DCTAA is to change the initial matrix A(1) settingto 0 some elements in order to obtain a matrix A(k) at the subse-quent termination tests with fewer and fewer 1-entries, i.e., fewerand fewer possible task-to-agent pairs. Therefore, the terminationcondition is verified if the algorithm is able to modify the dynamicassignability matrix according to A(k+1) < A(k), or to A(k+1)

= A(k)

for a finite number of termination tests.Now suppose that in phase 3 agent ai chooses to remove task tj

from its bundle, thus, it results α(k)ij = 1. Two cases are possible,

depending on the relation between task tj and agent ai in the FA. Inthe first case, fij = 0, i.e., task tj is not assigned to ai in the FA. Phase3 resets αij to 0, leading to α

(k+1)ij = 0 and A(k+1) < A(k). Otherwise

it holds fij = 1, i.e., task tj is assigned to ai in the FA. In this situationtask tj belongs to Si1 or Si2 so that mij = g ∈ I, with g = i, andα

(k)gj = 1. Phase 3 does not modify αij leading to α

(k+1)ij = 1. Thus,

in this case, just before the (k + 1)-th termination test there aretwo possibilities, depending on the presence of task tj in the bun-dle of the agent ag . If j ∈ bg , phase 2 gives α

(k+1)gj = 0 leading to

A(k+1) < A(k), while if j ∈ bg it holds α(k+1)gj = 1 and the condition

A(k+1)= A(k) may occur.

We shownow that this equality condition can occur only a finitenumber of times. In fact, if after k-th termination test it resultsagain j ∈ bi and agent ai chooses to remove again task tj, sayjust before the k2-th termination test, this means that just before atermination test k1 (with k < k1 < k2) agent ag released tj and setαgj = 0 for all the termination tests following k1, because fgj = 0.Thus, beginning from k1, the second bidder for tj must be an agentdifferent from ag . As a straightforward consequence, the conditionof task tj assigned to a forced agent can arise for a maximum ofNa − 1 times for each critical task, and thus the condition A(k+1)

=

A(k) may occur only a finite number of times. This let us concludethat the termination condition is verified in finite time.

Finally, note that the algorithm stops onlywhen no agent is ableto bid on unassigned tasks, or on assigned tasks with higher bids.If fij = 1, then at least the agent ai can bid on the critical task tj.Therefore, if just before the verification of the termination condi-tion agent ai is not placing any bid on task tj, one of the followingconditions must be satisfied: task tj is already in its bundle bi, oranother agent ag placed a higher bid and holds task tj in its bundlebg . In each case, every critical task is assigned when DCTAA ends.This completes the proof. �

4.3. Computational and communication burden

In this section, some results about the complexity of DCTAAboth in terms of computational cost and communication burdenare given. First, note that the worst-case complexity is O (Nt (Lt+K)) for the bundle construction and O (Lt + K) for the bundleresize. Second, the following theorem holds.

Theorem 2. The DCTAA is a polynomial time algorithmwith an upperbound to the iteration number, NDCTAA, required to converge given by:

min {Nt ,Na(Lt + K)} 2D · 2NaNt . (21)

Proof. The maximum number of NDCTAA is given by Nph12 · Nph3,where Nph12 is the maximum number of iterations used by phases1 and 2 to reach the consensus on a conflict-free assignment,and Nph3 is the maximum number of phase 3 executions. Consid-ering that the maximum iteration number required by CBBA ismin {Nt ,NaLt}D and the peculiarity that DCTAA requires 2D iter-ations for the consensus in the presence of marked tasks, the term

Nph12 is upper bounded by min {Nt ,Na(Lt + K)} 2D. Let us evalu-ate a bound for the term Nph3. In consideration of phase 3 proce-dure, each non-critical task tj can be removed from a bundle nomore than

Nai=1 ∆ij times. On the other hand, also taking into ac-

count the marking procedure, each critical task tj can be removed

from a bundle no more than 2Na

i=1 ∆ij − 1times. So, an up-

per bound for Nph3 is

j∈J12Na

i=1 ∆ij − 1

+

j∈J2

Nai=1 ∆ij <Na

i=1Nt

j=1 ∆ij < 2NaNt . Finally, the upper bound for NDCTAAis given by the product of the evaluated bounds for Nph12 andNph3, that is, min {Nt ,Na(Lt + K)} 2D · 2NaNt . This proves thetheorem. �

Theorem2 states that theDCTAA is a polynomial time algorithmand, thus, it scales well with the size of the network and thenumber of tasks. The unavoidable increase of complexity withrespect to its predecessor is the additional cost related to theguarantees of complete assignment of critical tasks. The theoremalso provides an upper bound for the number of DCTAA iterationsthat is foreseeably very conservative, since it considers the worstcase scenario in which all the tasks are released by all the agentsbefore the final assignment. The simulations discussed in the nextsection will show that the actual number of iterations is alwaysmuch smaller than this bound, making it meaningful only fortheoretical considerations.

5. Simulation results

The proposed algorithm has been extensively tested in simula-tion. In this section, we illustrate some results of a simulation cam-paign performed to verify the performance of the DCTAA.

5.1. DCTAA design rules

To run the DAA, the score function and the overload parame-ter K must be defined. The latter defines the amount of additionalinteraction and computational effort spent by agent in finding animproved assignment of tasks. A campaign of preliminary investi-gation and experience on previous version of this algorithm [37]suggest that using K = 1 is generally sufficient to achieve a goodperformance, while larger values do not provide significant im-provements in terms of quality of the final solution. Thus, the valueK = 1 is also adopted in this paper.

For comparative purposes, the score function is defined usingthe same Time-Discounted Reward (TDR) schemeproposed in [29].Such a scheme gives an exponential weight to the time τij (pi) atwhich the agent ai estimates to reach the location of task tj alongits current path pi. In order to evaluate the possibility of alternativescore functions as a way to indirectly influence constraintsatisfaction, we define the parameterized score as follows:

Spii =

Ntj=1

Rj · λ

τij(pi)j + ξj

(22)

where the real positive values Rj, λj < 1, and ξj represent a multi-plicative static reward, a discounting factor, and an additive staticreward associated to task tj, respectively.

We consider a discounting factor λj = 0.95 for all j ∈ J asin [29] and the three alternative parameter settings shown in Ta-ble 1. The parameterization Aweights the critical tasks with amul-tiplicative static reward that is three orders of magnitude greaterthan the same value used for the non-critical tasks. Note that thisparameterization gives a score value depending at the same timeon both the arrival time and the multiplicative static reward. Theparameterization B uses different additive static reward values for

Page 7: Decentralized task allocation for surveillance systems with critical tasks

G. Binetti et al. / Robotics and Autonomous Systems 61 (2013) 1653–1664 1659

a b

c d

Fig. 2. (a) DCTAA paths, (b) CBBA paths, (c) DCTAA temporal allocation, (d) CBBA temporal allocation for a simple scenario. Robot 1 is represented by a blue triangle androbot 2 is the green one. Tasks are indicated as circles: the blue circles indicate tasks that can be executed by robot 1, the green circles indicate tasks that can be executed byrobot 2, and blue/green-half circles indicate tasks that can be executed by both robots. The arrows indicate the critical tasks. (For interpretation of the references to color inthis figure legend, the reader is referred to the web version of this article.)

Table 1Different parameters for the score function (22).

Score functionparameters

Multiplicative staticreward

Additive static reward

A Rj =

1000 j ∈ J11 j ∈ J2

ξj =

0 j ∈ J10 j ∈ J2

B Rj =

1000 j ∈ J11 j ∈ J2

ξj =

1000 j ∈ J11 j ∈ J2

C Rj =

1 j ∈ J11 j ∈ J2

ξj =

0 j ∈ J10 j ∈ J2

critical and non-critical tasks, and imposes that the score of a criti-cal task is always greater than the score of a non-critical task. Inthis case, the arrival time has influence only as a ranking crite-rion among tasks of the same type. Finally, the parameterizationC is blind to the constraints on mandatory requirements for criti-cal tasks, and coincides with the one proposed in [29].

5.2. Illustrative example

In this section, we describe the application of the DCTAA todecentralized surveillance system. Advanced surveillance systemsinclude a variety of mobile robots and static sensors with varyingsensing modalities that can monitor continuously the area ofinterest. Such systems are highly heterogeneous due to thepossibilities to define tasks including target search, identification,tracking, pickup and/or deployment of sensors.

Fig. 2 shows the resulting paths and the assignment obtained ina simple scenario composed by 2 robots with Lt = 5 and 10 tasksfor DCTAA and CBBA. In the considered example, tasks {3, 7, 10}can be performed only by robot r1, tasks {1, 8, 9} can be performedonly by robot r2, while tasks {2, 4, 5, 6} can be performed byboth the robots. Moreover, tasks {8, 9, 10} are the critical ones.Fig. 2(a) and (b) show the resulting paths obtained by DCTAA and

CBBA and Fig. 2(c) and (d) show the expected temporal allocationcorresponding to the obtained paths. CBBA leaves the critical taskt8 unassigned, while DCTAA reaches an assignment that fulfills allthe constraints, included the guarantees of assignment for criticaltasks. In fact, CBBA is driven only by the score function that is aimedto minimize in a greedy way the overall distance, while DCTAApermits the satisfaction of the constraint on critical tasks allocation(because robot r1 allocates itself task t5 obtaining a longer pathand a greater expected time for completing its tasks and robot r2allocates itself the critical task t8). Finally, we remark that in thisscenario the fleet of robots has sufficient resources to satisfy thedemanded mission fulfilling all the constraints, but a pure greedyalgorithm cannot guarantee the allocation of all the critical tasks,while DCTAA is specifically devised to obtain such a result.

5.3. Simulation setup

All the results shown in the following are averaged values over100 simulationswith randompositions for agents and targets. Eachsimulation considers a system composed by agents moving at avelocity of 40 m/s. To perform each task, the agent has to reachthe target position which is randomly placed in the environment,a square field with side length equal to 2000 m.

The average number of agents available for each task definesthe homogeneity degree of the network, which can be expressed ina single figure as follows:

ρ =1

NaNt

Nai=1

Ntj=1

∆ij. (23)

Assuming thatNt ≥ Na, this index can vary from 1Na

(purely het-erogeneous systems, one task can be performed by only one agent,making TA problem trivial) to ρ = 1 (homogeneous systems, allthe tasks can be executed by all the agents).

Page 8: Decentralized task allocation for surveillance systems with critical tasks

1660 G. Binetti et al. / Robotics and Autonomous Systems 61 (2013) 1653–1664

Table 2Simulation results of DCTAA and CBBA with set of parameters A.

Bundle size Critical tasks Score % critical tasks CBBADCTAA CBBA

Min

25 7007 8294 91.4450 11595 14204 90.6075 15771 19006 93.25

100 20500 23190 92.28

Double

25 6939 8499 99.9650 13928 14451 99.9875 19111 19112 100.00

100 23297 23297 100.00

Table 3Simulation results of DCTAA and CBBA with set of parameters B.

Bundle size Critical tasks Score % critical tasks CBBADCTAA CBBA

Min

25 32016 31163 91.4450 61587 59511 90.6075 90718 88956 93.25

100 120140 115470 92.28

Double

25 31981 33526 99.9650 63929 64485 99.9875 94136 94137 100.00

100 123297 123297 100.00

Table 4Simulation results of DCTAA and CBBA with set of parameters C.

Bundle size Critical tasks Score % critical tasks CBBADCTAA CBBA

Min

25 10.13 16.35 31.1250 12.29 20.65 52.1675 16.89 22.80 78.73

100 20.50 23.19 92.28

Double

25 18.96 21.72 61.7650 21.83 23.21 93.8275 23.29 23.30 99.92

100 23.30 23.30 100.00

5.4. Comparison with CBBA and score function analysis

It has been mentioned in the introduction that handling as-signment constraints by directly incorporating them as penaltiesin the score functions may not be a simple task. To support thisstatement, this section summarizes the results obtained with thescore function (22) with different parameters, as shown in Table 1,that give different weights to critical task. In particular, Tables 2–4present the simulation results in case ρ = 0.2,Nt = 100, differentamount of critical and non-critical tasks, score function parame-terization A–C, andwith two bundle sizes: the first one is themini-mumvalue necessary to guarantee the assignment of all the criticaltasks, while the second bundle size is twice the previous value.

The DAA always assigns all the critical tasks, while CBBA is ableto achieve the full assignment of critical tasks only in few caseswith large bundle capacities. In particular, the number of criticaltasks assigned by the CBBA using score function A and B is largerthan the case of score function C (for instance, in the scenario with25 critical and 75 non-critical tasks and minimum bundle size,CBBA assigns 91.44% of critical tasks using score functions A and B,and only 31.12% for score function C). Anyway, the risk of leavingsome of the critical tasks unassigned remains not negligible, evenusing extremely large weights to force the assignment of sometasks with respect to other ones. Finally, note that for score func-tions A andC the CBBA achieves higher overall scores because it canfind some non-critical tasks that provide a significant score incre-mentwith respect to the critical tasks that remain unassigned. This

Table 5Simulation results of DCTAA and GA with set of parameters C.

Bundle size Critical tasks Score Distance (m)DCTAA GA DCTAA GA

Min

25 10.13 10.54 19199 1877050 12.29 14.09 29338 2772475 16.89 19.12 37530 35235

100 20.50 22.53 41994 40803

Double

25 18.96 19.66 25508 2539550 21.83 23.05 40343 3938975 23.29 23.93 38922 37839

100 23.30 23.95 38932 37713

effect does not occur for score function B because the assignmentof critical task is always preferred thanks to the additive term.

5.5. Comparison with a genetic algorithm

The TA problem considered in this paper arises frequently invarious application contexts suitable to centralized search algo-rithm. To obtain an idea of the overall quality of the solutions ob-tained by the DCTAA, it may be interesting to compare them withthose obtained by a typical centralized heuristic tool often pro-posed in the literature to address the same problem.

Table 5 summarizes the results obtained on the same instancesof the TA problemwith a genetic algorithm (GA) which was shownto be very effective in solving TSP problems [44]. The DCTAAperformance is not very distant from that obtained by GA, both interms of increment of score and reduction of the overall distancetraveled by all the agents. In fact, themaximumdifference in termsof traveled distance between DCTAA and GA is achieved in thescenario with 75% and 25% of critical and non-critical tasks set andminimumbundle size, where the distance decrease is equal to 6.5%and the score increment is equal to 11.7%.

5.6. DCTAA analysisFig. 3 shows the results obtained with sets of 50 critical and

50 non-critical tasks using different bundle sizes and homogene-ity degrees. Fig. 3(a) shows that the overall score improves as thebundle size increases because agents tend to obtain larger groupsof tasks having closer target positions and, as a consequence, toachieve significantly increased individual scores. For the same rea-sons, Fig. 3(b) shows that, as the bundle size grows, the distanceincreases (because of the increased number of assigned tasks) untilthe capacity value that allows a complete assignment of the tasksset. After this threshold (bundle size around 10) the overall dis-tance starts to decrease due to thementioned ability to obtain taskswith close target positions. Note that, in scenarios with increasedhomogeneity, the overall score achieved by DCTAA increases, butthe overall influence of bundle size remains the same. Fig. 3(c) and(d) show the average number of iterations (NOIs) and phase 3 ex-ecutions, respectively. The NOIs is larger for higher homogeneitydegrees, coherently to the complexity analysis presented in Sec-tion 4.3, due to the larger number of solutions explored duringthe algorithm execution. It is immediate to note also that the NOIsdecreases as the bundle size increases. In fact, with larger bundle,DCTAA is able to converge with a fewer NOIs because bundle over-loads are less frequent, as shown in Fig. 3(d).

A second set of simulations focuses on the analysis of theDCTAAscalability with respect to the number of agents. In these simula-tions, the bundle size is kept constant, while the number of tasks(whose 50% is critical) grows proportionally with the number ofagents. The network topology is assumed fully connected, that is,all the agents can communicate directly. Two main cases are con-sidered and averaged over 100 runs: in the first one, summarizedin Fig. 4(a) and (b), the network capacity (i.e., NaLt ) is equal to the

Page 9: Decentralized task allocation for surveillance systems with critical tasks

G. Binetti et al. / Robotics and Autonomous Systems 61 (2013) 1653–1664 1661

Fig. 3. Analysis of bundle size effect on (a) score, (b) distance, (c) number of iterations and (d) number of phases 3, with heterogeneity equal to 0.2 (blue line, circle marker),0.3 (red line, square marker), and 0.4 (magenta line, diamond marker). All the curves show the mean value over 100 simulations in the scenario of 50 critical and 50 non-critical tasks.

Fig. 4. Analysis of number of iterations and percentage of allocation for critical tasks, for increasing size of agent network, with fixed bundle Lt = 5. In (a) and (b) the teamcan accommodate only the critical tasks, while in (c) and (d) it can accommodate all the tasks. The total number of tasks is such that the 50% are critical. All the curves showthe mean value over 100 simulations.

number of critical tasks. This case corresponds to the first peak ofNOIs evidenced in Fig. 3(d), i.e., to the situation inwhich the largesteffort of agents is devoted to the allocation of critical tasks whilethe non-critical ones represent a sort of disturbance. The secondcase is summarized in Fig. 4(c) and (d). In this scenario the overallcapacity is equal to the overall number of tasks and approximatelycorresponds to the second peak of NOIs shown in Fig. 3(d). As fore-seeable, all of these cases, which can be considered representative

of the worst case operating conditions, the NOIs of DCTAA is sig-nificantly larger than the one of CBBA, but it is interesting to ob-serve that the rise of iterations shows a linear trend, at least forthe network sizes considered in the study. Once again it should beremarked that the two algorithms should be considered as comple-mentary rather than comparable tools. In the CBBA the assignmentof critical tasks is not considered as a hard constraint, and this de-termines a comparatively rapid convergence. TheDCTAA forces the

Page 10: Decentralized task allocation for surveillance systems with critical tasks

1662 G. Binetti et al. / Robotics and Autonomous Systems 61 (2013) 1653–1664

Table 6Simulation results of DCTAA and CBBA in case of fully connected and line networks,with set of parameters C.

Bundlesize

Criticaltasks

# DCTAA iterations # CBBA iterations

Fully Line % diff. (%) Fully Line % diff. (%)

Min

25 273.0 338.0 19.2 13.4 18.3 26.350 262.5 354.9 26.0 14.8 18.6 20.775 238.8 347.0 31.2 16.8 26.4 36.3

100 283.6 442.6 35.9 18.3 29.2 37.3

Double

25 196.3 270.7 27.5 15.4 23.1 33.550 152.2 242.9 37.3 18.7 23.6 20.975 24.5 33.9 27.7 22.2 31.6 29.9

100 24.8 33.3 25.5 24.4 32.8 25.7

allocation of all the critical tasks with an iterative procedure thatcauses a significant increase of operations. The actual admissibil-ity of such an increase of computation should be evaluated fromcase to case, but for the problems in which the need of assigningthe critical tasks coexists with constraints on agents capacity theDCTAA is certainly an useful tool.

In order to evaluate the effect of the network topology on thecommunication burden, Table 6 shows the NOIs for both fullyconnected and line network considering the same instances of theTAproblemused for Tables 4 and 5. In the former case all the agentscan communicate directly, while in the latter case each agent cancommunicate only with one or two agents, so that a larger NOIsis required to reach consensus. The results show that the NOIsincrease grows as predicted moving from a fully connected to aline network, up to a maximum increment equal to 37.3%. Notealso that the maximum increment of the NOIs of CBBA is the same,indicating that the effect of the network topology is quite similarfor both algorithms.

6. Conclusion

This paper has presented an extension of a decentralizedtask assignment algorithm for heterogeneous agents with limitedcapacity and critical tasks. The algorithm is able to find solutionsfulfilling all the constraints at the expense of an increase of com-putational and communication costs, but preserves the polynomialnature of its predecessor. The analysis of the numerical simulationshas shown that the DCTAA offers a satisfactory performance in var-ious conditions (different heterogeneity, score functions, and net-work overall capacity). Its solutions are also close to those obtainedwith a typical heuristic optimization algorithm.

It may be useful to remark that, if one can tolerate the riskof leaving some of the critical tasks unassigned, the CBBA mayprovide a better cost/performance trade-off since most of the ad-ditional computational efforts of the DCTAA are specifically devel-oped to find a solution assigning all the critical tasks. With regardsto this specific issue, it has been underlined in the paper that theDCTAA is an algorithm that is complementary rather than alter-native to the CBBA. For what concerns critical tasks, it should alsobe noted that guaranteeing their assignment is only a necessarycondition for their actual execution and that task monitoring andcompletion verification are equally important components of thecontrol system.

The presented work leaves many issues open for further re-search. Several extensions proposed for the CBBA, such as the allo-cation of tasks having limited time windows of validity [32] or theimplementation on asynchronous communication networks [33]can be also developed for the DCTAA using mechanisms similar tothose suggested in the related literature. Moreover, in case of pos-sible agent failures, the tasks could be assigned to more than oneagent in a redundantway to increase the level of safety. Finally, the

extension of the DCTAA to the case of task and agent sets chang-ing over time and the development of advanced bidding schemecapable to improve the quality of the assignment are two other di-rections deserving further investigations.

Appendix

Table 7 presents the complete set of decision rules for theconflict resolution procedure of DCTAA. The reset_zy and reset_wvactions set to 0 the variables zij, yij, and wij, vij, respectively, whilethe leave_zy and leave_wv actions do not modify the value of thecorresponding variables. All the other actions appearing in Table 7are described in Algorithms 1–7.

Algorithm 1 update_zyzij = zkj , yij = ykj

Algorithm 2 update_wv_with_i_informationwij = zij , vij = yij

Algorithm 3 update_wv_with_k_informationwij = zkj , vij = ykj

Algorithm 4 update_wv_with_k_winnerif vkj > yij then

wij = wkj , vij = vkjelse if vkj == yij then

if zij ≥ wkj thenwij = wkj , vij = vkj

end ifelse

wij = zij , vij = yijend if

Algorithm 5 update_wv_with_i_winnerif ykj > vij then

wij = zkj , vij = ykjelse if ykj == vij then

if wij ≥ zkj thenwij = zkj , vij = ykj

end ifend if

Algorithm 6 update_wv_with_consensus_on_winnerif vkj > vij then

wij = wkj , vij = vkjelse if vkj == vij then

if wij ≥ wkj thenwij = wkj , vij = vkj

end ifend if

Algorithm 7 rule_wv_with_consensus_on_winnerif (wij == k and wkj == none) or (wij = k and wij = none and wkj == noneand skwij > siwij ) then

reset_wv

else if (wkj = k and wkj = none and wij == none and skwkj ≤ siwkj ) thenleave_wv

elseupdate_wv_with_consensus_on_winner

end if

Page 11: Decentralized task allocation for surveillance systems with critical tasks

G. Binetti et al. / Robotics and Autonomous Systems 61 (2013) 1653–1664 1663

Table 7DCTAA decision rule table.

Sender agent ak thinks zkj is Receiver agent ai thinks zij is Receiver’s action

k

i

if ykj > yij → update_wv_with_k_winner, update_zyelseif ykj = yijif zij > zkj → update_wv_with_i_information, update_zyelse update_wv_with_k_information, leave_zy

else update_wv_with_i_winner, leave_zy

k rule_wv_with_consensus_on_winner, update_zy

m ∈ {i, k}

if skm > sim or ykj > yij → update_wv_with_k_winner, update_zyelseif ykj = yijif zij > zkj → update_wv_with_i_information, update_zyelse update_wv_with_k_information, leave_zy

else update_wv_with_i_winner, leave_zy

none if wkj = none and wkj = i → update_wv_with_k_winner, update_zyelse leave_wv, update_zy

i

i rule_wv_with_consensus_on_winner, leave_zy

k reset_wv, reset_zy

m ∈ {i, k} if skm > sim → reset_wv, reset_zyelse leave_wv, leave_zy

none leave_wv, leave_zy

m ∈ {i, k}

i

if skm > simif ykj > yij → update_wv_with_k_winner, update_zyelseif ykj = yijif zkj > zkj → update_wv_with_i_information, update_zyelse update_wv_with_k_information, leave_zy

else update_wv_with_i_winner, leave_zyelse leave_wv, leave_zy

k if skm > sim → update_wv_with_k_winner, update_zyelse reset_wv, reset_zy

m if skm > sim → rule_wv_with_consensus_on_winner, update_zyelse rule_wv_with_consensus_on_winner, leave_zy

n ∈ {i, k,m}

if skn > sinif skm > sim → update_wv_with_k_winner, update_zyelse reset_wv, reset_zy

elseif skm > simif ykj > yij → update_wv_with_k_winner, update_zyelseif ykj = yij

if zij > zkj → update_wv_with_i_information, update_zyelse update_wv_with_k_information, leave_zy

else update_wv_with_i_winner, leave_zyelse leave_wv, leave_zy

none

if skm > simif wkj = none and wkj = i → update_wv_with_k_winner, update_zyelse leave_wv, update_zy

else leave_wv, leave_zy

none

i leave_wv, leave_zy

k reset_wv, reset_zy

m ∈ {i, k} if skm > sim → reset_wv, reset_zyelse leave_wv, leave_zy

none leave_wv, leave_zy

References

[1] F.S. Hillier, G.J. Lieberman, Introduction to Operations Research, nineth ed.,McGraw-Hill, 2009.

[2] D. Naso, M. Surico, B. Turchiano, Reactive scheduling of a distributed networkfor the supply of perishable products, IEEE Transactions on AutomationScience and Engineering 4 (3) (2007) 407–423.

[3] E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys, The TravelingSalesman Problem: aGuided Tour of Combinatorial Optimization,Wiley, 1985.

[4] P. Toth, D. Vigo, The Vehicle Routing Problem, SIAM, 2002.[5] M.W.P. Savelsbergh, M. Sol, The general pickup and delivery problem,

Transportation Science 29 (1) (1995) 17–29.[6] V. Giordano, J.B. Zhang, D. Naso, F.L. Lewis, Integrated supervisory and

operational control of a warehouse with a matrix-based approach, IEEETransactions on Automation Science and Engineering 5 (1) (2008) 53–70.

[7] D. Naso, B. Turchiano, Multicriteria meta-heuristics for AGV dispatchingcontrol based on computational intelligence, IEEE Transactions on Systems,Man, and Cybernetics—Part B: Cybernetics 35 (2) (2005) 208–226.

[8] D. Di Paola, D. Naso, B. Turchiano, G. Cicirelli, A. Distante, Matrix-baseddiscrete event control for surveillance mobile robotics, Journal of Intelligentand Robotic Systems 56 (5) (2009) 513–541.

[9] D. Di Paola, D. Naso, A. Milella, G. Cicirelli, A. Distante, Multi-sensorsurveillance of indoor environments by an autonomous mobile robot,International Journal of Intelligent Systems Technologies and Applications 8(1–4) (2010) 18–35.

[10] T. Arai, E. Pagello, L.E. Parker, Guest editorial: advances inmulti-robot systems,IEEE Transactions on Robotics and Automation 18 (5) (2002) 655–661.

[11] B.P. Gerkey, M.J. Mataric, A formal analysis and taxonomy of task allocation inmulti-robot systems, International Journal of Robotics Research 23 (9) (2004)939–954.

Page 12: Decentralized task allocation for surveillance systems with critical tasks

1664 G. Binetti et al. / Robotics and Autonomous Systems 61 (2013) 1653–1664

[12] S.L. Smith, F. Bullo, Monotonic target assignment for robotic networks, IEEETransactions on Automatic Control 54 (9) (2009) 2042–2057.

[13] N. Michael, M.M. Zavlanos, V. Kumar, G.J. Pappas, Distributed multi-robot taskassignment and formation control, in: Proc. of International Conference onRobotics and Automation, ICRA, 2008, pp. 128–133.

[14] F. Bullo, E. Frazzoli, M. Pavone, K. Savla, S.L. Smith, Dynamic vehicle routing forrobotic systems, Proceedings of IEEE 99 (9) (2011) 1482–1504.

[15] M.M. Zavlanos, G.J. Pappas, Dynamic assignment in distributed motionplanning with local coordination, IEEE Transactions on Robotics 24 (1) (2008)232–242.

[16] J. Kiener, O. von Stryk, Towards cooperation of heterogeneous, autonomousrobots: a case study of humanoid and wheeled robots, Robotics andAutonomous Systems 58 (7) (2010) 921–929.

[17] M.J.B. Krieger, J.B. Billeter, The call of duty: self-organised task allocation in apopulation of up to twelve mobile robots, Robotics and Autonomous Systems30 (1–2) (2000) 65–84.

[18] L. Liu, D.A. Shell, Assessing optimal assignment under uncertainty: an interval-based algorithm, International Journal of Robotics Research 30 (7) (2011)936–953.

[19] J. Guerrero, G. Oliver, Multi-robot coalition formation in real-time scenarios,Robotics and Autonomous Systems 60 (10) (2012) 1295–1307.

[20] D.W. Casbeer, R.W. Holsapple, Column generation for a UAV assignmentproblem with precedence constraints, International Journal of Robust andNonlinear Control 21 (12) (2011) 1421–1433.

[21] L. Liu, D.A. Shell, Multi-level partitioning and distribution of the assignmentproblem for large-scale multi-robot task allocation, in: Proc. of Robotics:Science and Systems Conference, 2011.

[22] L. Liu, D.A. Shell, Large-scale multi-robot task allocation via dynamicpartitioning and distribution, Autonomous Robots 33 (3) (2012) 291–307.

[23] J. Chen, D. Sun, Resource constrained multirobot task allocation based onleader–follower coalition methodology, International Journal of RoboticsResearch 30 (12) (2011) 1423–1434.

[24] J. Chen, D. Sun, Coalition-based approach to task allocation of multiple robotswith resource constraints, IEEE Transactions on Automation Science andEngineering 9 (3) (2012) 516–528.

[25] D.P. Bertsekas, D.A. Castanon, The auction algorithm for transportationproblems, Annals of Operations Research 20 (1989) 67–96.

[26] D.P. Bertsekas, The auction algorithm for assignment and other network flowproblems: a tutorial, Interfaces 20 (4) (1990) 133–149.

[27] B.P. Gerkey,M.J. Mataric, Sold!: auctionmethods formulti-robot coordination,IEEE Transactions on Robotics and Automation 18 (5) (2002) 758–768.

[28] M.B. Dias, R. Zlot, N. Kalra, A. Stentz, Market-based multi-robot coordination:a survey and analysis, Proceedings of the IEEE 94 (7) (2006) 1257–1270.

[29] H.L. Choi, L. Brunet, J.P. How, Consensus-based decentralized auctions forrobust task allocation, IEEE Transactions on Robotics 25 (4) (2009) 912–926.

[30] M. Nanjanath, M. Gini, Repeated auctions for robust task execution by a robotteam, Robotics and Autonomous Systems 58 (7) (2010) 900–909.

[31] W. Ren, R. Beard, E.M. Atkins, Information consensus in multi-vehicle control,IEEE Control Systems Magazine 27 (2) (2007) 71–82.

[32] S. Ponda, J. Redding, H.L. Choi, J.P. How, M. Vavrina, J. Vian, Decentralizedplanning for complex missions with dynamic communication constraints, in:Proc. of American Control Conference, ACC, 2010, pp. 3998–4003.

[33] L.B. Johnson, S. Ponda, H.L. Choi, J.P. How, Improving the efficiencyof a decentralized tasking algorithm for UAV teams with asynchronouscommunications, American Institute of Aeronautics and Astronautics (2010).

[34] L.F. Bertuccelli, H.L. Choi, P. Cho, J.P. How, Real-time multi-UAV taskassignment in dynamic and uncertain environments, in: AIAA GuidanceNavigation and Control Conference, 2009.

[35] H.L. Choi, A.K. Whitten, J.P. How, Decentralized task allocation for heteroge-neous teams with cooperation constraints, in: Proc. of American Control Con-ference, ACC, 2010, pp. 3057–3062.

[36] A.K. Whitten, H.L. Choi, L.B. Johnson, J.P. How, Decentralized task allocationwith coupled constraints in complex missions, in: Proc. of American ControlConference, ACC, 2011, pp. 1642–1649.

[37] D. Di Paola, D. Naso, B. Turchiano, Consensus-based robust decentralized taskassignment for heterogeneous robot networks, in: Proc. of American ControlConference, ACC, 2011, pp. 4711–4716.

[38] T. Mercker, D.W. Casbeer, P.T. Millet, M.R. Akella, An extension of consensus-based auction algorithms for decentralized, time-constrained task assignment,in: Proc. of American Control Conference, ACC, 2010, pp. 6324–6329.

[39] M. Argyle, D.W. Casbeer, R. Beard, A multi-team extension of the consensus-based bundle algorithm, in: Proc. of American Control Conference, ACC, 2011,pp. 5376–5381.

[40] S.A. Stoeter, P.E. Rybski, K.N. Stubbs, C.P. McMillen, M. Gini, D.F. Hougen,N. Papanikolopoulos, A robot team for surveillance tasks: design andarchitecture, Robotics and Autonomous Systems 40 (2–3) (2002) 173–183.

[41] J. Pavon, J. Gomez-Sanz, A. Fernandez-Caballero, J.J. Valencia-Jimenez,Development of intelligent multisensor surveillance systems with agents,Robotics and Autonomous Systems 55 (12) (2007) 892–903.

[42] G. Binetti, D. Naso, B. Turchiano, Decentralized task allocation for heteroge-neous agent systems with constraints on agent capacity and critical tasks, in:Proc. of the 2012 IEEE International Conference on Robotics and Biomimetics,2012, pp. 1627–1632.

[43] A. Hoffman, J. Kruskal, Integral boundary points of convex polyhedral, LinearInequalities and Related Systems, Annals of Mathematics Studies 38 (1956)223–246.

[44] Z. Michalewicz, Genetic Algorithms + Data Structures = EvolutionaryPrograms, Springer-Verlag, 1994.

Giulio Binettiwas born in Bari, Italy, onNovember 2, 1982.He received the Master’s degree and the Bachelor’s degreein Computer Science Engineering from the Polytechnic ofBari, Bari, Italy, in 2001 and 2004, respectively. He is cur-rently a Ph.D. student at the Polytechnic of Bari, Italy,and a visiting research scholar at the University of Texasat Arlington, USA. His current research interests includenumerical and combinatorial optimization, distributedcomputation, consensus algorithms, multi-agent andmulti-robot systems.

David Naso was born in Salerno, Italy, on April 29, 1967.He received the Laurea degree (Hons.) in electronic en-gineering and the Ph.D. degree in electrical engineeringfrom the Polytechnic University of Bari, Bari, Italy, in 1994and 1998, respectively. He was a Guest Researcher withthe Operation Research Institute, Technical University ofAachen, Aachen, Germany, in 1997. Since 1999, he hasbeen an Assistant Professor of automatic control with theDepartment of Electric and Electronic Engineering, Poly-technic University of Bari, where he is currently the Tech-nical Head of the Robotics Laboratory and, since 2010, he

has been amember of the Executive Committee of the university. He is a Co-Founderof Energy Factory Bari, an integrated multidisciplinary laboratory for research inaerospace and energy based on the partnership between Avio S.p.A. and the Poly-technic University of Bari. His current research interests include numerical andcombinatorial optimization, discrete-event systems modeling and control, and dis-tributed control of manufacturing systems. He is the author of many journal andconference papers on these topics.

Biagio Turchiano was born in Bitetto, Bari, Italy. He re-ceived the Laurea degree in electrical engineering (Hons.)from the University of Bari, Bari, Italy, in 1979. He joinedthe Department of Electrical and Electronic Engineering,Polytechnic University of Bari, in 1984, as an AssistantResearcher, where he is currently a Full Professor of au-tomatic control. His current research interests includeproduction automation, systems and control theory, andmodeling and control of discrete event systems. Prof.Turchiano is an Associate Editor of the IEEE Transactionson Automation Science and Engineering.