Решение задачи коммивояжера с использованием двухэтапного
генетического алгоритма
А.А. Пешкевич, В.Г. Кобак, А.Г. Жуковский Донской государственный технический университет, Ростов-на-Дону
Аннотация: В статье рассмотрено применение модифицированного двухэтапного генетического алгоритма к решению задачи коммивояжера. Задача коммивояжера является КР-сложной. При количестве городов 66 и более ее невозможно решить методом полного перебора. Для проверки предложенного подхода к решению рассматривается граф с 51 вершиной. На первом этапе работает модифицированная модель Голдберга с небольшими значениями параметров для получения первого поколения второго этапа с лучшими показателями, чем при случайном формировании особей. Второй этап работает с увеличенными значениями параметров генетического алгоритма. Эти значения варьируются от эксперимента к эксперименту, результаты которых представлены на диаграммах. Также результаты работы двухэтапного алгоритма сравниваются с результатами одноэтапного алгоритма. Используется модифицированная модель Голдберга генетического алгоритма. В генетическом алгоритме применяется путевое представление маршрута коммивояжера с двухточечным упорядоченным кроссовером и «жадной» мутацией. Результаты экспериментов показали эффективность предлагаемого подхода. Модифицированный двухэтапный алгоритм позволяет получить решение близкое к оптимальному.
Ключевые слова: задача коммивояжера, генетический алгоритм, модель Голдберга, кроссовер, мутация, особь, маршрут, гамильтонов цикл, матрица расстояний.
Задача коммивояжера (ЗК) задает такой вопрос: «Учитывая список городов и расстояния между каждой парой городов, каков кратчайший возможный маршрут, который включает каждый город и возвращается в исходный город?». Это КР-сложная задача в комбинаторной оптимизации, важная в исследовании операций и теоретической информатике. Она используется для тестирования производительности многих оптимизационных методов. Задача коммивояжера в своей обычной формулировке применяется в планировании, логистике[1] и изготовлении микросхем. Также ЗК используется в астрономии, поскольку астрономы, наблюдающие за многими объектами, стремятся минимизировать время, затрачиваемое на перемещение телескопа между объектами.
Введение
В данной статье рассматривается применение модифицированного двухэтапного[2] генетического алгоритма к решению ЗК для графа с 51 вершиной. Точное решение ЗК можно получить методами полного перебора, ветвей и границ и динамического программирования. Однако такие подходы требуют большого количества времени и вычислительной мощности[3]. ЗК не с любым количеством городом может быть решена этими методами. С ростом количества городов (п) увеличивается и количество различных вариантов обхода маршрута, которое можно определить по формуле:
N = (1)
2
где N - количество различных маршрутов; п - количество городов. Формула (1) указана с учетом того, что существует 2* п идентичных маршрута, различающихся направлением обхода. Для количества городов, равного 66 и более, задача коммивояжера становится трансвычислительной [4], находящейся за пределом Бремерманна[4][5].
Модификация двухэтапного генетического алгоритма[6] заключается в отказе от сокращения популяции после первого этапа. Смысл первого этапа состоит в вычислении начального поколения с помощью одноэтапного генетического алгоритма. Здесь каждая особь определяется как лучшее решение генетического алгоритма для небольшой популяции. Второй этап начинает работу с улучшенным, по сравнению со случайным, начальным поколением с большими значениями параметров.
1. Подходы решения
В рамках данной статьи предлагается новый подход к решению задачи коммивояжера. Он заключается в применении двухэтапного генетического алгоритма.
Задача первого этапа заключается в формировании начального поколения для второго этапа. Здесь для определения каждой особи
запускается отдельный экземпляр генетического алгоритма с небольшим количеством особей. Лучшее решение каждого алгоритма - очередная особь.
На втором этапе решается основная задача - получить решение наиболее близкое к оптимальному. Основная идея двухэтапного генетического алгоритма - используя начальное приближение, основанное на результатах первого этапа и лучшее, чем случайный набор хромосом первого поколения, получить оптимальное или субоптимальное решение. Исключение особей, представляющих наиболее длинные маршруты, должно обеспечить более эффективную работу основного этапа генетического алгоритма.
В работе используется модифицированная модель Голдберга. Хромосомы особей используют путевое представление[7], упорядоченный кроссовер [8] (рис.1) и «жадную» мутацию (рис. 2).
Родители Потомок
Рис. 1. - Схема упорядоченного кроссовера
Рис. 2. - Схема «жадной» мутации
Данное сочетание представления маршрута в виде хромосомы, кроссовера и мутации позволяют получить решение более близкое к оптимальному [9]. Также в алгоритме присутствует одна элитная особь, что позволяет сохранить текущий локальный минимум.
В рамках данной статьи был поставлен вычислительный эксперимент для оценки эффективности двухэтапного генетического алгоритма и разработано программное средство, позволяющее провести такой эксперимент.
Эксперимент проходил с применением тестового графа из пакета Т8Р_ЫБ[10], разработанного Гейдельбергским университетом, Гейдельберг, Германия. Использовался один граф еП51, для которого длина оптимального маршрута равна 426. Для него заданы координаты городов в декартовой системе. Расстояние между городами было определено с помощью формулы расстояния между двумя точками на плоскости:
где - расстояние между городами; (^.у^ - координаты города на плоскости.
Используя формулу (2) была определена матрица расстояний, необходимая для вычисления расстояния между городами.
2. Вычислительный эксперимент
(2)
Параметры генетического алгоритма следующие: вероятность кроссовера - 99%, вероятность мутации - 99%, одна элитная особь. Количество особей и количество запусков алгоритма до останова менялось для разных запусков и принимало следующие значения: 500, 1000, 1500, 2000, 2500. Для первого этапа количество особей и запусков алгоритма до останова составляло 50.
Оценить эффективность двухэтапного генетического алгоритма можно с помощью сравнения с результатами одноэтапного генетического алгоритма. Было сделано 50 запусков алгоритма. На рисунке 3 представлены результаты одноэтапного генетического алгоритма.
Рис. 3. - Результаты одноэтапного генетического алгоритма С увеличением количества особей и количества запусков до останова растет точность результатов. Запуски с максимальным количеством особей позволили получить точное решение. Однако время работы алгоритма тоже увеличилось. Время работы представлено на рисунке 4. Время указано в секундах.
Рис. 4. - Время работы одноэтапного генетического алгоритма Теперь приведем результаты двухэтапного генетического алгоритма. Здесь также было сделано 50 запусков с тем же количеством особей соответственно. Результаты продемонстрированы на рисунке 5.
Рис. 5. - Результаты двухэтапного генетического алгоритма Можно наблюдать аналогичную тенденцию к увеличению точности результатов с ростом количества особей. Но средние и минимальные
результаты лучше, чем при одноэтапном алгоритме. Здесь точное решение было получено уже при 1500 особях (а также при 2000 и 2500). Но время запусков уже порядком больше. Время работы двухэтапного алгоритма приведено на рисунке 6.
1600 1400 1200 1000 800 600 400
500, 500 1000, 1000 1500, 1500 I 2000, 2000 2500, 2500
Среднее значение
Минимальное значение
Рис. 6. - Время работы двухэтапного генетического алгоритма Значительное замедление работы алгоритма происходит из-за наличия первого этапа. Так как на этом этапе идёт подготовка первого поколения второго этапа, требуется выполнить работу генетического алгоритма для большого количества особей.
Вывод
В ходе данной работы был предложен модифицированный двухэтапный генетический алгоритм для решения задачи коммивояжера. Проведенный вычислительный эксперимент с помощью разработанного программного средства показал эффективность такого подхода по сравнению с одноэтапным алгоритмом для задачи коммивояжера небольшой размерности. Увеличение количества особей и количества запусков до
останова ведет к росту точности решения. Экспериментальные запуски позволяли получить точное решение.
Литература
1. Быков Д.В., Д.В. Лихачёв Имитационное моделирование как средство модернизации участка транспортной сети // Инженерный вестник Дона, 2014, №2 URL: ivdon.ru/ru/magazine/archive/n2y2014/2388.
2. Печень О. А. Интеллектуальные информационные системы. Новосибирск: Новосибирский Государственный Университет Экономики и Управления - «НИНХ», 2005. С. 110-111.
3. Нетёсов А.С. Эволюционно-генетический подход к решению задач оптимизации. Сравнительный анализ генетических алгоритмов с традиционными методами оптимизации // Инженерный вестник Дона, 2011, №3 URL: ivdon.ru/ru/magazine/archive/n3y2011/459.
4. Optimization through evolution and recombination // Holtz.org URL: holtz.org/Library/Natural%20Science/Physics/Optimization%20Through%20Evol ution%20and%20Recombination%20-%20Bremermann%201962 .htm (date of access: 14.08.2018).
5. Algorithms, data and hypotheses. Learning in open worlds // muehlenbein.org: Heinz Muehlenbein URL: muehlenbein.org/algo95.pdf (date of access: 14.08.18).
6. B. Lin, X. Sun, S. Salous Solving Travelling Salesman Problem with an Hybrid Genetic Algorithm // «Journal of Computer and Communications», 2016, №15. URL: scirp.org/journal/PaperInformation.aspx?PaperID=72322.
7. Кобак В.Г., Жуковский А.Г., Пешкевич А. А. Сравнение путевого и порядкового подходов при решении задачи коммивояжера модифицированной моделью Голдберга // Известия высших учебных заведений. Северо-Кавказский регион. Технические науки. 2017. №1. С. 3-7.
8. E. Anand, R. Panneerselvam A Study of Crossover Operators for Genetic Algorithm and Proporsal of a New Crossover Operator to Solve Shop Scheduling Problem // «American Journal of Industrial and Business Management», 2016, №6. URL: scirp.org/j ournal/PaperInformation.aspx?PaperID=67660.
9. Кобак В.Г., Пешкевич А.А. Решение задачи коммивояжера с помощью модифицированной модели Голберга // Системный анализ, управление и обработка информации: тр. VII междунар. семинара (п. Дивноморское, 6 - 12 октября 2016 г.); Донской гос. техн. ун-т. - Ростов-на-Дону: ДГТУ, 2016. С. 54-56.
10. TSPLIB // The Zuse Institute Berlin (ZIB) URL: elib.zib.de/pub/mp-testdata/tsp/tsplib/tsplib.html (date of access: 15.08.2018).
References
1. Bykov D.V., Likhachyov D.V. Inzenernyj vestnik Dona (Rus), 2014, №2 URL: ivdon.ru/ru/magazine/archive/n2y2014/2388.
11. 2. Pechen' О.А. Intellektual'nye informatsionnye sistemy. Novosibirsk: Novosibirskij Gosudarstvennyj Universitet Ekonomiki i Upravleniya «NINKH» [Intelligent information system. Novosibirsk: Novosibirsk State University of Economics and Management «NSUEM»], 2005. pp. 110-111.
3. Netyosov А^ Inzenernyj vestnik Dona (Rus), 2011, №3 URL: ivdon.ru/ru/magazine/archive/n3y2011/459.
4. Optimization through evolution and recombination Holtz.org URL: holtz.org/Library/Natural%20Science/Physics/0ptimization%20Through%20Evol ution%20and%20Recombination%20-%20Bremermann%201962 .htm (date of access: 14.08.2018).
5. Algorithms, data and hypotheses. Learning in open worlds muehlenbein.org: Heinz Muehlenbein URL: muehlenbein.org/algo95.pdf (date of access: 14.08.18).
6. B. Lin, X. Sun, S. «Journal of Computer and Communications», 2016, №15. URL: scirp.org/journal/PaperInformation.aspx?PaperID=72322
7. Kobak V.G., ZHukovskij А.G., Peshkevich А.А. Izvestiya vysshikh uchebnykh zavedenij. Severo-Kavkazskij region. Tekhnicheskie nauki. 2017. №1. P. 3-7.
8. E. Anand, R. Panneerselvam «American Journal of Industrial and Business Management», 2016, №6. URL: scirp.org/journal/PaperInformation.aspx?PaperID=67660
9. Kobak V.G., Peshkevich А.А. Sistemnyj analiz, upravlenie i obrabotka informatsii: tr. VII mezhdunar. seminara (p. Divnomorskoe, 6 - 12 oktyabrya 2016 g.); Donskoj gos. tekhn. un-t. Rostov-na-Donu: DGTU, 2016 pp. 54-56.
10. TSPLIB. The Zuse Institute Berlin (ZIB) URL: elib.zib.de/pub/mp-testdata/tsp/tsplib/tsplib.html (date of access: 15.08.2018).