Требования:
На графике есть несколько целей, которые вам нужно посетить (независимо от того, в каком порядке или сколько раз вы посещаете каждую точку)
Вы можете начать с начальной точки, посетить все мишени и вернуться на базу.
Вам разрешено посещать каждую цель несколько раз.
Вопрос:
1) Какой алгоритм мне следует использовать, чтобы подойти к этому?
2) Предлагаемый мной подход
Допустим, target = [A, B, C].
- Я думаю использовать алгоритм Дейкстры, чтобы найти кратчайший путь к любой из целей.
- Как только я достигаю цели, я использую Dijstra, чтобы найти любую из оставшихся целей.
- Как только я найду все цели, я воспользуюсь Dijstra, чтобы найти путь к исходной точке.
- Это должно дать мне кратчайший путь, чтобы найти все цели и вернуться домой.
(A, B, w=1), (B, C, w=1), (S, A, w=13), (S, B, w=12), (S, C, w=11)
. источник - вершинаS
, целиA
,B
,C
. Оптимальный -S -> A -> B -> C -> S
. Ваше решение будет отправленоS -> C -> S -> A -> B -> C -> S
. - person Adam   schedule 08.07.2015S->C->B->A->S
, который имеет общий вес 26 - person samol   schedule 10.07.2015C->B
безS
. (Я забыл включить край(C, S)
, который должен существовать). - person Adam   schedule 10.07.2015