На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

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

Статья опубликована в выпуске журнала № 2 за 2009 год.
Аннотация:
Abstract:
Авторы: Блинов А.О. () - , Гурман В.И. () - , Трушкова Е.А. (katerinatr@mail.ru) - Институт проблем управления им. В.А. Трапезникова РАН, Москва, Россия, доктор физико-математических наук, Фраленко В.П. (alarmod@pereslavl.ru) - Институт программных систем им. А.К. Айламазяна РАН (ведущий научный сотрудник), Переславль-Залесский, Россия, кандидат технических наук
Ключевые слова: язык программирования т++, параллельный алгоритм, метод улучшения, метод наименьших квадратов, аппроксимация, задача оптимального управления
Keywords: T++ programming language, parallel algorithm, , method of least squares, approximation,
Количество просмотров: 11229
Версия для печати
Выпуск в формате PDF (4.72Мб)

Размер шрифта:       Шрифт:

Статья посвящена разработке и реализации методов cинтеза оптимальных целевых законов управления, что является кардинальной проблемой теории и практики управления. Ее решение связано с бесконечномерными обратными задачами, аппроксимируемыми при численной реализации многомерными задачами, требующими неограниченно растущих вычислительных ресурсов для приближения к точным решениям. Это приводит к неизбежному выводу о необходимости реализовать решение подобных задач на современных высокопроизводительных вычислительных системах параллельной архитектуры. Парадигма параллельных вычислений в высшей степени соответствует самой природе рассматриваемых задач, связанных с множественностью однотипных операций на верхнем уровне, таких как решение обратной задачи через множество решений прямой (прямо или косвенно), а также формирование и численная реализация полей управлений (ситуационных управлений).

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

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

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

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

Особенности ПК:

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

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

Управление ПК поддерживается графическим интерфейсом, интегрированным с сервером управ­ления.

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

Программа аппроксимации моделей динамических систем

При работе с моделями реальных динамических систем , типичны ситуации, когда модель имеет структуру, к которой невозможно применить тот или иной метод исследования или алгоритм синтеза управления. Чтобы упростить систему, предлагается применять алгоритм аппроксимации многомерных функций многих переменных f(t, x, u) (при фиксированных моментах времени) по методу наименьших квадратов многомерными полиномами:

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

где b – количество узлов аппроксимации. Данная задача сводится к решению системы линейных алгебраических уравнений с постоянными коэффициентами.

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

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

Алгоритм реализован в Т-системе (язык программирования Т++) на кластере skif.botik.ru [1].

Входными данными задачи являются: размерность фазового пространства n; размерность пространства управлений p; правая часть управляемой системы f(t, x, u); нижние ограничения на фазовую траекторию и управление; верхние ограничения на фазовую траекторию и управление; базисные функции (j векторов, содержащих степени вхождения переменных zi в базисную функцию ).

Выходными данными задачи являются коэффициенты аппроксимирующих полиномов (n действительных векторов размера j).

Настройка ПК по решению описанной задачи произведена для правой части динамической системы вида:

,              (1)

где ,

.

Для проведения аппроксимации указанной функции f(x, u), например, линейной функцией

,

в области изменения переменных

, , ,

, ,

необходимо задать следующие входные данные:

·    размерность фазового пространства n=4;

·    размерность пространства управлений p=2;

·    правая часть управляемой системы f(t, x, u) (см. выше);

·    нижние ограничения на траекторию и управление: (0.28, -3.2, 24.6, -6, -0.35, 0.08);

·    верхние ограничения на траекторию и управление: (7.5, 0, 30.8, 0, 0.35, 0.35);

·    базисные функции: (0, 0, 0, 0, 0, 0),

(1, 0, 0, 0, 0, 0), (0, 1, 0, 0, 0, 0), (0, 0, 1, 0, 0, 0),

(0, 0, 0, 1, 0, 0), (0, 0, 0, 0, 1, 0), (0, 0, 0, 0, 0, 1).

Для оценки эффективности распараллеливания программы проведены запуск программы на различном числе узлов и замер времени работы в каждом случае. Полученные данные (табл. 1) позволяют сделать вывод об эффективном распараллеливании указанного класса алгоритмов для небольшого числа узлов (1–8).

Таблица 1

Анализ эффективности работы параллельной версии программы аппроксимации по МНК

Число узлов (n)

Время работы программы (tn, c)

Ускорение (t1/tn)

1

3338,348

1

2

1779,791

1,876

3

1237,142

2,698

4

880,248

3,793

5

729,924

4,574

6

631,720

5,285

7

632,003

5,282

8

586,202

5,695

9

631,214

5,289

10

596,175

5,600

11

588,017

5,677

12

596,195

5,599

13

589,926

5,659

14

586,519

5,692

15

597,649

5,586

16

579,739

5,758

Программа улучшения управления

Предполагается, что модель движения в общем случае представляет собой дискретную управляемую систему, терминальный функционал качества, ограничения на управления типа неравенств, фазовые ограничения типа неравенств (различные внутри и на правом конце заданного фиксированного промежутка времени):

Производится замена этой задачи оштрафованной, то есть задачей без фазовых ограничений, с помощью введенных функций штрафа типа срезок:

где

Задача улучшения ставится следующим образом: пусть известен допустимый элемент , требуется найти допустимый элемент , такой, что .

Итерационное улучшение основано на линейно-квадратических аппроксимациях соотношений Беллмана в среднем в окрестности текущего приближения полиномами второго порядка [2, 3]. Предусмотрены регуляторы, настраиваемые так, чтобы каждая итерация была наиболее эффективной.

На основе принципа оптимальности Кротова элемент  ищется путем аппроксимации решения следующей задачи:

где a – некоторое число из отрезка [0,1] (регулятор метода), , , , .

Отыщем функцию Кротова в виде

,

где значения  находятся из следующих приближенных соотношений Кротова–Беллмана:

При этом управление (в форме синтеза), на котором достигается максимум, обозначим .

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

где , , , , .

Фиксируем набор параметров метода. Разложив правые части соотношений Кротова–Беллмана при фиксированном  в ряд до членов второго порядка в окрестности нуля и заменив производные их разностными аналогами (шаги разностных схем – дополнительные параметры метода), получим управление

и соответствующий элемент

.

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

Построенный таким образом алгоритм естественным образом ориентирован на параллельные вычисления. Алгоритм реализован в Т-системе (язык программирования Т++) на кластере skif.botik.ru [4].

Входными данными задачи являются:

1)   размерность фазового пространства n;

2)   размерность пространства управлений p;

3)   начальный момент tI;

4)   конечный момент tF;

5)   число отрезков разбиения временного интервала m;

6)   правая часть управляемой системы f(t, x, u);

7)   минимизируемый функционал ;

8)   начальное значение фазовой траектории xI;

9)  нижние ограничения на траекторию внутри временного отрезка, вектор-индикатор наличия/отсутствия этих ограничений;

10)     верхние ограничения на траекторию внутри временного отрезка, вектор-индикатор наличия/отсутствия этих ограничений;

11)     нижние ограничения на траекторию в момент tF, вектор-индикатор наличия/отсутствия этих ограничений;

12)     верхние ограничения на траекторию в момент tF, вектор-индикатор наличия/от­сутствия этих ограничений;

13)     нижние ограничения на управление;

14)     верхние ограничения на управление;

15)     минимальное время перекладки управления;

16)     начальная программа управления.

При этом данные 1–8 являются обязательными.

Результаты работы программы выводятся в текстовый файл. В нем указываются набор параметров и номер итерации, на которой достигнуто наибольшее улучшение; далее таблицей идут столбцы результатов: временной момент, значения траектории в этот момент (покоординатно), значения управлений в этот момент (покоординатно), значения отклонений от допустимого множества (покоординатно); в заключение приводится достигнутое значение целевой функции. Предусмотрена возможность вывода управления в форме синтеза (): вывод двух текстовых файлов, один из которых содержит матрицу коэффициентов при переменной x (матрицу A(t)), другой – матрицу коэффициентов свободных членов (матрицу B(t)).

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

Настройка ПК по решению описанной задачи произведена, в частности, для задачи улучшения начального приближенно-оптимального управления для нелинейной системы, полученной при аппроксимации модели движения вертолета в нештатной ситуации [3]:

,

где правая часть системы f(x, u) определена согласно формуле (1).

Заданы начальные значения фазовых переменных, ограничения на фазовые переменные во время и в конце маневра, ограничения на управления:

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

Для улучшения одного из вариантов начального управления входные данные следует задать, например, в виде:

1)   размерность фазового пространства n=4;

2)   размерность пространства управлений p=2;

3)   начальный момент tI=0;

4)   конечный момент tF=9.47;

5)   число отрезков разбиения m=947;

6)   правая часть системы f(x, u) (см. ранее);

7)   функционал F0(x(tF)) (см. ранее);

8)   начальное значение xI=(10, 0, 29.6, 0);

9)   Подпись: Начальные и улучшенные значения управлений
и соответствующих траекторий
нижние ограничения внутри отрезка (0, -5, 24.6, 0), вектор-индикатор (1, 1, 1, 0);

10)     верхние ограничения внутри отрезка (7.5, 0, 30.8, 0), вектор-индикатор (0, 1, 1, 0);

11)     нижние ограничения в tF (0, -3.2, 24.6, 0), вектор-индикатор (1, 1, 1, 0);

12)     верхние ограничения в tF (7.5, 0, 30.8, 0), вектор-индикатор (1, 1, 1, 0);

13)     нижние ограничения на u (-0.348, 0.08);

14)     верхние ограничения на u (0.348, 0.348);

15)     минимальное время перекладки (0.7, 0.35);

16)     начальная программа управления берется из файла upr_nach.txt.

Вычисления проводились для 256 различных наборов параметров метода, при этом удалось уменьшить значение целевого функционала, удовлетворив все ограничения. Результаты работы ПК для входных числовых данных, описанных ранее, представлены на рисунке.

Для оценки эффективности распараллеливания программы проведены запуск программы на различном числе узлов и замер времени работы в каждом случае. Полученные данные представлены в таблице 2.

Таблица 2

Анализ эффективности параллельной версии программы улучшения управления

Число узлов (n)

Время работы программы (tn, c)

Ускорение (t1/tn)

1

1029,85

1

3

351,99

2,93

5

218,83

4,71

7

159,60

6,45

9

130,71

7,88

11

110,29

9,34

13

93,69

10,99

15

90,10

11,43

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

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

Для параллельной реализации ПК была использована гетерогенная аппаратная среда. Компоненты ПК физически разделены. Графический интерфейс, сервер управления и управляющие модули работают на платформе IBM PC, а аппаратная платформа для исполняемых модулей вообще не фиксируется. В составе ПК, в частности, есть исполняемые модули, работающие на аппаратной платформе IBM PC, модули, выполняющиеся на аппаратной платформе суперкомпьютеров «СКИФ» кластерного уровня. Аппаратная платформа суперкомпьютеров «СКИФ» включает управляющую ЭВМ (фронтенд), вычислительные узлы кластерного уровня; системную сеть кластера (SCI), объединяющую вычислительные узлы; вспомогательную сеть (семейства Ethernet, с поддержкой TCP/IP), объединяющую управляющую ЭВМ и вычислительные узлы.

Такая гибкость при работе с исполняемыми модулями оказалась возможной из-за активного использования протокола SSH (Secure Shell) при построении управляющих модулей, сетевого протокола прикладного уровня, позволяющего производить удаленное управление операционной системой и передачу файлов.

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

Литература

1. Белышев Д.В., Блинов А.О., Фраленко В.П. Параллельный алгоритм аппроксимации моделей управляемых систем // Параллельные вычисления и задачи управления (PACO'2008): тр. Четвертой междунар. конф. М.: ИПУ им. В.А. Трапезникова РАН. 2008. С. 968–978.

2. Гурман В.И. Принцип расширения в задачах управления. М.: Наука. Физматлит, 1985.

3. Гурман В.И., Квоков В.Н., Ухин М.Ю. Приближенные методы оптимизации управления летательным аппаратом // АиТ. 2008. № 3. C. 191–201.

4. Коваленко М.Р., Матвеев Г.А., Осипов В.И., Трушкова Е.А. Параллельный алгоритм улучшения управления // Параллельные вычисления и задачи управления (PACO'2008): тр. Четвертой междунар. конф. М.: ИПУ им. В.А. Трапезникова РАН. 2008. С. 979–984.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=2257
Версия для печати
Выпуск в формате PDF (4.72Мб)
Статья опубликована в выпуске журнала № 2 за 2009 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: