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

Программный комплекс оптимизации динамических систем на множествах управлений Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
61
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЗАДАЧА ОПТИМАЛЬНОГО УПРАВЛЕНИЯ / КУСОЧНО-ПОСТОЯННОЕ УПРАВЛЕНИЕ / КУСОЧНО-ЛИНЕЙНОЕ УПРАВЛЕНИЕ / ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ / Т-СИСТЕМА / ЯЗЫК ПРОГРАММИРОВАНИЯ T++ / ГРАФИЧЕСКИЙ ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ / T++ PARALLEL PROGRAMMING LANGUAGE / OPENTS / OPTIMAL CONTROL PROBLEM / PIECEWISE CONSTANT CONTROL / PIECEWISE LINEAR CONTROL / PARALLEL ALGORITHM / T-SYSTEM / GRAPHICAL USER INTERFACE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Фесько Олесь Владимирович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Software system of dynamical systems optimization in control set

The developing results of algorithmic and programmed part of software system intended for dynamical systems optimization in the prime control set are introduced. This part implements parallel algorithm of the piecewise linear control (that is handy) searching for nonlinear dynamical system. The algorithm application and efficiency analysis of code parallelization in a computer cluster is demonstrated by a number of examples.

Текст научной работы на тему «Программный комплекс оптимизации динамических систем на множествах управлений»

ISSN 2079-3316 ПРОГРАММНЫЕ СИСТЕМЫ: ТЕОРИЯ И ПРИЛОЖЕНИЯ № 4(4), 2010, с. 53-66 УДК 517.977:519.68

О. В. Фесько

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

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

Ключевые слова и фразы: задача оптимального управления, кусочно-постоянное управление, кусочно-линейное управление, параллельный алгоритм, Т-система, OpenTS, язык программирования T+ + , графический интерфейс пользователя.

Введение

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

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

© ©

О. В. ФЕсько, 2010

Программные системы: теория и приложения, 2010

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

Рассмотрим задачу оптимального управления для системы |х(*) = /(*,х(*),и(*)), t € [¿о,^],

= хо,

где х = (х1,...,хп)т € К", = 1,п — кусочно-дифференци-

руемы, управление м(£) —кусочно-линейно разрывно, т. е.

(^2г+1 - 4 - ("7*^2+1 - Т+^г)

V 2 j+1 21/" \ 'S"- 24+1 'j+1^2j/ , г 1 . 7л-

u(t) = -,t е [t, Tj+iJ, г = 0, m,

Tj+1 - Tj

где m — число точек переключения,

w_ < Wj < w+, Wj е R, г = 0, 2m + 1

to = To < Ti < T2 < ... < Tm+i = ti, m > 0, m е Z, с критерием качества (2) F (x(t1)) ^ min .

В работах [1,3] найдены условия, при которых функция F будет дифференцируема по параметрам ws, г = 0, 2m + 1, а исходную задачу (1), (2) можно свести к задаче условной минимизации функции многих переменных F (x(ti)) = F(x(ti; w)) = G (w) на множестве W, т. е.

G (w) ^ min, W = {w е R2m+2 : w_ < wj < w+, г = 0, 2m + 1} .

wG W

2. Алгоритм решения задачи

Для минимизации многомерной функции G(w) был выбран широко применяемый градиентный метод с некоторыми модификациями [1].

Схема решения поставленной задачи оптимального управления (1),(2) следующая (рис.1):

Шаг 1: Основная область поиска управлений W разбивается на непересекающиеся подобласти. В каждой из подобластей программа работает по нижеследующей схеме.

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

Шаг 3: При данном управлении решается задача Коши для системы дифференциальных уравнений, ищется траектория, вычисляется значение целевого функционала.

^mmmmmmmmmmmmm 1 *

1 1 1 1 -i- щ, Блок численного решения задачи Коши [х(?о) = Хо, подсчет минимизируемого функционала у модифицированный метод градиентного спуска, проверка условий останова

г' = 0,2т + 1 -- * wiy г = 0,2т +1 v у

Рис. 1. Схема работы программы

Шаг 4: Вызывается функция поиска очередного приближения. Шаг 5: Проверка условий останова. Если условия не выполняются, переходим к шагу 3, иначе алгоритм прекращает свою работу.

3. Тестовые примеры

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

Имеется дифференциальная система с начальными условиями

{ii(t) = u(t), t е [0, 2]. x 2 (t) = u2(t) + x\(t), x1(0) = 1, x2 (0) = 0

с критерием качества

(4) F (x(t1)) = x2(2) ^ min,

где

(W2i+1 - W2i) t - (TjW2i+i - Ti+iW2i)

щЬ) = -!-!-!-,Ь € [тг, тг+1\ ,г = 0, т

Тг+1 - Т

с одной и двумя точками переключния (т = 1, 2). Моменты переключений: Т1 = 1 (при т = 1) и Т1 = 3, т2 = I (при т = 2). На рис. 2(а) и 2(б) представлены графики управлений, найденных теоретически и программно (с одной и двумя точками переключения).

(а) с одной точкой переключения (б) с двумя точками переключения

Рис. 2. Сравнение программно и теоретически найденных управлений

При этом полученное программно значение критерия при m=1 составило 0.964527, а при m=2 — 0.964133.

Пример 2.

Рассмотрим нелинейную динамическую систему с управлением, полученную в [ ] при аппроксимации модели движения вертолета в вертикальной плоскости в нештатной ситуации:

{жi(i) = -0.441x10-3^(Xf+Xfjxi-9.8«i, x(0) = (0,0,29.6,0)T, ie[0,iF], x 2(i) = -0.441x10-3^öXf+Xfjx2+0.122x2FT (x1,x2,x3,u1,u2)—9.792, x3(t) = f3(x1,x2,x3,u1,u2 ,N)+0.192x-1(N—357), x4(t)=x2,

где X1(t), X2(t) — горизонтальная и вертикальная составляющие вектора скорости, X3(t) — угловая скорость вращения несущего винта, X4 (t) — высота, U1(t) — угол отклонения вектора тяги от вертикали, U2(t) — общий шаг несущего винта, Ft(t), f — композиционные полиномы, N, N — константы.

В [ ] по критерию F0 = X4 (tf ) ^ min с применением специальных методов теории оптимального управления было найдено приближенно оптимальное решение (x(t),U(t)). Однако U(t) имеет весьма сложную структуру. Данное управление изображено на рис. 3(а) и 3(б) пунктиром.

Поставим модельную задачу поиска управления более простой структуры, а именно, кусочно-линейного управления с фиксированным набором моментов переключения: Т1 = 2.5, Т2 = 8.5 (для U1(t))

/

// /

/ /

/

t .

А /

/

заданное управление аппроксимация по МНК найденное программой

(а) Управление мх(4)

(б) Управление «2(4)

Рис. 3. Сравнение полученных управлений

и тз = 0.5, Т4 = 1, Т5 = 6 (для и2^)), которое реализует движение, близкое к Х(£). Существенным будем считать фазовое ограничение вида Х2(¿) < 0.

Одним из возможных способов построения такового управления видится аппроксимация по методу наименьших квадратов (МНК). Найденное управление по МНК представлено на рис. 3(а) и 3(б) красной линией, а соответствующие ему траектории — на рис. 4(а) и 4(б). Заметно, что условие Х2(¿) < 0 нарушается уже в начале движения.

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

Е (х(1Р ))=У (|шт(0; Х1 (¿))| + в(х2 (*) - Х2 (*))

А —> шш.

Полученные таким способом управления и соответствующие траектории изображены на рис. 3 и 4. Согласно данным графикам, при этом подходе существенное фазовое ограничение Х2 (£) < 0 выполняется на всем рассматриваемом отрезке времени.

4. Параллельные версии программ на языке Х++

Программа решения задачи оптимального управления была реализована на языке Х+—Ь, т.к. вариант программ на С+—Н естественным образом ориентирован на параллельные вычисления. Система

2

(а) Траектория Х2^) (б) Траектория Х4(4)

Рис. 4. Соответствующие траектории

параллельного программирования — Х-система [4, 6, 7] — позволяет без участия пользователя, в динамике выполнять распараллеливание кусков кода программы, планировку вычислений, распределение данных по узлам и пр. Т-система предоставляет среду исполнения для языка программирования высокого уровня ТН—Ь, который является параллельным диалектом языка СН—Ъ Данная система параллельного программирования — собственная разработка Института программных систем им. А.К. Айламазяна РАН.

Программная реализация параллельного алгоритма задачи поиска кусочно-линейных управлений была успешно апробирована на ряде методических и модельных (нештатная посадка вертолета) примеров [2].

Гранулой параллелизма в данных задачах был выбран непосредственно градиентный метод (независимый поиск минимума в подобластях). Вычисления проводились на суперкомпьютере семейства «СКИФ» [8] ИПС им. А.К. Айламазяна РАН.

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

Таблица 1. Анализ эффективности параллельной версии программы

Число узлов, р Время, Ускорение, Ьх/Ьр

1 2182.976 1

2 1319.838 1.65

4 826.408 2.64

6 526.569 4.15

8 454.782 4.8

10 412.992 5.29

12 352.079 6.2

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

В таблице 1 представлены результаты ускорения параллельного варианта программы на различном числе узлов для задачи (3), (4) с двумя точками переключения. При этом рассматривалось разбиение основной области на 32 подобласти. Время расчета заметно сокращается при увеличении числа узлов.

5. Графический интерфейс пользователя

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

Чтобы приступить к вычислениям, пользователю требуется авторизоваться на управляющей ЭВМ КВУ (рис. 6).

На рис. 7 представлены области:

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

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

• т € Число дифференциальных уравнений системы.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

• хо € К". Значения на левом конце траектории.

Интерфейс

с и

Рабочая станция

Рис. 5. Варианты взаимодействия пользователя с КВУ

Гм|| Программный комплекс поиска простыл законов оптимального управления Загрузить дзнные .. Сохранить данные Спустить О прервать

Двтормзаиия Система | Параметры задачи | Резульп Сервер АНнвст

Имя пользователя зр#| Парол* ■■««»««■■

Рис. 6. Ввод логина и пароля

• to,tl € К. Начальный и конечный моменты времени (¿1 > ¿о).

• Н € Число шагов по времени для интегрирования системы.

• р € Число управлений системы.

• с € 1Г+. Число точек переключения по каждому управлению.

с

• ьо'ю € К ¿ . Нижние ограничения на компоненты вектора и.

Программный комплекс поиска простых законов оптимального управления ftift&EMl ф ^ - . а х

1 f Загрузить данные Сохранить данные f) Запустить @ Прервать

11 Авторизация | Система | Параметры задачи | Результаты

g

Я Размерность Фазового пространства пп 7 Значение траектории на левом конце -0.111111 0.111111 0 959166 0.2043.2 0 | Начальный момент времени tO 0 1 Конечный момент времени t1 1 Число шагов по времени 10 Число управлений р 2 © П Кусочно-постоянное П Кусочно-линейное непрерывное |У] Кусочно-линейное разрывное

Нижнее ограничение на управление -2 -2 -2 -2 Верхнее ограничение на управление 2222 Моменты переключения 0.5 0.5 Метод интегрирования ситемы ^ ® Рунге-Кутга 4-го порядка © Рунге-Кутта-Фельберга

Область изменения точек переключения 0.2 0.7 0.3 0.8

1 Точность вычисления градиента 1е-6 1 Точность вычисления минимума 1е-6 © Построить графики

Рис. 7. Ввод параметров задачи

ci

• up G R i . Верхние ограничения на компоненты вектора u, причем upj > lowj.

Ci

• t G R i . Моменты переключений для каждого управления.

2 P Ci

• region G R i . Область изменения каждой точки переключения.

• е, epsilon G R+. Точности вычислений минимума и градиента соответственно.

(3) Область выбора желаемого типа поиска управления.

(4) Область выбора предпочитаемого метода интегрирования системы.

(5) Кнопка, запускающая визуализацию полученных данных в виде графиков.

(6) Таймер.

В графическом интерфейсе пользователя предусмотрена возможность задания правых частей управляемой системы (область 1), а также терминального функционала качества (область 2) в виде синтаксически правильных математических выражений языка программирования C+—h (рис. 8).

В случае успешного завершения вычислений программа оповещает пользователя (рис. 9).

Рис. 8. Ввод системы ОДУ и функционала

Рис. 9. Уведомление об успешном завершении вычислений

По окончании работы программы в текстовом поле вкладки «Результаты» перечисляются переданные с сервера названия выходных

Рис. 10. Результирующие файлы

файлов, в которых представлены найденные управления и траектории (рис. 10). Их можно посмотреть в текущей рабочей директории пользователя.

После нажатия кнопки «Построить графики» появляются два окна: с графиками управлений и траекторий (рис. 11,12). Имеется возможность сохранять графики в различные форматы. Более того, с помощью манипулятора типа мышь или тачпад на графике можно выделить область, требующую масштабирования (для более детального рассмотрения графика).

Заключение

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

Метод естественным образом ориентирован на параллельную программно-алгоритмическую реализацию. Соответствующая параллельная программа (Т-программа) успешно применяется к исследованию

Рис. 12. Соответствующие траектории

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

Список литературы

[1] Фесько О. В. Параллельный алгоритм оптимизации динамических систем на множестве кусочно-линейных управлений // Вестник БГУ, 2010, № 9, с. 79-87. Î1, 2

[2] Фесько О. В. Параллельный алгоритм оптимизации динамических систем с управлением // Параллельные вычислительные технологии (ПаВТ2010): Труды международной научной конференции : Электронный ресурс.— Электронное издание. — Уфа : Челябинск: Издательский центр ЮУрГУ, 2010.— ISBN 978-5-696-03987-9, с. 689. Î4

[3] Фесько О. В. Оптимизация динамических систем на множестве кусочно-постоянных управлений // Наукоемкие информационные технологии : Труды молодежной научно-практической конференции. — Переславль-Залесский : Изд-во «Университет города Переславля», 2009, с. 206-217. Î1

[4] АбрамовС. М., Адамович А. И., Инюхин А. В., Московский А. А., Роганов В. А., Шевчук Ю. В., Шевчук Е. В. Т-система с открытой архитектурой // Суперкомпьютерные системы и их применение SSA'2004 : Труды Международной научной конференции. — Минск, 2004, с. 18-22. Î[], 4

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

[6] Абрамов С. М., Кузнецов А. А., Роганов В. А. Кроссплатформенная версия Т-системы с открытой архитектурой // Параллельные вычислительные технологии (ПаВТ'2007, Челябинск) : Труды международной научной конференции. — Челябинск : Изд-во ЮУрГУ, 2007, с. 115-121. Î4

[7] Абрамов С. М., Загоровский И. М., Коваленко М. Р., Матвеев Г. А., Рога-нов В. А. Миграция от MPI к платформе OpenTS: эксперимент с приложениями PovRay и ALCMD // Программные системы: теория и приложения (Переславль-Залесский, 2006) : Международная конференция. --М. : Наука-Физматлит, 2006, с. 265-275. Î4

[8] Абрамов С. М., Адамович А. И., Коваленко М. Р., Слепухин А. Ф., Парамонов Н. Н. Кластерные системы семейства суперкомпьютеров «СКИФ» // Научный сервис в сети Интернет (Новороссийск, 2003) : Труды Всероссийской научной конференции. — М. : Изд-во МГУ, 2003, с. 147-151. Î4

O. V. Fesko. Software system of dynamical systems optimization in control set. Abstract. The developing results of algorithmic and programmed part of software system intended for dynamical systems optimization in the prime control set are introduced. This part implements parallel algorithm of the piecewise linear control (that is handy) searching for nonlinear dynamical system. The algorithm application and efficiency analysis of code parallelization in a computer cluster is demonstrated by a number of examples.

Key Words and Phrases: optimal control problem, piecewise constant control, piece-wise linear control, parallel algorithm, T-system, OpenTS, T+—H parallel programming language, graphical user interface.

Поступила в редакцию 07.10.2010. Образец ссылки на статью:

О. В. Фесько. Программный комплекс оптимизации динамических систем на множествах управлений // Программные системы: теория и приложения : электрон. научн. журн. 2010. № 4(4), с. 53-66. URL: http:// psta.psiras.ru/read/psta2010_4_53-66.pdf (дата обращения: 13.10.2010)

i Надоели баннеры? Вы всегда можете отключить рекламу.