УДК 517.97
О.В. Фесько
АЛГОРИТМ ПОИСКА КУСОЧНО-ЛИНЕЙНОГО УПРАВЛЕНИЯ С НЕФИКСИРОВАННЫМИ
МОМЕНТАМИ ПЕРЕКЛЮЧЕНИЙ
В статье предлагается параллельный алгоритм поиска решения задачи оптимального управления без фазовых ограничений в виде удобных для практического использования кусочно-постоянных и кусочно-линейных функций управления [1] c нефиксированными моментами переключений. Рассмотрена задача оптимального управления с фазовыми ограничениями и возможность ее решения предложенным алгоритмом. Описан графический интерфейс пользователя программного комплекса, позволяющего автоматизировать процесс проведения расчетов.
Ключевые слова: задача оптимального управления, фазовые ограничения, параллельный алгоритм.
PIECEWISE LINEAR CONTROL SEARCHING ALGORITHM WITH FLEXIBLE SWITCH POINTS
constant and piecewise linear control functions [1] with flexible switch points is introduced. The state con-
К настоящему моменту в теории оптимального управления разработано большое число вычислительных методов решения задач оптимального управления [2, 3, 4], применяя которые, можно получить искомое управление, обладающее весьма сложным поведением. Однако при исследовании различных динамических систем с управлением большое значение имеет поиск простых оптимальных законов управления, реализуемых на практике. В связи с этим предлагается алгоритм поиска решения задачи оптимального управления в виде кусочно-линейной функции управления с нефиксированными моментами переключений. Демонстрируется применение алгоритма. В рамках поставленной задачи разработан программный комплекс, в котором задействованы параллельные алгоритмы поиска оптимальных управлений на множествах простой структуры.
1. Постановка задачи
Пусть управляемый процесс описывается на отрезке \11 ,^ ] системой обыкновенных дифференциальных уравнений с начальными условиями
Выбором параметров управления мл, г = 0,2т +1 и моментов переключений т;, г = 1, т необходимо минимизировать терминальный функционал качества
О V. Fesko
Parallel algorithm for optimal control problem (without state constraints) solving in the form of piecewise
strained optimal control problem and its solving using this algorithm is considered. The graphical user interface that computerizes computation processes is described.
Keywords: optimal control problem, state constrained problem, parallel algorithm.
Введение
Управление u (t) будем искать в кусочно-линейном виде, т.е.
w < wi < w, wi є R, i = 0,2m +1, с m нефиксированными моментами переключений
tI = T0 < T1 < T2 < • • • < Tm+1 = tF , m є Z .
и удовлетворить фазовым ограничениям: внутри интервала времени X(t) входит в заданную допустимую полосу
X, < x(t)< xu, t є \tI, tF), (4)
а в конце процесса управления - в заданный отрезок
V < x)< xuF • (5)
гдЄ xi , xu , xlF , xuF є Rn •
2. Сведение исходной задачи к задаче без фазовых ограничений
Заменим задачу (1)-(5) задачей без фазовых ограничений
x(t) = f (t,x(t),u(t)), x(tI) = xI, tє \tI,tF],
z (t )=S( x (t)) , z ( tI )= 0, u (t )є Du , (б)
F ( x (tF ) , z (tF ) ) = в0 F0 ( x (tF )) + Дт z (tF ) + 02 SF ( x (tF ))^ ^
с помощью функций штрафа
S’(x) = (min{0,x' -xl]) +(max{0,x' -x'u]) ,
SF (x) = (min{0,x' -x’f]) +(max {a x’ - xuf ])2,
где i = 1, n , в0 є R1 , в1, в2 є Rn •
Весовые коэффициенты функционала F (x(tF), z(tF)) выбираются из следующих соображений: если полученное решение попадает в допустимую область (4)-(5), то будет решаться основная задача без фазовых ограничений (1)-(3) (задача (б) при 01 = 0, в2 = 0), иначе - задача уменьшения отклонения от допустимой области (задача (б) при 00 = 0), т.е.
00 = 1 в = (в11,•, 0 , )т = 0 если J 0 ={1,...,2n] ,
P (7)
00 = 0, в1 = 0, j є J0,0 = —, j є J, если J0 *{1,...,2n}.
ShJ
Здесь
У = ( (гр) ,дтР (х (гР))) , J0 ={ 7 е {1,...,2п} I У <£},
р
J = {1,...,2п} \ Jо, Р = ПУ, ^ = X77,
jеJ jеJh
£ - требуемая точность попадания траектории в фазовые ограничения.
Задачу (6) можно свести к задаче условной конечномерной минимизации функционала С(w,т,ДрД).
3. Алгоритм решения задачи
Предлагаемый алгоритм решения поставленной задачи оптимального управления (1)-(5) предполагает декомпозицию основной области поиска управлений Ш на равновеликие непересекающиеся подобласти, в каждой из которых программа работает по нижеследующей схеме (рис. 1):
Шаг 1. Подается начальный вектор управлений и моментов переключений (и>,т), область поиска,
точность вычислений и прочие входные данные.
Шаг 2. При данном управлении решается задача Коши для системы дифференциальных уравнений (6).
Шаг 3. По текущему решению выбираются штрафные коэффициенты согласно соотношениям (7). Шаг 4. Вызывается функция минимизации для поиска очередного приближения.
Шаг 5. Проверка условий останова. Если условия не выполняются, переходим к шагу 2, иначе алгоритм прекращает свою работу.
Для минимизации многомерной многоэкстремальной функции С используется комбинация методов Ньютона-Рафсона и градиентного спуска с модификациями [1]. Предусмотрена возможность выбора как классического метода Рунге-Кутта четвертого порядка, так и эффективного адаптивного вложенного
метода Рунге-Кутта-Фельберга (РКФ45) численного интегрирования системы обыкновенных дифференциальных уравнений.
Вышеизложенный алгоритм очевидным образом ориентирован на параллельную программную реализацию, т.к. все шаги алгоритма могут выполняться независимо для каждой из подобластей.
і] ії&с *[£ т лшнимишрцгмаго фцнкц и оняяа О(ь\г,й),0 і.Рг) ------------ї-----------'
выбор апярафных КІюффиЦНҐНІГНМ
fh.Pi 02
Кі?мігтшіпргн.
граВненягново спуска
ч меткі и Нынтвия-Рафсомп,
проверки условий оспмнет
IV* , Т
Дії
и-
Рис. 1. Схема решения задачи
4. Вычислительные эксперименты
Работу предложенного алгоритма продемонстрируем на следующих примерах.
Пример 1. Рассматривается задача оптимального управления без фазовых ограничений, возникающая при попытке поиска начального управления для системы с запаздыванием, более подробно описанной в работе [5]. Система состоит из группы двух реакторов с непрерывным перемешиванием и задержкой переноса т = 0.1 из первого во второй. Необходимо найти управления и1 и и2, которые регулируют протекающие в реакторах реакции, с целью минимизации квадратичного функционала
2
] = |(х1 + х22 + х32 + х2 + 0.1 (и12 + и^))йї, где переменные состояния х1, х2 и х3, х4 - нормированные
о
концентрации и температуры в реакторах 1 и 2 соответственно.
Применяя разложение в ряд Тейлора переменных системы с запаздыванием, в [5] была получена аппроксимация без запаздывания в виде
х1 (0 = /1, х2 (ї) = /2, х (0) =( 0.15, -0.03,0.10,0,0)г,
х (ї) = х — хз — тЛ — Щ + 0.25, їє [0,2],
.^4 (ї) = х2 — 2 х4 — и (х4 + 0.25) — т /2 + Щ — 0.25,
х5 (ї) = х12 + х2 + х3 + х2 + 0.1 (и2 + и2).
Л = 0.5 — х1 — R1,
/2 = —2 (х2 + 0.25) — и (х2 + 0.25) + Щ,
Я1 =( х1 + 0.5) ехр
(
25 х
2
V х2 + 2
Я2 =( х3 + 0.25) ехр
( 25 х4 '
V х4 + 2,
и далее с использованием методов итеративного динамического программирования были найдены кусочно-постоянные управления, представленные на рис. 2 (б), с 30 моментами переключений. Достигнутое при этом значение функционала ] = = х5 (2) = 0.02327 .
С применением предложенного в данной статье алгоритма была поставлена задача поиска кусочнолинейного управления с нефиксированными моментами переключений. В качестве начальных точек переключений были выбраны моменты т1 = 1 (для управления и1), т2 = 0.5, т3 = 1.5 (для и2). В ходе вы-
полнения программы были установлены оптимальные моменты переключений: т* = 0.86, т* = 0.47, т* = 1.49. При этом было достигнуто значение функционала = 0.02385 . На рис. 2 и 3 представлены полученные результаты.
А
Рис. 3. Графики траекторий Таким образом, с помощью предложенного алгоритма удалось найти управление простой структуры с меньшим числом точек переключений, чем в работе [5], и с достаточно близкими значениями функционалов качества.
Задача 2. Рассмотрим управляемый процесс, который описывается системой обыкновенных дифференциальных уравнений с начальными условиями
X (г) = и (г), Х2 (г) = и2 (г) + х\ (г), х (0 ) = (1,0 )Т ,1 и I < 2, г е[0,2], и фазовым ограничением в виде закрепленного правого конца х (2) = 0. Требуется найти кусочнолинейное управление с нефиксированным моментом переключения, доставляющее минимум функционалу = х2 (2) и удовлетворяющее фазовому ограничению в конце процесса.
Известно точное решение поставленной задачи: (Хс1,Х2,и) =
г 4-г 2г
е - е е
8-2г
+ е -1 ег + е
-1 + е4
(-1 + е4)
-1 + е4
^0( X (2)) = 1.0373. С использованием описанного алгоритма производился поиск управления в нескольких подобластях. Представим результаты, относящиеся к той подобласти, в которой было найдено лучшее решение. В качестве начальных параметров управления был выбран вектор ^ = (-1,0,0,0)Т , начальной точкой переключения был принят момент т1 = 1, при этом отклонение X (2) от нуля составляло 0.5.
* / ч Т
В результате работы программы получены параметры управления ^ =(-1.19, -0.19, -0.19, -0.19) , момент переключения сдвинулся в точку т* = 1.1959 , а отклонение х (2) от нуля уменьшилось до 0.01. Значение критерия составило ^0 = 1.0696.
Таким образом, представленный алгоритм позволил уменьшить отклонение и «попасть» в фазовое ограничение с заданной точностью. На рис. 4 представлены графики найденных управлений и соответствующих им траекторий.
г
2
О 0.4 0.8 1.2 1.6 2 о 0.4 0.8 1.2 1.6 2
t t
Рис. 4. Оптимальный процесс
5. Пользовательский интерфейс программного комплекса
Алгоритм решения поставленной задачи оптимального управления реализован в рамках Т-системы с открытой архитектурой [6] на языке программирования T++, параллельном диалекте языка C++. Важным преимуществом данной системы параллельного программирования является то, что в ней реализована концепция автоматического динамического распараллеливания программ. Это позволяет автоматически, т.е. без участия программиста, в динамике выполнять распараллеливание кусков кода программы, планировку вычислений, распределение данных по узлам кластера и пр.
Для организации удобного и интерактивного взаимодействия пользователя с кластерным вычислительным устройством (КВУ) помимо консольного интерфейса был реализован графический интерфейс пользователя. Среди поддерживаемых его функций можно отметить следующие [7]: аутентификация пользователя на суперЭВМ; задание правых частей управляемой системы, терминального функционала и входных параметров задачи; выбор типа искомого управления; запуск и прерывание счета задачи на КВУ; обмен входными/выходными файлами по протоколу sftp; вывод результатов в виде текстовых файлов и графиков.
Заключение
Как показано в статье, предложенный алгоритм может быть успешно применен к задаче поиска управления простой структуры (кусочно-линейного с подвижными точками переключений) для непрерывных динамических систем. Соответствующая параллельная Т-программа может быть применена к поиску кусочно-линейных управлений для различных задач оптимального управления с фазовыми ограничениями.
Литература
1. Фесько О.В. Параллельный алгоритм оптимизации динамических систем на множестве кусочно-линейных управлений // Вестник Бурятского государственного университета. 2010. Вып. 9: Математика и информатика. С. 79-87.
2. Черноусько Ф.Л., Колмановский В.Б. Вычислительные и приближенные методы оптимального управления // Итоги науки и техн. Сер. мат. анал. 1977. № 14. C. 101-166.
3. Teo K.L., Goh C.J., Wong K.H. A Unified Computational Approach to Optimal Control Problems. - New York: Longman, 1991. - 356 p.
4. Craven B.D. Control and Optimization. - London: Chapman & Hall, 1995. - 200 p.
5. Rein Luus. Iterative Dynamic Programming. - Boca Raton: Chapman & Hall/CRC, 2000. - 344 p.
6. Moskovsky A., Roganov V., Abramov S. Parallelism granules aggregation with the T-system // 9th International Conference on Parallel Computing Technologies. 2007. P. 293-302.
7. Фесько О.В. Программный комплекс оптимизации динамических систем на множествах управлений // Программные системы: теория и приложения: электрон. научн. журн. 2010. № 4(4). C. 53-66.
Фесько Олесь Владимирович, аспирант, Институт программных систем им. А.К. Айламазяна РАН, e-mail: [email protected]
Fesko Oles Vladimirovich, postgraduate, Ailamazyan Program Systems Institute of RAS.