Re: Дейкстра - много точек?
От: _DAle_ Беларусь  
Дата: 16.08.05 12:14
Оценка: 9 (2)
Здравствуйте, BreQwaS, Вы писали:

BQS>На графе дано: старт, финиш, промежуточные точки.

BQS>Нужно: найти кратчайший маршрут из старта в финиш, включающий в себя (в любом порядке) каждую из промежуточных точек.

BQS>Есть ли хороший алгоритм для решения такой задачки?

BQS>Парочка хороших кейвордов по теме тоже устроит

Ключевые слова:
Hamiltonian path
Traveling salesman problem

Это задача нахождения гамильтоновой цепи во взвешенном графе с минимальной стоимостью. Задача является NP-трудной. Полиномиального алгоритма решения не существует.

The problem remains NP-hard even for the case when the cities are in the plane with Euclidean distances, as well as in a number of other restrictive cases.


Если интересует точные методы, то
— если количество вершин небольшое и есть возможность использовать O(2^n) памяти, то решается с помощью динамического программирования.
— если чуть побольше, то методом ветвей и границ
— если порядка сотен вершин, то надо использовать cutting-plane method

Если интересуют эвристические методы, то ищи эвристику Кернигана-Лина и ее многочисленные модификации.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.