Анализ методов и средств решения поставленной - XP

advertisement
Н.А. Максимов, К.И. Свирина, А.В. Шаронов
Московский авиационный институт (государственный технический институт)
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ РАСПРЕДЕЛЕНИЯ
МНОЖЕСТВА ЦЕЛЕЙ МЕЖДУ БЕСПИЛОТНЫМИ ЛЕТАТЕЛЬНЫМИ
АППАРАТАМИ НАБЛЮДЕНИЯ













В настоящее время актуально использование беспилотных летательных аппаратов для
решения задач наблюдения.
Беспилотный летательный аппарат – это разновидность летательного аппарата,
управление которым не осуществляется пилотом на борту.
Различают беспилотные летательные аппараты:
беспилотные неуправляемые;
беспилотные автоматические;
беспилотные дистанционно-пилотируемые летательные аппараты (ДПЛА).
Так же беспилотные летательные аппараты принято делить по таким взаимосвязанным
параметрам, как масса, время, дальность и высота полёта. Выделяют следующие классы
аппаратов:
«микро» (условное название) массой до 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
Download