We have a network of $N$ agents moving in a field. Every agent has communication bandwidth of range $R$. During the process we must keep all-to-all communication among the agents. So we have constantly the constraint max(inter-agent distance)<=R. At every step of the process a metric is minimized, which depends on the current positions of the agents. This minimization defines the directions which must be followed by the agents during the next step of the algorithm. In general the directions are different for every agent, but can be communicated to the others. How the agents should be controlled in order to achieve the most efficient motion (in the sense of maximizing the total distance covered in let's say $m$ steps)?
PS I suppose that our approach must be greedy.