Title:

Multiagent coordination for dynamic decentralised task allocation

Coordination of multiple agents for dynamic task allocation is an important and challenging problem, which involves deciding how to assign a set of agents to a set of tasks, both of which may change over time (i.e., it is a dynamic environment). Moreover, it is often necessary for heterogeneous agents to form teams to complete certain tasks in the environment. In these teams, agents can often complete tasks more efficiently or accurately, as a result of their synergistic abilities. In this thesis we view these dynamic task allocation problems as a multiagent system and investigate coordination techniques for such systems. In more detail, we focus specially on the distributed constraint optimisation problem (DCOP) formalism as our coordination technique. Now, a DCOP consists of agents, variables and functions agents must work together to find the optimal configuration of variable values. Given its ubiquity, a number of decentralised algorithms for solving such problems exist, including DPOP, ADOPT, and the GDL family of algorithms. In this thesis, we examine the anatomy of the abovementioned DCOP algorithms and highlight their shortcomings with regard to their application to dynamic task allocation scenarios. We then explain why the maxsum algorithm (a member of the GDL family) is the most appropriate for our setting, and define specific requirements for performing multiagent coordination in a dynamic task allocation scenario: namely, scalability, robustness, efficiency in communication, adaptiveness, solution quality, and boundedness. In particular, we present three dynamic task allocation algorithms: fastmaxsum, branchandbound fastmaxsum and bounded fastmaxsum, which build on the basic maxsum algorithm. The former introduces storage and decision rules at each agent to reduce overheads incurred by rerunning the algorithm every time the environment changes. However, the overall computational complexity of fastmaxsum is exponential in the number of agents that could complete a task in the environment. Hence, in branchand bound fastmaxsum, we give fastmaxsum significant new capabilities: namely, an online pruning procedure that simplifies the problem, and a branchandbound technique that reduces the search space. This allows us to scale to problems with hundreds of tasks and agents, at the expense of additional storage. Despite this, fastmaxsum is only proven to converge to an optimal solution on instances where the underlying graph contains no cycles. In contrast, bounded fastmaxsum builds on techniques found in bounded maxsum, another extension of maxsum, to find bounded approximate solutions on arbitrary graphs. Given such a graph, bounded fastmaxsum will run our iGHS algorithm, which computes a maximum spanning tree on subsections of a graph, in order to reduce overheads when there is a change in the environment. Bounded fastmaxsum will then run fastmaxsum on this maximum spanning tree in order to find a solution. We have found that fastmaxsum reduces the size of messages communicated and the amount of computation by up to 99% compared with the original maxsum. We also found that, even in large environments, branchandbound fastmaxsum finds a solution using 99% less computation and up to 58% fewer messages than fastmaxsum. Finally, we found bounded fastmaxsum reduces the communication and computation cost of bounded maxsum by up to 99%, while obtaining 60{88% of the optimal utility, at the expense of needing additional communication than using fastmaxsum alone. Thus, fastmaxsum or branchandbound fastmaxsum should be used where communication is expensive and provable solution quality is not necessary, and bounded fastmaxsum where communication is less expensive, and provable solution quality is required. Now, in order to achieve such improvements over maxsum, fastmaxsum exploits a particularly expressive model of the environment by modelling tasks in the environment as function nodes in a factor graph, which need to have some communication and computation performed for them. An equivalent problem to this can be found in operations research, and is known as scheduling jobs on unrelated parallel machines (also known as RjjCmax). In this thesis, we draw parallels between unrelated parallel machine scheduling and the computation distribution problem, and, in so doing, we present the spanning tree decentralised task distribution algorithm (STDTDA), the first decentralised solution to RjjCmax. Empirical evaluation of a number of heuristics for STDTDA shows solution quality achieved is up to 90% of the optimal on sparse graphs, in the best case, whilst worstcase quality bounds can be estimated within 5% of the solution found, in the best case
