Алгоритм поиска кратчайшего пути через все вершины?
Это NP-полная задача. При достаточном количестве мусорных баков эффективно и быстро решить её просто нельзя.
Важно понимать какое вам нужно решение: достаточно хорошее или оптимальное. Возможно, что для поиска оптимального решения вам просто не хватит ресурсов.
Оптимальный маршрут ищется перебором иногда с разными оптимизациями, которые, впрочем, не сильно помогут в произвольном случае.
Субоптимальные ищутся, к примеру, генетическими алгоритмами.

Эта задача называется задачей коммивояжера:
Задача коммивояжёра относится к числу трансвычислительных: уже при относительно небольшом числе городов (66 и более) она не может быть решена методом перебора вариантов никакими теоретически мыслимыми компьютерами за время, меньшее нескольких миллиардов лет.
Решение нашел (приближенное) с помощью двух подходов
1) Муравьиный алгоритм, вполне рабочее решение https://www.baeldungtest.com/java-ant-colony-optim...
2) Использовать Google OR-Tools https://developers.google.com/optimization/routing/tsp

Сначала удалось решить задачу способом 1 но сейчас в рабочем коде используем 2