УДК 519.618 >- БО! 10.21685/2307-4205-2017-4-9
ЭВОЛЮЦИОННЫЙ МЕТОД РЕШЕНИЯ ЗАДАЧИ ГРУППЫ КВАДРОКОПТЕРОВ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА МОНИТОРИНГА ОБЛАСТИ1
А. И. Дивеев, Н. Б. Конырбаев
Введение
В настоящий период для мониторинга различных областей все чаще используются летающие роботы - квадрокоптеры. Их задачей является пролет через некоторые заданные точки в пространстве по наиболее оптимальным траекториям, съемка и контрольные измерения необходимых характеристик с помощью определенных датчиков. При разработке системы управления группой квадрокоптеров одной из важнейших задач является распределение заданных точек в пространстве между квадрокоптерами так, чтобы пути движения квадрокоптеров были оптимальными, например, по критерию суммарной длины всех траекторий. Количество контролируемых точек области, их положение и количество квадрокоптеров может меняться в зависимости от типа контроля и реальных технических условий.
Задача распределения точек между квадрокоптерами по критерию минимальной суммарной длины траектории является усложненной трехмерной задачей коммивояжера, точнее трехмерной задачей группы коммивояжеров. Данная задача относится к классу КР-трудных задач [1-4], для решения которых не известны алгоритмы с полиномиальной скоростью сходимости. Алгоритм для поиска точного оптимального решения требует количество вычислений критерия качества, пропорциональное факториалу от количества точек, поэтому при количестве точек, равном нескольким десяткам, точное решение задачи группы коммивояжеров не может быть получено современными вычислительными средствами. В настоящей работе для решения задачи используем вариационный генетический алгоритм. В отличие от классического генетического алгоритма вариационный генетический алгоритм использует принцип малых вариаций базисного решения [5-8] и выполняет все генетические операции на конечных множествах векторов, кодирующих малые вариации.
Применение в задаче группы коммивояжеров вместо одного коммивояжера усложняет формулу для вычисления суммарной длины пути. В задаче мы предполагаем, что все коммивояжеры, в нашем случае это квадрокоптеры, должны стартовать из одной точки и в нее же вернуться, при этом к суммарной длине пути, пройденной всеми квадрокоптерами, добавляем длины отрезков, которые проходят квадрокоптеры из начальной точки к первой точке своего пути и из последней точки своего пути в исходную точку. В работе рассматриваем различные виды малых вариаций и приводим пример решения задач для группы из четырех коммивояжеров.
Постановка задачи
Задано упорядоченное множество из N точек в трехмерном пространстве
Р = (р1 = [ Х У1 ,..., pN = [ Хы УN 2Ы ]Т). (1)
Задано число К < N коммивояжеров-агентов.
Заданы координаты начальной точки
р0 = [ х0 У0 2 0]Т . (2)
Каждый агент, кроме последнего, проходит
т = ^ / К] (3)
точек, где [А] - целая часть числа А.
1 Работа выполнена при поддержке Российского фонда фундаментальных исследований (гранты № 16-29-04224-офи_м, 17-08-01203-а).
Последний агент проходит
N - т(К -1) (4)
точек.
Необходимо переупорядочить точки во множестве (1) так, чтобы минимизировать следующую целевую функцию:
К -1С т Л
J(Р) = £ || р(1-1)т+1 -р01| + £|| р(1-1)т+; -р(1-1)т+1-11|+1| р0 -рт ||
1=1 V з=2
+
N -т ( К -1)
+ ||р(К-1)т+1 -р°||+ £ ||р(К^ -р(К-1)т+]-1||+||р0 -р||, (5)
где I)к - новые координаты точки к после переупорядочивания,
||р". (6)
В целевой функции (5) первое слагаемое указывает на суммарную длину пути, пройденного К -1 коммивояжерами, поскольку они проходят одинаковое количество точек. Последние три слагаемых указывают на длину пути, пройденного последним К-м коммивояжером. Исходная точка р0 не меняет своих координат, поэтому из последней пройденной точки каждый коммивояжер должен вернуться в исходную точку и пройти путь от своей последней точки до исходной точки, что может повлиять на суммарную длину пути коммивояжеров.
Вариационный генетический алгоритм
Для решения задачи (1)-(6) группы коммивояжеров используем вариационный генетический алгоритм. Определим в задаче малые вариации возможного решения. Для описания малой вариации используем целочисленный вектор из двух компонент
™ = И м>2]Т , (7)
где м>1, »2 - номера позиций в упорядоченном множестве точек (1), подвергаемых вариации. Определим две малые вариации: вариация обмена и вариация вставки.
При вариации обмена точки в позициях м>1 и »2 меняются местами. Пусть Р = (р1,..., рN) -порядок точек до вариации, тогда после вариации (7) получаем
Р = w о Р = (р1,..., 1Р'-1,р"'2, р П..., р »2 -1, р р »2+1,..., рN). (8)
При вариации вставки точка из позиции м>1 исключается и вставляется в позицию »2, а остальные точки сдвигаются в сторону нахождения позиции м>1. При реализации вариации вставки важно знать условие, какая из позиций больше: м>1 или »2. Пусть м>1 < »2, тогда вариация вставки осуществляется по формуле
Р = w о Р = (р1, ... , р»1 -1, р »1+1, р »1+2,..„ р »2 -1, р »2, р р »2+1,..„ pN). (9)
При условии м>1 > »2 вариация вставки выполняется по формуле
Р = w о Р = (р1, .. . , р »2 -1, р»1, р »2, р »2+1,..„, р * -1, р »1+1,..„ рN). (10)
При условии равенства позиций w1 = w2 = w вариации обмена и вставки не выполняются или точнее не меняют позиций элементов варьируемого множества: ^ w]T о Р = Р .
Для организации поиска оптимального решения по критерию (5) с помощью генетического алгоритма введем определение кода возможного решения как совокупность базисного решения (1) и упорядоченного множества векторов вариаций
W. = ^ ■д,..., w ■,Ь),
(11)
где wм = Кк w2',k]Т, к = 1,...,Ь.
Возможное решение Р. получается из базового решения с помощью последовательно выполненных вариаций, указанных во всех векторах упорядоченного множества WJ■ векторов вариаций (11):
Р .. = W] ,Ь о w
■ Ь-1
о w ■,1 о Р .
(12)
Начальное множество возможных решений в генетическом алгоритме представляет собой множество упорядоченных множеств векторов вариаций
(13)
здесь W0 - множество векторов вариаций с одинаковыми значениями первой и второй компонент, поэтому данное множество вариаций не меняет базисного решения или соответствует базисному решению. Каждый элемент WJ■, . = 1,.,Н , из множества (13) вместе с базисным возможным решением соответствует возможному решению Р. , после выполнения всех вариаций,
описываемых входящими в это множество векторами.
Рассмотрим пример. Пусть задано базисное решение в виде множества точек
Р = (р1,.,р12).
Пусть во множестве возможных решений имеем следующее множество векторов вариаций с малой вариацией обмена
^ =
Г 1 2 8 11 Л
V 5 ? 6 ? 3 ? 2
Тогда возможное решение, соответствующее данному множеству, будет иметь вид
Р( ■) =
11 о 8 о 2 о 1
2 3 6 5
Р = (р5, р11, р8, р1, р1, р2, р7, р3, р9, р10, р6, р12).
Генетические операции скрещивания и мутации выполняем на множествах векторов вариаций. Для выполнения операции скрещивания отбираем два возможных решения (родителя)
Wi = wi,Ь), W■ = ^■,1,...,w■Ь), i,.е {0,1,.,Н}.
Находим точку скрещивания *е {1,..., Ь} и обмениваем вектора вариаций после точки скрещивания в отобранных множествах-родителях. Получаем два новых возможных решения
Wн+1 = wi, *, w ■ *+\..„ w ■Ь),
Wн+2 = (w ■д,..„ w ■, *, wi w<, Ь).
(14)
(15)
Далее согласно классическому генетическому алгоритму в новых полученных решениях с заданной вероятностью рц выполняем операцию мутации. Находим точку мутации це{1,...,Ь} в
новом возможном решении и генерируем новый вектор вариаций в позиции ц
Wя+1 = ^Н+1Д,..., wн+l4l-1, wн+l4l, wH+Ul+1,..., wJ,L), (16)
где wн^ - новый вектор вариаций, wн^ = [<»2Н+1#]Т , < ,<е {1,.,Щ .
То же повторяем и для второго возможного решения. После этого оцениваем новые полученные решения по формуле вычисления целевой функции (5). После этого в соответствии с выбранными правилами генетического алгоритма принимаем решение о включении новых возможных решений во множество возможных решений. Согласно правилам построения генетического алгоритма новые возможные решения либо всегда включаются во множество возможных решений, при этом множество расширяется, а затем после нескольких скрещиваний происходит отсев наихудших возможных решений, либо после включения каждого нового возможного решения происходит исключение наихудшего возможного решения, при этом количество элементов во множестве возможных решений не меняется.
После прохождения заданного количества циклов генерации новых возможных решений в последнем полученном множестве возможных решений находим наилучшее по значению целевой функции возможное решение, которое представляет собой найденное решение задачи.
В вариационном генетическом алгоритме существенную роль играет выбор базисного решения. Для выбора базисного решения в задаче коммивояжера целесообразно использовать жадный алгоритм, который отбирает ближайшую точку из неотобранных ранее точек. Пусть 8 -множество отобранных точек, Я - множество неотобранных точек. На первом шаге имеем 8(р0) = (р0), Я(0) = {р1,...,рЩ}, где в обозначении множества отобранных точек в скобках указывается последняя отобранная точка. Верхний индекс в обозначении множества неотобранных точек указывает на количество отобранных точек. Далее находим
8(р«) = 8(р0) и{р«'} = (р0, р«1),
Я(1) = Я(0) \ {р«1} = {р1,..., р«1-1,р«' +1,..., рЩ },
где
||р« - р0||= шт{||рУ - р01|: у = 1,., N}.
J
Жадный отбор выполняем на основании соотношений
8(р«к) = 8(р«к-1) и{р«к} = (р0, р«1,..., р«к), (17)
Я( к) = Я( к-1)\{р«к}, (18)
|| р«к - р01|= шп{|| рУ - р0||: УрУе Я(к-1)}, к = 1,..., N. (19)
}
В результате получаем
8(p«N) = Р, Я( N) = 0.
Существенным условием успешной работы вариационного генетического алгоритма является периодическая замена базисного решения на лучшее найденное к этому моменту решение. Смену базисного решения осуществляем после выполнения определенного количества циклов воспроизведения новых возможных решений. После смены базисного решения сами возможные решения, кроме базисного, и их оценки изменятся, причем не обязательно в лучшую сторону. Этап смены базисного решения называем сменой эпохи.
Вычислительный эксперимент
В качестве примера рассмотрим задачу для группы из К = 4 квадрокоптеров и N = 200 точек со случайно сгенерированными координатами из диапазонов: хе [-200;200], у е[-1;50], г е [-200; 200]. Начальной и конечной точкой всех траекторий должна быть точка начала координат
р0 = [0 0 0]Т .
На рис. 1,а-в приведены проекции траекторий движения всех квадрокоптеров по неупорядоченным точкам.
г
180-160-140-120-100 -80 -60 -40 -20 0 20 40 60 80 100 120 140 160 1 ВО 200
а)
У
•180-160-140-120-100 -80 -60 -40 -20 0 20 40 60 80 100 120 140 160 180 200
б)
У
■180-160-140-120-100 -80 -60 -40 -20 0 20 40 60 80 100 120 140 160 180 200
в)
Рис. 1. Проекции траекторий движения квадрокоптеров по неупорядоченным точкам
Общая длина всех траекторий по неупорядоченным точкам составила величину 40 935, первый квадрокоптер прошел 9945, второй 9997, третий 10 729 и четвертый 10 264.
На рис. 2,а-в приведены проекции траекторий базисного решения, полученного жадным алгоритмом.
в)
Рис. 2. Проекции траекторий базисного решения
После применения жадного алгоритма получили суммарную длину всех траекторий 7420, первый квадрокоптер прошел 1525, второй 1730, третий 1720, четвертый 2445.
Далее использовали вариационный генетический алгоритм с малой вариацией вставки со следующими параметрами: мощность множества возможных решений 1024, количество поколений 512, количество возможных скрещиваний в одном поколении 256, количество векторов вариаций в одном возможном решении 12, вероятность мутации 0,8, количество поколений между сменой базисного решения 16.
Проекции полученных траекторий приведены на рис. 3,а-в.
г
-180-160-140-120-100-80 -60 -40-20 0 20 40 60 80 100 120 140 160 180 200
а)
У
•180-160-140-120-100-ВО -60 -40 -20 0 20 40 60 80 100 120 140 160 180 200
б)
У
■1ВО-1бО-140-120-100-80 -60 -40 -20 0 20 40 60 80 100 120 140 160 180 200
в)
Рис. 3. Проекции траекторий после использования вариационного генетического алгоритма
В результате получили общую суммарную длину всех траекторий 6368, что более, чем в 6 раз меньше исходной траектории и на 16 % меньше, чем длины траектории, полученной жадным алгоритмом. Первый квадрокоптер прошел 1484, второй квадрокоптер 1950, третий квадрокоптер 1444, четвертый 1490.
Рассмотрена задача поиска оптимальных траекторий для группы квадрокоптеров, которая отличается от задачи коммивояжера тем, что пути движения проходят в трехмерном пространстве и все точки необходимо распределить для каждого квадрокоптера. Предложено для решения задачи использовать вариационный генетический алгоритм с малыми вариациями обмена и вставки. Приведено подробное описание вариационного генетического алгоритма и предложено для поиска базисного решения использовать жадный алгоритм.
Приведен численный пример решения задачи для группы квадрокоптеров вариационным генетическим алгоритмом. Найденное решение дает суммарный путь в 6 раз короче, чем первоначальный путь и на 16 % короче пути, найденного жадным алгоритмом.
1. Гэри, М. Вычислительные машины и труднорешаемые задачи / М. Гэри, Д. Джонсон. - М. : Мир, 1982. -
2. Кристофидес, Н. Теория графов. Алгоритмический подход / Н. Кристофидес. - М : Мир, 1978. - 189 с.
3. Кормен, Т. Алгоритмы. Построение и анализ / Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн. - 2-е изд. -М. : Вильямс, 2009. - 257 с.
4. Пападимитриу, Х. Комбинаторная оптимизация. Алгоритмы и сложность / Х. Пападимитриу, К. Стайглиц. - М. : Мир, 1985. - 216 с.
5. Дивеев, А. И. Вариационный генетический алгоритм для решения задачи оптимального управления / А. И. Дивеев, Е. Ю. Шмалько // Современные проблемы науки и образования. - 2014. - № 1. -URL: http://www.science-education.ru/115-11474
6. Diveev, A. I. Small Variations of Basic Solution Method for Non-numerical Optimization / A. I. Diveev // Proceedings of 16th IFAC Workshop on Control Applications of Optimization, CAO' 2015 (October 6th-9th). -Garmisch-Partenkirchen, 2015. - P. 28-33.
7. Дивеев, А. И. Вариационный генетический алгоритм для поиска оптимального управления космическим аппаратом / А. И. Дивеев, Е. Ю. Шмалько // Труды одиннадцатого международного симпозиума Интеллектуальные системы INTELS'2014 (Москва, 30 июня - 4 июля) ; под ред. К. А. Пупкова. - М., 2014. -
8. Diveev, A. I. Synthesis of Control for Group of Quadrotors in Task of Area Monitoring / A. I. Diveev, S. I. Ibadulla, N. B. Konyrbaev, E. Yu. Shmalko // Proceedings The 11th IEEE International Conference on Application of Information and Communication Technologies (AICT 2017) (20-22 September). - Moscow, 2017. -Vol. 1. - P. 365-370.
Заключение
Библиографический список
168 с.
С. 83-88.
Дивеев Асхат Ибрагимович
доктор технических наук,
начальник сектора отдела безопасности
и нелинейного анализа,
Федеральный исследовательский центр
«Информатика и Управление»
Российской Академии Наук,
(Вычислительный центр
им. А. А. Дородницына РАН)
(119333, Россия, г. Москва, ул. Вавилова, 40);
профессор департамента механики
и мехатроники Инженерной академии Российского
университета дружбы народов
E-mail: [email protected]
Diveev Askhat Ibragimovich
doctor of technical sciences,
chief of the division of safety and nonlinear analysis,
Federal research center
«Computer science and control»
of the Russian Academy of Sciences
(Dorodnkyn Computer Center of RAS)
(119333, 40 Vavilov street, Moscow, Russia);
Professor of the department of Mechanics and mecha-
tronics in RUDN University
Конырбаев Нурбек Беркинбайулы
стажер,
департамент механики и мехатроники, Инженерная академия Российского университета дружбы народов (115419, Россия, г. Москва, ул. Миклухо-Маклая, 6) E-mail: [email protected]
Аннотация. Работа посвящена решению задачи поиска оптимальных траекторий для мониторинга области с помощью группы квадрокоптеров. Показано, что данная задача сводится к трехмерной задаче группы коммивояжеров и является NP-трудной, для которой не известно алгоритмов с полиномиальной скоростью сходимости. Предложено для решения задачи использовать вариационный генетический алгоритм с малыми вариациями обмена и вставки. Приведено подробное описание вариационного генетического алгоритма для решения задачи группы коммивояжеров. Для эффективного использования принципа малых вариаций необходимо построение базисного решения с наиболее близкой к оптимальной оценкой целевой функции. Для построения базисного решения предложено использовать жадный алгоритм. В вычислительном эксперименте рассмотрена задача поиска путей для четырех квадро-коптеров, которые должны начать движение из одной точки пройти в сумме по двумстам точкам и вернуться обратно в начальную точку. С помощью предложенного вариационного генетического алгоритма найдены оптимальные траектории для каждого квадрокоптера. Суммарная длина найденных траекторий более чем в 6 раз короче первоначальной траектории и на 16 % короче траектории базисного решения, найденного жадным алгоритмом.
Ключевые слова: трехмерная задача коммивояжера, группа квадрокоптеров, вариационный генетический алгоритм, NP-трудная задача.
Konyrbaev Nurbek Berkinbayuly
trainee,
department of mechanics and mechatronics, Engineering Academy
of Russian University of friendship of peoples (115419, 6 Miklukho-Maklaya street, Moscow, Russia)
Abstract. The paper is devoted to the solution of a problem of search of optimum trajectories for monitoring of area by means of group of quadrotors. It is shown that this task comes down to a three-dimensional problem of group of travelling salesmen representatives and is NP-hard and this problem doesn't have an algorithm for search solution with a polynomial speed of convergence. It is offered for the solution of this problem to use a variational genetic algorithm with small variations of exchange and an insert. The detailed description of a variation genetic algorithm for the solution of a task of group of travelling salesmen is provided. Effective use of the principle of small variations requires creation of the basic decision with the closest to optimum assessment of criterion function. For creation of the basic decision it is offered to use a greedy algorithm. In a computing experiment the problem of search of ways for four quadrotors which have to begin to undergo the movement from one point to pass in the sum two hundred points is considered, and to return back to the initial point. By means of the offered variation genetic algorithm optimum trajectories for each quadrotor are found. Total length of the found trajectories shorter in 6 times then an initial trajectory and less on 16 percent of the trajectory of the basic solution found by a greedy algorithm.
Key words: three dimensional travelling salesmen problem, group of quadrotors, variational genetic algorithm, NP-hard problem.
УДК 519.618
Дивеев, А. И.
Эволюционный метод решения задачи группы квадрокоптеров для повышения качества мониторинга области / А. И. Дивеев, Н. Б. Конырбаев // Надежность и качество сложных систем. - 2017. -№ 4 (20). - С. 64-72. БО! 10.21685/2307-4205-2017-4-9.