СРАВНЕНИЕ ПУТЕВОГО И ПОРЯДКОВОГО ПРЕДСТАВЛЕНИЙ ПРИ РЕШЕНИИ ЗАДАЧИ КОММИВОЯЖЕРА ДВУХЭТАПНОЙ МОДИФИЦИРОВАННОЙ МОДЕЛЬЮ ГОЛДБЕРГА

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION. TECHNICAL SCIENCES 2022. No 1

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ INFORMATICS, COMPUTER ENGINEERING AND CONTROL

Научная статья УДК 681.3.681.5

doi: 10.17213/1560-3644-2022-1-5-10

СРАВНЕНИЕ ПУТЕВОГО И ПОРЯДКОВОГО ПРЕДСТАВЛЕНИЙ ПРИ РЕШЕНИИ ЗАДАЧИ КОММИВОЯЖЕРА ДВУХЭТАПНОЙ МОДИФИЦИРОВАННОЙ МОДЕЛЬЮ ГОЛДБЕРГА

В.Г. Кобак, А.Е. Кушнарева

Донской государственный технический университет, г. Ростов-на-Дону, Россия

Аннотация. Рассмотрено сравнение применения путевого и порядкового представлений при решении задачи коммивояжера двухэтапной модифицированной моделью Голдберга. Задача коммивояжера относится к классу NP-полных задач и используется в исследовании операций, комбинаторной оптимизации, а также в теоретической информатике. Существуют следующие подходы к нахождению лучшего решения: метод ветвей и границ, метод полного перебора, динамическое программирование. Поскольку задача коммивояжера может быть решена не с любым количеством городов, вышепредставленным подходам требуется длительное время и большое количество вычислительной мощности. Генетические алгоритмы оперируют не решениями, а некоторыми их кодировками, тем самым моделируя природные механизмы репродукции и естественного отбора. Эти механизмы реализуются с помощью различных кроссоверов, мутаций и селекции. В данной работе для путевого представления используются упорядоченный кроссовер и мутация обменом, для порядкового представления используются классические кроссовер и мутация. Для решения задачи коммивояжера реализовано программное средство, позволяющее выбрать вариант кроссовера и получить соответствующие результаты. Также в работе представлены таблицы результатов запусков генетического алгоритма с разным количеством особей и повторений, сравнение путевого и порядкового представлений при решении задачи коммивояжера одноэтапной и двухэтапной модифицированной моделью Голдберга и сделан вывод о том, как различные представления позволяют получить оптимальное решение.

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

Для цитирования: Кобак В.Г., Кушнарева А.Е. Сравнение путевого и порядкового представлений при решении задачи коммивояжера двухэтапной модифицированной моделью Голдберга // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2022. №1. С. 5 - 10. http://dx.doi.org/10.17213/1560-3644-2022-1-5-10

Original article

COMPARISON OF THE PATH AND ORDER REPRESENTATIONS IN SOLVING THE COMMIVIGER PROBLEM WITH THE TWO-STEP

MODIFIED GOLDBERG MODEL

V.G. Kobak, A.E. Kushnareva

Don State Technical University, Rostov-on-Don, Russia

Abstract. A comparison of the application of path and order representations in solving the traveling salesman problem by a two-stage modified Goldberg model is considered. The traveling salesman problem belongs to the class of NP - complete problems and is used in operations research, combinatorial optimization, as well as in theoretical computer science. There are the following approaches to finding the best solution: branch and bound method, exhaustive search method, dynamic programming. Since the traveling salesman problem cannot be solved with any number of cities, the above approaches require a long time and a large amount of computing power. Genetic algorithms operate not with solutions, but with some of their encodings, thereby modeling the natural mechanisms of reproduction and natural selection. These mechanisms are realized through various crossovers, mutations and selection. In this paper, the

© Кобак В.Г., Кушнарева А.Е., 2022

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION. TECHNICAL SCIENCES. 2022. No 1

ordered crossover and exchange mutation are used for the path representation, and the classical crossover and mutation are used for the ordinal representation. To solve the traveling salesman problem, a software tool is implemented that allows you to choose a crossover option and obtain the corresponding results. Also, the work presents tables of the results of running a genetic algorithm with a different number of individuals and repetitions, a comparison of the path and ordinal representations when solving the traveling salesman problem with a one-stage and two-stage modified Goldberg model, and a conclusion is drawn on how different representations allow obtaining the optimal solution.

Keywords: traveling salesman problem, genetic algorithm, two-stage genetic algorithm, modified Goldberg model, path representation, ordinal representation, order crossover, exchange mutation, classical crossover, classical mutation

For citation: Kobak V.G., Kushnareva A.E. Comparison of path and ordinal representations in solving the traveling salesman problem with a two-stage modified Goldberg model. Izv. vuzov. Sev.-Kavk. region. Techn. nauki=Bulletin of Higher Educational Institutions. North Caucasus Region. Technical Sciences. 2022; (1):5 - 10. (In Russ.) http://dx.doi.org/ 10.17213/1560-3644-2022-1-5-10

Введение

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

• время в пути - не всегда напрямую зависит от расстояния;

• направление движения - поскольку существуют направления с односторонним движением, не по всем дорогам возможно проехать в обе стороны.

Существует несколько случаев общей постановки задачи: геометрическая, метрическая, обобщенная, симметрическая и асимметрическая. Классическая формулировка используется в следующих сферах:

• в системах принятия решений (необходимо найти оптимальную цепочку действий, если на входе имеется множество параметров);

• в организации логистики и перевозок (необходимо построить оптимальные по времени и объему груза маршруты);

• в организации работы конвейера на производстве (необходимо организовать сборку максимально эффективно).

Также задача коммивояжера относится к классу ЛР-полных задач и является трансвычислительной при количестве городов, большем 66, поскольку в этом случае она не может быть решена методом перебора вариантов, т.е. находится за пределами Бремерманна [2 - 3].

Постановка задачи

В данной статье рассматривается сравнение путевого и порядкового представлений при решении задачи коммивояжера для графа с 51 вершиной двухэтапной модифицированной моделью Голдберга [4].

Основной смысл использования генетических алгоритмов состоит в том, чтобы организовать эволюционный процесс, предназначенный для получения решения в сложной задаче оптимизации. Разработчик генетических алгоритмов является «создателем», устанавливающим условия эволюции таким образом, чтобы получить желаемое решение как можно быстрее. Цель в оптимизации при помощи генетических алгоритмов - это поиск наилучшего оптимального решения по определенным заданным критериям.

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

Двухэтапная модель Голдберга

В рамках данной статьи используется двухэтапный генетический алгоритм на основе модифицированной модели Голдберга. На первом этапе происходит вычисление начального поколения при помощи одноэтапного генетического алгоритма. Данный этап формирует начальное поколение для второго этапа. Лучшее решение для одного запуска генетического алгоритма является особью начального поколения второго этапа (например, чтобы сформировать 100 особей второго этапа необходимо произвести 100 запусков одноэтапного генетического алгоритма). Работа на втором этапе начинается уже с улучшенным начальным поколением с большими значениями параметров [6].

Модифицированная модель Голдберга

Модифицированную модель Голдберга представим в виде последовательности следующих этапов:

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION.

TECHNICAL SCIENCES. 2022. No 1

Этап 1. Формируется начальное поколение, которое состоит из заданного количества особей.

Этап 2. Осуществляется выбор пар особей для скрещивания, также используются различные кроссоверы и мутации, происходит отбор особей в следующее поколение.

Этап 3. Проверяется условие завершения работы алгоритма. Оно заключается в следующем: если количество поколений без изменения лучшего значения решения больше входного параметра, то осуществляется переход ко 2 этапу.

Этап 4. В качестве решения принимается лучшая особь.

На рис. 1 представлена блок-схема работы модифицированной модели Голдберга [6].

Начало )

Инициализация

•1

Оценивание приспособленности хромосом

<^ нет I

Отбор

J

Кроссовер

4

Мутация

Новая популяция

Условие

завершения

выполнено?

да

Выбор наилучшей хромосомы

Рис. 2. Схема упорядоченного кроссовера / Fig. 2. Scheme of an ordered crossover

^ Конец ^

Рис. 1. Блок-схема алгоритма работы модифицированной модели Голдберга / Fig. 1. Block diagram of the algorithm of the modified Goldberg model

Рассмотренные представления

В рамках данной работы используется путевое и порядковое представления.

Путевое представление является наиболее простым представлением маршрута. Например, тур 8—1—4—7—3—9—6—5—2—8 будет отображен в виде строки [8 1 4 7 3 9 6 5 2]. Для путевого представления применяется упорядоченный кроссовер (рис. 2) [7] и мутация обменом (рис. 3) [8].

Рис. 3. Схема мутации обменом / Fig. 3. Scheme of exchange mutation

Порядковое представление - это представление, которое определяет маршрут как список из N городов. Его основная идея состоит в следующем: имеется упорядоченный список городов, предназначенный для связи маршрутов с их порядковым представлением, например, С = [1 2 3 4 5 6 7 8 9]. Тогда маршрут 1—>2—>4—>3—>8—>5—>9—>6—>7—>1 будет представлен как следующий список L = [1 1 2 1 4 1 3 1 1].

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

• А1 = [6 3 2 4 | 2 3 1 2 1] c соответствующим маршрутом 6—3—2—7—4—8—1—9—5—6;

• A2 = [3 4 6 2 | 3 4 2 2 1] с соответствующим маршрутом 3—5—8—2—6—9—4—7—1—3.

Они получат следующих потомков:

• B1 = [6 3 2 4 | 3 4 2 2 1] c соответствующим маршрутом 6—3—2—7—5—9—4—8—1—6;

• B2 = [3 4 6 2 | 2 3 1 2 1] с соответствующим маршрутом 3—5—8—2—4—7—1—9—6—3.

Обратим внимание на то, что части маршрута слева от точки разреза не изменились, в то время как части маршрута справа имеют достаточно отличий от окончаний родительских хромосом.

Используемая мутация для порядкового представления: изменение с вероятностью pm i-го элемента на случайный номер от 1 до n - i - 1 [8 - 9].

Вычислительный эксперимент

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

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION.

TECHNICAL SCIENCES. 2022. No 1

вычислительные эксперименты, которые позволяют сформировать таблицы получаемых решений, а также оценить эффективность работы алгоритма при разных значениях параметров. Для проведения вычислительных экспериментов было разработано программное средство, которое имеет 2 вариации генетического алгоритма: путевое представление с упорядоченным кроссовером и мутацией обменом, порядковое представление с классическими кроссовером и мутацией. Эксперимент проводился на тестовом графе eil51 из пакета TSP LIB, который был разработан Гейдельберг-ским университетом, Гейдельберг, Германия [10].

Для реализации алгоритма использовалась среда разработки PyCharm Community 2020.3 и язык программирования Python. Эксперименты проводились на ЭВМ с операционной системой Microsoft Windows 10 версии 21H1, процессором AMD Ryzen 5 4500^ with Radeon Graphics 2.3 ГГц и оперативной памятью DDR4 SO-DIMM 8 Гб.

В качестве параметров генетического алгоритма были введены следующие данные:

• вероятность мутации - 100 %;

• вероятность кроссовера - 100 %;

• количество особей и количество запусков до останова для второго этапа - 1000 и 1000;

• количество запусков алгоритма 50 раз.

Длина оптимального маршрута для графа

- 428.

Количество особей и количество запусков до останова для первого этапа принимало следующие значения: 100, 300, 500 и 1000.

Чем больше количество особей и запусков до останова, тем больше время выполнения про-

граммного средства, особенно это заметно при двухэтапном алгоритме. Для увеличения производительности в программе используется технология многопроцессорной обработки, а именно библиотека multiprocessing языка Python, которая предоставляет API для создания, запуска и синхронизации процессоров.

Оценим эффективность различных представлений в двухэтапном генетическом алгоритме с помощью сравнения полученных результатов, представленных в табл. 1 - 3.

Стоит отметить, что минимальные и средние результаты двухэтапного алгоритма лучше, чем при одноэтапном (табл. 2).

При изучении полученных результатов можно наблюдать стремление к росту точности результатов при увеличении количества особей. Стоит также отметить значительное увеличение во времени работы запусков, однако большинство результатов в двухэтапном алгоритме, имеющих лучшее решение, получено уже при 300 особей на первом этапе (а также при 500 и 1000).

Рассмотрим табл. 3 с результатами вычислительного эксперимента для порядкового представления и сравним с результатами, изложенными ранее.

Так же, как и в случае путевого представления, при двухэтапном алгоритме наблюдается рост точности решения с ростом количества особей. Чтобы удостовериться в этом, рассмотрим результаты при одноэтапном алгоритме (табл. 4).

При этом затраты времени меньше, чем у путевого представления, однако точность решения хуже, чем у вышеизложенного представления.

Таблица 1 / Table 1

Результаты вычислительного эксперимента для путевого представления

Максимальное количество особей Количество повторов Время выполнения, мин Оптимальное решение

100 100 2442 428

430 - 437

300 300 13895 428

429

430

500 500 28125 428

1000 1000 75050 428

Таблица 2 / Table 2

Результаты вычислительного эксперимента, выполненные одноэтапной модифицированной моделью Голдберга для путевого представления / The result of a computation experiment performed by a one-stage modified Goldberg __model for the path representation_

Максимальное количество особей Количество повторов Время выполнения, мин Оптимальное решение

100 100 12 449 - 575

300 300 77 431 - 466

500 500 169 428

430 - 462

1000 1000 324 428

430 - 451

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION. TECHNICAL SCIENCES. 2022. No 1

Таблица 3 / Table 3

Результаты вычислительного эксперимента для порядкового представления / Computational experiment results for ordinal representation

Mаксимальное количество особей Количество повторов Время выполнения, мин Оптимальное решение

100 100 935 691 - 801

300 300 5800 682 - 794

500 500 13035 653 - 780

1000 1000 33891 657 - 707

Таблица 4 / Table 4

Результаты вычислительного эксперимента, выполненные одноэтапной модифицированной моделью Голдберга для порядкового представления / The result of a computation experiment performed by a one-stage modified Goldberg model for the ordinal representation

Mаксимальное количество особей Количество повторов Время выполнения, мин Оптимальное решение

100 100 3 802 - 835

300 300 19 785 - 821

500 500 56 768 - 803

1000 1000 108 735 - 797

Заключение

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

Список источников

1. Левитин А.В. Алгоритмы. Введение в разработку и анализ. М.: «Вильямс», 2006. С. 159 - 160.

2. Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн. Алгоритмы: построение и анализ: 2-е изд. М. «Вильямс», 2006. 1296 с.

3. Мудров В.В. Задача о коммивояжере. М.: Книжный дом «ЛИБРОКОМ», 2019. 62 с.

4. Копец Д. Классические задачи Computer Science на языке Python. М.: Прогресс книга, 2021. 128 с.

5. Панченко Т.В. Генетические алгоритмы. Астрахань: Астраханский университет, 2007. 15 с.

6. Кобак В.Г., Жуковский А.Г., Пешкевич А.А. Подход к уменьшению времени работы двухэтапного генетического алгоритма для решения задачи коммивояжера // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2020. № 1. DOI: 10.17213/1560-3644-2020-1-5-10

7. Anand E., Panneerselvam R. 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. Р. 774 - 789. URL: scirp.org/journal/PaperInformation. aspx? PaperID=67660 (дата обращения 24.12.2021).

8. Каширина И.Л. Введение в эволюционное моделирование. Воронеж: Воронежский гос. ун-т, 2007. 22 с.

9. Кобак В.Г., Жуковский А.Г., Пешкевич А.А. Сравнение путевого и порядкового подходов при решении задачи коммивояжера модифицированной моделью Голдберга // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2017. № 1. DOI: 10.17213/0321-2653-2017-1-3-7

10. TSPLIB. The Zuse Institute Berlin

References

1. Levitin A.V. Algorithms. Introduction to development and analysis. Moscow: «Williams»; 2006. 159-160. (In Russ.).

2. Thomas H. Cormen, Charles I. Leiserson, Ronald L. Rivest, Clifford Stein. Algorithms: construction and analysis. Moscow: «Williams»; 2006. 1296. (In Russ.).

3. Mudrov B.B. Traveling Salesman Problem. Moscow: Booking home «Librocom»; 2019. 62 p. (In Russ.).

4. Copech D. Classic Computer Science Problems in Python. Moscow: Progress book; 2021. 128 p. (In Russ.).

5. Panchenko T.V. Genetic algorithms. Astrakhan: Astrakhan University; 2007. 15 p. (In Russ.).

6. Kobak V.G., Zhukovsky A.G., Peshkevich A.A. An approach to decreasing the running time of a two-stage genetic algorithm for solving the Traveling Salesman problem. Izv. vuzov. Sev.-Kavk. region. Techn. nauki=Bulletin of Higher Educational Institutions. North Caucasus Region. Technical Sciences. 2020; (1):5-10. DOI: 10.17213/1560-3644-2020-1-5-10 (In Russ.).

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION. TECHNICAL SCIENCES. 2022. No 1

7. Anand E. Panneerselvam R. 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):774-789. Available at: scirp.org/journal/PaperInformation.aspx?PaperID=67660 (accessed 24.12.2021).

8. Kashirina I.L. An Introduction to Evolutionary Modeling. Voronezh: Voronezh State University. 2007. 22 p. (In Russ.).

9. Kobak V.G., Zhukovsky A.G., Peshkevich A.A. Comparison of the track and order approaches in solving 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. 2017; (1):3-7. doi: 10.17213/0321-2653-2017-1-3-7 (In Russ.).

10. TSPLIB. The Zuse Institute Berlin (ZIB). Available at: elib.zib.de/pub/mptestdata/tsp/tsplib/tsplib.html (accessed 26.12.2021).

Сведения об авторах

Кобак Валерий Григорьевич3 - д-р техн. наук, профессор, кафедра «Программное обеспечение вычислительной техники и автоматизированных систем», valera33305@mail.ru

Кушнарева Алина Евгеньевна - студент, кафедра «Программное обеспечение вычислительной техники и автоматизированных систем».

Information about the authors

Kobak Valeriy G. - Doctor of Technical Sciences, Professor, Department «The Software of Computer Facilities and Automated Systems», valera33305@mail.ru

Kushnareva Alina E. - Student, Department «The Software of Computer Facilities and Automated Systems».

Статья поступила в редакцию/the article was submitted 13.01.2022; одобрена после рецензирования /approved after reviewing 18.01.2022; принята к публикации / acceptedfor publication 24.01.2022.