Вычислительные технологии
Том 18, № 2, 2013
Алгоритм численного решения
многоэкстремальных задач оптимального управления
>к
с параллелепипедными ограничениями*
Т. С. Здроднюк
Институт динамики систем и теории управления СО РАН, Иркутск, Россия
e-mail: [email protected]
Представлен алгоритм поиска глобального экстремума в задаче оптимального управления, использующий свойство связности множества достижимости управляемых динамических систем. Приводятся результаты тестирования программной реализации метода и его модификаций на коллекции многоэкстремальных тестовых задач.
Ключевые слова: задача оптимального управления, глобальный экстремум, криволинейный поиск.
Введение
Большинство работ по оптимизации динамических систем посвящено поиску локального экстремума целевых функционалов. Разработка теоретических подходов к исследованию невыпуклых задач оптимизации динамических систем проводилась рядом специалистов, среди которых Р. Беллман, В.А. Батурин, В.И. Гурман, В.А. Дыхта, Ю.Г. Евтушенко, В.Ф. Кротов, В.А. Срочко, А.С. Стрекаловский, Р.П. Федоренко, C.A. Floudas, I.L. Lopez Cruz, K.L. Teo и др. Однако алгоритмов поиска решения нелинейных задач оптимального управления (ЗОУ) и их программных реализаций к настоящему времени известно немного. Развитие генетических алгоритмов для задач этого типа хорошо представлено в [1], разработка и реализация подходов к решению многоэкстремальных задач оптимального управления на протяжении ряда лет ведётся А.Ю. Горновым [2].
Традиционно методы решения невыпуклых задач оптимизации включают разделённые "глобальный" и "локальный" этапы, ориентированные соответственно на поиск приближения к решению во всем исследуемом пространстве и на локальное уточнение полученного на первом этапе результата [3]. Сочетание различных этапов в алгоритмах и порядок их чередования определяют конкретную вычислительную схему. В настоящей работе предлагается метод, позволяющий на каждой итерации помимо глобального "сканирования" допустимой области находить в окрестности рекордного управления новые приближения, реализующие локальное улучшение целевого функционала. Рассматриваемый алгоритм предполагает решение на каждой итерации вспомогательной задачи поиска глобального экстремума одномерной функции, определяемой вдоль сканирующих кривых. В силу возможности аппроксимации множества достижимости данными кривыми алгоритм назван методом "криволинейного поиска" (КП). Построенные
* Работа выполнена при финансовой поддержке РФФИ (грант № 12-07-33021) и Междисциплинарного интеграционного проекта СО РАН № 83.
кривые согласно известному свойству связности будут, очевидно, лежать внутри множества. Связность множества достижимости подразумевает невозможность его представления в виде объединения непустых замкнутых множеств. В задачах оптимального управления при выполнении определённых условий (функции, входящие в постановку ЗОУ, непрерывны и липшицевы по совокупности переменных) множество достижимости является связным. Отметим, что идея использования этого свойства для построения методов оптимизации предложена А.Г. Ченцовым (устное сообщение). В представленном исследовании разработано и протестировано несколько вариантов алгоритма КП, позволяющего решать многоэкстремальные задачи оптимального управления с прямыми ограничениями на управление.
1. Постановка многоэкстремальной задачи оптимального управления
Основным объектом исследования являются задачи оптимального управления с парал-лелепипедными ограничениями на управление. Система, описывающая управляемый динамический процесс, может быть нелинейной, а целевой функционал — невыпуклым, что приводит к возникновению локальных экстремумов в ЗОУ. Управляющие функции в рассматриваемых задачах принадлежат классу кусочно-непрерывных функций и являются достаточно гладкими.
Стандартная постановка задачи выглядит следующим образом:
Задача оптимального управления состоит в поиске управления и* (¿), удовлетворяющего прямоугольным параллелепипедным ограничениям (2) и доставляющего минимум терминальному функционалу (3), зависящему от траектории системы (1) в конечный момент времени ¿1. Вектор-функция f (х,и,£) и скалярная функция <^(х) предполагаются непрерывно дифференцируемыми по всем аргументам, кроме ¿.
Под многоэкстремальными ЗОУ будем понимать задачи, в которых существуют допустимые управления и1 = и1^), и2 = и2(£) из множества (2), приводящие к нарушению условия выпуклости функционала I (и): I (и1 + в (и2 — и1)) < I (и1) + в(1 (и2) — I (и1)), в е [0,1] [4, с. 216].
2. Модификации метода "криволинейного поиска"
Предлагаемый в работе метод представляет собой схему последовательных вариаций в пространстве управлений, использующую комбинирование рекордного и вспомогательных управлений с проецированием на допустимый параллелепипед. Для комбинации управлений используются полиномы различных степеней (построение вариации управления в виде полинома первой степени требует наличия одного вспомогательного управления, второй степени — двух и т.д.). В терминальное фазовое пространство вариации управления проецируются в виде кривых, вдоль которых осуществляется поиск
х = f (х,и,£), х(£0) = х0, £ е Т = [¿0
(1)
и = {и(£) е Яг : и < и(£) < и}, I(и) = ^(х(£1)) ^ шт.
(3)
наименьшего значения функционала на каждой итерации. После выполнения заданного числа итераций рассматриваемого метода (стадия I) проверка точности достижения локального экстремума выполняется стандартным алгоритмом, в качестве которого использована эталонная комбинация методов сопряжённых градиентов и приведённого градиента (стадия II).
Результативность алгоритмов поиска минимума в многоэкстремальных задачах оптимального управления зависит от плотности покрытия допустимого множества стартовыми управлениями. Алгоритмы генерации начальных точек для методов решения многоэкстремальных ЗОУ должны удовлетворять следующим критериям: генерируемые управления носят случайный характер, допустимы (лежат внутри параллелепи-педных ограничений), принадлежат классу кусочно-непрерывных функций и составляют достаточно представительное множество [2]. Под этими требованиями понимается возможность построения кусочно-непрерывных функций, удовлетворяющих определённым ограничениям и проходящих через любую заранее заданную точку допустимого множества. В работе исследованы и реализованы алгоритмы, позволяющие генерировать управления в виде релейных функций с фиксированным или случайным числом точек переключения, сплайн-функций, кусочно-линейных и "табличных" функций (рис. 1).
Основой для построения алгоритма были три первых способа генерации управлений. Формирование управляющих воздействий в "табличном" виде (рис. 1, г), при выборе которого в каждом узле сетки дискретизации принимается случайное значение из допустимого интервала, признано неэффективным и не включено в отобранный набор вспомогательных алгоритмов.
Формирование модификаций метода криволинейного поиска основано на использовании трёх различных способов генерации вспомогательных управлений и вариантов построения вариаций управления. Одно такое управление и = И^) позволяет получить линейную вариацию управления и1(а, ¿) = а(и1 — игес) + игес, а € [0,1], два — и1 = И^) и И2 = и2(£) — квадратичную И2(а, ¿) = а2((и1 + И2)/2 — игес) + а((И2 — и1)/2) + игес, а € [—1,1], три — и1 = и1(^), и2 = И2(£), Из = из(£) — кубическую вариацию Из(а,£):
Из(а, ¿) = а3((—«1 — 3и2 + «з)/6 + 0.5«гес) + а2((«1 + «2)/2 — «гес) + +а((—2и1 + 6И2 — Из)/6 — 0.5игес) + игес, а € [—1, 2].
а б в г
Рис. 1. Примеры генерируемых управлений в виде релейных функций (а), сплайн-функций (б), кусочно-линейных (в) и "табличных" (г) функций
Вариации управления мг(а,£), г = 1, 3, при определённых значениях параметра а (например, м2(—1,£) = -1, м2(1,£) = -2) совпадают со вспомогательными управляющими воздействиями -, = 1, 3, при этом м1(0,^) = и2(0, ¿) = -¿¿з(0, ¿) = мгес- Здесь под рекордным управлением игес понимается управление, доставляющее минимальное значение функционала из известных на текущей итерации алгоритма. Для каждого случая реализован свой вариант алгоритма КП: в первом используется линейный способ комбинирования рекордного и вспомогательного управлений (вариант 1), во втором — квадратичный (вариант 2) [5], в третьем — кубический (вариант 3). Приведём вариант построения кубических вариаций управления с использованием трёх вспомогательных управляющих воздействий.
Алгоритм "криволинейного поиска" (вариант 3).
1. Выбирается начальное управление мо(£) € и, £ € Т = [¿о,^].
2. Задаются алгоритмические параметры: Же — число итераций метода "криволинейного поиска", Жр — стартовое число проб одномерного поиска.
3. Вычисляется значение функционала I(и0), выбираемое на данном этапе в качестве рекордного 1гес = I(ио), Мгес(£) = -о(£). _
4. На к-й итерации (к > 0) для всех г = 1, 3.
4.1. Генерируется псевдослучайное вспомогательное управление = € и, £ € Т = [£оЛ].
4.2. Если I(г^) < 1гес, то 1гес = I(-г) и игес(£) = -г(£). Переход на шаг 9.
5. Формируется управление й3(а,£):
3 I —-1 — 3-2 + -3 \ 2 / -1 + -2
из(а, t) = а ^-6--+ 0.5 ' MrecJ + а ^-^--UrecJ +
2u1 +6^2 - И3 „ _ \ . ^ Г 1 Ol
+а ( -6--0.5 ■ U-ec ) + Urec, а G [-1, 2],
такое, что u3(0, t) = urec, U3(—1, t) = U1, u3(1,t) = U2, u3(2, t) = U3.
6. Вариация u3(a,t) проецируется на допустимую область:
если И3(а, t) < и, то полагается И3(а, t) = и, t G T = [to, t1]; если u3(a,t) > И, то полагается u3(a,t) = И, t G T = [t0,t1].
7. Решается задача min I(u3(a,t)).
«е[-1,2|
8. Если I(u3(a*,t)) < Irec, то Irec = I(u3(a*,t)) и urec = u3(a*,t).
9. Запоминаем Irec и urec = urec(t). Итерация завершена.
3. Тестирование программной реализации метода "криволинейного поиска"
Для исследования свойств предложенных алгоритмов и сравнения с существующими подходами к решению задач рассматриваемого типа (с методом случайного мульти-старта, см., например, [6, 7]) проведено тестирование программной реализации метода КП. Использовалась тестовая коллекция ЗОУ [8], в которую вошли опубликованные в литературе задачи управления невыпуклыми динамическими системами и примеры,
сформированные нами на основе разработанных ранее методик генерации тестов [2]. Приведём три тестовые многоэкстремальные задачи с невыпуклым множеством достижимости.
3.1. Модельная задача 1 (задача оптимального управления осциллятором Даффинга)
В статье [9] управляемый осциллятор Даффинга описывается нелинейным дифференциальным уравнением X + и2х + £хз = и, которое эквивалентно системе X 1 = х2, х2 = —и2XI — £х! + и. Заданы значения траектории в начальный момент времени XI(¿0) = 1.5, х2(¿0) = —1.5. Необходимо найти управление, удовлетворяющее ограничениям и € [—10,10] и доставляющее минимум следующему целевому функционалу:
I(u) = (ti) + (ti) + 0.5 у u2dt ^ min.
to
Для представления функционала в терминальном виде используется стандартный приём введения новой фазовой координаты x3: x3 = u2, x3 (t0) = 0. Интервал изменения времени и значения параметров модели и, е выбраны таким образом, чтобы в задаче появился дополнительный экстремум: t0 = 0, ti = 1.5, и = 1, е = 3.
Процесс "покрытия" кривыми множества достижимости при решении задачи показан на рис. 2. Точка, в которой достигается глобальный экстремум, выделена тёмным цветом, локальный экстремум — светлым. Вид множества достижимости получен путём предварительного исследования задачи с применением метода случайного муль-тистарта. Генерируемые с помощью предложенного алгоритма кривые с ростом числа итераций всё плотнее покрывают это множество. На данном этапе характеристика аппроксимации оценивается только качественно. Возможность более строгой оценки реализуема при появлении новых теоретических подходов к анализу множества достижимости невыпуклых задач рассматриваемого класса.
Для получения оптимального значения функционала, равного 3.193944, потребовалось решение 2784 задач Коши за общее процессорное время 1 с (метод 4, табл. 1). При этом улучшение функционала выполнялось на каждой итерации метода. В табл. 1
15 —I 1050-5-10-
.....
15-| х-> 1050-5-
—Г -2
1—i—^ -ю
0 2 4 -4
-1-1-1-1-1-1-1
-2 0 2 4
15-1 1050-5-10--
-4
-/■'■'^iv
П-1-1-'
0 2
a
в
Рис. 2. Аппроксимация множества достижимости кривыми в модельной задаче 1 в результате выполнения 50 (а), 100 (б) и 1000 (в) итераций метода КП
Таблица 1. Результаты численного решения задачи 1 с помощью программной реализации метода КП (вариант 2)
Оптимальное Число Количество Процессорное
Метод генерации / значение задач итераций время
Вид управлений функционала I* (и) Коши с улучшением (из 100) решения, с
Метод 1 /
Релейные функции
со случайным числом
точек переключения 3.193944 3548 95 1
Метод 2 /
Релейные функции
с фиксированным числом
точек переключения 3.193946 2895 100 1
Метод 3 /
Сплайн-функции 3.193945 2837 99 1
Метод 4 /
Кусочно-линейные функции 3.193944 2784 100 1
Метод 5 / Случайный выбор
способа генерации управле-
ний на каждой итерации 3.193944 3443 100 1
приведены результаты решения рассмотренной тестовой задачи, полученные с использованием разных способов генерации вспомогательных управлений.
3.2. Модельная задача 2
Следующая многоэкстремальная задача описывается системой из двух нелинейных дифференциальных уравнений х 1 = 1 — х2 + 0.5х2, х2 = х1 Необходимо найти оптимальное управление, удовлетворяющее ограничениям —2 < -(£) < 2 при всех £ € [£о,£1 ] = [0,1.7], и соответствующие ему траектории, доставляющие минимум терми-
Рис. 3. Аппроксимация множества достижимости кривыми в модельной задаче 2 в результате выполнения 50 (а), 100 (б) и 1000 итераций (в) метода КП
а
в
нальному функционалу I(u) = x1(t1) — x2 (t1)+ x1(t1)x2(t1) — min и в начальный момент времени принимающие значения x1 (t0) = 0.5, x2(t0) = —0.2.
На рис. 3 показаны аппроксимация множества достижимости, полученная на разных этапах метода КП (вариант 3), и точки, в которых достигаются локальные и глобальный экстремумы. С ростом числа итераций метода КП качество аппроксимации повышается. Минимальное значение функционала, оптимальные траектории и управление приведены в табл. 2.
3.3. Модельная задача 3
Динамический процесс описывается системой дифференциальных уравнений x1 = u, x2 = — cos x1 — t2u с заданными начальными условиями x1 (t0) = x2(t0) = 0. Необходимо среди допустимых управлений, принадлежащих множеству U = {u(t) Е R1 : —20 < u(t) < 20}, найти управление u*(t), минимизирующее функционал I(u) = x2(t1) — min на временном интервале T = [0,1]. Результаты численного решения модельной задачи 3 представлены на рис. 4 и в табл. 2.
Таблица 2. Результаты численного решения модельных задач 1-3 с помощью программных реализаций метода КП и его модификаций
Характеристики численного решения
Модельная задача
2
Вариант метода КП
Метод генерации управлений
Рекордное значение целевого функционала I (и) (стадия I)
3.206727
-5.058703
-6.068569
Оптимальное значение целевого функционала I* (и) (стадия II)
3.193944
-5.062501
-6.862119
I* (и) (метод случайного мультистарта)
3.192937
-5.062546
-6.863592
Число задач Коши
2784
4334
61202
Количество итераций метода КП с улучшением (из 100)
100
15
99
Процессорное время решения задачи (с)
Оптимальные траектории и управление ---x1
---Х2
---u
и, X ;
! ^ -""
У \
k'' *
____ ч \
! \
t
20-
10
0 0.4 0.8 1.2 1.6
-10-
х, г и
/ г
Т" * г > _
t
0.25 0.5 0.75
1
3
2
3
1
4
2
3
8
9
1
Рис. 4. Аппроксимация множества достижимости кривыми в модельной задаче 3 в результате выполнения 50(а), 100 (б) и 1000 итераций (в) метода КП
4. Результаты вычислительных экспериментов
Расчёты проводились на персональном компьютере с процессором Intel Core 2 Quad 2.33 ГГц и объёмом оперативной памяти 8 Гб. В табл. 2 приведены результаты решения многоэкстремальных тестовых задач 1-3 с помощью программных реализаций трёх вариантов метода КП (с использованием линейных, квадратичных и кубических вариаций управления).
Выбраны наиболее эффективный по сумме показателей способ генерации вспомогательных управлений и вариант метода КП для каждого теста. Предпочтение отдавалось расчёту, в котором улучшение значения функционала происходило на наибольшем числе итераций и за меньшее решённое число задач Коши. В последней строке табл. 2 приведены оптимальные траектории и управление в рассмотренных тестовых задачах.
Заключение
Использование разных алгоритмов генерации стартовых и вспомогательных управлений позволило повысить эффективность метода "криволинейного поиска" за счёт учёта вида управляющих воздействий и применения линейных, квадратичных и кубических вариаций. В первом тестовом примере наилучший результат получен с помощью метода генерации управлений в виде кусочно-линейных функций, во втором — с помощью вспомогательных управляющих функций релейного типа, в третьем — с использованием сплайн-функций. В модельной задаче 2 улучшение значения функционала произошло только на 15 итерациях (см. табл. 2). Это связано с тем, что хорошее приближение к оптимальному решению удаётся найти достаточно быстро.
Из всех реализованных вариантов метода КП на тестовых примерах лучшие результаты получены с использованием варианта 2. Причиной этому мог стать тот фактор, что построение кубической вариации приводит к излишнему расходованию вычислительных ресурсов в результате решения большего числа задач Коши и генерации трёх вспомогательных управлений на каждой итерации (вместо двух — во втором варианте, и одного — в первом). Использование же линейных вариаций не всегда позволяет получить хорошие кривые в пространстве одномерного поиска, что приводит к низкой
точности по функционалу, однако в ряде случаев эту проблему можно преодолеть путём увеличения числа итераций.
Метод "криволинейного поиска" и его модификации реализованы на языке С и включены в ядро программного комплекса для решения многоэкстремальных задач оптимального управления OPTCON-III [10]. С помощью представленного подхода решено 20 тестовых задач. Во всех рассмотренных задачах сравнение полученных решений с опубликованными расчётами позволяет сделать вывод о достаточно высокой эффективности и надёжности предложенного алгоритма.
Список литературы
[1] Lopez Cruz I.L. PhD-Thesis: Efficient Evolutionary Algorithms for Optimal Control. Wageningen Univ., the Netherlands, 2002. 122 р.
[2] Горнов А.Ю. Вычислительные технологии решения задач оптимального управления. Новосибирск: Наука, 2009. 279 с.
[3] Zhigljavsky A., Zilinskas A. Stochastic Global Optimization. Springer Science-Business Media, 2008. 262 p.
[4] Васильев О.В. Лекции по методам оптимизации. Иркутск: Иркутский гос. ун-т, 1994. 344 с.
[5] Горнов А.Ю., Зароднюк Т.С. Метод "криволинейного поиска" глобального экстремума в задаче оптимального управления // Современные технологии. Системный анализ. Моделирование. 2009. № 3. С. 19-27.
[6] Горнов А.Ю. Реализация метода случайного мультистарта для задачи оптимального управления // Ляпуновские чтения: Тез. докл. Иркутск: ИДСТУ СО РАН, 2003. С. 38.
[7] Gornov A.Yu., Zarodnuk T.S. Optimal control problem: Heuristic algorithm for global minimum // Proc. of the Second Intern. Conf. on Optimization and Control. Ulanbaatar, Mongolia, 2007. P. 27-28.
[8] Gornov A.Yu., Zarodnyuk T.S., Madzhara T.I. et al. A collection of test multi-extremal optimal control problems // Optimization, Simulation and Control. Springer Optimization and Its Appl. 2013. Vol. 76. P. 257-274.
[9] El-Gindy T.M., El-Hawary H.M., Salim M.S., El-Kady M. A Chebyshev approximation for solving optimal control problems // Comput. Math. Appl. 1995. Vol. 29, No. 6. Р. 35-45.
[10] Горнов А.Ю. Зароднюк Т.С. Разработка информационно-вычислительной системы для экспертной поддержки пользователей математических пакетов при численном решении задач оптимального управления // Современные технологии. Системный анализ. Моделирование. 2006. № 4. С. 114-119.
Поступила в 'редакцию 9 декабря 2010 г., с доработки — 28 февраля 2013 г.