кратчайший путь с более чем 2 очками, но исправить порядок - PullRequest
0 голосов
/ 27 мая 2011

сначала, пожалуйста, извините за плохое знание английского языка.

У меня следующая проблема: Я должен найти кратчайший путь между более чем 2 точками в фиксированном порядке (например, A -> D -> F). Я знаком с алгоритмом Дейкстры. Но этот вычисляет только кратчайшие пути между двумя точками. И я также слышал о TSP, но это тоже не подходит. Потому что нет определенного порядка. Я уже искал в Интернете свою проблему, но, возможно, она не очень популярна, или я использовал неправильные ключевые слова.

Тем не менее, должно существовать решение, потому что есть много планировщиков маршрутов, которые успешно обеспечивают эту функцию.

Поэтому, пожалуйста, кто-нибудь может мне помочь с моей проблемой, назвав аглоритм, или дать мне какой-нибудь совет.

Большое спасибо за вашу помощь! С уважением, Анджело

// редактировать О, это очень смущает. Кажется, я долго думал, поэтому мне не удалось описать реальную проблему. Это так: есть несколько билетов, которые можно использовать только с начала.

T1: A -> B (стоит 50) T2: B -> C (стоит 50) T3: A -> B -> C (стоит 80) Данный маршрут A -> B -> C

Теперь вы видите, что если мы будем рассматривать данный маршрут как две отдельные проблемы, мы станем общей стоимостью 100, но очевидно, что билет T3 - лучшее решение.

Ответы [ 2 ]

1 голос
/ 27 мая 2011

Если некоторые из точек фиксированы, а другие нет (то есть пользователь хочет перейти от A->D->F, но график означает, что ему, возможно, придется сделать A->B->C->D->E->F), это стандартная проблема.Либо вы заботитесь о заказе АПД, либо нет (это может быть АФД).В первом случае это просто два пути (A->D D->F), которые вы вычисляете независимо.Во втором случае это больше похоже на TSP.

0 голосов
/ 27 мая 2011

Вы можете найти кратчайший путь между A и D, затем кратчайший путь между D и F и т. Д. Применение алгоритма Дейкстры несколько раз для каждой пары узлов.

...