скачать На правах рукописи Софронова Елена Анатольевна Метод сетевого оператора для решения задачи многокритериального структурно-параметрического синтеза системы управления Специальность 05.13.01 - Системный анализ, управление и обработка информации (промышленность) Автореферат диссертации на соискание ученой степени кандидата технических наук Москва 2008 Работа выполнена в Российском университете дружбы народов Научный руководитель: доктор технических наук, профессор Дивеев А.И. ^ доктор технических наук, профессор Афанасьев В.Н. доктор технических наук, профессор Шабалин А.Н. Ведущая организация: Московский государственный технический университет им. Н.Э. Баумана (МГТУ им. Н.Э. Баумана) Защита диссертации состоится 28 февраля 2008 года в 16 часов 00 мин. на заседании диссертационного совета Д 002.017.03 в ВЦ им. А.А. Дородницына РАН по адресу: 119333, г. Москва, ул. Вавилова, 40. С диссертацией можно ознакомиться в библиотеке Вычислительного центра им. А.А. Дородницына РАН. Автореферат разослан « ____ » ___________ 2008г. ^ докторских и кандидатских диссертаций,кандидат физико-математических наук Мухин А.В.^ Актуальность темы. Работа посвящена решению важной задачи синтеза системы автоматического управления. Данная задача на протяжении многих лет является одной из ключевых проблем теории управления. Задача заключается в следующем. Задан объект управления, математическая модель которого описывается системой обыкновенных дифференциальных уравнений. Заданы критерии качества, представленные в виде интегральных функционалов и терминальных условий. Необходимо найти управление в виде функции координат пространства состояний, обеспечивающее оптимальное с точки зрения критериев качества функционирование объектов управления с учетом ограничений на управление и начального состояния объекта. В общем случае для нелинейного объекта управления и произвольных критериев качества задача синтеза в настоящий момент не решена. Основной причиной отсутствия решения задачи управления является сложность, а точнее практически невозможность получения аналитического решения задачи оптимального управления в общей постановке. В тех случаях, когда аналитическое решение задачи оптимального управления получено, синтез управления может быть построен на основе анализа найденного аналитического решения краевой задачи для системы дифференциальных уравнений. Предпосылкой для создания эффективного метода решения являются последние достижения, полученные в области алгоритмизации, и эффективные современные средства вычислительной техники. В работе синтез системы управления основывается на методе генетического программирования. С помощью генетического программирования осуществляется поиск функциональной зависимости управления от координат пространства состояний. Предметом диссертационного исследования является задача синтеза системы оптимального управления. Целью диссертационной работы является разработка метода синтеза системы автоматического управления, т.е. получение оптимального управления в виде функциональной зависимости от координат пространства состояний. Для достижения поставленной цели необходимо решить следующие задачи: - разработать и исследовать эффективный метод представления функциональных зависимостей в ЭВМ; - разработать и исследовать эффективный генетический алгоритм для поиска функциональных зависимостей при решении задачи синтеза оптимального управления; - разработать и исследовать метод сетевого оператора для прикладной задачи синтеза системы управления стабилизацией спутника. ^ , используемые в диссертации, основываются на результатах, полученных в областях теории управления, системного анализа, методах оптимального управления, теории графов, теории алгоритмов. ^ , полученных в диссертации, заключается в том, что разработан новый метод многокритериального структурно-параметрического синтеза системы управления. Разработанный метод использует новую структуру данных, сетевой оператор. Структура позволяет описывать произвольные математические выражения и представлять их в ЭВМ с помощью целочисленной матрицы, что повышает эффективность алгоритма синтеза. ^ работы заключается в том, что разработанный метод синтеза предназначен для построения систем управления реальными динамическими объектами. В диссертации приведен пример синтеза системы стабилизации углового движения космического аппарата. На основании разработанных алгоритмов создан программный комплекс для синтеза систем управления. ^ осуществляется в учебном процессе на кафедре Кибернетики и мехатроники Российского университета дружбы народов. Издано учебно-методическое пособие. Работа выполнялась по теме гранта РФФИ №06-08-01485-а «Исследование методов синтеза систем автоматического управления». ^ , полеченных в диссертации, подтверждается докладами на следующих научных конференциях и международных симпозиумах: «Интеллектуальные системы» (INTELS'2006) (г. Краснодар), III международной конференции по проблемам управления (г. Москва, 2006), «Надежность и качество 2007» (г. Пенза), «Космонавтика. Радиоэлектроника. Геоинформатика 2007» (г. Рязань), XV Международной конференции по механике и современным программным системам (ВМСППС’2007) (г. Алушта). ^ 1. Метод многокритериального структурно-параметрического синтеза системы управления на основе принципа базисного решения и генетического алгоритма. Алгоритм позволяет одновременно искать решения для структурного и параметрического синтеза. 2. Новая структура данных, сетевой оператор, которая предназначена для представления формулы в ЭВМ. Метод преобразования формулы в сетевой оператор. Представление сетевого оператора в виде целочисленной верхней треугольной матрицы. Алгоритм вычисления формулы по матрице сетевого оператора. 3. Решение задачи многокритериального структурно-параметрического синтеза системы стабилизации углового движения космического аппарата на основе разработанного метода. ^ в 11 научных трудах. Структура диссертации. Диссертация состоит из введения, четырех разделов, заключения, списка литературы и приложений. Объем работы – 145 страниц, включая 78 рисунков и 4 таблицы. Список литературы содержит 51 наименование. ^ Во введении обоснована актуальность темы, сформулированы предмет, цель и задачи исследования, методы исследования, новизна научных результатов и практическая значимость полученных результатов, основные положения, выносимые на защиту, приведены данные о структуре и объеме диссертации. В первом разделе приведена постановка задачи. Объект управления описывается системой обыкновенных дифференциальных уравнений ![]() где ![]() ![]() ![]() ![]() ![]() ![]() Заданы функционалы, определяющие критерии качества управления ![]() ![]() где ![]() Задано начальное состояние объекта управления ![]() Необходимо синтезировать систему управления в виде ![]() где ![]() ![]() ![]() Данная задача требует построения структуры системы управления (1.4) и выбора оптимальных значений параметров для обеспечения минимумов функционалов (1.2). Обеспечение минимумов функционалов понимаем в смысле построения множества Парето оптимальных решений. Результатом синтеза будет система управления, выбранная из множества систем управлений (1.4), каждая из которых при оптимальных значениях параметров ![]() Результатом решения задачи является вектор-функция ![]() ![]() Наиболее известным и исследованным случаем решения задачи синтеза оптимального управления является задача, решенная для линейных систем с квадратичным функционалом. Метод называется аналитическим конструированием регулятора и основан на решении уравнения Риккати. Все методы решений задачи синтеза оптимального управления можно разделить на два класса. К первому классу отнесем методы, основанные на использовании объектов и функционалов определенного вида. Решение удавалось получить за счет специальных свойств объектов и функционалов. Например, линейные объекты и критерий быстродействия (Л.С. Понтрягин), нелинейный объект второго порядка и также критерий быстродействия (В.Г. Болтянский), линейный объект и квадратичный критерий (Р. Беллман, П. Деруссо, Р. Рой). Известны результаты, которые были получены в работах по построению нелинейной обратной связи в виде многомерных полиномов (А.М. Летов, К. Мерриэм, А.А. Красовский, Н.Н. Красовский, Э.Б. Ли, Л. Маркус, К. Лобри, Р.У. Брокетт). Ко второму классу методов следует отнести методы двухэтапного синтеза: на первом этапе осуществляется поиск оптимальной траектории как функции времени, на втором этапе – строится система, обеспечивающая стабилизацию объекта в окрестности полученной оптимальной траектории. При построении систем стабилизации математические модели объекта линеаризуются в окрестности оптимальной траектории, поэтому используются стандартные методы синтеза регуляторов для линейных систем. В последнее время наиболее значимые результаты в решении поставленной задачи были получены на основе синергетического подхода (А.А. Колесников, Г.В. Кондратьев). Синергетический подход заключается в использовании принципов направленной самоорганизации и декомпозиции нелинейных динамических систем. Для разработки эффективного вычислительного метода решения задачи многокритериального структурно-параметрического синтеза системы управления необходимо использовать последние достижения в области новых вычислительных алгоритмов. Наиболее важным результатом в области алгоритмизации является создание метода генетического программирования (Koza J.R.), которое позволяет получить с помощью вычислительной машины аналитические решения различных математических задач. Генетическое программирование является развитием метода генетического алгоритма (Davis Lawrence, Goldberg D.E., Holland J.H.) для автоматического написания программ. Автоматическое написание программ подразумевает создание такой программы, которая могла бы создавать другие программы без детального описания алгоритма, используя только набор требований и условий. В генетическом программировании для универсального описания программы и ее кодировки используется польская запись [1]. Польская запись представляет собой строку символов, описывающих операторы и операнды. При скрещивании в генетическом программировании из двух родительских записей формируем две новые записи. Если оба символа в позициях, соответствующих случайным числам, в родительских записях являются операндами или операциями, то данные символы могут являться точками скрещивания. В генетическом программировании существует ряд контрольных параметров. Основными численными параметрами являются размер популяции и максимальное число поколений, второстепенными - вероятности скрещивания, воспроизводства, мутации и т.д. Множество польских записей может описывать множество функциональных зависимостей. Так как генетическое программирование обеспечивает поиск решения на множестве функциональных зависимостей, то остановим свой выбор на нем в качестве базового подхода для решения поставленной задачи. В то же время следует отметить, что генетическое программирование обладает существенными недостатками:
Для разработки метода решения поставленной задачи необходимо:
Во втором разделе описан метод сетевого оператора, который предназначен для записи формулы в наиболее удобном виде для вычисления на компьютере. Для определения порядка вычислений используем граф, который является аналогом сетевого графика. Структуру графа в машинной реализации представляем в виде матрицы смежности. Введем в рассмотрение несколько конечных упорядоченных множеств, из элементов которых состоит формула. Множество переменных – это упорядоченное множество символов, вместо которых в процессе вычисления могут подставляться числа из множества вещественных чисел ℝ1, ![]() ![]() ![]() Множество параметров – это упорядоченное множество чисел, не меняющихся в процессе вычислений, ![]() ![]() ![]() Множество унарных операций - это упорядоченное множество функций или однозначных отображений, заданных на числовом множестве, ![]() где ![]() ![]() ![]() ![]() ![]() ![]() Множество бинарных операций - это упорядоченное множество функций двух аргументов или однозначных отображений декартового произведения пары одинаковых числовых множеств в одно такое же числовое множество, ![]() где ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ^ - это ориентированный граф, обладающий следующими свойствами [2-5]: а) в графе отсутствуют циклы; б) к любому узлу, который не является источником, имеется хотя бы один путь от узла-источника; в) от любого узла, который не является стоком, имеется хотя бы один путь до узла-стока; г) каждому узлу-источнику соответствует элемент из множества переменных ![]() ![]() д) каждому узлу соответствует бинарная операция из множества ![]() е) каждой дуге графа соответствует унарная операция из множества ![]() Вычисления по сетевому оператору включают три этапа. На первом этапе находим узел, который имеет выходящие дуги, но не имеет ни одной входящей дуги. На втором этапе выполняем унарную и бинарную операции. Унарная операция соответствует дуге, выходящей из найденного узла. В качестве аргумента унарной операции используем значение, которое хранится в найденном узле. Бинарная операция соответствует узлу, в который дуга входит. В качестве первого аргумента бинарной операции используем либо единицу, либо результат последнего вычисления, который хранится в данном узле. В качестве второго аргумента используем результат вычисления унарной операции. На третьем этапе исключаем узел и дугу из графа. Найденный узел исключаем в том случае, если этот узел не является узлом-стоком и не имеет ни одной выходящей дуги. Дугу исключаем во всех случаях, если операция, которая соответствует данной дуге, выполнена. Этапы вычислений выполняем до тех пор, пока в сетевом операторе не останутся только узлы-стоки, в которых хранятся результаты вычислений. Выполнение унарной операции согласно выходящей из узла дуге, осуществляем только в том случае, если в узел, из которого данная дуга выходит, не входит ни одна дуга. Для любой формулы, заданной в графической записи, можно построить сетевой оператор, вычисления по которому будут давать те же результаты, что и вычисления по формуле. Введем в рассмотрение целочисленные векторы. Вектор номеров входных переменных ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Для формального описания сетевого оператора в матрице смежности сетевого оператора вместо единиц, которые соответствуют дугам графа, записываем соответствующие номера унарных операций из множества ![]() ![]() Матрица сетевого оператора – это целочисленная матрица, на диагонали которой расположены номера бинарных операций, а остальные элементы либо нули, либо номера унарных операций, причем при замене диагональных элементов на нули, а ненулевых недиагональных элементов на единицы получаем матрицу смежности графа сети, удовлетворяющей свойствам а – в сетевого оператора. Верхний треугольный вид матрицы сетевого оператора ![]() ![]() Для удобства вычислений и хранения промежуточных результатов введем вектор узлов ![]() ![]() ![]() ![]() ![]() ![]() ![]() Векторы аргументов определяют номера узлов источников сетевого оператора. Остальные компоненты вектора узлов представляют собой единичные элементы для бинарных операций, соответствующих узлов. Если бинарной операцией является сложение, то единицей для данной операции является ноль, а, если умножение, то единица. После задания начального значения вектора узлов ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() После прохождения всех строк матрицы сетевого оператора результат вычислений будут содержать компоненты вектора узлов, которые определяются по номерам выходных переменных ![]() ![]() Из-за верхнего треугольного вида матрицы сетевого оператора компонента ![]() ![]() ![]() ![]() В третьем разделе приведена разработка генетического алгоритма для решения задачи синтеза на основе метода сетевого оператора. При построении генетического алгоритма, работающего с матрицами сетевых операторов, используем универсальный принцип базисного решения. Принцип используется для того, чтобы не нарушать структуру решения. Генетические операции выполняются не над самой структурой, а над множеством допустимых вариаций структуры. Для использования принципа базисного решения сначала необходимо определить малые вариации графа сетевого оператора [2]. Каждая вариация должна изменять граф сетевого оператора, сохраняя его свойства. Малые вариации графа приведены в таблице 3.1. Таблица 3.1. Малые вариации графа
Все вариации формально могут быть описаны целочисленным вектором вариаций из четырех компонент ![]() ![]() ![]() ![]() ![]() При реализации генетического алгоритма на основе принципа базисного решения в качестве хромосомы используем упорядоченный набор векторов вариаций. Помимо основных параметров генетического алгоритма, количества хромосом, поколений и скрещиваемых пар, количество векторов вариаций в хромосоме является еще одним настраиваемым параметром. Этот параметр называем длиной хромосомы. Большая длина хромосомы увеличивает вариабельность решений, но усложняет вычисления Чтобы обеспечить достаточную вариабельность решений при малой длине хромосомы необходимо периодически изменять базисное решение. Базисное решение целесообразно менять после нескольких поколений, которые являются основными циклами генетического алгоритма. Для смены базисного решения введем еще один настраиваемый параметр генетического алгоритма – эпоха. Эпоха – это количество поколений в генетическом алгоритме, при котором базисное решение гарантированно остается неизменным. При смене эпохи базисное решение следует заменять наилучшим найденным решением, при этом в популяции необходимо создать тождественную хромосому, состоящую из векторов вариаций, не меняющих решение. Для решения задачи (1.1)-(1.4) на основе сетевого оператора необходимо определить конструктивные множества: переменных, параметров, унарных и бинарных операций. Затем установить размерность сетевого оператора, определить множество вариаций и выбрать базисные решения. После этого можно построить генетический алгоритм для поиска решений. Выбор множества переменных ![]() ![]() ![]() Для выбора множества параметров ![]() ![]() ![]() Множество бинарных операций ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Определение множества унарных операций ![]() ![]() ![]() ![]() ![]() ![]() ![]() Выбор базисного решения влияет на эффективность работы алгоритма. Чем ближе базисное решение к оптимальному по количеству вариаций, тем быстрее может быть найдено решение с помощью генетического алгоритма. Наиболее эффективно базисное решение следует выбирать на основе анализа практической задачи. Если нет никаких предположений о структуре системы, можно в качестве базисного сетевого оператора использовать тривиальный сетевой оператор, содержащий по одному пути от каждого узла-источника к любому узлу-стоку, всем узлам поставить в соответствие бинарную операцию сложения, а дугам - тождественную унарную операцию. На первом этапе генерируем множество возможных решений, популяцию хромосом. Каждая хромосома состоит из двух частей. Первая часть влияет на структуру системы управления и представляет собой упорядоченное множество векторов вариаций ![]() ![]() ![]() При генерации вектора вариаций используем только вариации, которые не влияют на размерность сетевого оператора, т.е. вариации 0-3. Вторая часть хромосомы влияет на значения параметров системы управления и представляет собой битовую строку, закодированную кодом Грея, ![]() ![]() ![]() Для каждого параметра ![]() ![]() ![]() ![]() ![]() Первоначально создаем популяцию из ![]() Для того, чтобы вычислить значения функционалов, из структурной части каждой хромосомы получаем матрицу сетевого оператора ![]() ![]() ![]() Полученная матрица сетевого оператора ![]() ![]() ![]() Для определения приспособленности хромосомы введем условное множество Парето. Пусть ![]() ![]() ![]() ![]() ![]() ![]() ![]() Условное множество Парето ![]() ![]() ![]() Чтобы построить условное множество Парето на популяции хромосом, введем характеристику, расстояние от текущей хромосомы до условного множества Парето ![]() где ![]() В качестве функции приспособленности для оценки решения используем расстояние до условного множества Парето. Хромосомы, имеющие нулевое расстояние, принадлежат условному множеству Парето ![]() Для репродукции хромосом в популяции случайно отбираем пару ![]() ![]() ![]() где ![]() Если условие (3.3) выполняется, то производим скрещивание хромосом. Случайно выбираем точки скрещивания Обмениваем части хромосом и получаем четыре новых хромосомы–потомка ![]() ![]() ![]() ![]() В хромосомах ![]() ![]() ![]() ![]() Для новых хромосом выполняем операцию мутации с заданной вероятностью ![]() ![]() ![]() ![]() Осуществляем проверку включения новой хромосомы ![]() ![]() ![]() ![]() ![]() ![]() Если расстояние до условного множества Парето у наихудшей хромосомы больше, чем у новой хромосомы ![]() ![]() ![]() ![]() Пересчитываем расстояния до условного множества Парето для всех хромосом в популяции ![]() ![]() Алгоритм завершает свою работу после выполнения заданного числа основных циклов, поколений. Результатом работы является условное множество Парето, построенное на конечной популяции хромосом. Алгоритм также может завершить свою работу, если условное множество Парето не изменяется на протяжении заданного количества поколений. Выбор конкретного решения должен осуществляться на основании дополнительных критериев. В качестве такого критерия может использоваться значение нормы на пространстве функционалов до наилучшей недостижимой точки ![]() где ![]() ![]() ![]() ![]() В четвертом разделе рассмотрена задача синтеза управления для стабилизации углового движения космического аппарата. Математическая модель объекта управления имеет следующий вид ![]() ![]() ![]() где ![]() ![]() ![]() ![]() ![]() ![]() Для системы (4.1)-(4.3) заданы начальные условия ![]() ![]() ![]() Процесс стабилизации должен сопровождаться минимальным расходом топлива и отсутствием вращения спутника относительно начала координат ![]() ![]() Рассматривались две постановки задачи. В первой постановке на управление были наложены ограничения ![]() ![]() ![]() Для проверки робастности полученных решений, систем управления, для одной из систем проводилось моделирование с другими начальными значениями ![]() ![]() ![]() Для решения задачи использовались следующие параметры генетического алгоритма: размерность популяции – 200, количество скрещиваемый пар в поколении – 64, количество поколений – 50, число поколений между эпохами – 10, длина структурной части хромосомы – 12, количество критериев – 2, число постоянных параметров – 3, количество бит под целую часть параметра – 2, количество бит под дробную часть параметра – 6, вероятность мутации – 0,8, шаг интегрирования – 0,001, шаг печати – 0,01, время переходного процесса – 1, размерность матрицы сетевого оператора – 16, мощность множества констант – 3, мощность множества переменных – 3, размерность вектора управления – 3. В качестве базисного решения использовалась линейная обратная связь по угловым координатам ![]() где ![]() ![]() ![]() ![]() Множества переменных и параметров имели следующий вид ![]() ![]() ![]() ![]() ![]() Матрица базисного сетевого оператора имела следующий вид ![]() Н ![]() а рис. 1 представлено множество Парето для задачи (4.1)-(4.5). ![]() ![]() Рис. 1. Условное множество Парето Было проведено моделирование для разных решений, принадлежащих условному множеству Парето. Для одного из полученных решений были найдены следующие значения критериев качества ![]() ![]() ![]() ![]() ![]() Матрица сетевого оператора для данного решения имела вид ![]() Более крупным шрифтом отмечены элементы, значения которых отличаются от значений в базисной матрице. По матрице сетевого оператора получено управление в виде ![]() ![]() где ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Начальное значение вектора узлов матрицы имел следующий вид ![]() Для проверки робастности синтезированной системы управления было проведено моделирование для управления (4.6) со значениями начальных условий, увеличенных на 10%. Результаты эксперимента показали, что полученная нелинейная система управления обеспечивает стабилизацию космического аппарата, и значения функционалов изменились не более чем на 12%. Система является робастной по отношению к изменению начальных условий. Расчеты проводились на персональном компьютере с процессором AMD Athlon 64, с тактовой частотой 1ГГц. Время расчета составило не более 10 минут. ЗАКЛЮЧЕНИЕ В результате проведенного научного исследования были получены следующие результаты: 1. Разработан сетевой оператор, который является графическим представлением формулы, определены его свойства, обоснован метод преобразования формулы в сетевой оператор. На основе матрицы смежности сетевого оператора и его свойств разработан метод построения матрицы сетевого оператора. Матрица является целочисленной верхней треугольной, и она является эффективной структурой данных для вычисления формулы. Разработан алгоритм вычисления формулы по матрице сетевого оператора. 2. На основе принципа базисного решения определено множество малых вариаций сетевого оператора, и разработан генетический алгоритм для решения задачи многокритериального структурно-параметрического синтеза системы управления. Алгоритм позволяет одновременно искать решения для структурного и параметрического синтеза. 3. На основе разработанного алгоритма решена задача синтеза системы стабилизации углового движения космического аппарата. Система управления из полученного условного множества Парето, обеспечивает стабилизацию космического аппарата относительно начала координат и значение критерия качества управления, близкого к оптимальному. На основе проведенного моделирования показано, что синтезированные системы управления в виде нелинейных обратных связей по координатам пространства состояний являются робастными по отношению к изменению начальных условий. ^
|