Н.А. Максимов, К.И. Свирина, А.В. Шаронов Московский авиационный институт (государственный технический институт) РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ РАСПРЕДЕЛЕНИЯ МНОЖЕСТВА ЦЕЛЕЙ МЕЖДУ БЕСПИЛОТНЫМИ ЛЕТАТЕЛЬНЫМИ АППАРАТАМИ НАБЛЮДЕНИЯ В настоящее время актуально использование беспилотных летательных аппаратов для решения задач наблюдения. Беспилотный летательный аппарат – это разновидность летательного аппарата, управление которым не осуществляется пилотом на борту. Различают беспилотные летательные аппараты: беспилотные неуправляемые; беспилотные автоматические; беспилотные дистанционно-пилотируемые летательные аппараты (ДПЛА). Так же беспилотные летательные аппараты принято делить по таким взаимосвязанным параметрам, как масса, время, дальность и высота полёта. Выделяют следующие классы аппаратов: «микро» (условное название) массой до 10 килограммов, временем полёта около 1 часа и высотой до 1 километра; «мини» – массой до 50 килограммов, временем полёта несколько часов и высотой до 3-5 километров; средние («миди») – до 1 000 килограммов, временем полёта 10-12 часов и высотой до 9-10 километров; тяжёлые – с высотами полёта до 20 километров и временем полёта 24 часа и более.[1] Практическая значимость использования БЛА обусловлена следующими факторами: возможность оперативно получать информацию из труднодоступных мест; достаточная на сегодняшний день вычислительная мощность элементной базы обработки; наличие выбора доступных на рынке БЛА, накопленный опыт использования БЛА. Ранее в России БЛА использовались для одиночных или серийных вылетов. Комплекс БЛА понимался, как совокупность наземного сегмента и БЛА или группы БЛА, вылетающих по очереди. Примером таких систем может служить комплекс «Дозор-2» разработки ООО «ТеКнол». В комплекс входит один БЛА. Переход от одиночных вылетов к высокоорганизованным комплексам БЛА предполагает использование системы поддержки принятия решений. Одной из задач этой системы является планирование наблюдения группой БЛА за множеством территориально-распределённых целей [1]. Актуальность данной задачи обуславливается тем, что освещаемые компоненты системы поддержки принятия решений позволяют: планировать распределение ресурсов во времени и пространстве; осуществлять оперативное перепланирование и повторное построение траекторий при неожиданном изменении условий; а также снизить умственное напряжение персонала наземного сегмента. Анализ методов и средств решения поставленной задачи Задача распределения состоит из 2 подзадач: 1) распределение множества целей между БЛА; 2) определение последовательности облёта группы целей, назначенной для каждого БЛА на первом этапе. Исходными данными для обеих подзадач является: 1 совокупность значимых характеристик БЛА (количество БЛА, координаты начального местоположения, скорость); совокупность значимых характеристик целей (количество целей, координаты местоположения целей). Задачу распределения множества целей между БЛА предполагается решать, используя генетический алгоритм. Генетический алгоритм – это эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём последовательного подбора, комбинирования и вариации искомых параметров с использованием механизмов, напоминающих биологическую эволюцию. «Отцом-основателем» генетических алгоритмов считается Джон Холланд, предложивший в 1975 г. в своей книге «Адаптация в естественных и искусственных системах» схему генетического алгоритма. Простой генетический алгоритм был впервые описан Гольдбергом на основе работ Холланда. Описание алгоритма Задача кодируется таким образом, чтобы её решение могло быть представлено в виде вектора («хромосома»). Случайным образом создаётся некоторое количество начальных векторов («начальная популяция»). Они оцениваются с использованием «функции приспособленности», в результате чего каждому вектору присваивается определённое значение («приспособленность»), которое определяет вероятность выживания организма, представленного данным вектором. После этого с использованием полученных значений приспособленности выбираются вектора (селекция), допущенные к «скрещиванию». К этим векторам применяются «генетические операторы» (в большинстве случаев «скрещивание» – crossover и «мутация» – mutation), создавая таким образом следующее «поколение». Особи следующего поколения также оцениваются, затем производится селекция, применяются генетические операторы и т. д. Так моделируется «эволюционный процесс», продолжающийся несколько жизненных циклов (поколений), пока не будет выполнен критерий остановки алгоритма. Таким критерием может быть: нахождение глобального, либо субоптимального решения; исчерпание числа поколений, отпущенных на эволюцию; исчерпание времени, отпущенного на эволюцию. Создание начальной популяции Первым шагом нужно случайным образом создать некую начальную популяцию; даже если она окажется совершенно неконкурентоспособной, генетический алгоритм всё равно достаточно быстро переведёт её в жизнеспособную популяцию. Таким образом, на первом шаге можно особенно не стараться сделать слишком уж приспособленных особей, достаточно, чтобы они соответствовали формату особей популяции, и на них можно было подсчитать функцию приспособленности (Fitness). Итогом первого шага является популяция H, состоящая из N особей. Отбор На этапе отбора нужно из всей популяции выбрать определённую её долю, которая останется «в живых» на этом этапе эволюции. Есть разные способы проводить отбор. Вероятность выживания особи h должна зависеть от значения функции приспособленности Fitness (h). Сама доля выживших s обычно является параметром генетического алгоритма, и её просто задают заранее. По итогам отбора из N особей популяции H должны остаться sN особей, которые войдут в итоговую популяцию H'. Остальные особи погибают. Размножение Скрещивание – это операция, при которой из двух хромосом порождается одна или несколько новых хромосом. В простейшем случае скрещивание в генетическом алгоритме 2 реализуется так же, как и в биологии (рисунок 1). При этом хромосомы разрезаются в случайной точке и обмениваются частями между собой. Например, если хромосомы (1, 2, 3, 4, 5) и (0, 0, 0, 0, 0) разрезать между третьим и четвёртым генами и обменять их части, то получатся потомки (1, 2, 3, 0, 0) и (0, 0, 0, 4, 5). Рисунок 1 – Условная схема скрещивания Особи для размножения обычно выбираются из всей популяции H, а не из выживших на первом шаге элементов H' (хотя последний вариант тоже имеет право на существование), потому что главный бич многих генетических алгоритмов – недостаток разнообразия (diversity) в особях. Достаточно быстро выделяется один единственный генотип, который представляет собой локальный максимум, а затем все элементы популяции проигрывают ему отбор, и вся популяция «забивается» копиями этой особи. Есть разные способы борьбы с таким нежелательным эффектом; один из них – выбор для размножения не самых приспособленных, а вообще всех особей. Мутации Мутация – это преобразование хромосомы, случайно изменяющее одну или несколько её позиций (генов). Наиболее распространённый вид мутаций – случайное изменение только одного из генов хромосомы. Применительно к нашей задаче генетический алгоритм выглядит следующим образом. Хромосома представляется, как набор генов, соединённых в определённом порядке. Количество генов в хромосоме совпадает с количеством целей. Каждой цели соответствует БЛА, предназначенный для облёта данной цели. Этот механизм более подробно показан на рисунке 2. Рисунок 2 – Задача распределения множества целей среди группы БЛА Оператор мутации применяется, когда необходимо совершить замену гена в хромосоме на любой другой с определенной заранее вероятностью. Также одним из важных этапов реализации генетического алгоритма является определение критериев останова. В качестве параметра останова применяется определение сходимости алгоритма, путём сравнивания хромосом популяции на одинаковость, то есть, если параметр останова 100 % – это значит, что все хромосомы популяции стали одинаковыми, если же 10 % – то только 10 % хромосом одинаковые. 3 Задача определения последовательности облёта БЛА группы целей сводится к задаче коммивояжёра и решается методом ветвей и границ. Объём статьи не позволяет полностью привести разработанные алгоритмы. Дадим лишь некоторые очень краткие замечания и приведём окончательные результаты их работы для тестового примера по распределению 6 целей между 5 БЛА. Для решения задачи распределения множества целей между БЛА и задачи определения последовательности облёта БЛА группы целей разработана программа, в которой путём распределённых запусков генетического алгоритма подбираются параметры с целью оптимизации качества поиска. Подбираемыми параметрами являются размер популяции, параметр останова и параметр мутации особей. Для 5 БЛА и 6 целей поставим следующие значения параметров: размер популяции – 10, параметр останова – 1.00, параметр мутации – 0.01. Алгоритм при этом сходится за 14 шагов. Время поиска на ПК (процессор AMD Athlon™ 64 X2 Dual-Core Processor TK-57 1.90 GHz, RAM DDR2 2 Gb) составляет приблизительно 5 секунд. В приведённом примере получено распределение множества целей в группе БЛА, показанное на рисунке 3. Рисунок 3 – Результаты распределения множества целей в группе БЛА 4 Заключение Таким образом, итогом проведения работ, изложенных в настоящей статье, стала система, выполняющая следующие функции: распределение множества целей между БЛА; определение последовательности облёта группы целей, назначенной для каждого БЛА. Удобный пользовательский интерфейс с сопутствующими подсказками делает систему простой и понятной для работы. Результаты проведённого тестирования свидетельствуют об адекватности работы системы в целом. Библиографический список 1 Афанасьев П.П. – Беспилотные летательные аппараты. Основы устройства и функционирования/ П.П. Афанасьев, И.С. Голубев, В.Н. Новиков, С.Г. Парафесь, М. Д. Пестров, И.К. Туркин/ Под ред. И.С. Голубева и И.К. Туркина – изд. 2-е. – М. : Изд-во МАИ, 2009. 2 Беспилотные летательные аппараты. Состояние и тенденции развития - М.: Варяг 2004г., 175 стр. 5