УДК 519.87:004
ИССЛЕДОВАНИЕ РЕШЕНИЯ ЗАДАЧИ КОММИВОЯЖЕРА С ПОМОЩЬЮ ОСТРОВНОЙ МОДЕЛИ
С. В. Ермоленко, В. Г. Кобак
Донской государственный технический университет, Ростов-на-Дону, Российская Федерация valera33 [email protected]
Рассматриваются возможные решения задачи коммивояжера с помощью островной модели, определяется лучший маршрут с помощью генетического алгоритма модели Голдберга на каждом острове, проводится исследование зависимости количества островов на результат, эффективности операторов скрещивания, миграции и влияние вероятности возникновения миграции на результат, проводится анализ эффективности операторов.
UDC 519.87:004
RESEARCH ON THE TRAVELING SALESMAN PROBLEM USING THE ISLAND MODEL
S. V. Ermolenko, V. G. Kobak
Don State Technical University, Rostov-on-Don, Russian Federation
valera33 305@mail .ru
The article discusses possible solutions of the travelling salesman problem using the island model, determines the best route using the Goldberg model genetic algorithm on each island. The authors conducted a study of the dependence of the number of Islands on the result, the efficiency of crossover operators, the migration and the impact of probability of migration on the result, the analysis of the efficiency of operators.
Keywords: island model, the travelling salesman problem, genetic algorithm, Goldberg model.
Ключевые слова: островная модель, задача коммивояжера, генетический алгоритм, модель Голдберга.
Введение. Задача коммивояжёра заключается в нахождении лучшего результата при определенных условиях и относится к задачам оптимизации, то есть коммивояжёр должен определить самый выгодный маршрут, проходящий через указанные города с последующим возвратом в исходный город. Задача коммивояжера имеет ряд практических применений: перемещение по заданным точкам, доставка небольшого груза или продуктов в магазины на транспортном средстве, вмещающем большое количество единиц [1].
Для нахождения кратчайшего пути между городами используется генетический алгоритм, не обязательно гарантирующий нахождение точного решения, в котором реализованы несколько видов мутаций, кроссоверов, миграций, и островная модель, которая увеличивает сходимость результата решения.
Решение задачи коммивояжера с помощью островной модели. Данная задача относится к К?-классу задач. При небольшом количестве городов, примерно до 40, ее можно решить методом перебора, но при большем количестве городов время вычисления будет огромным и нахождение результата станет нецелесообразным. Поэтому главной проблемой является время нахождения оптимального решения. Критерии данной задачи могут быть разными: кратчайший путь, наименьшая стоимость перевозки, совокупный критерий и другие. Целью исследования является нахождения таких операторов генетического алгоритма, при которых будет определяться лучший результат за приемлемое время [2].
В процессе исследования проведено сравнение результатов при различных операторах
скрещивания [3,4], зависимость результата от количества островов, а также при разных видах миграций с разными их вероятностями. В качестве эталонных значений использовались задачи с сайта Гейдельбергского университета, решенные с помощью библиотеки 1врНЬ. Использовались несколько графов с разным количеством городов. Так как в ходе исследования сравнивались операторы кроссовера и миграции, то оператор мутации всегда был статичен и по умолчанию была выбрана «жадная мутация», а так как на островах применяется модель Голдберга, то было выбрано сравнение потомка с родителем.
Операторы кроссинговера состоят из операторов классического типа, а также операторов с инверсией. Инверсия представляет собой обычный обмен генами, а в данной задаче городами, между особями, но при одном условии, что эти обмениваемые города будут идти в обратном порядке. Также существуют два типа инверсии, простая, которая заключается в выборе двух особей, с наилучшими значения из особей, к которым был применим классический кроссовер и с инверсией, сложная же заключается в том, что после оператора скрещивания, мутируют все особи, то есть и с применением обычного оператора скрещивания и с инверсией, а после мутации выбирается одна особь с наилучшим значением. Примеры классического кроссовера и кроссовера с инверсией представлены на рисунках 1 и 2 соответственно.
У1 = 1 2 | 5 4 3 Точка сечения кроссовера Уг = 3 5 | 4 2 1
V = 12___
7 = 124__
7 = 1 2453
Потомок V
Рис. 1. Классический оператор скрещивания
\\ = 1 2 | 5 4 3 Точка сечения кроссовера У2 = 3 5 | 4 2 1
7 = 12___
7=123____Потомок V
7 = 1 23 54
Рис. 2. Оператор скрещивания с инверсией
В двух операторах миграции особи мигрируют по кругу между островами, но в первом случае обмен происходит одновременно между всеми островами (рис. 3), если она все же случилась, а во-втором случае обмен происходит попарно между островами в случае мигрирования (рис. 4).
Подпопуляция 1
Подполуляция 6
Подпополяция 2
4\
V
Подпопуляция 5
к
Подпопуляция 3
Подпопуляция 4
Рис. 3. Одновременная миграция между островами
С \
Подпополяция 2
к
I/
Рис. 4. Попарная миграция между островами
В первом опыте показана зависимость количества островов на результат. В качестве примера был граф с 58 вершинами и точеным значением, равным 25395. Был запущен генетический алгоритм с параметрами:
— количество особей — 500;
— количество повторов — 750;
— мутация «жадная» с вероятностью — 100%;
— кроссовер одноточечный с вероятностью — 100%;
— миграция «все острова» с вероятностью 20% и частотой каждые 5 поколений;
— количество опытов — 50;
Полученные результаты представлены в таблицах 1 и 2.
Зависимость количества островов на средний результат
Среднее значение
Без миграции С миграцией
2 острова 27551 (отклонение 7,82%) 27274 (отклонение 6,89%)
3 острова 27470 (отклонение 7,55%) 27247 (отклонение 6,8%)
4 острова 27416 (отклонение 7,37%) 27177 (отклонение 6,56%)
5 островов 27438 (отклонение 7,45%) 27126 (отклонение 6,38%)
Из таблицы 1 видно, что чем больше островов, тем лучше результат, но это утверждение справедливо только для островной модели с миграцией. На качество результата количество островов практически не влияет.
Таблица 2
Зависимость количества островов на лучший результат
Лучший результат
Без миграции С миграцией
2 острова 26935 (отклонение 5,72%) 26663 (отклонение 4,76%)
3 острова 26488 (отклонение 4,13%) 26624 (отклонение 4,62%)
4 острова 26642 (отклонение 4,68%) 26642 (отклонение 4,68%)
5 островов 26642 (отклонение 4,68%) 26632 (отклонение 4,65%)
Во втором опыте рассматриваются результаты сравнений кроссоверов. В качестве примера был взят граф со 100 вершинами и точное его решение равное 21282. Использовался генетический алгоритм с параметрами:
— мутация «жадная» с вероятностью — 100%;
— миграция «все острова» с вероятностью 15% и частотой 5 поколений;
— количество островов — 5;
— кроссовер с вероятностью — 100%;
— количество особей — 150;
— количество повторов — 250;
— количество исследований — 50.
Среднее решение по каждому кроссоверу
Среднее решение
Кроссовер (инверсия): без миграции Отклонение с миграцией Отклонение
Одноточечный 25937 17.95% 27270 21.96%
Двухточечный 26246 18.91% 25092 15.18%
Одноточечный (простая) 23302 8.67% 22098 3.69%
Двухточечный (простая) 23151 8.07% 22366 4.85%
Одноточечный (сложная) 22727 6.36% 22075 3.59%
Двухточечный (сложная) 23744 10.37% 23180 8.19%
Таблица 4
Лучшее решение по каждому кроссоверу
Лучшее решение
Кроссовер без миграции Отклонение С миграцией Отклонение
(инверсия):
Одноточечный 24127 11.79% 23716 10.26%
Двухточечный 24110 11.73% 23666 10.07%
Одноточечный 21878 2.72% 21417 0.63%
(простая)
Двухточечный 21478 0.91% 21502 1.02%
(простая)
Одноточечный 21417 0.63% 21454 0.80%
(сложная)
Двухточечный 21518 1.10% 21595 1.45%
(сложная)
Из таблиц 3 и 4 видно, что с применением инверсии результаты лучше, чем у классических кроссоверов, а также одноточечный оператор скрещивания «выигрывает» у остальных операторов. В результате было получено 2 одинаковых лучших результата, как в опыте с миграцией, так и без нее.
Третий опыт показывает зависимость результатов от вероятности миграции и ее типа. В качестве примера также использовался граф со 100 вершинами и его точным значением, равным 21282. Использовался генетический алгоритм с параметрами:
— мутация «жадная» с вероятностью — 100%;
— количество островов — 5;
— кроссовер одноточечный с вероятностью — 100%;
— количество особей — 150;
— количество повторов — 250;
— количество исследований — 50;
Зависимость вероятности миграции на среднее значение
Среднее решение
Вероятность миграции: Все острова Отклонение По островам Отклонение
10% 24629 13.59% 24806 14.21%
15% 24753 14.02% 25932 17.93%
20% 24364 12.65% 25759 17.38%
25% 23967 11.20% 25805 17.53%
30% 24505 13.15% 25724 17.27%
50% 24552 13.32% 25783 17.46%
70% 24451 12.96% 25519 16.60%
Таблица 6
Зависимость вероятности миграции на лучшее значение
Точное решение
Вероятность миграции: Все острова Отклонение По островам Отклонение
10% 23622 9.91% 23461 9.29%
15% 23652 10.02% 23959 11.17%
20% 22959 7.30% 23477 9.35%
25% 23163 8.12% 23977 11.24%
30% 23376 8.96% 23741 10.36%
50% 23087 7.82% 23761 10.43%
70% 23319 8.74% 24062 11.55%
Из таблиц 5 и 6 видно, что первый вид миграции эффективнее, чем второй. Продуктивной вероятностью миграции является значение 20-25%.
Заключение. В ходе проведенного исследования выявлены операторы, определено количество островов и вероятностей для получения эффективного и продуктивного результата. При использовании 4-5 островов, одноточечного кроссовера с простой инверсией, одновременной миграции по всем островам с вероятностью ее возникновения 20-25%, то можно добиться результата, близкому к оптимальному за приемлемое время.
Библиографический список.
1. Каширина, И. Л. Введение в эволюционное моделирование: учебное пособие / И. Л. Каширина — Воронеж : ИПЦ ВГУ, 2007. — 39 с.
2. Кобак, В. Г. Исследование турнирного отбора в генетическом алгоритме для решения однородной минимаксной задачи / В. Г. Кобак, Д. В. Титов // Математические методы в технике и технологиях: сб. науч. трудов — Т.5.— Саратов, 2008. — с. 371-374.
3. Курейчик, В. М. Параллельный генетический алгоритм. Модели и проблемы построения / В. М. Курейчик, Д. С. Кныш // Интегрированные модели и мягкие вычисления в искуственном интеллекте: сб. науч. тр. V Междунар. науч.- практич. конф. — Москва : Физматлит, 2009. - С. 41 - 51.
4. Кобак, В. Г. Повышение эффективности модифицированной модели Голдберга в однородных системах обработки информации алгоритмическими преобразованиями [Электронный ресурс]: монография / В. Г. Кобак, Д. В. Титов, Н. И. Троцюк; Дон. гос. техн. ун-т. — Электрон. текстовые дан. — Ростов н/Д.: ДГТУ, 2015. — 86 с. — Режим доступа: http://www.ntb.donstu.ru/content/2015191 (дата обращения: 16.05.2016 г.)