Autonomous Robots

, Volume 35, Issue 4, pp 271–286 | Cite as

An anytime assignment algorithm: From local task swapping to global optimality

  • Lantao Liu
  • Dylan A. Shell


The assignment problem arises in multi-robot task-allocation scenarios. Inspired by existing techniques that employ task exchanges between robots, this paper introduces an algorithm for solving the assignment problem that has several appealing features for online, distributed robotics applications. The method may start with any initial matching and incrementally improve the current solution to reach the global optimum, producing valid assignments at any intermediate point. It is an any-time algorithm with a performance profile that is attractive: quality improves linearly with stages (or time). Additionally, the algorithm is comparatively straightforward to implement and is efficient both theoretically (complexity of \(O(n^3\lg n)\) is better than many widely used solvers) and practically (comparable to the fastest implementation, for up to hundreds of robots/tasks). The algorithm generalizes “swap” primitives used by existing task exchange methods already used in the robotics community but, uniquely, is able to obtain global optimality via communication with only a subset of robots during each stage. We present a centralized version of the algorithm and two decentralized variants that trade between computational and communication complexity. The centralized version turns out to be a computational improvement and reinterpretation of the little-known method of Balinski–Gomory proposed half a century ago. Thus, deeper understanding of the relationship between approximate swap-based techniques—developed by roboticists—and combinatorial optimization techniques, e.g., the Hungarian and Auction algorithms—developed by operations researchers but used extensively by roboticists—is uncovered.


Multi-robot task allocation Decentralized assignment  Anytime algorithms Task swapping 


  1. Akgül, M. (1992). The linear assignment problem. In M. Akgiil & S. Tufecki (Eds.), Combinatorial optimization (pp. 85–122). Berlin: Springer.CrossRefGoogle Scholar
  2. Balinski, M. L., & Gomory, R. E. (1964). A primal method for the assignment and transportation problems. Management Science, 10(3), 578–593.CrossRefGoogle Scholar
  3. Berhault, M., Huang, H., Keskinocak, P., Koenig, S., Elmaghraby, W., Griffin, P., & Kleywegt, A. J. (2003). Robot Exploration with Combinatorial Auctions (pp. 1957–1962). In Proceedings of the IROS.Google Scholar
  4. Bertsekas, D. P. (1990). The auction algorithm for assignment and other network flow problems: A tutorial. Interfaces, 20(4), 133–149.CrossRefGoogle Scholar
  5. Burkard, R., Dell’Amico, M., & Martello, S. (2009). Assignment problems. New York, NY: Society for Industrial and Applied Mathematics.zbMATHCrossRefGoogle Scholar
  6. Cao, Y. U., Fukunaga, A. S., & Kahng, A. B. (1997). Cooperative mobile robotics: Antecedents and directions. Autonomous Robots, 4, 226–234.CrossRefGoogle Scholar
  7. Chaimowicz, L., Campos, M. F. M., & Kumar, V. (2002). Dynamic role assignment for cooperative robots (pp. 293–298). In Proceedings of the IEEE International Conference on Robotics and Automation.Google Scholar
  8. Cunningham, W., & Marsh, A. B, I. (1978). A primal algorithm for optimum matching. Mathematical Programming Study, 8, 50–72.Google Scholar
  9. Dantzig, G. (1963). Linear programming and extensions. Princeton: Princeton University Press.zbMATHGoogle Scholar
  10. Dias, M.B., & Stentz, A. (2002). Opportunistic optimization for market-based multirobot control (pp. 2714–2720 ). In Proceedings of the IROS.Google Scholar
  11. Dias, M. B., Zlot, R., Kalra, N., & Stentz, A. (2006). Market-based multirobot coordination: A survey and analysis. In Proceedings of the IEEE.Google Scholar
  12. Edmonds, J., & Karp, R. M. (1972). Theoretical improvements in algorithmic efficiency for network flow problems. Journal of the ACM, 19(2), 248–264.zbMATHCrossRefGoogle Scholar
  13. Farinelli, A., Iocchi, L., Nardi, D., & Ziparo, V. A. (2006). Assignment of dynamically perceived tasks by token passing in multi-robot systems. In Proceedings of the IEEE, Special Issue on Multi-robot Systems.Google Scholar
  14. Gerkey, B. P., & Matarić, M. J. (2004). A formal analysis and taxonomy of task allocation in multi-robot systems. International Journal of Robotics Research, 23(9), 939–954.CrossRefGoogle Scholar
  15. Giordani, S., Lujak, M., & Martinelli, F. (2010). A distributed algorithm for the multi-robot task allocation problem. LNCS: Trends in Applied Intelligent Systems, 6096, 721–730.CrossRefGoogle Scholar
  16. Goldberg, A. V., & Kennedy, R. (1995). An efficient cost scaling algorithm for the assignment problem. Mathematics Programs, 71(2), 153–177.MathSciNetzbMATHCrossRefGoogle Scholar
  17. Golfarelli, M., Maio, D., & Rizzi, S. (1997). Multi-agent path planning based on task-swap negotiation (pp. 69–82). In Proceedings of the UK Planning and Scheduling Special Interest Group, Workshop.Google Scholar
  18. Koenig, S., Keskinocak, P., & Tovey, C. A. (2010). Progress on agent coordination with cooperative auctions. In Proceedings of the AAAI.Google Scholar
  19. Kuhn, H. W. (1955). The Hungarian method for the assignment problem. Naval Research Logistic Quarterly, 2, 83–97.CrossRefGoogle Scholar
  20. Lagoudakis, M. G., Markakis, E., Kempe, D., Keskinocak, P., Kleywegt, A., Koenig, S., et al. (2005). Auction-based multi-robot routing. In Robotics: Science and Systems. Cambridge: MIT Press.Google Scholar
  21. Liu, L., & Shell, D. (2011). Assessing optimal assignment under uncertainty: An interval-based algorithm. International Journal of Robotics Research, 30(7), 936–953.CrossRefGoogle Scholar
  22. Liu, L., & Shell, D. (2012a). A distributable and computation-flexible assignment algorithm: From local task swapping to global optimality. In Proceedings of Robotics: Science and Systems, Sydney, Australia.Google Scholar
  23. Liu, L., & Shell, D. (2012b). Large-scale multi-robot task allocation via dynamic partitioning and distribution. Autonomous Robots, 33(3), 291–307.CrossRefGoogle Scholar
  24. Nanjanath, M., & Gini, M. (2006). Dynamic task allocation for robots via auctions (pp. 2781–2786). In Proceedings of the ICRA.Google Scholar
  25. Parker, L. E. (2008). Multiple mobile robot systems. In B. Siciliano & O. Khatib (Eds.), Handbook of robotics chapter 40. Berlin: Springer.Google Scholar
  26. Sandholm, T. (1998). Contract types for satisficing task allocation: I Theoretical results (pp. 68–75). In Proceedings of the AAAI Spring Symposium: Satisficing Models.Google Scholar
  27. Sariel, S., & Balch, T. (2006). A distributed multi-robot cooperation framework for real time task achievement. In Proceedings of Distributed Autonomous Robotic Systems.Google Scholar
  28. Stone, P., Kaminka, G. A., Kraus, S., & Rosenschein, J. S. (2010). Ad Hoc autonomous agent teams: Collaboration without pre-coordination. In Proceedings of the AAAI.Google Scholar
  29. Thomas, L., Rachid, A., & Simon, L. (2004). A distributed tasks allocation scheme in multi-UAV context (pp. 3622–3627). In Proceedings of the ICRA.Google Scholar
  30. Wawerla, J., & Vaughan, R. T. (2009). Robot task switching under diminishing returns (pp. 5033–5038). In Proceedings of the 2009 IEEE/RSJ international conference on Intelligent robots and systems, IROS’09.Google Scholar
  31. Zavlanos, M. M., Spesivtsev, L., & Pappas, G. J. (2008). A distributed auction algorithm for the assignment problem. In Proceedings of the CDC.Google Scholar
  32. Zheng, X., & Koenig, S. (2009). K-swaps: cooperative negotiation for solving task-allocation problems (pp. 373–378). In Proceedings of the International Joint Conferences on Artificial Intelligence (IJCAI).Google Scholar
  33. Zilberstein, S. (1996). Using anytime algorithms in intelligent systems. AI Magazine, 17(3), 73–83.Google Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  1. 1.Department of Computer Science and Engineering Texas A&M UniversityCollege StationUSA

Personalised recommendations