Квазиоптимальное решение задачи коммивояжера методом эволюционного согласования

Протасов В.И., Мирахмедов Р.О., Потапова З.Е., Чернова М.В. УДК 519.854.2

DOI:10.25729/ESI.2023.32.4.004

Квазиоптимальное решение задачи коммивояжера методом эволюционного согласования

Протасов Владислав Иванович, Мирахмедов Роман Октамович, Потапова Зинаида Евгеньевна, Чернова Мария Владиславовна

Московский авиационный институт (национальный исследовательский университет), Россия, Москва, protonus@yandex.ru

Аннотация. Предложен и исследован эффективный алгоритм квазиоптимального решения задачи коммивояжера коллективом акторов методом эволюционного согласования. Метод основан на использовании генетических алгоритмов. Хромосомы особей состоят из треугольников триангуляции Делоне, полученной из диаграммы Вороного. Проведено сравнение результатов работы программы, разработанной, исходя из предложенного алгоритма, с существующими известными способами. Ключевые слова: задача коммивояжера, диаграмма Вороного, генетические алгоритмы, триангуляция Делоне, планарный граф, метод эволюционного согласования, вычислительные акторы Цитирование: Протасов В.И. Квазиоптимальное решение задачи коммивояжера методом эволюционного согласования / В.И. Протасов, Р.О. Мирахмедов, З.Е. Потапова, М.В. Чернова // Информационные и математические технологии в науке и управлении. - 2023. - № 4(32). - С. 42-50. -DOI:10.25729/ESI.2023.32.4.004.

Введение. В данной работе рассматривается решение задачи коммивояжера (ЗК) с использованием концепции вычислительных акторов [1], метода эволюционного согласования решений (МЭС) [2] и триангуляции Делоне [3], полученной для N городов из диаграммы Вороного [4].

Задача коммивояжера является NP-полной задачей [5]. Время работы алгоритма существенно зависит от размера планарного графа, описывающего эту задачу и выбранного метода решения.

Необходимо найти эффективный алгоритм квазиоптимального решения для уменьшения количества вычислений и соответствующего увеличения числа вершин графа по сравнению с существующими методами. Задача коммивояжера является актуальной и применяется в различных сферах: при маршрутизации транспортных потоков, при выборе оптимальной траектории движения рабочего инструмента, в астрономии для уменьшения времени перемещения телескопа между объектами наведения, в конструировании микросхем и многих других приложениях [6].

Данная работа изучает возможность создания квазиоптимального метода решения задачи коммивояжера на основе концепции вычислительных акторов, МЭС и разбиения планарного графа городов с помощью диаграмм Вороного и триангуляции Делоне.

Задача коммивояжера - это классическая задача оптимизации, направленная на поиск кратчайшего возможного маршрута, которым может воспользоваться коммивояжер, чтобы посетить ряд городов и вернуться в исходную точку. Проблема была впервые представлена в 1800-х годах ирландским математиком Гамильтоном. Он был заинтересован в поиске способа решения проблемы сокращения времени на доставку почты почтальоном. Возможный путь обхода городов назван гамильтоновым циклом. Число таких циклов зависит от числа городов N и равно N! Поэтому нахождение гамильтонова цикла минимальной длины является для большого количества городов задачей чрезвычайной трудности. Поскольку ЗК имеет важные и многочисленные практические приложения, то поиску методов ее решения посвящены многие исследования. Для практики достаточно находить квазиоптимальные решения - когда относительная длина полученного гамильтонова цикла не превышает 1.01-1.05 от длины минимального цикла.

В середине 20-го века ЗК привлекла широкое внимание, как теоретическая проблема в математике и информатике. В 1956 году математик Меррилл Флуд [7] поставил проблему, как математическую задачу о существовании эффективного алгоритма решения для большого числа городов.

В последующие десятилетия исследователи разработали различные подходы к решению ЗК, включая алгоритм ветвей и границ [8], алгоритм ближайшего соседа [3] и генетический алгоритм [9, 10, 11]. Однако, несмотря на большие усилия, не было найдено алгоритма с полиномиальным временем, который мог бы решить проблему точно для всех случаев.

Метод ветвей и границ был впервые предложен для решения задачи коммивояжера математиком Альбертом Уильямом Такером в 1960 году. [8] Такер также ввел термин "ветви и границы" для алгоритма решения ЗК. Метод включает в себя разбиение ЗК на более мелкие подзадачи и систематическое исследование пространства решений при отслеживании нижних границ оптимального решения. Это позволяет алгоритму обрезать ветви дерева поиска, которые не могут привести к оптимальному решению, что делает поиск более эффективным. С тех пор метод ветвей и границ стал одним из наиболее широко используемых алгоритмов для решения ЗК, а также многих других задач комбинаторной оптимизации. Несмотря на предельную простоту формулирования задачи, ЗК имеет большую вычислительную сложность, но, несмотря на это, ЗК продолжает оставаться активной областью исследований, разрабатываются новые подходы и методы для эффективного ее решения.

Одним из таких прогрессирующих методов оказался подход С.К. Лау и Л.Е. Шу [3], использующий представления вычислительной геометрии в виде триангуляции Делоне [12, 13].

Практические задачи, решаемые вышеприведенными методами, объединяют следующие свойства. Эти задачи: 1) легко формализуемы; 2) представимы графом; 3) имеют только детерминированные переменные; 4) имеют один тип объектов (например, таксофоны, АЗС и т.п.) и одно отношение (например, «быть на расстоянии £ от предыдущего пункта»); 5) имеют высокую вычислительную сложность; 6) просты в представлении.

Универсальность ЗК объясняется тем, что она представляет класс ЫР полных по вычислительной сложности задач в теории алгоритмов. Класс ЫР (недетерминированные полиномиальные) включает задачи, которые нельзя решить с помощью детерминированной машины Тьюринга за время, растущее с ростом размерности задачи, как полином некоторой фиксированной, не зависящей от размерности задачи, степени. Исследования решения ЗК развиваются в двух направлениях: 1) построение методов решения, позволяющих ускорить ее решение и, соответственно, решать задачи большей размерности; 2) приближение задачи коммивояжера к реальности, добавление объектов и отношений и разработка методов решения таких задач.

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

Каждый актор может выполнять вычисления, изменять своё состояние и отправлять сообщения другим акторам. Акторы являются независимыми и работают параллельно.

В [14] описано, как использовать модель акторов для построения распределенных систем, в которых акторы могут работать параллельно и взаимодействовать друг с другом через передачу сообщений.

1. Постановка задачи. На плоскости расположены N городов. Требуется найти либо гамильтонов цикл минимальной длины, либо, при невозможности нахождения такого решения за приемлемое время, найти квазиоптимальное решение, отличающееся от оптимального на заранее заданную величину 8. В данном исследовании 8=0.01. Приведем формальную постановку ЗК:

Пусть V- множество вершин графа из N городов, eL , = d(vfJvу), i,j = 1,... ,N - расстояние между парой вершин. Требуется найти минимальное значение

Fii( i) среди всех (N — 1}!/2 возможных вариантов тг, где jt(Q - i-й город в выбранной перестановке. При этом накладываются условия неотрицательности, симметричности, запрета на петли и удовлетворения неравенству треугольника:

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

Поскольку ЗК достаточно просто распараллеливается, в качестве вычислительной архитектуры мы используем концепцию вычислительных акторов [14], параллельно решающих ЗК, обменивающихся частичными результатами, оценивающих, скрещивающих варианты и подвергающих их периодически мутациям в соответствии с МЭС [2]. Хромосомы особей состоят из треугольников триангуляции Делоне, полученной из диаграммы Вороного [4, 15].

2. Диаграмма Вороного и триангуляция Делоне. Следуя [4], введем необходимые определения.

Пусть Р = {PjP;,   ..Pv} - множество точек на плоскости, pt Е Р называется сайтом.

Ячейка Вороного (У (Р;)) - множество точек плоскости q таких, что для фиксированного сайта и любых других сайтов р, Е P,j Ф i верно неравенство p(qr pi') < p[q,pj).

Диаграмма Вороного (Vor(P)) для сайтов Р = {р1р2, >Рп} на плоскости - это разбиение плоскости на ячейки Вороного для каждого сайта из Р.

Диаграмма Вороного конечного множества точек W на плоскости представляет такое разбиение плоскости, при котором каждая область этого разбиения образует множество точек, более близких к одному из элементов множества W, чем к любому другому его элементу.

Система, обратная диаграмме Вороного, называется триангуляцией Делоне. Эта диаграмма состоит из линий от каждой точки до её ближайших соседей, и каждая линия перпендикулярна пересекаемому ею ребру Вороного.

В [13] приведены алгоритмы триангуляции Делоне для решения ЗК.

Важно отметить, что триангуляция Делоне и диаграммы Вороного являются тесно связанными понятиями в вычислительной геометрии, и их использование при решении ЗК часто включает схожие методы и подходы [16].

Взаимное положение диаграммы Вороного и триангуляции Делоне представлено на рисунке 1. Точками обозначены города - вершины планарного графа, черные линии - границы областей ближайших точек к данному городу, белые линии - ребра треугольников триангуляции Делоне. Белые линии, опирающиеся на стороны квадрата, исключаются из триангуляции Делоне, красные линии образуют границу области триангуляции.

Рис. 1. Диаграмма Вороного и триангуляция Делоне

3. Алгоритм нахождения квазиоптимального пути. Треугольник в триангуляции Делоне представляет собой фигуру, чьи вершины являются городами, а стороны - пути между ними. Существует внешний контур - граница триангуляции.

Примыкающий к границе треугольник - треугольник, у которого одна или две из сторон образуют внешний контур.

Для нахождения гамильтонова цикла будем последовательно ставить метки и удалять из внешнего контура графа треугольники по определенным правилам. После удаления треугольника внешний контур уменьшается.

Правила получения одного из вариантов гамильтонова цикла:

1) можно удалить любой треугольник, примыкающий к границе, за исключением тех, с удалением которых удаляется и город;

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

3) процесс удаления треугольников совершается до тех пор, пока на карте не останется городов, не граничащих с удаляемыми треугольниками или внешними границами;

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

Видно, что для заданного планарного графа число вариантов найденных неоптимальных решений будет существенно меньше, чем у известных к настоящему времени методов поиска квазиоптимальных решений ЗК. Нашей целью является показать, что данный новый метод, обладающий существенно меньшим числом вычислений, может приводить к получению квазиоптимального решения, не превышающего 1.01 длины пути оптимального. Поэтому все наши исследования производились на планарных графах с известным оптимальным путем, и полученные результаты сравнивались. Для этого мы использовали базу данных TSPLIB [17], которая содержит контрольные примеры решения ЗК с проверенными на оптимальность гамильтоновыми циклами. TSPLIB содержит наборы данных ЗК для разных чисел городов N.

Поиск квазиоптимального пути осуществляется с помощью МЭС коллективом вычислительных акторов.

Приведем необходимые определения.

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

Популяция - множество особей, число особей равно числу вычислительных акторов K.

Целевая функция - длина пути обхода городов 5 = ¿Г^ , где - номер треугольника, I = 1, Л/, х? - длина пути у /-й особи.

Алгоритм поиска квазиоптимального решения ЗК выглядит следующим образом:

На внешнем для вычислительных акторов ресурсе с использованием базы данных TSPLIB формируется гамильтонов цикл минимальной длины для заданного числа городов N и создается таблица расположения в плоскости X0Y городов, номера которых взяты из первоначального распределения случайным образом. Длина оптимального пути S запоминается и в дальнейшем используется для оценки качества решения. По методу, описанному в [18], строится диаграмма Вороного и пары городов, лежащих на перпендикуляре к соответствующему ребру диаграммы, образуют ребро треугольника триангуляции Делоне, как это было описано выше. После завершения этой процедуры создается таблица с параметрами треугольников - вершин, ребер и номеров соседних треугольников. Треугольники и их ребра, имеющие общую границу с внешним контуром триангуляции, помечаются.

Вычислительные акторы получают эту таблицу и, выбирая случайным образом начальный треугольник, удаляют соседние треугольники, выбранные также случайным образом в соответствии с правилами, приведенными выше. Процесс продолжается до тех пор, пока не будет получен гамильтонов цикл. Вычисляется длина пути этого цикла. Формируется особь - перечень номеров удаленных треугольников. На этом стадия генерации решений МЭС заканчивается.

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

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

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

4. Описание эксперимента. По приведенным выше алгоритмам была написана и отлажена вычислительная программа DELAUNAY. Вычислительные акторы и внешний ресурс смоделированы в ней как отдельные модули, работающие параллельно.

После выборки из базы данных TSPLIB координат городов и запоминания оптимального пути S, происходит передача массива координат вершин следующей части программы -построению диаграммы Вороного и триангуляции Делоне, представленных на рисунке 2.

Далее программа работает в соответствии с алгоритмом нахождения квазиоптимальн-ного пути, описанного выше. На выходе программы осуществляется расчет величины превышения казиоптимального пути над оптимальным. Теоретическая оценка этой величины для МЭС является достаточно трудной задачей и поэтому была проведена статистическая оценка этой величины для N=100. При общем количестве испытаний, равном десяти тысячам, это превышение не было больше 0.01, составив среднюю величину в 0.00879. В таблице 1 приведены сравнительные оценки общего количества оцененных вариантов решения ЗК для разных методов - МЭС, полного перебора и метода динамического программирования

(МДП).

Рис.2. Построение диаграммы Вороного и триангуляции Делоне

Таблица 1. Количество вариантов расчетов для 8 <0.01

Количество городов МЭС Полный перебор МДП

10 155 181440 5120

50 4000 (50- 1)3/2 50  250-1

100 15050 (100 - 1)!/2 100  21™-1

200 60100 (200- 1)!/2 200- 22™-1

Статистические оценки работы программы ВЕЬАНМАУ показали сложность алгоритма

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

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

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

Благодарности. Работа выполнена в рамках государственного задания Минобрнауки России, номер темы FSFF-2023-0005.

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

1. Atkinson R., Hewitt C. Synchronization in actor systems. Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on principles of programming languages, 1977, pp.267-280.

2. Протасов В.И. Конструирование метасистемных переходов / В.И. Протасов. - Протвино: Изд. Института физико-технической информатики, 2009. - 186 с.

3. Lau Sim Rim, Shue Li-Yen Solving trave1ling salesman problems with an inte1ligent search approach. Asia-Pacific journal of opereational research, 2001, vol.18, pp.77-87.

4. Карабцев С.Н. Построение диаграммы Вороного и определение границ области в методе естественных соседей / С.Н. Карабцев, С.В. Стуколов // Вычислительные технологии, 2008. - Том 13. - №3. - С. 65-80.

5. Володина Е.В. Практическое применение алгоритма решения задачи коммивояжера / Е.В. Володина, Е.А. Студентова // Инженерный вестник Дона, 2015. - №2. - Ч.2. - С. 1-13.

6. Davendra D. Traveling salesman problem, theory and applications. INTECH, 2010, 299 p.

7. Fild M.M. The traveling-salesman problem. Journal of the оperations research society of America, 1956, vol.4(1), pp. 61-75.

8. Mi1ler C.E., Tucker A.W., Zemlin R.A. Integer progra1ing formulation of traveling salesman problems. Journal of the ACM, 1960, vol.7(4), pp.326-329.

9. Holland J.H. Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor, 1975, 228 p.

10. Батищев Д.И. Применение генетических алгоритмов к решению задач дискретной оптимизации. Учебное пособие // Д.И. Батищев, Е.А. Неймарк, Н.В. Старостин. - Нижний Новгород: Нижегородский гос. университет им. Н. И. Лобачевского, 2007. - 85 с.

11. Гладков Л.А. Генетические алгоритмы // Л.А. Гладков, В.В. Курейчик, В.М. Курейчик. - М.: Физматлит, 2006. - 367 с.

12. Joseph O'Rourke Computational geometry in C. Gambridge University Press, 1994, 390 p.

13. Liu A. The traveling salesman and delauney triangulation. 2015, available at: https://web.colby.edu/thegeometricviewpoint/2015/03/09/delauney-triangulations-and-the-traveling-salesman/ (accessed: 10/30/2023).

14. Agha G. Actors - a model of concurrent computation in distributed systems. Computer Science, MIT Press series, 1985, 190 p.

15. Owens B. How to use Voronoi diagrams to control AI, 2013, available at: https://gamedevelop-ment.tutsplus.com/how-to-use-voronoi-diagrams-to-control-ai--gamedev-11778t

16. Letchford Adam N., Pearson Nicholas A. G4d triangulations yield g4d tours. Computers & operations research 35, 2008, pp. 638-647.

17. База данных TSPLIB. - URL: http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/ (дата обращения: 30.10.2023).

18. Препарата Ф. Вычислительная геометрия: Введение / Ф. Препарата, М. Шеймос. — М.: Мир, 1989. - 295 c.

Протасов Владислав Иванович. Доцент, доктор технических наук, Московский авиационный институт (национальный исследовательский университет), профессор кафедры цифровых технологий и информационных систем, AuthorID: 520803, SPIN: 9455-1291, ORCID: 0000-0002-483-7209, protonus@yandex.ru, Россия, Москва, МАИ, Волоколамское шоссе, д. 4.

Потапова Зинаида Евгеньевна. Доцент, кандидат физико-математических наук, Московский авиационный институт (национальный исследовательский университет), доцент кафедры математической кибернетики, AuthorID: 180610, SPIN: 1476-8134, ORCID: 0000-0002-2718-1556, potapovaz@yandex.ru, Россия, Москва, МАИ, Волоколамское шоссе, д. 4.

Мирахмедов Роман Октамович. Аспирант кафедры прикладных программных средств и математических методов Московского авиационного института (национальный исследовательский университет), AuthorID: 1192305, SPIN: 6344-9920, ORCID: 0000-0001-8930, mirakhmedov@gmail.com, Россия, МАИ, Москва, Волоколамское шоссе, д. 4.

Чернова Мария Владиславовна. Студент, Московский авиационный институт (национальный исследовательский университет), стажер кафедры математической кибернетики, lady.keave@gmail.com, Россия, Москва, МАИ, Волоколамское шоссе, д. 4.

UDC 519.854.2

DOI:10.25729/ESI.2023.32.4.004

Quasi-optimal solution of the traveling salesman problem using the evolutionary matching method

Vladislav I. Protasov, Roman O. Mirakhmedov, Zinaida E. Potapova, Maria V. Chernova

Moscow Aviation Institute, Russia, Moscow, protonus@yandex.ru

Abstract. An efficient algorithm for the quasi-optimal solution of the traveling salesman problem by a team of actors using the evolutionary matching method is proposed and investigated. The method is based on the use of genetic algorithms. The chromosomes of individuals consist of triangles of the Delaunay triangulation obtained from the Voronoi diagram. The results of the program developed on the basis of the proposed algorithm are compared with existing known methods.

Keywords: Traveling salesman problem, Voronoi diagram, genetic algorithms, Delaunay triangulation, planar graph, evolutionary matching method, computational actors

Acknowledgements: The work was carried out within the framework of the state assignment of the Ministry of Education and Science of Russia, topic number FSFF-2023-0005.

References

1. Atkinson R., Hewitt C. Synchronization in actor systems. Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, 1977, pp.267-280.

2. Protasov V.I. Konstruirovanie metasistemnykh perekhodov. The construction of metasystematic transitions. Protvino, Moscow institute of Physics and Technology, 2009, 186 p.

3. Lau Sim Rim, Shue Li-Yen Solving Trave1ling Salesman Problems with an Inte1ligent Search Approash, Asia-Pacific Journal of Opereational research, 2001, v.18, pp.77-87.

4. Karabcev S.N., Stukolov S.V. Postroenie diagrammy Voronogo i opredelenie granic oblasti v metode estestven-nykh sosedej [Constructing a Voronoi diagram and determining the boundaries of the region in the natural neighbors method]. Vychislitel'nyye tekhnologii [Computing technologies], 2008, no. 13(3), pp. 65-80.

5. Volodina E.V., Studentova E.A. Prakticheskoe primenenie algoritma resheniya zadachi kommivoyazhera [Practical application of the algorithm for solving the traveling salesman problem]. Inzhenernyj Vestnik Dona [Engineering bulletin of the Don], 2015, no. 2(2), pp. 1-13.

6. Davendra D. Traveling salesman problem, theory and applications. INTECH, 2010, 299 p.

7. Fild M.M. The traveling-salesman problem. Journal of the operations research society of America, 1956, vol.4(1), pp. 61-75.

8. Mi1ler C.E., Tucker A.W., Zemlin R.A. Integer progra1ing formulation of traveling salesman problems. Journal of the ACM, 1960, vol.7(4), pp.326-329.

9. Holland J.H. Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor, 1975, 228 p.

10. Batishchev D.I., Nejmark E.A., Starostin N.V. Primenenie geneticheskikh algoritmov k resheniyu zadach dis-kretnoj optimizacii. Uchebnoe posobie [Application of genetic algorithms to solving discrete optimization problems. Tutorial]. Nizhnij Novgorod, Nizhegorodskij gosudarstvennyj universitet im. N. I. Lobachevskogo [Nizh-ny Novgorod State University named after N. I. Lobachevsky], 2007, 85 p.

11. Gladkov L.A., Kurejchik V.V., Kurejchik. V.M. Geneticheskie algoritmy [Genetic algorithms]. Moscow, Fiz-matlit, 2006, 367 p.

12. Joseph O'Rourke Computational geometry in C. Gambridge University Press, 1994, 390 p.

13. Liu A. The traveling salesman and delauney triangulation. 2015, available at: https://web.colby.edu/ thege-ometricviewpoint/2015/03/09/delauney-triangulations-and-the-traveling-salesman/ (accessed: 10/30/2023).

14. Agha G. Actors - a model of concurrent computation in distributed systems. Computer Science, MIT Press series, 1985, 190 p.

15. Owens B. How to use Voronoi diagrams to control AI, 2013, available at: https://gamedevelop-ment.tutsplus.com/how-to-use-voronoi-diagrams-to-control-ai--gamedev-11778t

16. Letchford Adam N., Pearson Nicholas A. G4d triangulations yield g4d tours. Computers & operations research 35, 2008, pp. 638-647.

17. Baza dannykh [Database] TSPLIB, available at: http://comopt.ifi.uni-heidelberg.de/sofware/TSPLIB95/

18. Preparata F., Shejmos M. Vychislitel'naya geometriya: Vvedenie [Computational Geometry: Introduction], Moscow, Mir, 1989, 295 p.

Protasov Vladislav Ivanovich. Associate Professor, doctor of technical sciences, Moscow aviation institute, professor of the department of digital technologies and information systems, AuthorID: 520803, SPIN: 9455-1291, ORCID: 0000-0002-483-7209, protonus@yandex.ru, MAI, Russia, Moscow, Volokolamskoye Shosse, 4.

Potapova Zinaida Evgenievna. Associate professor, Candidate of physical and mathematical sciences, Moscow aviation institute, associate professor of the department of mathematical cybernetics, AuthorID: 180610, SPIN: 14768134, ORCID 0000-0002-2718-1556, potapovaz@yandex.ru, 125993, Russia, Moscow, MAI, Volokolamskoye Shosse, 4.

Mirakhmedov Roman Oktamovich. Postgraduate student, Moscow aviation institute, postgraduate student of the department of applied software and mathematical methods, AuthorID: 1192305, SPIN: 6344-9920, ORCID 0000-00018930, mirakhmedov@gmail.com, 125993, Russia, Moscow, MAI, Volokolamskoye Shosse, 4.

Chernova Maria Vladislavovna. Student, Moscow aviation institute, intern at the department of mathematical cybernetics, lady.keave@gmail.com, 125993, Russia, Moscow, MAI Volokolamskoye Shosse, 4.

Статья поступила в редакцию 17.10.2023; одобрена после рецензирования 30.10.2023; принята к публикации 13.12.2023.

The article was submitted 10/17/2023; approved after reviewing 10/30/2023; accepted for publication 12/13/2023.