ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION. TECHNICAL SCIENCES. 2023. No 1
КОМПЬЮТЕРНЫЕ НАУКИ И ИНФОРМАТИКА COMPUTER SCIENCES AND INFORMATICS
Научная статья УДК 681.3+681.5
doi: 10.17213/1560-3644-2023-1-5-9
ИССЛЕДОВАНИЕ РАЗЛИЧНЫХ МУТАЦИЙ ПРИ РЕШЕНИИ ЗАДАЧИ КОММИВОЯЖЕРА МОДИФИЦИРОВАННОЙ МОДЕЛЬЮ ГОЛДБЕРГА
В.Г. Кобак, А.А. Рязанов
Донской государственный технический университет, г. Ростов-на-Дону, Россия
Аннотация. Проведено сравнение применения различных мутаций при решении задачи коммивояжера модифицированной моделью Голдберга. Данная задача относится к классу NP-полных задач (от англ. non-deterministic polynomial - «недетерминированные с полиномиальным временем») - это класс вычислительных задач, для которых не найден эффективный алгоритм решения. Вычислительный эксперимент проводился на графах средней размерности. Алгоритм реализован с использованием путевого представления маршрута в виде хромосомы, для которого используется упорядоченный кроссовер. Для решения задачи коммивояжера моделью Голдберга с использованием различных мутаций разработано программное средство, с помощью которого получены результаты и на их основе сделан вывод, что одноточечная мутация при упорядоченном кроссовере оказалась эффективнее двухточечной парной мутации и двухточечной непарной мутации.
Ключевые слова: задача коммивояжера, генетический алгоритм, ген, путевое представление, кроссовер, упорядоченный кроссовер, мутация, одноточечная мутация, двухточечная непарная мутация, двухточечная парная мутация
Для цитирования: Кобак В.Г., Рязанов А.А. Исследование различных мутаций при решении задачи коммивояжера модифицированной моделью Голдберга // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2023. № 1. С. 5-9. http://dx.doi.org/10.17213/1560-3644-2023-1-5-9
Original article
INVESTIGATION OF THE VARIOUS MUTATIONS IN THE SOLUTION OF THE TRAVELING SALESMAN PROBLEM BY THE MODIFIED GOLDBERG MODEL
V.G. Kobak, A.A. Ryazanov
Don State Technical University, Rostov-on-Don, Russia
Abstract. A comparison of the use of various mutations in solving the traveling salesman problem the modified Goldberg model is carried out. This problem belongs to the class of NP-complete problems (from the English non-deterministic polynomial - «non-deterministic with polynomial time») - this is a class of computational problems for which an effective solution algorithm has not been found. The computational experiment was carried out on graphs ofmoderate dimension. The algorithm is implemented using a path representation of the route in the form of a chromosome, for which an ordered crossover is used. To solve the traveling salesman problem with the Goldberg model using various mutations, a software tool was developed with which the results were obtained and based on them it was concluded that a singlepoint mutation with an ordered crossover turned out to be more effective than a two-point paired mutation and a two-point unpaired mutation.
Keywords: travelling salesman problem, genetic algorithm, gene, path representation, crossover, ordered crossover, mutation, single-point mutation, two-point unpaired mutation, two-point paired mutation
For citation: Kobak V.G., Ryazanov A.A. Investigation of the Various Mutations in the Solution of the Traveling Salesman Problem by the Modified Goldberg Model. Izv. vuzov. Sev.-Kavk. region. Techn. nauki=Bulletin of Higher Educational Institutions. North Caucasus Region. Technical Sciences. 2023;(1):5-9. (In Russ.). http://dx.doi.org/ 10.17213/1560-3644-2023-1-5-9
© Кобак В.Г., Рязанов А.А., 2023
ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION.
Введение
В настоящее время с каждым годом происходит усложнение транспортных систем, непрерывно развивается сфера услуг по доставке, повышается товарооборот, вследствие чего увеличивается интенсивность перевозки товаров, частота пользования услугами доставки и грузоперевозки. Для любой компании актуальны задачи своевременной доставки товаров и услуг, повышения числа потребителей и улучшения функционирования компании в целом. Также без решения данной проблемы не обходятся области, которые связаны с замкнутыми и к тому же зависимыми от времени системами, например логистические системы, системы планирования, производство микрочипов, капитальный ремонт газотурбинных двигателей, рентгеновская кристаллография, комплектование заказов на складах.
Задача коммивояжера представляет собой классическую задачу комбинаторной оптимизации [1]. Самое раннее упоминание о ней датируется 1759 г. Суть задачи заключается в нахождении наиболее выгодного маршрута, проходящего единожды через каждую точку (город) и возвращающегося в начальную точку, иными словами суть задачи в нахождении кратчайшего гамильто-нова цикла графа [2]. На данный момент для решения этой задачи не выявлено алгоритмов, работающих за полиноминальное время, т.е. данная задача относится к классу ^Р-полных [3]. В то же время нет никаких доказательств, что такого алгоритма не существует.
Длина маршрута, общая стоимость проезда или совокупное время нахождения в пути может являться показателем рентабельности маршрута. Простейшее точное решение задачи коммивояжера может быть получено перечислением всех возможных вариаций маршрута и выбором кратчайшего из них. Но при этом такое решение задачи означает, что совокупное множество всех допустимых маршрутов будет экспоненциально расти при увеличении общего количества городов. В этом случае, если число городов равно п, то число всех возможных маршрутов будет равно п!. Например, для 50 городов число вариантов будет равно 3,Ы064.
Известно, что каждый вариант маршрута имеет 2*п эквивалентных, с разными вариантами начальной точки(п вариантов) и направлением обхода, таким образом, перебор всех возможных вариантов сокращается до значения, равного
п! _ (п-1)! 2 • п 2 .
TECHNICAL SCIENCES. 2023. No 1
Таким образом, задача коммивояжера относится к категории трансвычислительных [4], это связано с тем, что нахождение маршрута при числе городов, превышающем 66, не может быть решено методом полного перебора маршрутов.
Математическая постановка задачи
Задачу коммивояжера можно представить в виде графа. В таком случае зададим полный взвешенный граф G = (V, E), где I V I = n - множество вершин (города), IE I = m - множество рёбер (пути между городами). Задана матрица весов W(i, j), i, j e 1, 2,..., n, где (i,/)-й элемент, который равен весу ребра (расстоянию между вершинами vi и v).
Необходимо найти перестановку ф из элементов множества V, такую, что значение целевой функции равно [5]:
Fitaess^)R^(l), ф(«)) ф(/ + 1))}^min.
i
Метод решения задачи
Исходя из того, что задача коммивояжера, в которой содержится более 66 городов, при использовании метода перебора всех возможных вариантов будет являться трансвычислительной, то принято решение использовать модифицированную модель генетического алгоритма Голдберга, позволяющую найти приближенное к оптимальному значение маршрута за полиноминальное время [6].
Механизм работы генетического алгоритма заимствован у живой природы и заключается в имитировании эволюционного процесса, итоговой целью которого является получение решения сложной оптимизационной задачи. Общее описание генетического алгоритма выглядит следующим образом [7]:
1. Формирование начальной популяции.
2. Оценка особей популяции.
3. Отбор (селекция).
4. Скрещивание (оператор кроссинговера).
5. Мутация.
6. Формирование новой популяции.
7. Если популяция не сошлась, то возвращение к пункту 2. Иначе - конец алгоритма.
В используемом алгоритме решения применяются путевое представление маршрута в виде хромосомы [8], упорядоченный кроссовер [9], одноточечная мутация, двухточечная непарная мутация и двухточечная парная мутация.
Путевое представление заключается в определении маршрута, как списка городов в порядке следования.
ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION.
TECHNICAL SCIENCES. 2023. No 1
Например, маршрут
3^5^ 2^ 8^ 4^ 6^ 9 будет представлен в виде хромосомы [3, 5, 2, 1, 8, 4, 7, 6, 9].
Оператор кроссинговера, чаще называемый кроссовером, представляет собой генетический оператор, который позволяет объединить генетическую информацию двух родителей для создания нового потомства. Имитирует процесс скрещивания особей в природе.
Для путевого представления используется упорядоченный кроссовер, который заключается во взятии части пути от первого родителя и сохранении родственного порядка городов из второго родителя. Случайным образом выбираются две точки сечения кроссовера. К примеру, Р1 = [1, 2 |3, 4| 5] и Р2 = [1, 3 |2, 5| 4] Каждый элемент, находящийся между точками сечения кроссовера первого родителя, копируется в ребёнка - С = [_, _ |3, 4| _]. После чего, начиная со второй точки сечения кроссовера, элементы второго родителя собираются в список - [4, 1, 3, 2, 5]. Далее из полученного списка удаляются города, уже находящиеся в ребёнке - [1, 2, 5], а оставшиеся элементы, начиная со второй точки сечения кроссовера, копируются в незаполненные ячейки ребенка - С = [2, 5, 3, 4, 1]. Упорядоченный кроссовер изображен на рис. 1.
Рис. 2. Одноточечная мутация / Fig. 2. Single-point mutation
Двухточечная непарная мутация состоит в том, что случайно выбираются два города в хромосоме и меняются местами с двумя другими случайно выбранными городами - P = [1, 4, 2, 3, 5] первый и третий элементы меняются местами со вторым и четвертым - P' = [4, 1, 3, 2, 5], что показано на рис. 3.
Меняем Меняем
Хромосома Р
Хромосома Р1
1 4 2 3 5
1 ? s 7 4 fi
4 5
Рис. 1. Упорядоченный кроссовер / Fig. 1. Ordered crossover
Мутация используется для поддержания генетического разнообразия между поколениями популяции хромосом, что является аналогичным действию биологической мутации. Защищает популяцию от ранней сходимости.
Одноточечная мутация заключается в том, что случайным образом выбираются два города в хромосоме и меняются местами. Например, в хромосоме P = [1, 4, 2, 3, 5] первый и третий элементы меняются местами, в результате получаем особь P' = [2, 4, 1, 3, 5], что изображено на рис. 2.
Рис. 3. Двухточечная непарная мутация / Fig. 3. Two-point unpaired mutation
Двухточечная парная мутация осуществляется следующим образом: случайно выбирается пара рядом стоящих элементов хромосомы и меняется с другой случайно выбранной парой рядом стоящих элементов. Например, в хромосоме P = [1, 4, 2, 3, 5] пара первого и второго элемента меняется местами с парой четвертого и пятого -P' = [3, 5, 2, 1, 4]. Графически данная мутация представлена на рис. 4.
Меняем
1 4 2 3 5
1 ? 3 7 4 5
3 5 2 1 4
Рис. 4. Двухточечная парная мутация / Fig. 4. Two-point paired mutation
ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION. TECHNICAL SCIENCES. 2023. No 1
Вычислительный эксперимент
При решении задачи коммивояжера модифицированной моделью Голдберга с использованием различных мутаций аналитически невозможно определить, какая из мутаций наиболее перспективна.
Для решения поставленной задачи было проведено множество вычислительных экспериментов, которые позволили получить процент точных решений относительно количества запусков, а также усредненные значения времени выполнения, и на их основе оценить результативность применения модели Голдберга с использованием различных мутаций. Входными параметрами являются: n - количество городов, m - количество особей, pc - вероятность кроссовера, pm - вероятность мутации, stop - условие останова, s - количество запусков. Для комплексного решения поставленной задачи в виде программы были реализованы три варианта мутации генетического алгоритма: одноточечная, двухточечная непарная и двухточечная парная.
Алгоритм был реализован в среде разработки Microsoft Visual Studio 2022 на языке программирования C#. Эксперимент был проведен на ПЭВМ с операционной системой Microsoft Windows 10, процессором Intel i3-6006U 2.0 ГГц и оперативной памятью 4 Гб.
В качестве тестовых графов для осуществления вычислительного эксперимента были использованы графы из библиотеки TSP LIB [10] Гейдельбергского университета.
Входные параметры алгоритма имеют следующие значения: n - различно для каждого графа, m - 1000, pc - 1,00, pm - 1,00, stop - 1000, s - 100. Результаты вычислительных экспериментов представлены в табл. 1 и 2.
Таблица 1 / Table 1
Результаты вычислительных экспериментов для графов размерности до 50 вершин / Results of computational experiments for graphs dimension up to 50 vertices
Мутация Граф bays29 Граф swiss42 Гра( ) gr48
Точное решение, % Среднее время, с Точное решение, % Среднее время, с Точное решение, % Среднее время, с
Одноточечная 15 10,9 49 16,6 13 33,2
Двухточечная непарная 9 23,6 38 56,5 7 67,8
Двухточечная парная 22 11,3 51 18,2 9 41,7
Таблица 2 / Table 2
Результаты вычислительных экспериментов для графов размерности до 75 вершин / Results of computational experiments for graphs dimension up to 75 vertices
Граф berlin52 Граф brazil58 Грае ) st70
Мутация Точное решение, % Среднее время, с Точное решение, % Среднее время, с Точное решение, % Среднее время, с
Одноточечная 21 31,6 10 45,6 0 44,2
Двухточечная 10 71,6 0 106,1 0 104,2
непарная
Двухточечная 15 45,2 1 65,3 0 69,8
парная
Выводы
Анализ результатов, полученных в процессе проведенных вычислительных экспериментов, доказывает эффективность использования генетического алгоритма, а именно модифицированной модели Голдберга, для решения задачи коммивояжера. Также было выявлено, что с увеличением числа вершин одноточечная мутация имеет наименьшее отклонение процента точных решений, а также наименьшее среднее время выполнения. Исходя из этого было определено, что наиболее эффективной мутацией для решения поставленной задачи является одноточечная мутация при упорядоченном кроссовере. Тем не менее данная мутация в комбинации с другим кроссовером может не быть такой же эффективной.
Список источников
1. Задача коммивояжера [электронный ресурс] URL: https: //studffle.net/preview/987700/(дата обращения 24.12.2022).
2. Гладков Л.А., КурейчикВ.В., КурейчикВ.М. Генетические алгоритмы: учеб. пособие / под ред. В.М. Курейчика. Ростов н/Д.: Ростиздат, 2004. 400 с.
3. NP-полные и NP-трудные задачи [электронный ресурс] URL: https://studШe.net/preview/5562531/page:42/(дата обращения 24.12.2022).
4. Трансвычислительная задача [электронный ресурс] URL: https://studwood.net/1788462/informatika/transvychislitelnay a_zadacha (дата обращения: 24.12.2022).
5. Емельянов В.В., Курейчик В.В., Курейчик В.М. Теория и практика эволюционного моделирования. М.: Физматлит, 2003. 432 с. ISBN 5-9221-0337-7.
6. Полиномиальное время [электронный ресурс] URL: https://vuzlit.com/745246/polinomialnoe_vremya (дата обращения: 25.12.2022).
7. Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы. М.: Физматлит, 2006. 320 с.
8. Каширина И.Л. Введение в эволюционное моделирование: учеб. пособие / под ред. Е.С. Котляровой. Воронеж: Изд-во ВГУ, 2007. 40 с.
9. Оператор кроссинговера [электронный ресурс] URL: https://studfile.net/preview/8889281/page:5/ (дата обращения: 25.12.2022).
10. TSP_LIB Ruprecht-Karls-Universitat Heidelberg. [электронный ресурс] URL: http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/
ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION. TECHNICAL SCIENCES. 2023. No 1
References
1. The Travelling Salesman Problem. Available at: https://studfile.net/preview/987700/ (accessed 24.12.2022).
2. Gladkov L.A., Kureichik V.V., Kureichik V.M. Genetic Algorithms. Rostov-on-Don: Rostizdat; 2004. 400 p.
3. NP-complete Task. Available at: https://studfile.net/preview/5562531/page:42/ (accessed 24.12.2022).
4. Transcomputational Problem. Available at: https://studwood.net/1788462/informatika/transvychislitelnaya_zadacha (accessed 24.12.2022).
5. Emel'yanov V.V., Kureichik V.V., Kureichik V.M. Theory and Practice of Evolutionary Modeling. Moscow: Fizmatlit; 2003. 432 p.
6. Polynomial Time. Available at: https://vuzlit.com/745246/polinomialnoe_vremya (accessed 25.12.2022).
7. Gladkov L.A., Kureychik V.V., Kureychik V.M. Genetic Algorithms. Moscow: Fizmatlit; 2006. 320 p.
8. Kashirina I.L. An Introduction to Evolutionary Simulation: a Tutorial. Voronezh: Publ. VGU; 2007.40 p.
9. Crossover Operator. Available at: https://studfile.net/preview/8889281/page:5/ (accessed 25.12.2022).
10. TSPLIB Ruprecht-Karls-Universitat Heidelberg. Available at:http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/ (accessed 25.12.2022).
Сведения об авторах
Кобак Валерий Григорьевичн - д-р техн. наук, профессор, кафедра «Программное обеспечение вычислительной техники и автоматизированных систем», [email protected]
Рязанов Александр Андреянович - магистрант, кафедра «Программное обеспечение вычислительной техники и автоматизированных систем»
Information about the authors
Kobak Valeriy G. - Doctor of Technical Sciences, Professor, Department «The Software of Computer Facilities and Automated Systems», [email protected]
Ryazanov Alexander A. - Master Student, Department «The Software of Computer Facilities and Automated Systems»
Статья поступила в редакцию/the article was submitted 15.12.2022; одобрена после рецензирования /approved after reviewing 29.12.2022; принята к публикации / acceptedfor publication 12.01.2023.