Professional Documents
Culture Documents
A Coalition Formation From Software Agents To Robot Dectection
A Coalition Formation From Software Agents To Robot Dectection
A Coalition Formation From Software Agents To Robot Dectection
DOI 10.1007/s10846-007-9150-0
Abstract A problem that has recently attracted the attention of the research com-
munity is the autonomous formation of robot teams to perform complex multi-
robot tasks. The corresponding problem for software agents is also known in the
multi-agent community as the coalition formation problem. Numerous algorithms
for software agent coalition formation have been provided that allow for efficient
cooperation in both competitive and cooperative environments. However, despite
the plethora of relevant literature on the software agent coalition formation problem,
and the existence of similar problems in theoretical computer science, the multi-
robot coalition formation problem has not been sufficiently grounded for different
tasks and task environments. In this paper, comparisons are drawn to highlight the
differences between software agents and robotics, and parallel problems from theo-
retical computer science are identified. This paper further explores robot coalition
formation in different practical robotic environments. A heuristic-based coalition
formation algorithm from our previous work was extended to operate in prece-
dence ordered cooperative environments. In order to explore coalition formation
in competitive environments, the paper also studies the RACHNA system, a market
based coalition formation system. Finally, the paper investigates the notion of task
preemption for complex multi-robot tasks in random allocation environments.
Manuscript submitted on the 1st of September 2006, Lovekesh Vig is a graduate student in the
EECS Department at Vanderbilt University, Nashville TN 37212. Julie A. Adams is a Assistant
Professor in the EECS Department at Vanderbilt University, Nashville TN 37212.
L. Vig (B) · J. A. Adams
Electrical Engineering and Computer Science Department,
Vanderbilt University, Nashville, TN 37212, USA
e-mail: lovekesh.vig@vanderbilt.edu
86 J Intell Robot Syst (2007) 50:85–118
1 Introduction
2 Related Work
This section provides work relevant to the MRCF from the fields of Distributed
Artificial Intelligence (DAI), theoretical computer science and multi-robot systems.
Multi-robot researchers often borrow ideas from the multi-agent literature in order
to attain effective solutions. However there are irreconcilable differences between
the two domains that are important to understand. The similarity of the MRCF
problem to other well studied problems in theoretical computer science suggests
that existing solutions to these problems may potentially be exploited for coalition
formation.
Software agents are often required to form teams in order to perform tasks. DAI
researchers have focused on constructing agents that are able to cooperate during
task execution, thus increasing either individual agent benefits or the systems bene-
fits. Smith [51] discusses the Contract Net Protocol (CNP) in which the agents may
attempt to satisfy a task by dividing it into sub-tasks and sub-contract each sub-task
to another agent via a bidding mechanism. CNP allocates tasks to single agents and a
procedure for task partitioning is necessary. Many CNP inspired Multi-robot Tasks
Allocation (MRTA) systems have been proposed in the literature [7, 27, 65].
Gasser [22] focuses on the social aspects of agent knowledge and action in multi-
agent systems. As in human societies, social mechanisms can dynamically emerge.
This approach is effective when agents are interacting in environments where there
is no agreed upon, well defined interaction mechanism, or in continuously evolving
domains. This approach also bears a strong likeness to swarm based approaches to
robotic task allocation in that it allows a system to converge to appropriate robot/task
ratios based on local robot interactions [36].
Coalition formation has also been discussed in relation to game theory [55, 64]. In
fact, coalition theory is considered a field in its own right. However, game theory
does not address the most relevant issues for algorithm design, i.e. the protocols
and strategies to be followed by the agents in order to arrive at a beneficial
coalition configuration. Instead work in game theory tends to focus on the various
notions of stability in N-person cooperative games such as the kernel, core and the
bargaining set.
DAI researchers have built upon the results provided by game theory in order
to design coalition formation algorithms. Sandholm and Lesser [45] developed a
coalition formation model for bounded rational agents and presented a general
classification of coalition games. The value of a coalition in their model depends
on the computation time; however all configurations and possible coalitions are
88 J Intell Robot Syst (2007) 50:85–118
considered when computing a stable solution. Shehory and Kraus [50] proposed
algorithms that permit autonomous agents to form coalitions and distribute the joint
payoffs to members in Non-super-additive environments. The suggested protocol
guarantees that if the agents follow it, a certain stability (kernel-stability) is met. The
same paper presented an alternative protocol that offers a weaker form of stability
with polynomial running time. However, in both cases, no bound from the optimal is
guaranteed.
Sandholm et al. [44] formally prove that finding the optimal coalition structure is
an NP-Complete problem. They view the coalition structure generation process as a
search in a coalition structure graph. The problem is formulated as a search through
a subset of the coalition structures and selection of the best coalition structure
encountered.
Sandholm et al. [44] go on to prove that in order to establish any sort of bound on
the quality of the generated coalition structure, it is necessary and sufficient that the
search algorithm must search the bottom two levels (or 2a−1 nodes) of the coalition
structure graph. The suggested algorithm involves an initial search through these two
levels and then is followed by a time bounded breadth first search from the top of
the graph.
An algorithm for task allocation via coalition formation in Cooperative Distrib-
uted Problem Solving (CDPS) environments was proposed by [48]. This algorithm
yields tractable solutions by limiting the size of the coalitions and uses a greedy
heuristic to yield a coalition structure that is provably within a bound of the best
possible solution given the limit on the number of agents. This algorithm is especially
relevant to this paper and further modifications to this algorithm are described
in [61]. Shehory and Kraus [49] extended this algorithm to enable formation of
overlapping coalitions for precedence-ordered task-execution.
Coalition formation has begun to receive a great deal of attention from the DAI
research community [1, 19, 34, 52]. Despite this plethora of agent coalition formation
algorithms, none of these algorithms have been demonstrated to form coalitions in
the multi-robot domain. There are numerous reasons for this, some prominent ones
being the added communication costs in the multi-robot domain, the unreliability of
both communication and robots in real world domains, and the non-transferability
of resources between robots. This paper investigates the reasons behind this divide
between the agent and robotic domains and offers solutions to some of the problems
that arise while tailoring multi-agent coalition formation algorithms to the multi-
robot domain. Transferability of these algorithms are further discussed in Section 4.
The MRCF is a very difficult problem that belongs to the complexity class of strongly
NP-hard1 problems. However, coalition formation shares a similar structure with a
number of commonly studied problems in theoretical computer science. This section
identifies these problems and examines them from a coalition formation perspective.
1 Thecomplexity class of decision problems that are still NP-hard even when all numbers in the input
are bounded by some polynomial in the length of the input.
J Intell Robot Syst (2007) 50:85–118 89
Combinatorial auctions are auctions in which bidders can place bids on combinations
of items, called packages rather than individual items. Formally, the problem is
defined as follows [15]:
Definition Let N be a set of bidders and M the set of m distinct items. For every
subset S of M let b j(S) be the bid that agent j ∈ N has announced it is willing to
pay for S. Let b (S) = max j∈N b j(S). Then the winner determination problem can be
formulated as:
max b (S)x S (1)
S⊂M
s.t. x S ≤ 1∀i ∈ M. (2)
Si
x S = 0, 1 ∀i ∈ M. (3)
The MRCF problem can be cast as a combinatorial auction with the bidders being
represented by the tasks, the items by the different robots, and the bids by the
utility that each task has to offer for a particular subset of the set of robots (items).
Unfortunately, the problem is inapproximable [42], however some empirically strong
algorithms exist. Leyton-Brown et al. [33] present a heuristic-based algorithm to
efficiently search the space of bids by utilizing a demand based ordering of the
different items. Sandholm [42] provides an algorithm that allows auctions to scale
up to significantly larger numbers of items and bids by leveraging the fact that
the space of bids is sparsely populated in practice. It remains to be seen if such
algorithms can be sufficiently decentralized in order to beneficially apply them to
a multi-robot setting. A generalized version of the winner determination problem
in combinatorial auctions was utilized in the conception of the RACHNA system
described in Section 6.
The coalition formation problem can also be cast as a 0-1 integer programming
problem. Given a set of n agents and m candidate coalition-task pairs, the integer
programming problem is cast as follows [47]:
Given matrices A and U where:
U j = The utility gained when the jth coalition-task pair is selected.
1 if agent i is a part of jth coalition-task pair.
aij = (4)
0 otherwise.
n
Maximize Uj x j (5)
j=1
90 J Intell Robot Syst (2007) 50:85–118
Subject to: aij x j = 1, i = 1, ..., n (6)
j=1
Dantzig [14] introduced the simplex method for solving linear programming prob-
lems, which has since become the algorithm of choice for solving linear programs.
Although the worst case complexity is exponential in the size of the input [29],
the average case complexity for certain classes of problems is polynomial [6], and
the method is known to work very well in practice [53]. However, variants of the
simplex method appear to be heavily centralized. Consequently, these matrix based
approaches appear to have limited potential for distributed applications and to
the best of our knowledge, none have been successfully demonstrated in robotic
domains.
Perhaps the closest problems in theoretical computer science to the coalition forma-
tion problem are the set partitioning and set covering problems. Determining which
of the two problems is more apt for a particular domain depends on whether the task
environment allows for overlapping coalitions. Overlapping coalitions are discussed
further in Section 5.
Balas and Padberg [2] define the Set Partitioning problem as follows:
Definition (Set Covering Problem (SCP)) Given a finite set E, a family of accept-
able subsets F of E and a cost function c : F → + , find a maximum-utility family X
of elements in F such that X is a cover of E.
The ST-MR problem for time extended assignment can be cast as an instance
of the SCP, with E as the set of robots, F as the set of all feasible (and possibly
overlapping) coalition-task pairs, and u as the utility estimate for each such pair [23].
Like the SPP, the SCP is also NP hard [30]; however the coalition space of the SCP is
92 J Intell Robot Syst (2007) 50:85–118
The complexity of the coalition formation problem generally decreases when the al-
gorithm can observe individual coalition values instead of merely coalition structures.
Sandholm et al. [44] provide a dynamic programming algorithm for the coalition
formation problem when individual coalitions can be evaluated. The algorithm runs
in O(3a ) time (significantly less than exhaustive enumeration of all coalitions O(aa )).
However, this algorithm requires O(3a ) time even when the space of coalitions is
restricted. This condition may not be feasible for task allocation, especially given
that a coalition’s value can only be evaluated when it is paired with a task.
The above list of parallel problems is by no means exhaustive. Many other
problems share a similar problem structure to coalition formation. The objective of
reviewing the above problems was to direct the readers attention to the large number
of potentially untapped solutions in theoretical computer science that may lead to
fruitful algorithms for the coalition formation problem.
applications in numerous software-agent negotiation scenarios [12, 41, 43, 57]. Stentz
and Dias [56] were the first to utilize a market-based scheme to coordinate multiple
robots for cooperative task completion. This work introduced the methodology
of applying market mechanisms to intra-team robot coordination as opposed to
competitive inter-agent interactions in domains such as E-commerce. Laengle et
al. [31] implemented the KAMARA system that uses a negotiation based task
allocation scheme for controlling the different components of a complex robot.
Caloud et al. [9] developed the GOPHER architecture that utilizes a centralized
auction protocol to allocate tasks with a high level of commitment. Gerkey and
Matarić [25] developed MURDOCH; a completely distributed auction-based task
allocation scheme that utilized a Publish/Subscribe communication model. Tasks
in MURDOCH are allocated via a single round, first price auction in a greedy
fashion. M+, another auction based task allocation protocol was developed by [7].
The novelty of the M+ system lies in that it allows for dynamic task reallocation
of subcomponents of complex tasks. Dias [16] designed the Traderbots architecture
for multirobot control. Traderbots agents, called traders, are responsible for trading
tasks via auctions. When an auction is announced agents compute bids based on their
expected profit for the tasks, and the robots that can perform the tasks for the lowest
price are awarded contracts.
The common underlying factor in all of the above systems is the single robot-
single task assumption that assumes the indivisibility of tasks and that each task
may be performed by a single robot. As research in the field matures and multi-
robot tasks become more and more complex, this assumption is proving to be an
oversimplification. Many task domains require that a team of robots work on a task
simultaneously, making the task allocation problem far more difficult.
A relatively unexplored problem in multi-robot systems is the allocation of multi-
robot teams to different tasks (the ST-MR problem) commonly known as the MRCF
problem. Recently researchers have offered a variety of market based solutions
to the (ST-MR) single-task multiple-robot task allocation problem [35, 46, 58, 65].
However, none of these task allocation schemes utilize the inherent redundancy in
robot sensory capabilities. The RACHNA system described in Section 6 leverages
this redundancy to enable a more tractable formulation of the MRCF. Thus, one of
the primary objectives of this paper is to develop generic task allocation schemes for
allocating complex multi-robot tasks.
Largely due to inherent differences between the respective systems under study,
the multi-agent and multi-robot research communities have each developed their
own methods for perception, reasoning, and action in individual agents/robots. In
particular, the multi-robot community has historically studied both explicit and
implicit coordination techniques [3, 37]. Implicit coordination techniques employ
dynamics of interaction among the robots and the environment in order to achieve
the desired collective performance, often in the form of designed emergent behavior.
Explicit coordination techniques, in comparison, deal with comparatively more so-
phisticated agents/robots, and employ intentional communication and collaboration
methods much like those employed in multi-agent systems. Therefore at the level
94 J Intell Robot Syst (2007) 50:85–118
Are simply fragments of code. Are tangible entities that occupy space.
Capabilities correspond to code, data. Capabilities correspond to sensors, actuators.
Capabilities vary dynamically. Capabilities are static.
Each different agent is unique. Are manufactured, greater redundancy.
Cooperate by exchanging information. Cooperate implicitly and explicitly.
Not concerned with real world issues. Must deal with real world constraints.
Tasks generally involve information Tasks may involve manipulation of real
gathering. objects.
A multi-robot coalition formation algorithm that leverages a heuristic from the multi-
agent coalition formation literature was developed [61]. The notion of coalition
J Intell Robot Syst (2007) 50:85–118 95
imbalance and its implications with respect to fault tolerance in multi-robot coalitions
is an integral component of the algorithm which is briefly reviewed in this section.
Shehory and Kraus [50] designed a heuristic-based algorithm for task allocation
via agent coalition formation in Distributed Problem Solving (DPS) environments.
The algorithm restricts the coalition structure space by restricting the size of indi-
vidual coalitions to a fixed constant k. This heuristic fits well with the multi-robot
task domain because very often task execution requires less than a fixed number of
robots. Due to the differences between agents and robots outlined in Section 3, the
current algorithm cannot be directly applied for multiple-robot coalition formation.
The algorithm by [50] in its original form requires extensive communication and
synchronization during the computation of coalition values. While this may be
inexpensive for disembodied agents, it is often desirable to minimize communication
in multiple-robot domains even at the expense of extra computation. The purpose
of communication in Shehory and Kraus’ algorithm is to allow the agents to contin-
uously update each others capability values and to avoid redundant computations.
Since robot capabilities typically remain static, the need for continuous updates is
eliminated. Therefore, we altered the algorithm to allow each robot to evaluate all
coalitions in which it was a member and eliminated the need for communication in
the coalition evaluation stage. Generally speaking, communication is more expensive
and unreliable for robots than for agents. The impact of extensive communication
for Shehory and Kraus’ algorithm was shown to be severe enough to endorse
relinquishing communication in favor of additional computation when possible.
The multi-agent coalition formation algorithm [50] assumes that the agents have a
capability vector, < b i1 , ..., b ri >. Agents are allowed to exchange resources; there-
fore an agent coalition is deemed to have sufficient resources to perform a task if
each element of the vector sum of the agent capabilities is greater than the vector
of capability requirements for the task. Shehory and Kraus’ algorithm assumes that
the individual agents’ resources are collectively available upon coalition formation.
The formed coalition freely redistributes resources amongst the members. However,
this is not possible in a multiple-robot domain. Robot capabilities correspond to
sensors (camera, laser, sonar, or bumper) and actuators (wheels or gripper) that
cannot be autonomously exchanged. This implies that simply possessing adequate
resources does not necessarily create a multiple-robot coalition that can perform a
task, other locational constraints have to be represented and met. These constraints
were represented using a task constraint graph and the coalitions were validated
using arc-consistency to check for constraint violations.
The Constraint Satisfaction Problem (CSP) formulation checks each candidate
coalition to verify if its coalition is feasible. After constraint checking, fewer coali-
tions remain for further evaluation. While additional overhead is incurred during
constraint checking, this overhead is somewhat compensated for by the reduced
number of coalitions.
96 J Intell Robot Syst (2007) 50:85–118
1. All possible coalitions are distributively calculated and the initial coalition values
are computed.
2. Agents agree on the preferred coalitions and form them.
Stage 1-Preliminary coalition evaluation: Initially each agent Ai has a list of agents
A and a list of coalitions Clist in which Ai is a member. Ai performs the following
steps for each coalition C in Clist :
Stage 2-Final coalition formation: Each agent (Ai ) iteratively performs the following:
1. Locate in HCT the coalition-task pair < Cmax , tmax > with the highest value emax .
2. Retain in HCT all coalition-task pairs with values within a bound (5%) of emax .
3. Calculate the FTC for all coalition-task pairs in HCT .
4. Broadcast the coalition-task pair with the highest FTC, < C FTC , t FTC > along
with the coalition value e FTC .
5. Choose the coalition, task pair < Chigh , thigh > with the highest value ehigh from
all broadcasted coalition pairs.
6. If Ai is a member of coalition Chigh , join Chigh , return.
7. Delete from Clist coalitions containing members of Chigh .
8. Delete the chosen task thigh from T S.
The above steps are repeated until all the agents are deleted, until there are no more
tasks to allocate, or none of the possible coalitions is beneficial.
Simulation experiments were performed in the Player/Stage [28] simulation en-
vironment to demonstrate the effect that the balance coefficient would have on the
fault tolerance of robot teams. The algorithm was then transferred to a set of pioneer
robots on a set of real world tasks. Experiments were conducted with foraging, box-
pushing and sentry duty tasks [61] in order to show that the algorithm operates in-
dependent of task methodology and task diversity. The translation of the simulation
experiments to real world robot experiments required a few adjustments to account
for problems of slippage and mapping of capabilities to real numbers. However, the
experiments successfully establish that the algorithm performs satisfactorily with real
robots. The algorithm was successfully deployed to allocate a set of diverse multi-
robot tasks.
Fig. 1 A blocks world (Shehory and Kraus 1998) precedence ordered task
order. Therefore, it would be more efficient to assign disjoint coalitions to these tasks
to allow for parallel arrangement of D1 and D2 . This idea can be generalized into a
sequence of precedence ordered tasks where some intermittent sub-sequences may
consist of independent tasks. Efficient solutions in this case would execute the tasks
in such a subsequence in parallel by assigning disjoint coalitions to as many tasks
in the subsequence as possible. Subsequences of tasks for which interdependencies
exist may be performed using overlapping coalitions.
A high level planner, such as GraphPlan [5], may be used to develop the overall
partial ordering of the tasks. From this plan, a precedence order graph can be
constructed, with each node of the graph representing a task and edges representing
dependencies between tasks. Figure 2 provides a precedence graph for a set of tasks
where tasks t1 and t2 have no outstanding dependencies, whereas task t3 may be
performed only after t1 and t2 are completed. Each task has a utility associated with
the task. The utility of a task ti will depend on:
The idea is to find the largest subset of tasks consistent with the task ordering
that can be executed with the currently available set of robots. This is achieved by
continuously updating the set of executable tasks and free agents to perform those
tasks, to extend the coalition formation algorithm outlined in Section 4.4. Formally
the precedence ordered algorithm is:
Initialization: Each agent stores in memory the precedence order graph generated
by a high level planner. The agents extract all tasks that have no unfulfilled pre-
requisite tasks. Call this list of candidate tasks the candidate list, Tcand . Each agent
also maintains a list of free agents, Fa , representing agents not currently engaged in
performing a task.
1. Coalitions are formed from the agents in Fa for performing the tasks in Tcand
using the coalition formation algorithm from Section 4. Agents that are assigned
to a task are removed from Fa . Similarly, allocated tasks are removed from Tcand .
2. Upon completion of a task t j by a coalition C, the lowest numbered member Ai
of coalition C broadcasts the coalition task pair < t j, C >.
3. Upon receipt of a task completion message, < t j, C >, each agent performs the
following:
(a) Add to the list of free agents, Fa , the members of the coalition C that
completed task t j.
100 J Intell Robot Syst (2007) 50:85–118
(b) Check the precedence graph and include in Tcand any new tasks that no
longer have outstanding dependencies after the execution of t j.
The above steps are repeated until there are no more tasks remaining to be executed
in the precedence order graph.
Section 5.2 presented an algorithm to extend the application of the multi-robot coali-
tion formation algorithm to domains where tasks have a partial ordering between
them. This section presents experiments, both in simulation and the real world,
demonstrating the successful application of the algorithm.
The tasks employed for these experiments are the box-pushing and patrol tasks.
The box-pushing task involves a coalition of two robots navigating through the en-
vironment and pushing a box in tandem. The participating robots must be equipped
with laser range finders, be mobile, and have bumpers. The patrol task involves a pair
of patrol robots navigating to and exploring a room. In order to accomplish the task,
the robots must be equipped with laser range finders, a map of the environment, and
sensors to detect contaminants.
The environment is a mapped indoor urban building with rooms and corridors. Boxes
are placed at specific locations in the building to block access to rooms or other
corridors, as shown in the simulated environment in Fig. 3. Thus there are two types
of tasks to be performed by the robots in this environment, namely box-pushing
and patrol. Eight robots were simulated for this experiment. The four pusher robots
(robots R1 –R4 in Fig. 3) were equipped with bumpers, laser range finders, and could
communicate with each other. The four patrol robots (robots R5 –R8 in Fig. 3) did not
have bumpers but had simulated sensors that could be used to detect contaminants.
All robots had a map of the environment. The utility for all independent box-pushing
and patrol tasks was identical. Thus, the overall utility of a task T in the precedence
order graph depended largely on how many tasks were dependent on T.
The precedence order graph for the given set of tasks depicted in Fig. 3 is provided
in Fig. 4. The precedence ordered MRCF algorithm was utilized to allocate and
perform tasks dynamically. The robots formed coalitions on the fly to perform tasks
as they became eligible for execution.
Figure 5 demonstrates the various box-pushing and patrol tasks being performed
by the different coalitions according to the precedence order graph in Fig. 4.
Figure 5a shows Robots R1 and R2 performing task T1 . Completion of task T1
unblocks tasks T2 , T3 and T4 ; however since only two box-pushing tasks can be
performed at a time, tasks T2 and T4 are allocated coalitions {R3 , R4 } and {R1 , R2 }
as shown in Fig. 5b. Once, T2 and T4 are executed, tasks T5 , T6 , T7 , T8 , and T10
become unblocked. Figure 5c shows the robot coalitions navigating to perform tasks
T3 , T5 , and T10 . Task T3 is being performed in Fig. 5d by coalition {R1 , R2 }, thereby
unblocking task T12 . Figure 5e shows T12 being performed by a coalition {R5 , R8 } of
patrol robots and T5 being performed by a coalition of pushers {R3 , R4 }. Figure 5f
shows tasks T6 and T10 being performed by coalitions of box-pushers {R1 , R2 } and
patrol robots {R6 , R7 } respectively. Tasks T7 , T8 and T11 are shown performed in
Fig. 5g by coalitions {R1 , R2 }, {R3 , R4 } and {R6 , R7 } respectively. Finally, T13 and
T14 are performed by coalitions {R6 , R7 } and {R5 , R8 } in Fig. 5h.
(a) (b)
(c) (d)
(e) (f)
(g) (h)
Fig. 5 Application of the precedence ordered MRCF algorithm to search the indoor urban
environment
J Intell Robot Syst (2007) 50:85–118 103
Two real robot experiments were performed, in the first experiment a building
corridor was mapped and boxes were placed, as in the simulation environment as
shown in Fig. 6a. The environment contained two rooms that were to be patrolled.
The rooms were connected by a corridor and two boxes blocking each room. The
task precedence graph is provided in Fig. 6b. Four robots, two patrol robots, and
two pusher robots were employed. The coalitions were formed to perform each task
as a task became eligible for execution, as demonstrated in Figs. 7a–7f. Figure 7a
shows the robots at their starting positions. Initially two pusher robots coalesce to
push a box and unblock a room (task T3 performed in Fig. 7b), which prompts the
patrol robots to coalesce and explore the unblocked room (task T4 performed in
Figs. 7c and 7d). The pushers meanwhile unblock a second room (task T2 performed
in Fig. 7e) and the patrol robots then visit and cover the second unblocked room
(task T1 performed in Fig. 7f). All robots had a map of the environment and utilized
a Monte Carlo localization algorithm to determine their individual positions in the
environment.
The second experiment involved forming coalitions to perform three box-pushing
tasks. The objective was to manipulate the boxes so that they form a T-shape.
Figures 8a–8b show the initial and desired final configuration of the boxes. The third
task was dependent on the successful execution of the first two independent tasks as
shown in Fig. 8c. Figure 9a shows the robots at their starting positions. Figure 9b
shows the two tasks T1 and T2 being performed by two coalitions of pushers.
Figures 9c shows a coalition navigating to perform T3 . Finally, T3 is performed by
the same coalition that performed task T1 in Fig. 9d.
Robotic domains frequently involve temporal ordering between tasks, the above
experiments demonstrate that the extended algorithm can be applied to form
overlapping coalitions to perform these tasks on the fly, as they become eligible for
execution.
(a) (b)
104 J Intell Robot Syst (2007) 50:85–118
(a) (b)
(c) (d)
(e) (f)
Fig. 7 a Robots at the staring position. b Pushers coalesce to push a box and unblock a room.
c Patroller robots coalesce to explore first unblocked room. d Pushers push a box to unblock the
second room. e Coalition of robots patrolling the first room. f Patrollers visit second unblocked room
J Intell Robot Syst (2007) 50:85–118 105
5.4 Limitations
The heuristic-based coalition formation techniques described thus far suffer from
some limitations. The robot sensors and actuators are assigned a static initial value
instead of being valued dynamically based upon demand and supply. Thus, a sensor
may be have a high cost despite having very few tasks (or none) competing for it.
Consequently, the overall solution cost would increase resulting in relatively ineffi-
cient allocations. Heuristic based algorithms work well when the size of coalitions is
limited; however when the tasks require coalitions of a larger size the solution can be
arbitrarily bad. Particularly in the case of the algorithm described in Section 4.4, the
solution quality would significantly decrease if the tasks frequently require coalitions
whose size exceeds the maximum allowed coalition size. Also, the algorithm does not
take into account the redundancy in robotic sensory capabilities that can make the
problem more tractable. The RACHNA system was designed for competitive and
random allocation environments in light of these limitations.
This Section describes RACHNA,2 a market based system for coalition formation
in competitive environments. RACHNA alleviates some of the problem associated
with heuristic-based coalition formation by allowing tasks to compete for robot
resources and autonomously adjusting sensor values based on supply and demand.
Also, unlike the heuristic-based algorithms, RACHNA does not impose any restric-
tions on coalition size.
6.1 Conception
(a) (b)
(c) (d)
Fig. 9 a Robots at the starting positions. b Robots coalesce to perform the two independent box-
pushing tasks. c Two robots then form a coalition to perform the dependent box-pushing task.
d Dependent task performed
protocols and the overall efficiency generated due to competition between robots.
A common feature of the market based systems, discussed in Section 2, is that all
these systems require the robots to bid on the tasks. The bidding process is central to
determining the auction outcome. Therefore when dealing with complex tasks, the
bidder should have a global view of the available resources. We propose a system
in which the bidding is reversed. The auction is performed by the tasks for the
individual robot services. This allows for the bidding to be performed with the global
information necessary for coalition formation.
One of the most prominent differences between the multi-agent and multi-robot
domains (Section 3) is the level of redundancy in multi-robot and software-agent
capabilities. Whereas software-agents are simply code fragments programmed by
individuals, robots are manufactured on a large scale. Therefore, robots are more
likely to have greater redundancy in their sensor/actuator capabilities. Indeed,
almost any modern robotics facility will have a number of robots with identical
J Intell Robot Syst (2007) 50:85–118 107
capabilities. To the best of our knowledge, RACHNA is the first system to leverage
this redundancy in order to enable a more tractable formulation of the coalition
formation problem. RACHNA achieves this through the formulation of the coalition
formation as a multi-unit combinatorial auction.3
While the use of single good auctions allows the bidders to bid on only one good,
combinatorial auctions permit bidding on combinations of goods. This work focuses
on a particular type of combinatorial auction called multi-unit combinatorial auction.
Definition The auctioneer has a set of items, M = 1, 2,..., m to sell. The auctioneer
has some number of each item available: U = {u1 , u2 , ..., um }, ui ∈ Z +. The buyers
submit a set of bids, B = {B1 , B2 , ..., Bn }. A bid is a tuple Bj = (γ j1 , ..., γ jm ), pj ,
where γ jk ≥ 0 is the number of units of item k that the bid requests, and pj is the
price. The Binary Multi-unit Combinatorial Auction Winner Determination Problem
(BMUCAWDP) is the problem of labeling the bids as winning or losing so as to
maximize the auctioneers revenue under the constraint that each unit of an item can
be allocated to at most one bidder:
n
max pj x j s.t. γ ji x j ≤ ui , i = 1, 2, . . . , m. (8)
j=1
The MRCF problem can be cast as a combinatorial auction with the bidders being
represented by the tasks, the items as the different types of robots, and the price as
the utility that each task has to offer. Unfortunately, the BMUCAWDP problem is
inapproximable [42]; however some empirically strong algorithms do exist [33, 42]. It
remains to be seen if such algorithms can be decentralized sufficiently to apply them
beneficially to a multi-robot setting.
The RACHNA system, reverses the bidding. The auction is performed by the tasks
for the individual robot services. This allows for the bidding to be performed with the
global information necessary for coalition formation. There are two types of software
agents that are involved in the task allocation:
1. Service Agents: The Service Agents are the mediator agents through which the
tasks must bid for a service. RACHNA requires that each robot has a set of
services or roles that it is capable of performing. The roles are determined by
the individual sensor and behavioral capabilities resident on each robot. There
is one service agent for each service type that a robot can provide. A service
agent may communicate with any of the robots that provide the particular service
to which the agent corresponds. For example, the foraging service agent may
communicate with all robots that currently have sensor capabilities (i.e. camera
and gripper) to perform the foraging service. Service agents reside on any one of
the robots that are capable of providing the service. Thus, the global information
3 Theremay be subtle unavoidable differences in robots with seemingly identical sensory capabilities
due to wear and tear, loose wiring, sensor accuracy etc. These are ignored for the time being.
108 J Intell Robot Syst (2007) 50:85–118
If a robot loses control of a sensor or actuator in RACHNA, the system allows for
graceful performance degradation. Since there is a mapping from sensor capabilities
to behavioral capabilities, if a sensor failure occurs a robot may still be capable of
performing an alternative behavior. Consider a robot that is capable of performing
the foraging and watcher behaviors. If the robot’s gripper is damaged, it will be
unable to execute the foraging behavior but it may still be able to perform the
watcher behavior. The foraging service agent system simply deletes the robot from
the list of foragers and in future auctions this robot will not receive offers relating
to the foraging behavior. The robot will remain in the list of watchers because the
relevant sensors for watching (camera) are still intact. Thus, the system allows for
graceful performance degradation. It should be noted that the current system makes
no attempt at fault detection.
follows, the auction begins with each task agent sending request messages to the
individual service agents. The service agents attempt to obtain the minimum possible
price for the requested services by evaluating the minimum salaries that the robots
are currently earning. The agents then attempt to lure the robots to the new task by
and adding a minimum increment value to their current salaries. The service agents
then send this information to the task agents. The task agents determine if they
have sufficient utility to purchase the required services. If this is the case, then the
services (robots) are temporarily assigned to the task. This kind of offer-counteroffer
proceeds in a round robin fashion with the salaries of the robots increasing at every
step until no service (robot) changes hands during the round. At this point the final
stable solution is reached. The formal algorithm is provided in Section 6.5.
Random Allocation involves the random introduction of urgent tasks into the
environment and the tasks are allocated robot services according to a negotiation or
bargaining process between tasks. The negotiation proceeds as follows, the new task
submits a request to the required service agents for a certain number of services of
that type. The service agents take into account the current salaries of the robots and
allow for a bargaining process to ensue between tasks. Tasks compete with each other
by increasing robot salaries until either the new task successfully acquires robots from
other tasks, or waits until more resources are freed.
Initially, each Service Agent SAi maintains a set of all possible robots, Rob otsi that
are capable of performing that particular service. Additionally, SAi is aware of all
possible services a robot in Rob otsi can perform and keeps track of which service it
is currently performing. All robot salaries are initialized to zero. In order to submit a
successful bid, a task agent must place an offer so as to increase the current salaries
of the robots by a minimum increment, εc . Each task agent has a fixed utility, U c
that is used for bidding on the services. Whenever a task discovers that it can no
longer place a successful bid, it relinquishes its robots and decreases their salary by
an amount εc .
6.5.1 Preprocessing
– Initially all task agents submit bids to all relevant service agents.
– Each service agent SAi then evaluates the following heuristic:
numbidsi .q(i)
scorei = (9)
avgunitsi
where, numbidsi is the total number of task agents bidding for service provided
by SAi , qi is the number of robots capable of performing service SAi , avgunitsi
is the average number of total units requested by these task agents.
Once, scorei is evaluated for each service agent SAi , this score is broadcast to all the
service agents and the service agents order themselves according to this score.
J Intell Robot Syst (2007) 50:85–118 111
Awarding of Services Upon receipt of a bid bj from Task Agent TAk requesting m
robots capable of performing SAi ’s service, SAi performs the following steps:
– If m > |Robotsi | ignore the bid (i.e. not enough robots).
– Evaluate Sm , the sum of the current m lowest salaries of robots in |Robotsi | that
are not already awarded to TAk by a higher ranked service agent (according to
the last received broadcast).
– If Sm + mc ≤ bj
1. Temporarily award the selected robots to the task.
2. Send a message to the purchased robots to increment their salaries by εc
and to change their current task.
– Else continue.
– Upon receipt of a disown signal from a task agent TAk , a Service Agent SAi does
the following:
1. Search Robotsi for any robots that are currently assigned to TAk .
2. Decrement the salaries of the robots by εc and send a message to those
robots.
Whenever a robot receives a message for a change in salary from a service agent,
the robot sends a message to all connected service agents informing them of its new
payoff, its new task, and the service it is currently required to provide.
6.6 Experiments
system to simple task allocation techniques. A set of real world tasks were simulated
in the Player/Stage environment to demonstrate task preemption in Experiment 2.
The solution quality produced by the RACHNA algorithm was compared to that
obtained by simple task allocation schemes. Figure 11 provides the comparison
between the solution quality produced by the RACHNA system to those produced
by the global greedy and random allocation algorithms. Twenty trials were run for
each experiment. The allocation produced by an algorithm by [33] that utilizes a
variant of A* search is also provided. This algorithm yields solutions that are either
optimal or very close to optimal and therefore provides a reasonable upper bound
on solution quality. The graph demonstrates that RACHNA’s solution quality is
still sub-optimal, but in a distributed approach such as the one suggested, this is
inevitable. As is evident from the figure, RACHNA easily outperforms both the
Foraging 0 1 0 1 1 R1 , R2
Pushing 1 0 1 0 0 R3 , R4 , R6 , R7
Object tracking 0 1 0 0 1 R1 , R2 , R5 , R8
Sentry-duty 1 0 0 0 0 R3 , R4 , R6 , R7 , R9 , R10
greedy and random allocation algorithms. The reason is that unlike greedy or ran-
dom search, RACHNA refines the solution in each auction round to include better
tasks (bids).
The Player/Stage environment was utilized for the set of experiments focused on
task preemption in order to formulate a set of real world tasks. The experiments
involved a set of four services and ten heterogeneous robots, as shown in Table 3.
The following services were employed:
1. Foraging: This service involved robots scouting the environment for objects of
interest and retrieving them to a goal destination.
2. Pushing: This service involved robots moving into position and pushing a box.
3. Object-tracking: This service involved robots keeping mobile items of interest
under surveillance.
4. Sentry-duty: This service required the robots to monitor a particular area for
motion.
The sensor capabilities of each robot determines which services it can perform. For
example Robots 1 and 2 have Camera, Gripper, and Sonar sensors and can perform
Foraging and Object Tracking tasks. The experiment involved four heterogeneous
tasks as outlined in Table 4. For example, Task 1 required two foraging robots
and one sentry-duty robot. While Tasks 1 and 3 were Standard tasks (Section 6.4),
Task 2 was Non-preemptible, and Task 4 was Urgent. Initially the first three tasks
were introduced using the algorithm described in Section 6.5. Figure 12a shows the
simulation of the first three tasks. Subsequently, Task 4 was introduced into the
environment and the bargaining process resulted in Task 3 being preempted, as
shown in Fig. 12b.
1 2 0 0 1 Standard
2 0 2 0 1 Non-premptible
3 0 1 2 0 Standard
4 0 2 1 0 Urgent
114 J Intell Robot Syst (2007) 50:85–118
(a) (b)
Fig. 12 a Allocation of Tasks 1, 2 and 3 prior to introduction of Task 4. b Allocation of Task 4 and
pre-emption of Task 3
The salary increments and the associated task for each robot after each auction
round is shown in Table 5. An auction round involves bidding by all tasks at least
once. Prior to introducing Task 4 in round 1, the robots are allocated to Tasks
1, 2, and 3 for minimum salaries. After round 2, Task 4 has temporarily acquired
R1 , R3 , and R7 by offering a higher salary to each. As the competition increases for
the pusher and object tracker services, all robots possessing these resources draw
higher salaries with each successive auction round. Auction round 8 involves Task 3
exhausting its utility and being forced to relinquish R7 and R8 . The salaries of these
robots are lowered by the minimum increment (εc = 5). Eventually, Task 4 acquires
robots R6 and R8 from Task 3 at the end of round 8.
Table 5 Salary increments for different robots during the task allocation
1 2 3 4 5 6 7 8
6.7 Discussion
The RACHNA system was designed to overcome some of the limitations of the
heuristic-based approaches to coalition formation. Unlike the heuristic-based ap-
proaches RACHNA does not assign a predetermined value to the robot sensors and
allows sensor valuation based on supply and demand. Also, while most heuristic-
based approaches operate by imposing restrictions on the coalition space (for
example by limiting coalition size), RACHNA does not impose any restrictions on
coalition size.
However the RACHNA system does suffer from some limitations, foremost of
which is the additional communication overhead as compared to the heuristic-based
approach. Currently, the RACHNA system has been implemented in simulation, and
pending implementation with real world robots, the system cannot be completely
validated. The scalability of the messaging protocol in a distributed environment has
to be evaluated and an empirical study of communication load with an increasing
number of tasks needs to be conducted. Message synchronization is another issue
that may require additional attention in a real world environment to ensure that
robots send each other meaningful messages and are able to detect communication
failure.
RACHNA is also designed to handle partial robot failure in an efficient manner
by simply allowing robots to disconnect themselves from the lost services. However,
experiments need to be conducted to demonstrate RACHNA’s ability to handle
partial and complete robot failure. An associated limitation is that the system makes
no attempt at fault detection.
The RACHNA system generally yields high quality sub-optimal solutions how-
ever the system is highly sensitive to parameters of salary increment and robot
diversity. Also as compared to heuristic search based techniques, the system takes
longer to converge to a solution. However, the system is more decentralized and
allows for dynamic valuation of robot capabilities.
There are inherent tradeoffs between a market-based and search based coalition
formation techniques. Users choosing between these techniques must be aware of
these issues and be able to identify the key issues for a particular application.
References
1. Abdallah, S., Lesser, V.: Organization-based cooperative coalition formation. In: Proceedings
of the IEEE/WIC/ACM International Conference on Intelligent Agent Techonology, IAT,
pp. 162–168 (2004)
2. Balas, E., Padberg, M.: Set partitioning: a survey. SIAM Rev. 18, 710–760 (1976)
3. Balch, T., Arkin, R.C.: Communication in reactive multiagent robotic systems. Auton. Robots
1(1), 1–25 (1994)
4. Bar-Yehuda, R., Even, S.: A linear time approximation algorithm for the weighted vertex cover
problem. J. Algorithms 2, 198–203 (1981)
5. Blum, A.L., Furst, M.L.: Fast planning through planning graph analysis. Artif. Intell. 90, 281–300
(1997)
6. Borgwardt, K.-H.: Some distribution-independent results about the asymptotic order of the
average number of pivot steps of the simplex algorithm. Math. Oper. Res. 7, 441–461 (1982)
7. Botelho, S.C., Alami, R.: M+: a scheme for multi-robot cooperation through negotiated task
allocation and achievement. In: Proceedings of IEEE International Conference on Robotics and
Automation, pp. 1234–1238 (1999)
8. Brooks, R.A.: A robust layered control system for a mobile robot. IEEE J. Robot. Autom. 2(1),
14–23 (1986)
9. Caloud, P., Choi, W., Latombe, J.-C., Pape, C.L., Yim, M.: Indoor automation with many mobile
robots. In: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and
Systems, pp. 67–72 (1990)
10. Chu, P.C., Beasley, J.E.: A genetic algorithm for the set covering problem. Eur. J. Oper. Res. 94,
396–404 (1996)
11. Chvatal, V.: A greedy heuristic for the set-covering problem. Math. Oper. Res. 4(3), 233–235
(1979)
12. Collins, J., Jamison, S., Mobasher, B., Gini, M.: A market architecture for multi-agent contract-
ing. Technical Report 97-15, University of Minnesota, Department of Computer Science (1997)
13. Dahl, T.S., Matarić, M.J., Sukhatme, G.S.: Multi-robot task-allocation through vacancy chains.
In: Proceedings of IEEE International Conference on Robotics and Automation, pp. 14–19
(2003)
14. Dantzig, G.B.: Linear Programming and Extensions. Princeton University Press, Princeton, NJ
(1972)
15. DeVries, S.,Vohra, R.: Cominatorial auctions: a survey. INFORMS J. Comput. 135, 284–309
(2003)
16. Dias, M.B.: TraderBots: a new paradigm for robust and efficient multirobot coordination in
dynamic environments. Ph.D. thesis, The Robotics Institute, Carnegie Mellon University (2004)
17. Dijkstra, E.W.: The mathematics behind the banker’s algorithm. In: Dijkstra, E.W. (ed.)
Selected Writings on Computing: A Personal Perspective, pp. 308–312 (1977)
J Intell Robot Syst (2007) 50:85–118 117
18. Dyer, M.E., Wolsey, L.A.: Formulating the single machine sequencing problem with release
dates as a mixed integer programming problem. Discrete Appl. Math. 26, 255–270 (1990)
19. Fass, L.F.: Automatic-theoretic view of agent coalitions. Technical Report WS-04-06, American
Association of Artificial Intelligence Workshop on Forming and Maintaining Coalitions and
Teams in Adaptive Multiagent Systems (2004)
20. Fisher, M., Kedia, P.: Optimal solution of set covering/partitioning problems using dual heuris-
tics. Manage. Sci. 36(6), 674–688 (1990)
21. Garrido, A., Salido, M., Barber, F., López, M.: Heuristic methods for solving job-shop scheduling
problems. In: PuK (2000)
22. Gasser, L.: Social knowledge and social action. In: International Joint Conference on Artificial
Intelligence, pp. 751–757 (1993)
23. Gerkey, B., Matarić, M.J.: A framework for studying multi-robot task allocation. In: Proceedings
of the Multi-robot Systems: From Swarms to Intelligent Automata, vol. 2, pp. 15–26 (2003)
24. Gerkey, B., Matarić, M.J.: Are (explicit) multi-robot coordination and multi-agent coordination
really so different? In: Proceedings of the AAAI Spring Symposium on Bridging the Multi-agent
and Multi-robotic Research Gap, pp. 1–3 (2004)
25. Gerkey, B.P., Matarić, M.J.: MURDOCH: Publish/subscribe task allocation for heterogeneous
agents. In: Proceedings of Autonomous Agents, pp. 203–204 (2000)
26. Gerkey, B.P., Matarić, M.J.: Pusher–watcher: an approach to fault-tolerant tightly-coupled robot
coordination. In: Proceedings of the IEEE International Conference on Robotics and Automa-
tion, pp. 464–469 (2002a)
27. Gerkey, B.P., Matarić, M.J.: Sold!: auction methods for multi-robot coordination. IEEE Trans.
Robot. Autom. (Special issue on multi-robot systems) 18(5), 758–768 (2002b)
28. Gerkey, B.P., Vaughan, R.T., Stoy, K., Howard, A., Sukhatme, G.S., Matarić, M.J.: Most valuable
player: a robot device server for distributed control. In: Proceedings of the IEEE/RSJ Interna-
tional Conference on Intelligent Robots and Systems, pp. 1226–1231 (2001)
29. Klee, V., Minty, G.: How good is the simplex algorithm? In: Shisha, O. (ed.) Qualities, vol. III,
pp. 159–175 (1972)
30. Korte, B., Vygen, J.: Combinatorial Optimization: Theory and Optimization. Springer, Berlin
(2000)
31. Laengle, T., Lueth, T.C., Rembold, U., Woern, H.: A distributed control architecture for au-
tonomous mobile robots. Adv. Robot. 12(4), 411–431 (1998)
32. Lang, S.: An extended banker’s algorithm for deadlock avoidance. IEEE Trans. Softw. Eng. 3,
428–432 (1999)
33. Leyton-Brown, K., Shoham, Y., Tennenholtz, M.: An algorithm for multi-unit combinatorial
auctions. In: Proceedings of the 17th National Conference on Artificial Intelligence, pp. 56–61
(2000)
34. Li, X., Soh, L.-K.: Investigating reinforcement learning in multiagent coalition formation. Tech-
nical report no. WS-04-06, American Association of Artificial Intelligence Workshop on Forming
and Maintaining Coalitions and Teams in Adaptive Multiagent Systems, pp. 22–28 (2004)
35. Lin, L., Zheng, Z.: Combinatorial bids based multi-robot task allocation. In: Proceedings of the
International Conference on Robotics and Automation, pp. 1145–1150 (2005)
36. Low, K.H., Leow, W.K., Ang Jr., M.H.: Task allocation via self-organizing swarm coalitions in
distributed mobile sensor network. In: Proceedings of the American Association of Artificial
Intelligence, pp. 28–33 (2004)
37. Parker, L.E.: The effect of action recognition and robot awareness in cooperative robotic teams.
In: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems,
vol. 1, pp. 212–219 (1995)
38. Parker, L.E.: ALLIANCE: an architecture for fault tolerant multi-robot cooperation. IEEE
Trans. Robot. Autom. 14(2), 220–240 (1998)
39. Sadeh, N.M., Fox, M.S.: Variable and value ordering heuristics for the job shop scheduling
constraint satisfaction problem. Artif. Intell. 86, 1–41 (1996)
40. Sadeh, N.M., Sycara, K., Xiong, Y.: Backtracking techniques for the job shop scheduling con-
straint satisfaction problem. Artif. Intell. 76, 455–480 (1995)
41. Sandholm, T.: An implementation of the contract net protocol based on marginal cost calcula-
tions. In: Proceedings of the Eleventh National Conference on Artificial Intelligence, pp. 256–262
(1993)
42. Sandholm, T.: Algorithm for optimal winner determination in cominatorial auctions. Artif. Intell.
135, 1–54 (2002)
118 J Intell Robot Syst (2007) 50:85–118
43. Sandholm, T., Lesser, V.: Advantages of a leveled commitment contracting protocol. In: Pro-
ceedings of the Thirteenth National Conference on Artificial Intelligence, pp. 126–133 (1996)
44. Sandholm, T.W., Larson, K., Andersson, M., Shehory, O., Tomhe, F.: Coalition structure gener-
ation with worst case guarantees. Artif. Intell. 111(1,2), 209–238 (1999)
45. Sandholm, T.W., Lesser, V.R.: Coalition formation among bounded rational agents. In: Proceed-
ings of International Joint Conference on Artificial Intelligence, pp. 662–669 (1995)
46. Schneider, J., Apfelbaum, D., Bagnell, D., Simmons, R.: Learning opportunity costs in multi-
robot market based planners. In: Proceedings of the International Conference on Robotics and
Automation, pp. 1151–1156 (2005)
47. Schrijver, A.: Theory of Linear and Integer Programming. Wiley, Amsterdam (1986)
48. Shehory, O., Kraus, S.: Task allocation via coalition formation among autonomous agents. In:
Proceedings of International Joint Conference on Artificial Intelligence, pp. 655–661 (1995)
49. Shehory, O., Kraus, S.: Formation of overlapping coalitions for precedence ordered task-
execution among autonomous agents. In: Proceedings of International Conference on Multi
Agent Systems, pp. 330–337 (1996)
50. Shehory, O., Kraus, S.: Methods for task allocation via agent coalition formation. Artif. Intell.
101(1,2), 165–200 (1998)
51. Smith, R.G.: The contract net protocol: high level communication and control in a distributed
problem solver. IEEE Trans. Comput. 29(12), 1104–1113 (1980)
52. Sorbella, R., Chella, A., Arkin, R.: Metaphor of politics: a mechanism of coalition formation.
Technical Report WS-04-06, American Association of Artificial Intelligence Workshop on Form-
ing and Maintaining Coalitions and Teams in Adaptive Multiagent Systems (2004)
53. Spielman, D.A., Teng, S.-H.: Smoothed analysis: why the simplex algorithm usually takes poly-
nomial time. In: Proceedings of ACM Symposium on Theory of Computing, pp. 296–305 (2001)
54. Srinivasan, V.: A hybrid algorithm for the one machine sequencing problem to minimize total
tardiness. Nav. Res. Logist. Q. 18, 317–327 (1971)
55. Stearns, R.E.: Convergent transfer schemes for n-person games. Trans. Am. Math. Soc. 134,
449–459 (1968)
56. Stentz, A., Dias, M.B.: A free market architecture for coordinating multiple robots. Technical
Report CMU-RI-TR-01-26, The Robotics Institute, Carnegie Mellon University (1999)
57. Sycara, K., Zeng, D.: Coordination of multiple intelligent software agents. Int. J. Intell. Coop.
Inf. Syst. 5(2-3), 181–211 (1996)
58. Tang, F., Parker, L.E.: Coalescing multi-robot teams through ASyMTRe: a formal analysis. In:
Proceedings of the IEEE International Conference on Advanced Robotics, pp. 817–824 (2005)
59. Vig, L., Adams, J.A.: Issues in multi-robot coalition formation. In: Parker, L.E., Schneider, F.E.,
Schultz, A.C. (eds.) Proceedings of Multi-Robot Systems. From Swarms to Intelligent Automata,
Washington, DC, vol. 3, pp. 15–26. Springer, Berlin (2005)
60. Vig, L., Adams, J.A.: Market-based multi-robot coalition formation. In: Gini, M., Voyles, R.
(eds.) Distributed Autonomous Robotics Systems, Minneapolis, vol. 7, pp. 227–236. Springer,
Berlin (2006a)
61. Vig, L., Adams, J.A.: Multi-robot coalition formation. IEEE T. Robot. 22(4), 637–649 (2006b)
62. Wagner, H.M.: An integer programming model for machine scheduling. Nav. Res. Loqist. Q. 6,
131–140 (1959)
63. Werger, B., Matarić, M.J.: Broadcast of local eligibility: behavior based control for strongly
cooperative multi-robot teams. In: Proceedings of Autonomous Agents, pp. 21–22 (2000)
64. Wu, L.S.: A dynamic theory for the class of games with nonempty cores. SIAM J. Appl. Math.
32, 328–338 (1977)
65. Zlot, R., Stentz, A.: Complex task allocation for multiple robots. In: Proceedings of the IEEE
Conference on Robotics and Automation, pp. 67–72 (2005)