В основном у меня есть граф с 12 узлами (представляющими города) и 13 ребрами (представляющими маршруты).
Теперь предположим, что (случайным образом) у меня есть план посещения n узлов, отклоняясь от определенного (A). Итак (having N <= (12-1)
), а затем подошли к отправной точке.
То, что я искал, похоже на Traveling Salesman Problem
, но с той разницей, что моему продавцу не обязательно посещать все узлы.
Какой алгоритм я ищу?
ИЗМЕНИТЬ
Очевидно, это не будет TSP, потому что TSP говорит, что граф должен быть замкнут, и мы проходим через каждый город (узел) только один раз. В моем случае он может пересечь город более одного раза, если это сделает маршрут короче.
Еще несколько примеров того, что я ищу:
Пример первый:
Depart from: A
Need to visit (B,D,E,L,G,J,K)
Come back to: A
Пример второй:
Depart from: A
Need to visit (B,C,D,G,H,I,J,K)
Come back to: A
Правила:
- Get shortest path
- No specific order
- Can visit one node (city) more than once
Помните, что это для проекта на C, так что это всего лишь предварительное исследование.