Я ищу решение проблемы, когда у меня есть взвешенный ориентированный граф, и я должен начать с начала координат, по крайней мере один раз посетить все вершины и вернуться к началу координат по кратчайшему пути. По сути, это был бы классический пример TSP, за исключением того, что у нет. В моем случае любая вершина, исключая начало координат, может посещаться любое количество раз по пути, если это делает путь короче. Так, например, в виде графа, содержащего вершины V1, V2, V3
путь, как это было бы в силе, учитывая, что это самый короткий путь:TSP Где вершины могут быть посещены несколько раз
ORIGIN -> V1 -> V2 -> V1 -> V3 -> V1 -> ORIGIN
В результате, я немного застрял на том, что подход, чтобы взять в чтобы решить этот вопрос, поскольку классический подход к алгоритму динамического программирования, который обычно используется для решения задач TSP в экспоненциальном времени, не подходит.
Благодарим вас за это объяснение. Я думаю, что это довольно часто встречающаяся проблема, я попытаюсь объяснить ее простым примером: скажем, у нас есть школьный автобус, который покидает школу, бросает детей в свои дома и возвращается в школу, когда все дети были упал. Предположим, у нас есть дети A, B, C на автобусе. Автобус может оторваться от ребенка B, а затем перейти к дому ребенка C, теперь, если есть прямой путь от дома C до A, но путь к дому A, который проходит рядом с домом B, короче, мы должны пройти по пути C - > B -> A, а не C -> A. – Alk