In this talk I will describe recent research toward the goal of engineering multi-robot systems to form networks of efficient, cooperative, taskable agents. I shall consider variations of the multi-robot task allocation (assignment) problem, wherein one aims at finding the best matching between a set of robots and a set of tasks so that the team’s performance will be optimized. The assignment problem is one of the most popular formulations for optimizing the group synergy, and has a long history including work in Operations Research and AI communities. Starting from two seemingly disconnected views of the problem, one from each of those communities, I’ll describe new algorithms that bring those two perspectives together. The results show improvements in performance, scalability, and robustness for general-purpose coordinated mobile robot systems.