Многокритериальный синтез позиционного управления на основе многопрограммной стабилизации

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 17.09.2013
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Содержание

  • Введение
  • 1. Многокритериальный синтез позиционного управления
  • 1.1 Метод многокритериального позиционного управления на основе генетического программирования (МПУ-ГП).
  • 1.2 Метод многокритериального программно-корректируемого управления (МПКУ)
  • 1.3 Применение генетического программирования, конечных автоматов и искусственных нейронных сетей для построения системы управления беспилотным летательным аппаратом
  • 1.4 Метод многокритериального позиционного управления на основе многопрограммной стабилизации с введением дополнительных обратных связей на бесконечном интервале времени
  • 2. Применение подхода для решения задачи обеспечения максимальной скорости за минимальное время на конечном участке пути
  • 3. Обобщение задачи многопрограммной стабилизации линейной системы на конечном интервале времени
  • Заключение
  • Список литературы

Введение

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

Можно выделить три типовых подхода [11], в которых сгруппирован ряд известных методов. Это, так называемые, прямые интерактивные методы, например, на основе конусов доминирования [11] и генетического программирования [12]; методы скаляризации, такие как, свертка показателей, пороговая и лексикографическая оптимизация [11]; методы на основе компромиссов, например, на основе "идеальной" точки, точки Шепли и арбитражной схемы Нэша [11]. Методы реализуются на основе известных технологий оптимального управления таких, как принцип максимума, динамическое программирование, численные методы нелинейного программирования, в частности, в форме генетических алгоритмов при приближенной аппроксимации управления вектором распределенных по времени параметров.

В последнее десятилетие развивается ряд направлений приближенного многокритериального синтеза позиционных управлений. Среди них, метод синтеза программно-корректируемого управления (ПКУ) [11] [14] [15] [16], метод синтеза на основе комбинации генетического алгоритма и "сетевого оператора" [17], а также генетического алгоритма и структур порождаемых теорией автоматов, например [18], для задач со скаляризованными векторными показателями.

Как известно, например [11], первый метод заключается в последовательном пересчете оптимального программного управления на программных тактах времени [tj-1, tk], j = 1, 2, 3…, где tj-1 и tk - соответственно начальное для j-того программного такта и общее для тактов конечное значение времени, с применением полученного оптимального программного управления на отрезке [tj-1, tj], потактовом измерении значения вектора состояния x (tj), следующем пересчете оптимальной программы на [tj, tk], применением ее на отрезке [tj, t j+1] и так далее. Сходимость к предельному точному синтезу позиционного управления очевидна с уменьшением длин отрезков [tj-1, tj] и с соответствующим учащением потактовых измерений состояния.

Комбинированный метод многокритериального синтеза позиционного управления [17] формирует аналитический вид управления, как набор параметров и известных функций состояния из состава "сетевого оператора" конечной сети этих функций и операций над ними. Данный метод теоретически обоснован, применим в широком классе нелинейных систем и успешно апробирован в ряде прикладных задач, но обладает некоторыми недостатками. Сходимость метода на конечном числе функций состояния заданных в сетевом операторе проблемна, хотя проблема частично компенсируется за счет сходимости по параметрической компоненте управления. Кроме того, аналитическая структура управления является "негрубой" и чувствительна к незначительным изменениям начальных условий по времени и состоянию.

многопрограммная стабилизация позиционное управление

1. Многокритериальный синтез позиционного управления

1.1 Метод многокритериального позиционного управления на основе генетического программирования (МПУ-ГП).

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

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

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

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

Рассмотрим в качестве примера математическое выражение

y1=e - q1x1sin (q2x2+q3) (1)

В выражении q1, q2, q3 - параметры, а x1, x2 - переменные. Для символьной записи элементов математического выражения используем подстроки, состоящие из префиксного символа и номера. Для обозначения параметра используем подстроку вида qn, где символ q указывает на то, что подстрока описывает параметр, n - номер параметра.

Для описания переменной используем подстроку xm, где префикс x указывает на описание переменной, m - номер переменной.

В математическом выражении выделим унарные и бинарные операции, соответственно с одним и двумя аргументами. Для описания унарной операции используем подстроку вида uj, где префикс u указывает на унарную операцию, числовой символ j - номер унарной операции. Для описания бинарной операции используем подстроку bi, где b - префикс бинарной операции, I - номер бинарной операции.

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

y1 = b1u1u2b1q1x1u3b2b1q2x2q3, (2)

где b1 - операция умножения, b2 - операция сложения, u1 - унарная операция вычисления экспоненты, u2 - унарная операция обращения знака или унарный минус, u3 - операция вычисления синуса.

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

Символьная запись математического выражения имеет древовидную структуру, которая представлена на рис.1.

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

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

Например, имеем еще математическое выражение

y2 = (q1x1+x2) +sin (x1+q2) (3)

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

y2=b2b1b2b1q1x1x2b2b1q1x1x2u3b2x1q2. (4)

Дерево решений для данного математического выражения представлено на рис.2.

Пусть в каждом из математических выражений выбраны подстроки, указывающие на бинарные операции. На рис.1 и 2 выбранные вершины заштрихованы. После обмена поддеревьев, исходящих от выбранных вершин, получаем деревья вычислений, представленные на рис.3 и 4.

в результате выполнения операции скрещивания получаем следующие математические выражения:

y3 = e-q1x1sin (q1x1+x2), (5)

y4 = (q2x2+q3) (q1x1+x2) +sin (x1+q2). (6)

Строки символов полученных выражений имеют вид

y3=b1u1u2b1q1x1u3b2b1q1x1x2, (7)

y4=b2b1b2b1q2x2q3b2b1q1x1x2u3b2x1q2. (8)

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

При выполнении операции мутации в генетическом программировании меняют унарные или бинарные операции или параметры и переменные.

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

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

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

· при выполнении операции скрещивания необходимо находить обмениваемые подстроки, соответствующие поддеревьям вычислений;

· число вхождений параметров и переменных в математическое выражение соответствует числу символов для их описания;

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

· нарушается преемственность описания математических выражений, так как результат скрещивания двух математических выражений зависит от обмениваемых подстрок;

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

1.2 Метод многокритериального программно-корректируемого управления (МПКУ)

Программно-корректируемый закон управления реализуется в виде многотактового алгоритма. Длительность такта определяется необходимой точностью наведения с учетом полосы пропускания системы стабилизации ЛА. НА каждом такте осуществляется коррекция программного закона управления преследователя, полученного на предыдущем такте. Алгоритм синтеза ПКЗУ на отдельно взятом такте состоит из 5-ти этапов (рис.1).

На первом этапе осуществляется ввод исходных данных с бортовых измерительных устройств о текущей позиции и параметрах относительного движения цели, а также о параметрах движения преследователя.

На втором этапе полученные данные подвергаются предварительной обработке, в результате чего рассчитываются параметры математических моделей ЛА.

Третий и четвертый этапы реализуют алгоритм нелинейного позиционного преследования. НА третьем этапе формируется ансамбль траекторий Е путем задания множества значений параметров

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

На пятом этапе в соответствии с полученным законом управления вычисляются для текущего момента времени t оптимальные значения вектора управления Р [n0P, г0cP]. Далее, для учета силы тяжести ЛА они корректируются и формируются и выдаются команды для системы стабилизации.

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

ПКЗУ может быть адаптирован к реальным условиям воздушного боя, когда в конфликте находятся не один, а несколько ЛА. Полученные структуры закона управления будут использованы при рассмотрении бескоалиционного конфликта и уходе от строгого антагонизма между Р и Е, с учетом дополнительных критериев управления.

Формирование программно-корректируемого закона управления в задачах уклонения осуществляется таким же образом, как и в задаче преследования. Разница состоит в отличии входных и выходных данных. Данные для Р заменяются на данные Е, и наоборот. Кроме этого, вместо закона управления преследователем формируется закон управления целью.

1.3 Применение генетического программирования, конечных автоматов и искусственных нейронных сетей для построения системы управления беспилотным летательным аппаратом

В последнее время все чаще применяется автоматное программирование [21], в рамках которого поведение программ описывается с помощью конечных детерминированных автоматов.

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

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

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

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

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

Проводится соревнование между двумя командами беспилотных летательных аппаратов. Цель соревнования состоит в том, чтобы один из летательных аппаратов команды переместился на максимальное расстояние от линии старта. Состязание проходит на трассе, представляющей собой бесконечную в одну сторону полосу шириной 40 метров.

Каждая команда состоит из N летательных аппаратов.

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

Для каждого аппарата задана начальная скорость и начальное направление движения.

Каждый летательный аппарат имеет определенный запас топлива, расходуемого в процессе движения. По команде "Старт" все аппараты начинают движение с целью максимально удалиться от линии старта. В процессе полета они могут изменять скорость движения за счет изменения расхода топлива.

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

Жизненный цикл беспилотного летательного аппарата в рассматриваемой задаче может быть описан графом перехода автомата с тремя состояниями: "Полет". "Нормальное завершение гонки", "Аварийное завершение гонки".

Таблица 1. Используемые обозначения

Обозначение

Описание

v1

Летательный аппарат покинул пределы трассы (его центр пересек границу трассы)

v2

Скорость летательного аппарата стала меньше, чем один м/с

v3

Летательный аппарат столкнулся с другим летательным аппаратом

v_rel

Относительная скорость столкновения летательных аппаратов

fuel

Количество топлива, которое осталось у летательного аппарата

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

Динамика беспилотного летательного аппарата

Беспилотный летательный аппарат представляет собой дискообразное "летающее крыло" радиусом один метр. На рис.3 представлен вид сверху описываемого летательного аппарата.

Беспилотный летательный аппарат имеет реактивный двигатель (горизонтальный прямоугольник на рис.3), топливный бак (вертикальный прямоугольник), аэродинамические рули и бортовой компьютер, который регулирует расход топлива и положение аэродинамических рулей. Летательный аппарат может передвигаться со скоростями от 1 м, с. Его максимальная скорость зависит от запаса топлива и сопротивления воздуха.

Беспилотный летательный аппарат движется в соответствии со вторым законом Ньютона. Его движение определяется двумя силами: сопротивлением воздуха F и тягой двигателя T. Если тяга не равна сопротивлению воздуха, то летательный аппарат движется с ускорением, которое может быть положительным (если тяга больше сопротивления воздуха) или отрицательным (если сопротивление воздуха больше тяги).

Ускорение определяется по формуле:

(1)

где m - масса беспилотного летательного аппарата. При этом считается, что изменение его массы за счет выгорания горючего пренебрежимо мало.

Сопротивление воздуха определяется по формуле (2):

F=c1+c2v2 (2)

где v - скорость беспилотного летательного аппарата, а коэффициенты c1 и c2 определяются его аэродинамическими характеристиками и одинаковы для всех аппаратов обеих команд.

Тяга двигателя определяется по формуле (3):

T=c4q, (3)

где q - расход топлива в сантиметрах кубических в секунду. Расход топлива находится под контролем бортового компьютера летательного аппарата, что позволяет изменять расход от 0 до 1. Константа c4 определяется характеристиками двигателя беспилотного летательного аппарата и одинакова для всех аппаратов обеих команд.

Аэродинамические рули позволяют летательному аппарату поворачивать относительно его текущего направления движения на угол, не больше 25 градусов.

Аэродинамическое взаимодействие между летательными аппаратами

При полете беспилотного летательного аппарата от траектории его полета в направлениях назад и в стороны под углом около 30° распространяются конические вихревые потоки воздуха. Если другой аппарат попадает в этот вихрь, то сопротивление воздуха его полету резко снизится (рис.4).

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

Если центр второго летательного аппарата находится в областях, отмеченных на 0 знаком "+", сопротивление воздуха его движению падает на 50%.

Если же центр второго летательного аппарата находится в области, помеченной знаком "-", сопротивление воздуха возрастает на 50%.

Аэродинамические воздействия от нескольких летательных аппаратов складываются, так что в зоне "++" на рис.5 сопротивление воздуха отсутствует, а в зонах "0" воздействия компенсируют друг друга.

Столкновение беспилотных летательных аппаратов

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

Под относительной скоростью столкновения понимается величина проекции векторной разности скоростей летательных аппаратов на прямую, проходящую через центры аппаратов в момент столкновения (рис.6). На рисунке вектор vrel соответствует относительной скорости.

Моделирование гонки

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

Каждые t миллисекунд обновляются параметры. Во-первых, с соревнования снимаются летательные аппараты, движущиеся со скоростью, меньшей 1 м/с.

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

В-третьих, производится расчет новых скоростей летательных аппаратов по формуле (4):

где vtemp - вектор скорости летательного аппарата после учета ускорения, vold - вектор старой скорости летательного аппарата, a - вектор ускорения. После этого происходит поворот вектора скорости на угол равный углу поворота аэродинамических рулей (рис.7). В результате поворота получается вектор новой скорости беспилотного летательного аппарата vnew.

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

В-шестых, производится проверка того, что все беспилотные летательные аппараты находятся в пределах трассы. При выходе центра аппарата за пределы трассы, он выбывает из гонки.

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

Структура системы управления беспилотным летательным аппаратом

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

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

Структура нейронной сети и способ ее взаимодействия с конечным автоматом показаны на рис.9.

Символами S на рис.9 обозначены нейроны с сигмоидальной функцией активации, символами L - нейроны с пороговой функцией активации. На каждый из трех выходов нейронной сети поступает число равное 0 или 1. Таким образом, существует восемь вариантов комбинаций выходных сигналов нейронной сети (000, 001, 010, 011, 100, 101, 110, 111), подаваемых на вход конечного автомата.

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

Алгоритм генетического программирования состоит из пяти частей:

· создание начального поколения;

· мутация;

· скрещивание (кроссовер);

· отбор особей для формирования следующего поколения;

· вычисление функции приспособленности (фитнес-функции).

Структура особи в используемом алгоритме

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

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

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

Создание начального поколения

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

Операции мутации

Мутация особи. При мутации особи с равной вероятностью мутирует либо одна система управления летательным аппаратом, либо вторая.

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

Мутация нейронной сети.

При мутации нейронной сети мутирует случайно и равновероятно выбирается один элемент сети и мутирует.

Мутация элемента сети.

При мутации элемента сети случайно выбирается один из весов связей, и к нему прибавляется случайное число из отрезка [-0.05; 0.05]. Мутация нейронной сети показана на рис.11.

Мутация конечного автомата.

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

Изменение начального состояния.

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

Операции скрещивания

Оператор скрещивания получает на вход две особи (P1, P2) и выдает две особи (S1,S2). Пусть X - некоторая особь. Пусть X. s1 и X. s2 - системы управления беспилотными летательными аппаратами, входящие в эту особь. Пусть s - некоторая система управления аппаратом. Обозначим как s. ns входящую в нее нейронную сеть, а как s. a - входящий в нее автомат.

Скрещивание особей. При скрещивании особей происходит скрещивание систем управления летательными аппаратами: P1. s1 и P2. s1, P1. s2 и P2. s2. Обозначим системы, получившиеся в результате первого скрещивания, s11 и s12, а в результате второго - s21 и s22. Тогда для особей-потомков будет справедливо: S1. s1=s11, S1. s2=s21, S2. s1=s21, S2. s2=s22.

Скрещивание систем управления беспилотными летательными аппаратами. При скрещивании систем управления беспилотными летательными аппаратом s1 и аппаратом s2 происходит скрещивание автоматов s1. a и s2. a и скрещивание нейронных сетей s1. ns и s2. ns. Получившиеся в результате скрещиваний автоматы обозначим a1 и a2, а нейронные сети ns1 и ns2. В результате скрещивания системы управления летательными аппаратами получаются системы управления s3 и s4: s3 содержит a1 и ns1, s4 - a2 и ns2.

Скрещивание автоматов. Обозначим автоматы, поступающие на вход оператора скрещивания автоматов, A1 и A2. Начальное состояние некоторого автомата А обозначим A. is, а переход из состояния I по значению входной переменной j как A (i, j). Обозначим автоматы, получающиеся в результате скрещивания A3 и A4. Для их начальных состояний справедливо:

либо A3. is = A1. is и A4. is = A2. is;

либо A3. is = A2. is и A4. is = A1. is.

Скрещивание производится отдельно для каждого состояния i и для каждого значения j входной переменной. В каждом случае возможно два равновероятных варианта:

A3 (i, j) = A1 (i, j) и A4 (i, j) = A2 (i, j);

A3 (i, j) = A2 (i, j) и A4 (i, j) = A1 (i, j).

Проиллюстрируем скрещивание автоматов на примере случая одной входной переменной. Обозначим переход из состояния номер i в автомате A1 по значению входной переменной "1" как A1 (i, 1), а по значению "0" как A1 (i,0). Аналогичный смысл придадим обозначениям A2 (i,0) и A2 (i, 1). Тогда для переходов из состояния с номером i в автоматах-потомках A3 и A4 будет справедливо одно из четырех соотношений:

либо A3 (i, 0) = A1 (i, 0), A4 (i, 1) = A2 (i, 1) и A4 (i, 0) = A2 (i, 0), A4 (i, 1) = A1 (i, 1);

либо A3 (i, 0) = A2 (i, 0), A4 (i, 1) = A1 (i, 1) и A4 (i, 0) = A1 (i, 0), A4 (i, 1) = A2 (i, 1);

либо A3 (i, 0) = A1 (i, 0), A4 (i, 1) = A1 (i, 1) и A4 (i, 0) = A2 (i, 0), A4 (i, 1) = A2 (i, 1);

либо A3 (i, 0) = A2 (i, 0), A4 (i, 1) = A2 (i, 1) и A4 (i, 0) = A1 (i, 0), A4 (i, 1) = A1 (i, 1).

Скрещивание нейронных сетей. Обозначим нейронные сети, поступающие на вход оператора скрещивания нейронных сетей, NS1 И NS2, а получающиеся в результате его применения - NS3 и NS4. Опишем их устройство. Обозначим NS (i) нейрон с номером i сети NS (рис.9).

Скрещивание нейронных сетей показано на рис.13.

Формирование следующего поколения

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

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

Функции приспособленности

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

Проводилось по пять соревнований с каждой из стратегий при следующих параметрах летательных аппаратов:

с1 = 0.625;

с2 = 0.025;

с4 = 3.125;

Дt = 0.3;

L = 7.

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

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

Системы управления беспилотным летательным аппаратом строилась с помощью описанного алгоритма генетического программирования.

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

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

Функция переходов и действий автомата, входящего в систему управления первым беспилотным летательным аппаратом, приведена в таблице 2. Строки этой таблицы соответствуют состояниям автомата (пронумерованы числами от 0 до 5), столбцы - возможным комбинациям значений трех входных переменных. Серым цветом отмечена строка с начальными состояниями.

В таблице 4 приведены веса нейронной сети, входящей в построенную систему управления первым беспилотным летательным аппаратом.

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

В таблице 6 приведены веса связей нейронной сети, входящей в построенную систему управления вторым беспилотным летательным аппаратом.

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

Выводы:

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

1.4 Метод многокритериального позиционного управления на основе многопрограммной стабилизации с введением дополнительных обратных связей на бесконечном интервале времени

Рассмотрим метод многокритериального синтеза позиционного управления на основе достижений в области многопрограммной позиционной стабилизации в классе линейных и нелинейных систем с обобщением методов получения стабилизирующих позиционных управлений [1] [2] [3] [4] [5]. Метод не содержит проблемы сходимости, формирует универсальное аналитическое решение u (x, t), единообразное по структуре на множестве начальных условий.

Метод базируется на способах практического расширения класса "притягивающих" многообразий - аттракторов [6] в форме асимптотически устойчивого множества траекторий xk (t), порожденных многокритериально оптимальными программными управлениями uk (t) , к которым "тяготеет" траектория системы под воздействием синтезированного управления u (x, t) при любых начальных условиях из заданного множества, причем по свойствам многопрограммного управления [4]: u (xk, t) = uk (t).

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

(1)

где x = (x, …, xn) T - n - мерный вектор состояния системы, u = (u1, …, ur) T - r - мерный вектор управления, вектор-функция f (t, x, u) є C (R1xRnxRr) за исключением, в некоторых случаях, конечного множества точек меры ноль.

Пусть для системы (1) заранее решены некоторые специальные задачи программного управления, то есть построены N программных движений x1 (t),…, xN (t) на множестве начальных условий, которые обеспечиваются

программными управлениями u1 (t), …, uN (t). Управления принадлежат к классу ограниченных функций при t?t0. Число программных управлений не связано с размерностью системы (1), а с размерностью вектора управлений.

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

(2)

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

На рис.1 т.1 (1') - идеальные точки, а точка 2 (2') - искомое решение (точки компромисса) по вектору показателей на области Парето, которому при заданных начальных условиях xk (t0), соответствует оптимальное программное управление uk,opt при решении задачи на основе функции Салуквадзе [9].

min [ (J1-J1*) 2 + (J2-J2*) 2] > u = uk,opt (3)

Окончательно получаем множество заданных uk,opt (t), и соответствующих траекторий xk (t), .

В настоящее время в теории многопрограммного позиционного управления (МПУ) в работах В.Н. Зубова и Н.В. Смирнова решена задача многопрограммной стабилизации для линейных стационарных и нестационарных систем, а также для некоторых нелинейных систем:

а) билинейной системы

(4)

где A (t) и Bi (t) матрицы [nxn], [nx1]

б) системы типа Лотки-Вольтерры

(5)

где P = diag (P1, … Pk), Q (x) = diag (q1x, …, qnx), q1, …, qn - строки матрицы Q0 = {qij, i=1,n, j=1,n}

Универсальная форма многопрограммного управления в виде интерполяционного полинома Лагранжа-Сильвестра [1] [2] [3] имеет вид

при этом u (xk, t) = uk (t)

Стабилизирующие свойства (6) обеспечиваются введением дополнительной обратной связи u0=Ck (t) (x (t) - xk (t)) по каждой заданной траектории xk (t), что обеспечивает асимптотические свойства каждой заданной траектории, причем асимптотическая устойчивость реализуется на бесконечном интервале 0 ? t < ?.

В работе [1] показано, что в классе линейных стационарных систем u0=C (t) (x (t) - xk (t)) для всех xk (t) . В нелинейных системах (4) (5) структура (6) применяется для линеаризованных вариантов их описания. В работах Н.В.

Смирнова и И.В. Соловьевой [4] [5] результат (6) обобщен в форме многопрограммного позиционного управления (МПУ) на конечном интервале [t0, tk]

(7)

где , (8)

оператор системы в отклонениях относительно одной из заданных траекторий xk (t);

- v (yk (t)) - стабилизирующая компонента МПУ, обеспечивающая устойчивость нулевого решения (8) (управление стабилизирующее траекторию МПУ x (t) относительно xk (t) или, другими словами, обеспечивающее асимптотические свойства заданной траектории xk (t));

, um (xk,t) = uk (t) (9)

многопрограммное управление без свойств стабилизации [4]

Очевидно, что получение v (yk (t)) для каждого k=1,N формирует векторную асимптотику xk (t), k=1,N на [t0, tk], как "притягивающего" многообразия для траектории x (t) соответствующей МПУ (7).

В работе [4] для получения стабилизирующей части (7) используется метод позиционной оптимизации Габасова Р.Ф. [14], разработанный для линейных нестационарных управляемых систем, поэтому процедура использования метода для решения задачи стабилизации нулевого решения (8) на t0 ? t ? tk требует линейной аппроксимации нелинейной правой части (8).

Краткий анализ применения синергетического метода АКАР для линейной нестационарной системы дан в третьей части дипломной работы. В методе АКАР вводится и используются устойчивые макропеременные.

, (10)

Для получения v (yk (t)) обеспечивающих устойчивость нулевого решения (8) на основе экспоненциальной сходимости шi (t) к нулю. Данный подход дополняет методику получения стабилизирующего управления v в (7).

Таким образом, рассмотрено три подхода получения многокритериального синтеза позиционного управления на основе многопрограммной стабилизации с последовательным обобщением метода, обеспечения асимптотических свойств множества траекторий xk (t) , программно-оптимальных по вектору показателей. Это подход Зубова-Смирнова на основе многопрограммного управления (6), подход Смирнова-Соловьевой на основе многопрограммного позиционного управления (7) и подход на основе синергетических алгоритмов АКАР по Колесникову.

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

Для иллюстрации метода многокритериального синтеза позиционного управления на основе многопрограммной стабилизации рассматривается простейший пример стационарной линейной системы с применением многопрограммного управления (6).

Пусть движение объекта во времени t описывается системой уравнений

(11)

|u| ? 1, t0 = 0, tk = T, T - не фиксировано.

Матричная форма записи (11) имеет вид

(12)

Требуется перевести объект из начального положения

x' (0) = 1, x'' (0) = 0 (13)

в конечное состояние (на ось ординат x'')

x' (T) = 0 (14)

Вектор критериев имеет вид J = (J1, J2)

J1 (x, u) = 0?T dt = T > min u (15)

J2 (x, u) = x'' (T) > max u (16)

Физически (15) (16) трактуются как простейшая задача обеспечения максимальной скорости за минимальное время (задача "разгона" объекта).

При получении "идеальной" точки на первом этапе данного метода "компромиссов" раздельным решением задач (15) (16) (рис.1), решение задачи (16) дает вырожденный результат max u J = ?, поэтому вносится фазовое ограничение

| x' (t) | ? 3 (17)

как условие получения результата на участке "разгона" ограниченной длины.

Для решения задач (15) (16) используется принцип максимума Понтрягина [13]. В результате решения, получены значения показателей в "идеальной" точке (рис.1, подобная т.1').

J1* = min u [J1 (x,u)] =1,414 J2* = min u [-J2 (x,u)] = max u J2 (x, u) = 2,449 (18)

На втором этапе метода многокритериальной оптимизации с использованием компромисса на основе "идеальной" точки, оптимальной функции Салуквадзе (3) определяется точка Парето-области многокритериальных решений, которая находится на минимальном расстоянии от "идеальной" точки (рис.1, т.2'). Задача по критерию (3) с использованием (18) также решается на основе принципа максимума Понтрягина. В результате получаем:

J10 = 2,678, J20 = 0,54, tn = 1,069 (19)

где

tn - точка переключения управления.

В соответствии с постановкой задачи многопрограммного управления без ограничения ее общности будем считать, что N = 2. Поэтому повторяем решение задачи с измененными начальными условиями (13).

x' (0) = 1,5 x'' (0) = 0 (20)

В результате получаем

J10 = 2,858, J20 = 0,358, tn = 1,25 (21)

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

uk0 > xk = (x'k, x''k) = (xk1, xk2) k=1,N, N = 2 (22) при чем

k=1, x11 (0) = 1, x12 (0) = 0; k=2, x21 (0) = 1,5, x22 (0) = 0 (23)

Управления u01 и u02 имеют вид:

(24)

Аналитический вид траекторий х1 и х2

(25)

(26)

Для получения u (x, t) в форме (6) вводится дополнительная обратная связь

uдоп = C (x - xk) = C (Дx) (27)

которая обеспечивает устойчивость (асимптотику) для всех k=1,N (Дx (t) >0). В соответствии с (11) (12) имеем

(28) Где

(29)

Для устойчивости системы (28) необходимо найти [21] коэффициенты бi уравнения

Откуда следует условие для выбора б1 и б2

б2 < 0, б1 < 0, бi = - qi, qi > 0, i=1,2 (30)

Первый участок u (x,t) на 0 ? t ? 1,069 имеет вид выражения

(31)

Второй участок u (x,t) на 1,069 ? t ? 1,25 принимает вид

(32)

Третий участок u (x,t) на 1,25 ? t имеет вид

33)

Выражения x11±, x12±; x21±, x22± в аналитической форме даны формулами (25) (26). Данные выражения могут быть получены и использованы в численном виде. Выражение для u (x,t) является нелинейными функциями

от х' и x". Величины параметров q1 > 0 и q2 > 0 уточняются в процессе моделирования. Универсальная структура u (x, t) не изменяется и не критична к области начальных условий, например:

1 ? x' (0) ? 1,5; x" (0) = 0 (34)

при терминальном условии x' (T) = 0 в ограничении |x' (T) | ? 3

В результате, решена задача многокритериального синтеза на основе многопрограммного притягивающего вектора (x1 (t), x2 (t)) оптимальных траекторий, полученных на основе идеальной точки на множестве начальных условий.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.