ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIIREGION. TECHNICAL SCIENCE. 2017. № 2
ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ INFORMATICS, COMPUTER ENGINEERING AND CONTROL
УДК 519.87:004 DOI: 10.17213/0321-2653-2017-2-5-9
РЕШЕНИЕ ЗАДАЧИ КОММИВОЯЖЁРА ГИБРИДНОЙ ГЕНЕТИЧЕСКОЙ МОДЕЛЬЮ ПРИ ИСПОЛЬЗОВАНИИ ПУТЕВОГО ПОДХОДА
© 2017 г. В.Г. Кобак, В.М. Поркшеян, А.Г. Жуковский, А.А. Пешкевич
Донской государственный технический университет, г. Ростов-на-Дону, Россия
THE SOLUTION TO THE TRAVELLING SALESMAN PROBLEM A HYBRID GENETIC MODEL USING THE TRACK APPROACH
V.G. Kobak, V.M. Porksheyan, A.G. Zhukovskiy, A.A. Peshkevich
Don State Technical University, Rostov-on-Don, Russia
Кобак Валерий Григорьевич - д-р техн. наук, профессор, Kobak Valerij Grigorevich - Doctor of Technical Sciences,
Донской государственный технический университет, professor, Don State Technical University, Rostov-on-Don,
г. Ростов-на-Дону, Россия. Тел. 8-918-580-21-89. E-mail: Russia. Ph. 8-918-580-21-89. E-mail: [email protected] [email protected]
Поркшеян Виталий Маркосович - канд. физ.-мат. наук, Porksheyan Vitaly Markosovich - candidate of physical
профессор, Донской государственный технический универ- and mathematical sciences, Don State Technical University,
ситет, г. Ростов-на-Дону, Россия. Тел. 8-918-893-67-70. professor, Rostov-on-don, Russia. Ph. 8-918-893-67-70.
E-mail: [email protected] E-mail: [email protected]
Жуковский Александр Георгиевич - профессор, д-р полит. Zhukovskiy Aleksandr Georgievich - professor, Doctor of
наук, канд. техн. наук, доцент, Донской государственный political Sciences, Candidate of Technical Sciences, Don State
технический университет, г. Ростов-на-Дону, Россия. Technical University, Rostov-on-Don, Russia. E-mail:
Тел. 8-961-313-68-67. E-mail: [email protected] [email protected]
Пешкевич Алексей Андреевич - магистрант, Донской госу- Peshkevich Alexey Andreevich - master student, Don State
дарственный технический университет, г. Ростов-на-Дону, Technical University, Rostov-on-Don, Russia. Ph. 8-908-179-
Россия. Тел. 8-908-179-27-05. E-mail: [email protected] 27-05. E-mail: [email protected]
Рассмотрено решение задачи коммивояжёра с гибридной генетической моделью с использованием путевого подхода. Для путевого представления используется упорядоченный кроссовер и «жадная мутация». Для решения задачи коммивояжёра указанным способом реализовано программное средство, с помощью которого получены результаты и сделан вывод о том, что использование гибрида моделей Голдберга и CHC при решении позволяет получить оптимальное или субоптимальное решение для графа с большим количеством вершин.
Ключевые слова: задача коммивояжёра; генетический алгоритм; ген; модель Голдберга; модель CHC; путевое представление; кроссовер; упорядоченный кроссовер; жадная мутация.
The article describes the solution to the travelling salesman problem with hybrid genetic model using the limit approach. For path representation uses an ordered crossover and greedy mutation. For solving travelling salesman problem by the specified method is implemented by a software tool by which the results and concluded that the use of hybrid models of Goldberg and CHC in the solution allows to obtain optimal or suboptimal solution for a graph with lots of peaks.
Keywords: traveling salesman problem; genetic algorithm; gene; Goldberg's model; the CHC model; track performance; crossover; ordered crossover; a greedy mutation.
Введение
В последнее время с усложнением транспортной системы, увеличением товарооборота и
развитием сферы услуг повышается интенсивность перевозки товаров и предоставления услуг. Для увеличения количества клиентов и повышения качества функционирования компаний
ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIIREGION.
требуется свести к минимуму затраты на транспортировку товаров или услуг. Кроме того решение данной задачи необходимо во многих областях, связанных с замкнутыми и при этом жестко связанными по времени системами, такими как: конвейерное производство, многооперационные обрабатывающие комплексы, судовые и железнодорожные погрузочные системы, перевозки грузов по замкнутому маршруту, расчет авиационных линий.
Задача коммивояжера является классической задачей комбинаторной оптимизации [1]. Первое упоминание о ней появляется в 1759 г. Смысл задачи состоит в отыскании самого выгодного маршрута, который проходит через требуемые города единожды и затем возвращается в исходный город, т.е. в нахождении кратчайшего гамильтонова цикла в графе [2].
Оптимизационная постановка задачи относится к классу NP-полных задач [3]. КР-полной является такая задача, для решения которой не разработано алгоритмов с полиномиальным временем работы. Однако нет доказательств отсутствия существования такого алгоритма. КР-полные задачи могут быть проверены в течение полиномиального времени. Для задачи поиска гамильтонова цикла с заданным ориентированным графом О = (V, Е), сертификат проверки имел бы вид последовательности (VI, у2, vз,..., у^) из | VI вершин. В течение полиномиального времени можно проверить, что (у-, у-+1 е Е) для 1 = 1, 2, 3,...,|^1 - 1 и что (уи, V:) е Е.
В качестве меры выгодности маршрута может служить суммарное время в пути, суммарная стоимость дороги, или, в простейшем случае, длина маршрута.
Эта задача может быть решена перебором всех вариантов объезда и выбором оптимального. Но проблема в том, что количество возможных маршрутов очень быстро возрастает с ростом п - количества городов (оно равно п! - количеству способов упорядочения пунктов). К примеру, для 100 пунктов количество вариантов будет представляться 158-значным числом. Мощная ЭВМ, способная перебирать миллион вариантов в секунду, будет решать эту задачу на протяжении примерно 3*10144 лет. Увеличение производительности ЭВМ в 1000 раз даст хоть и меньшее в 1000 раз, но по-прежнему большое время перебора вариантов. Несмотря на то, что для каждого варианта маршрута имеется 2 * п равноценных, отличающихся выбором начального пункта (п вариантов) и направлением обхода (2 варианта), перебор с учётом этого наблюдения
TECHNICAL SCIENCE. 2017. № 2 n! (n -1)!
сокращается незначительно - до -=-
2 • n 2
вариантов. Таким образом, задача коммивояжера относится к числу трансвычислительных [4], так как при количестве городов более 66 её невозможно решить методом перебора вариантов, т. е. она находится за пределом Бремерманна [5].
Постановка задачи
Дан граф G = (X, U), где |X| = n - множество вершин (города), |U| = m - множество рёбер (возможные пути между городами). Дана симметрическая матрица чисел R(i, j), i, j e 1, 2,...,n, представляющих собой веса рёбер (расстояний между вершинами xi и x;).
Требуется найти перестановку ф из элементов множества X, такую, что значение целевой функции равно [6]:
Fitness(q>)R(<$(V), ф(п)) + ^ (Я(ф(0, ф0 +1))} ^ min.
Подходы решения
В работе используется гибрид модели Голдберга и модели CHC [7]. Используется модификация алгоритма, заключающаяся в дополнительных запусках после получения решения. Для этого рассматривается последнее поколение. Генотип поколения сохраняется. Копия поколения, кроме лучшей особи, подвергается сильной мутации, цель которой внести разнообразие в генотип. При сильной мутации изменяется генотип более 50 % поколения. Затем мутировавшее поколение устанавливается начальным для основного варианта генетического алгоритма, который далее работает в прежнем режиме. Полученное решение сравнивается с лучшим в сохранённом поколении. Если новое решение лучше, то оно сохраняется как лучшее на текущий момент. Затем идёт повтор операций с мутацией и запуском основного ГА с мутировавшим поколением. В случае если новое решение оказалось не лучше, то решается вопрос о возможности новой попытки запуска. Входным условием является допустимое количество запусков без улучшения решения. Если текущее количество таких запусков не превысило условное количество, то проводится сильная мутация сохранённого лучшего поколения и ГА запускается снова.
В работе используется путевое представление маршрута в виде хромосомы [7].
Путевое представление определяет маршрут как список городов в порядке следования.
ISSN 0321-2653 ИЗВЕСТИЯ ВУЗОВ. СЕВЕРО-КАВКАЗСКИЙ РЕГИОН._ТЕХНИЧЕСКИЕ НАУКИ. 2017. № 2
ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIIREGION. TECHNICAL SCIENCE. 2017. № 2
Упорядоченный кроссовер берет часть пути одного родителя и сохраняет родственный порядок городов из другого родителя. Первые две точки сечения кроссовера выбираются случайно. Например, Р1 = [1|5,3|2,4] и Р2 = [1|2,5|4,3]. Каждый элемент центральной секции первого родителя копируется в потомка - С1 = [_|5,3|_,_]. Затем элементы второго родителя собираются в список, начиная со второй точки кроссовера -[4,3,1,2,5]. Наконец, города, уже представленные в потомках, удаляются - [4,1,2], и оставшиеся элементы копируются вместо пустых пробелов потомка, начиная со второй точки сечения кроссовера - С1 = [2,5,3,4,1].
«Жадная мутация» состоит в упорядочивании последовательности городов. Такая мутация позволяет искать локальные оптимумы. Сначала случайным образом выбираются две точки сечения в хромосоме так, чтобы между ними было по крайне мере 2 города. Затем последовательность городов между точками сечения упорядочивается: они переставляются в зависимости от близости друг к другу. Например, в хромосоме Р1= [1,5,3,2,4] точками сечения выделяются города 5, 3 и 2. Среди этих городов проводится поиск города, ближайшего к городу 1. Пусть, например, это город 2. Он добавляется в хромосому за городом 1. Потом среди городов 5 и 3 определяется ближайший к городу 2. Пусть, например, это город 5. Добавляем его в хромосому за городом 2. На оставшееся место ставим город 3. Результат мутации - Р1 = [1,2,3,5,4].
Алгоритмы решения
Кроме точного метода полного перебора существуют эвристические методы [8], с помощью которых находят не самый эффективный маршрут, а субоптимальное решение. В их числе следующие методы:
- метод ближайшего соседа;
- метод имитации отжига;
- метод эластичной сети;
- метод генетических алгоритмов;
- алгоритм муравьиной колонии.
По причине того, что задача коммивояжёра с количеством городов больше 66 при использовании метода полного перебора относится к трансвычислительным, принято решение использовать генетический алгоритм (модифицированная модель Голдберга), позволяющий найти субоптимальный путь за полиномиальное время [9].
Вычислительный эксперимент
В рамках сравнения порядкового и путевого подходов при решении задачи коммивояжёра модифицированной моделью Голдберга поставлены вычислительные эксперименты, позволяющие получить статистику решений и оценить эффективность работы алгоритма при разных значениях параметров. Такими параметрами являются: n - количество городов; m - количество особей; vk - вероятность кроссовера; vm -вероятность мутации; first - номер начального пункта; S - количество запусков; term - условие останова; [a,b] - диапазон генерации расстояний для случайной матрицы расстояний; try - допустимое количество запусков без улучшения решения. Для решения поставленной задачи реализована вариация ГА с путевым представлением с упорядоченным кроссовером и «жадной мутацией».
Для реализации алгоритма использовалась среда разработки Microsoft Visual Studio 2015 и язык программирования C#. Эксперименты осуществлялись на ЭВМ с операционной системой Microsoft Windows 8.1, процессором Intel i7 4790 3.6 ГГц и оперативной памятью DDR3 16 Гб.
Эксперименты проводились на тестовых графах из пакета TSP_LIB [11] Гейдельбергского университета, Гейдельберг, Германия. Тестовый граф представляет 105 городов. Расстояния между городами представлены в виде матрицы расстояний [10], где a¡j = a^ - расстояние между городами i и j. Также указан кратчайший маршрут с началом в первом городе длиной 14379, который удалось определить разработчикам пакета.
Значения входных параметров алгоритма: n - 105, m - 500, 750, 1000, 1250, 1500, vk - 0,99, vm - 0,99, first - 1, S - 10, term - 500, 750, 1000, 1250, 1500, try - 3. Проведено пять экспериментов, в каждом из которых отличались два входных параметра - количество особей и условие останова. Остальные параметры не менялись. Первый эксперимент с такими параметрами -500 особей и 500 условие останова, второй - 750 и 750, третий - 1000 и 1000, четвёртый - 1250 и 1250, пятый - 1500 и 1500 соответственно.
В табл. 1 приведены результаты первого эксперимента. Модификация алгоритма с дополнительными запусками позволила улучшить решение. Улучшено минимальное и среднее решения в эксперименте.
ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIIREGION.
TECHNICAL SCIENCE. 2017. № 2
Таблица 1 / Table 1 Результаты первого эксперимента / Results of the first experiment
Таблица 3 / Table 3 Результаты третьего эксперимента / Results of the third experiment
500
Гибридная модель Модель Голдберга
№ Решение Время, с № Решение Время, с
1 16099 249,2462 1 19344 65,08713
2 16753 250,4682 2 21141 67,14619
3 17322 209,0868 3 19507 61,46932
4 17225 214,3221 4 22822 63,3176
5 16874 657,8919 5 21403 56,23008
6 18229 291,6058 6 22017 67,22661
7 16088 456,8755 7 17731 66,9991
8 15228 614,5136 8 21050 69,271
9 17579 245,0121 9 23353 66,44164
10 16678 525,755 10 21770 71,37367
Мин 15228 Мин 17731
Среднее 16807,5 Среднее 21013,8
1000
Гибридная модель Модель Голдберга
№ Решение Время, с № Решение Время, с
1 15806 1491,453 1 20709 206,2241
2 17248 717,8318 2 18864 247,9969
3 16049 2022,562 3 20419 238,1872
4 15293 943,142 4 21481 254,6695
5 15926 1116,191 5 20762 201,9026
6 16684 640,9444 6 19744 215,0647
7 16401 1214,503 7 18446 240,6294
8 15237 1379,086 8 18799 229,9769
9 15556 2069,577 9 19152 273,15
10 16179 1551,344 10 18522 262,5038
Мин 15237 Мин 18446
Среднее 16037,9 Среднее 19689,8
Результаты второго эксперимента представлены в табл. 2.
Таблица 2 / Table 2 Результаты второго эксперимента / Results of the second experiment
750
Гибридная модель Модель Голдберга
№ Решение Время, с № Решение Время, с
1 16009 865,7635 1 24536 137,1677
2 15850 939,4817 2 20431 132,5325
3 16242 520,8474 3 18843 154,8666
4 16799 742,5929 4 19146 125,7405
5 16432 576,7813 5 20003 150,7684
6 16307 624,0604 6 22278 156,8389
7 15869 564,7617 7 20278 152,9507
8 15669 771,6689 8 21698 143,6793
9 16740 517,2706 9 20721 149,0643
10 16922 572,9938 10 20112 140,4521
Мин 15669 Мин 17731
Среднее 16283,9 Среднее 20804,6
В данном случае повторные запуски позволили также улучшить минимальное и среднее решение. Среднее решение в данном эксперименте лучше, чем первом.
В результате третьего эксперимента (табл. 3) также удалось улучшить среднее и минимальное решения. Результаты лучше, чем в предыдущем эксперименте.
Результаты четвёртого эксперимента продемонстрированы в табл. 4. С помощью дополнительных повторов улучшены минимальное и среднее решения. Результаты лучше, чем в предыдущем эксперименте.
Результаты пятого эксперимента представлены в табл. 5.
Таблица 4 / Table 4 Результаты четвёртого эксперимента / Results of the fourth experiment
1250
Гибридная модель Модель Голдберга
№ Решение Время, с № Решение Время, с
1 16406 1293,468 1 19751 344,1997
2 15797 2546,161 2 20676 330,7164
3 15906 2328,609 3 20998 318,0091
4 15984 3091,381 4 18204 401,1681
5 15384 1101,833 5 18223 404,0173
6 15219 1483,339 6 17599 405,9572
7 15328 1346,886 7 17404 427,4941
8 15985 2211,824 8 19988 375,2074
9 16480 2016,556 9 18883 423,5804
10 15941 1407,351 10 18361 444,7331
Мин 15219 Мин 17404
Среднее 15843 Среднее 19008,7
Таблица 5 / Table 5 Результаты пятого эксперимента / Results of the fifth experiment
1500
Гибридная модель Модель Голдберга
№ Решение Время, с № Решение Время, с
1 16078 2778,115 1 18990 452,474
2 15605 2289,479 2 19444 520,5426
3 14798 3670,646 3 19734 525,8591
4 14959 2652,691 4 20666 506,3266
5 15742 2355,246 5 21297 511,1949
6 15849 1829,108 6 19569 439,6489
7 15538 2383,622 7 18369 487,8263
8 16236 1157,887 8 19969 455,465
9 15891 1626,558 9 16518 529,9028
10 15849 4284,414 10 19830 470,8832
Мин 14798 Мин 16518
Среднее 15654,5 Среднее 19438,6
ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIIREGION. TECHNICAL SCIENCE. 2017. № 2
С помощью дополнительных повторов улучшены минимальное и среднее решения.
Результаты лучше, чем во всех предыдущих экспериментах. Также получен маршрут длиной 14798, что отличается от лучшего, указанного в пакете Т8Р_ЫБ (14379) на 2,9 %.
Выводы
Результаты вычислительного эксперимента демонстрируют эффективность использования гибрида модели Голдберга и СНС для решения задачи коммивояжёра. Данный подход позволяет получить субоптимальное решение для тестового графа с большим количеством вершин. В ходе исследования было определено, что увеличение количества особей и условия останова приводит к повышению эффективности решения, но это в свою очередь приводит к увеличению времени вычисления. Модификация алгоритма с дополнительными запусками показала свою эффективность по отношению к базовой модели, также позволила понизить отклонение решения от абсолютно лучшего до 2,9 %. Ведутся работы по улучшению алгоритма для сокращения погрешности.
Литература
1. Задача коммивояжёра // [Википедия]. URL: М1р8://ги.шк1ре(11а.о^/Задача _коммивояжёра (дата обращения 10.10.2016).
2. Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы: учеб. пособие / под ред. В.М. Курейчика. Ростов н/Д: Ростиздат, 2004. 400 с.
3. Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и анализ / под ред. Л.Н. Красножан. М.: Вильямс, 2013. 1328 с.
4. Трансвычислительная задача // [Википедия]. URL: https://m.wikipedia.org/wiki/ТрансвьIчислительная_задача (дата обращения 10.10.2016).
5. Предел Бремерманна // [Википедия]. URL: https://ru.wikipedia.org/wiki/Предел_Бремерманна (дата обращения 10.10.2016).
6. Емельянов В.В., Курейчик В.В., Курейчик В.М. Теория и практика эволюционного моделирования. М.: ФИЗМАТЛИТ, 2003. 432 с. ISBN 5-9221-0337-7.
7. Каширина И.Л. Введение в эволюционное моделирование: учеб. пособие / под ред. Е.С. Котляровой. Воронеж: Изд-во ВГУ, 2007. 40 с.
8. Борознов В.О. Исследование решения задачи коммивояжёра. Астрахань: Вестн. АГТУ, 2009.
9. Полиномиальное время // [СГУ]. URL http://rain.ifmo.ru/ cat/view.php/theory/algorithm-analysis/np-completeness-2004 (дата обращения 12.10.2016).
10. Матрица расстояний // [Википедия]. URL https://ru.wikipedia.org/wiki/Матрица_расстояний (дата обращения 11.10.2016).
11. TSP_LIB // URL http://comopt.ifi.uni-heidelberg.de/ software/TSPLIB95/ (дата обращения 11.10.2016).
References
1. Zadacha kommivoyazhera [The travelling salesman problem], Vikipediya. Available at: https://ru.wikipedia.org/ Zadacha_kommivoyazhera (accessed 10.10.2016)
2. Gladkov L.A., Kureichik V.V., Kureichik V.M. Geneticheskie algoritmy [Genetic algorithms]. Rostov-on-Don, Rostizdat, 2004, 400 p.
3. Kormen T., Leizerson Ch., Rivest R., Shtain K. Algoritmy: postroenie i analiz [Algorithms: construction and analysis]. Moscow, Vil'yams Publ., 2013, 1328 p.
4. Transvychislitel'naya zadacha [Transcomputational problem]. Vikipediya. Available at: https://ru.wikipedia.org/wiki/ Transvychislitel'naya_zadacha (accessed 10.10.2016)
5. Predel Bremermanna [Bremermann's limit]. Vikipediya. Available at: https://ru.wikipedia.org/wiki/Predel_Bremermanna (accessed 10.10.2016)
6. Emel'yanov V.V., Kureichik V.V., Kureichik V.M. Teoriya i praktika evolyutsionnogo modelirovaniya [Theory and practice of evolutionary modeling]. Moscow, FIZMATLIT Publ., 2003, 432 p.
7. Kashirina, I.L. Vvedenie v evolyutsionnoe modelirovanie [Introduction to evolutionary simulation]. Voronezh, Izd-vo VGU, 2007, 40 p.
8. Boroznov, V.O. Issledovanie resheniya zadachi kommivoyazhera [Investigation of solving the travelling salesman problem]. Astrakhan, Vestnik AGTU, 2009.
9. Polinomial'noe vremya [Polynomial time]. SGU. Available at: http://rain.ifmo.ru/cat/view.php/theory/algorithm-analysis/np-completeness-2004 (accessed 12.10.2016)
10. Distance matrix. Vikipediya. Available at: https://ru.wikipedia.org/wiki/Distance_matrix (accessed 11.10.2016)
11. TSP_LIB. Available at: http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/ (accessed 11.10.2016)
Поступила в редакцию /Received 14 февраля 2017 г. /February 14, 2017