Abstract. There are many domains in which a multi-agent system needs to maximize a "system utility" function which rates the performance of the entire system, while subject to communication restrictions among the agents. Such communication restrictions make it difficult for agents that take actions to optimize their own "private" utilities to also help optimize the system utility. In this article we show how previously introduced utilities that promote coordination among agents can be modified to be effective in domains with communication restrictions. The modified utilities provide performance improvements of up to 75% over previously used utilities in congestion games (i.e., games where the system utility depends solely on the number of agents choosing a particular action). In addition, we show that in the presence of severe communication restrictions, team formation for the purpose of information sharing among agents leads to an additional 25% improvement in system utility. Finally, we show that agents' private utilities and team sizes can be manipulated to form the best compromise between how "aligned" an agent's utility is with the system utility and how easily an agent can learn that utility.