Korzystając z algorytmu takiego jak A *, masz największą swobodę w pracy z heurystyką kosztów.
W tym konkretnym przypadku możesz dostosować heurystykę, aby zwiększyć koszt ruchów, które zabierają agenta blisko innego agenta, problemem jest to, że prawdopodobnie skończyłbyś zarówno próbą wybrania górnej drogi, jak i skończyłby się nimi oscylacja tam i z powrotem między ścieżkami, gdy zbliżają się do siebie w zależności od dokładnego czasu.
Inną możliwością jest śledzenie tras zaplanowanych przez agentów i dostosowanie kosztów w górę wzdłuż ścieżek innych agentów. To skutecznie umożliwia agentom koordynację ze sobą w ograniczonym zakresie. Główny problem polega na tym, że wszystkie trasy są zablokowane, a wyszukiwanie ścieżek może się nie powieść w przypadku ostatniego przeniesienia agenta.
W przypadku, gdy istnieje tylko jedna ścieżka, wyszukiwanie ścieżki albo się nie powiedzie, albo posunie się naprzód, aż do impasu.
Jeśli żadne z nich nie jest wystarczająco dobre, musisz zacząć śledzić czas przy obliczaniu kosztów. Koszt dla drugiego agenta powinien być czasem potrzebnym na wyczyszczenie pierwszego agenta plus normalny koszt podróży, w ten sposób agent będzie mógł prawidłowo zdecydować, kiedy poczekać, a nie pójść inną drogą.
Uzgodnienie czasu może być znacznie większym wysiłkiem, więc większość ludzi decyduje się na ulepszenie układu poziomu i wartości kosztów, aż wszystko będzie wystarczająco dobre.