|
Эта публикация цитируется в 2 научных статьях (всего в 2 статьях)
Об оптимизации и распараллеливании алгоритма Литтла для решения задачи коммивояжера
В. В. Васильчиков Ярославский государственный университет им. П. Г. Демидова, ул. Советская, 14, г. Ярославль, 150000 Россия
Аннотация:
В данной работе рассматриваются способы ускорения решения NP-полной задачи коммивояжера. Классический алгоритм Литтла, относящийся к категории “методов ветвей и границ”, позволяет ее решать как для ориентированных, так и для неориентированных графов. Однако для неориентированных графов его работу можно ускорить за счет исключения рассмотрения фактически ранее рассмотренных вариантов. В работе предлагаются изменения, которые следует внести в ключевые операции алгоритма для ускорения его работы. Приводятся результаты численного эксперимента, показавшего значительное ускорение решения задачи с использованием усовершенствованного алгоритма. Другой ресурс для ускорения — это разработка параллельного алгоритма. Для задач подобного рода весьма сложно сразу разбить вычисления на достаточное количество сравнимых по трудоемкости подзадач. Параллелизм у них выявляется динамически во время вычислений. Для таких задач разумным представляется использование рекурсивно-параллельной организации вычислений. В нашем случае хорошим выбором оказалась разработанная автором библиотека RPM_ParLib, позволяющая создавать эффективные параллельные программы для вычислений на локальной сети в среде .NET Framework на любом поддерживаемом ею языке программирования. Мы при разработке программы использовали язык C#. Были написаны параллельные программы для реализации как исходного, так и модифицированного алгоритмов, проведено их сравнение. Эксперименты проводились для графов с количеством вершин до 45 с количеством компьютеров в сети до 16. Дополнительно исследовалось ускорение, которого можно достичь за счет распараллеливания базового алгоритма Литтла для ориентированных графов. Результаты этих серий экспериментов также приводятся в работе.
Ключевые слова:
задача коммивояжера, алгоритм Литтла, параллельный алгоритм, рекурсия, .NET.
Поступила в редакцию: 31.05.2016
Образец цитирования:
В. В. Васильчиков, “Об оптимизации и распараллеливании алгоритма Литтла для решения задачи коммивояжера”, Модел. и анализ информ. систем, 23:4 (2016), 401–411
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/mais511 https://www.mathnet.ru/rus/mais/v23/i4/p401
|
Статистика просмотров: |
Страница аннотации: | 612 | PDF полного текста: | 323 | Список литературы: | 47 |
|