Научная статья на тему 'Популяционный алгоритм решения задачи коммивояжера'

Популяционный алгоритм решения задачи коммивояжера Текст научной статьи по специальности «Математика»

356
68
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
популяционный алгоритм / гибридный алгоритм / генетический алгоритм / эвристический подход / эволюционный алгоритм / метод роя частиц / задача коммивояжера / алгоритм ближайшего соседа / муравьиный алгоритм

Аннотация научной статьи по математике, автор научной работы — А.С. Поляков

В данной статье рассматривается популяционный гибридный алгоритм решения задачи коммивояжера. В статье приводится постановка задачи коммивояжера и подробный разбор данной проблемы, блок-схема полученного алгоритма, результат его работы, пользовательский интерфейс. Далее освещается сравнение точности разработанного алгоритма с методом ближайшего соседа и муравьиным алгоритмом.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Популяционный алгоритм решения задачи коммивояжера»

Гибридный 224416 388988 723828 1215868 10070

Отклонение 0% 0,2% 2,89% 4,16% 1,76%

В результате экспериментальных исследований удалось выяснить, что разработанный гибридный алгоритм показывает отклонение в точности решения не более 4,2% от лучших решений известных на данный момент для определенных наборов входных данных (бенчмарков). Для некоторых бенчмарков алгоритм способен найти решение, совпадающее с лучшим решением среди всех алгоритмов. Созданный алгоритм имеет очевидную экономическую ценность, например, в размещении предприятий или складских помещений по местам, размещение связанных электронных компонентов на печатных платах или в интегральных схемах.

Библиографический список

1. Нигодин Е. А., Полупанова Е.Е., Поляков А.С. Генетический алгоритм решения задачи о назначениях. Сборник «Прикладная математика XXI века: современные проблемы математики, информатики и моделирования». КубГУ. - 2019, выпуск 1, часть 4, 245 с.

2. Michael R. Garey, David S. Johnson. . Computers and Intractability: A Guide to the Theory of NP-Completeness. — W. H. Freeman, 1979. 218 page.

ПОПУЛЯЦИОННЫЙ АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ

КОММИВОЯЖЕРА

А.С. Поляков

Кубанский государственный университет ул. Ставропольская 149, 350040, г. Краснодар, Россия

Ключевые слова: популяционный алгоритм, гибридный алгоритм, генетический алгоритм, эвристический подход, эволюционный алгоритм, метод роя частиц, задача коммивояжера, алгоритм ближайшего соседа, муравьиный алгоритм.

Аннотация

В данной статье рассматривается популяционный гибридный алгоритм решения задачи коммивояжера. В статье приводится постановка задачи коммивояжера и подробный разбор данной проблемы, блок-схема

полученного алгоритма, результат его работы, пользовательский интерфейс. Далее освещается сравнение точности разработанного алгоритма с методом ближайшего соседа и муравьиным алгоритмом.

Популяционные алгоритмы - перспективное направление в области оптимизации и моделирования. С помощью этих алгоритмов решаются множество задач на графах, задачи компоновки и составления расписаний, производится настройка и обучение искусственных нейронных сетей, и т.д. Генетический алгоритм и метод роя частиц относятся к классу эвристических популяционных алгоритмов [1].

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

Постановка задачи коммивояжера. Большинство задач науки и техники относятся к обширному классу проблем поиска оптимальных решений, т.е. к оптимизационным задачам. Одной из них является задача коммивояжера - это одна из наиболее известных задач комбинаторной оптимизации.

Коммивояжеру необходимо найти такой кратчайший путь по заданным городам, чтобы каждый город посещался только один раз и конечным пунктом оказался город, с которого начиналось путешествие [2].

Представим проблему в виде математической модели. Задачу коммивояжера можно представить в виде модели на графе. Таким образом, вершины графа соответствуют городам, а ребра (а, Ь) между вершинами а и Ь - пути сообщения между городами. Каждому ребру (а,Ъ) можно сопоставить критерий выгодности маршрута саЬ > 0, которые можно понимать как расстояние между городами, время или стоимость поездки. После этого задача может быть сформулирована как задача поиска кратчайшего гамильтонова цикла неориентированного графа [2]. Гамильтонов цикл - это такой цикл, который проходит по всем вершинам графа не более одного раза. Таким образом, решение задачи коммивояжера - это нахождение гамильтонова цикла

минимального веса в полном взвешенном графе. Также, стоит отметить, что задача коммивояжера является -трудной. Для данной задачи не доказано существование алгоритма, находящего точное решение за полиномиальное время. Следовательно, в решении задачи коммивояжера разумно применить эвристический подход.

Популяционный алгоритм решения задачи коммивояжера. Основная идея популяционного гибридного алгоритма с использованием высокоуровневой гибридизации вложением (предполагает слабую связь объединяемых методов), которая представлена на рисунке 1, заключается в том, что первая популяция генетического алгоритма формируется с помощью алгоритма роя частиц.

Метод роя частиц

Генетический алгоритм

Решение

Рисунок 1. Популяционный гибридный алгоритм решения задачи

коммивояжера

На рисунке 2 проиллюстрирована подробная блок-схема построенного популяционного гибридного алгоритма.

Для исследования популяционного алгоритма решения задачи коммивояжера высокоуровневой гибридизацией вложением была создана программа, которая случайно генерирует граф заданного размера и производит необходимые вычисления.

Программа обладает достаточно широким визуальным функционалом: все основные параметры алгоритма можно задать в окне с удобным интерфейсом, запустить алгоритм и отслеживать в режиме реального времени как программа находит различные маршруты. Все отображаемые данные постоянно обновляются.

Генерация списка из N частиц

Сохранение наилучшего положения каждой частицы

Нахождение лучшего решения среди всех частиц

Вычисление скорости каждой

Движение частиц

Счетчик итераций к = № + 1

Создание популяции (списка) N особей из частиц, полученных ранее

Вычисление приспособленности особей

Запись приспособленности (значения ЦФ) каждой особи в список приспособленности

Случайный выбор трех особей из популяции

Попарное скрещивание родительских особей

Запись полученных новых особей

Генерация числа X для каждой особи

X Е Я:{0 < X < 1}

Особи у которых X оказалось меньше коэффициента мутации, мутируют

Вычисление приспособленности особей

Запись приспособленности каждой особи в список приспособленности

Проверка особей на уникальность

Случайным способом уничтожить 2/3 особей

Записать вместо уничтоженных особей новые, сгенерированные случайно, вычислить их п ри с посо бл ен н ость

Рисунок 2. Блок-схема алгоритма

В программе можно как отобразить все ребра, так и убрать все ребра кроме найденного маршрута коммивояжера, для этого необходимо снять галочку «Отображать все ребра». Также можно перейти во вкладку «Матрица смежности графа», «Координаты городов» и получить соответствующие конструкты. На рисунке 3 показано основное окно программы, здесь можно увидеть построенный граф, найденный маршрут коммивояжера, длина найденного маршрута и последовательность вершин (городов) номер последнего рассматриваемого поколения. Включен режим «отображать все ребра».

Анализ эффективности гибридного алгоритма. На рисунке 4 изображена зависимость максимальных значений ЦФ от количества поколений (итераций) генетического алгоритма (график посередине) и роя частиц (самый нижний график) по отдельности, а также вместе в виде гибридного алгоритма (самый верхний график). Из данных графиков следует, что гибридный алгоритм работает намного эффективнее, чем генетический алгоритм и метод роя частиц по отдельности.

На рисунке 5 представлена гистограмма сравнения точности разработанного популяционного гибридного алгоритма (левые столбцы) с наиболее популярным методами решения задачи коммивояжёра, какими являются: метод ближайшего соседа (центральные столбцы), муравьиный алгоритм (правые столбцы).

Как видно из данной гистограммы, полученный популяционный алгоритм показывает уверенное преимущество в точности над другими широко распространёнными методами решения задачи коммивояжера.

Рисунок 3. Основное окно программы

Число поколений

Рисунок 4. Влияние числа поколений (количества итераций) на максимальное значение ЦФ

Число городов

Рисунок 5. Влияние размера входных данных (числа городов) на длину найденного минимального маршрута коммивояжера

Созданный популяционный алгоритм показывает уверенное превосходство в точности над самыми распространенными методами решения задачи коммивояжера, эффективно решает её за приемлемое время. Следовательно, алгоритм имеет большую практическую ценность и его можно рекомендовать к использованию на реальном предприятии.

Библиографический список

1. Нигодин Е. А., Полупанова Е.Е., Поляков А.С. Гибридный алгоритм решения задачи коммивояжера. Сборник «Прикладная математика XXI века: современные проблемы математики, информатики и моделирования». КубГУ. - 2019, выпуск 1, часть 4, 252 с.

2. Мудров В.И. Задача о коммивояжёре. — М.: «Знание», 1969. 4 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.