На каждой итерации при пересчёте новых координат противников проверять расстояние до остальных. Если оно больше определённой границы, то координаты пересчитать. Иначе оставить прежними.
Второй вариант - проверить расстояние от текущего противника до остальных. Для тех соседей, с кем расстояние меньше границы, вычислить вектор обратного смещения и сместиться в направлении этого вектора на один шаг. При следующей итерации повторить то же самое