2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2  След.
 
 Задача коммивояжера
Сообщение14.04.2006, 10:27 
Аватара пользователя
Поставлена задача - реализовать алгоритм решения задачи коммивояжера, используя реккурентные соотношения Беллмана.
Встал вопрос о эффективном использовании памяти. При решении задачи хранится очень большое количество информации, необходимое для отката(построения непосредственно оптимального пути).
Может быть кто-нибудь сталкивался с такой проблемой. Буду рад любой помощи - исходники, ссылки на литературу, просто какие-то соображения.

Заранее благодарен.

 
 
 
 
Сообщение14.04.2006, 14:37 
Аватара пользователя
А Вам принципиально из Беллмана или нет? Если нет, то чем плох метод ветвей и границ - Судоплатов, Овчинникова "Основы дискретной математики" (за точность названия и авторов не ручаюсь). В интернете и готовые проги есть, например, Grin Печенкина http://www.uni-dubna.ru/~mazny/kurses/odm/lekcii/index.html

 
 
 
 
Сообщение14.04.2006, 14:59 
Аватара пользователя
Артамонов Ю.Н. писал(а):
А Вам принципиально из Беллмана или нет? Если нет, то чем плох метод ветвей и границ - Судоплатов, Овчинникова "Основы дискретной математики" (за точность названия и авторов не ручаюсь). В интернете и готовые проги есть, например, Grin Печенкина http://www.uni-dubna.ru/~mazny/kurses/odm/lekcii/index.html

Принципиально из Беллмана! Просто все мои поиски в глобальной сети ни к чему не привели.(кроме методва ветвей и границ). Создается впечатление, что таким способом её решения(динамическое программирование) вообще никто не занимался (или я плохо искал).
Спасибо за указание на книгу: она возможно мне понадобится для решения видоизменённой задачи - т.н. задачи инкассации.Её как раз необходимо решить методом ветвей и границ.

 
 
 
 Еще одна ссылка
Сообщение16.04.2006, 08:56 
Задача о коммивояжере рассматривается еще и в книге И. В.Романовского "Алгоритмы решения экстремальных задач", Изд. "Наука", Москва 1977. В ней на стр. 210 форулируется задача. Непосредствено после этого рассматривается метод ветвей и границ для решения этой и других задач, вкл. и приводятся некоторые процедуры на Алголе.
Далее в главе 6 "Рекуррентные методы (модели денамического программирования)" обсуждаются особености реализации этих методов. К сожалению нет непосредственного упоминания насчет Задачи о коммивояжере, но может быть вам и написанное поможет самому вывести какие то подсказки ...

 
 
 
 Все очень даже просто...
Сообщение18.04.2006, 20:38 
Аватара пользователя
Ура!Справился!
Если кого-то заинтересует мой способ решения задачи коммивояжера методом реккурентных соотношений Беллмана, то где-то через 5 дней я выложу ссылку на исходники сюда.
Всем большое спасибо за помощь!

 
 
 
 Программная реализация
Сообщение27.04.2006, 11:59 
Аватара пользователя
http://user.rol.ru/~skav86/AlgRec.zip
Если у кого-то будут замечания или предложения, буду только рад!

 
 
 
 Re: Все очень даже просто...
Сообщение10.05.2006, 22:46 
botanik писал(а):
Ура!Справился!
Если кого-то заинтересует мой способ решения задачи коммивояжера методом реккурентных соотношений Беллмана, то где-то через 5 дней я выложу ссылку на исходники сюда.


А можно описание алгоритма с оценкой сложности? :)

 
 
 
 
Сообщение29.05.2006, 21:47 
выложите, пожалуйста, исходник задачи коммивояжера МВиГ

 
 
 
 
Сообщение15.06.2006, 23:24 
А кто-нибудь пробовал найти решение, когда матрица расстояний не симметричная по диагонали? Когда крокодил от носа до хвоста 8 метров, а от хвоста до носа - 7? ;-)
Особенно актуально для построения маршрутов внутри города, когда расстояние между точками меняется в зависимости от направления движения в связи с необходимостью соблюдения правил дорожного движения ...
Вот это зубодробительный вариант. Даже при составлении алгоритма полного перебора крыша съезжает.
Может кто чего посоветует?

 
 
 
 
Сообщение16.06.2006, 06:19 
Попробуйте дополнить матрицу до квадратной.Длина несуществующих маршрутов задается очень большим числом .

 
 
 
 
Сообщение17.06.2006, 00:49 
Какие не существующие маршруты?
Все расстояния известны. Просто растояние от А до В не равно расстоянию от В до А. Соответственно, матрица расстояний по диагонали не симметрична ...

 
 
 
 
Сообщение19.06.2006, 11:31 
Виноват,не сразу въехал :oops:

 
 
 
 Специально для bz21 и ГАЗ-67
Сообщение09.07.2006, 14:41 
Аватара пользователя
Для bz21:
А Вы начало темы читали или исходники смотрели?
Вообще говоря,при использовании рекуррентных соотношений для решения задачи коммивояжера не требуется симметричность матрицы расстояний.
Для ГАЗ-67:
Вашу идею я понял, Вы хотите использовать алгоритм Флойда или несколько раз запустить алгоритм Дейкстры, для нахождения кратчайших расстояний между городами в том случае, когда граф, соответствующий задаче коммивояжера, не полный.

 
 
 
 
Сообщение19.01.2007, 11:20 
Проблема та же, нужен Help по Решению задачи о коммивояжере методом ветвей и границ. Это курсовой проект...необходимо реализовать в Delphi, перерыл много инфы, теория есть...проблема в написании кода.
буду рад любой помощи!

 
 
 
 Одна возможная ссылка для НеZнайки ?
Сообщение20.01.2007, 09:57 
Попробуйте посмотреть то, что по линку:

http://www.cs.sunysb.edu/~algorith/file ... sman.shtml

Быть может наведет куда хотите.

 
 
 [ Сообщений: 27 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group