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

Вычислительные технологии

Том 13, № 4, 2008

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

*

терминальными ограничениями А. Ю. Горнов

Институт динамики систем и теории управления СО РАН, Иркутск, Россия

e-mail: gornov@ok.ru

A set of numerical methods for optimal control problems with terminal restrictions is discussed. Details of the algorithm constructions are described. Numerical technology based on the proposed algorithms was implemented as a software complex for dynamical optimization problems.

Введение

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

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

1. Задача оптимального управления с терминальными ограничениями

Пусть имеется управляемый процесс, описываемый системой обыкновенных дифференциальных уравнений с начальными условиями x = f (x(t),u(t),t), x(t0) = x0, определенный на интервале T = [t0,ti]. Здесь t — независимая переменная (чаще всего, время), x(t) — n-вектор фазовых координат, u(t) — r-вектор управляющих функций, n-вектор-функция f(x(t),u(t),t) предполагается непрерывно дифференцируемой по

* Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (гранты № 06-07-89215, 07-07-00265a, 08-07-00172) и РГНФ 07-02-12112в.

© Институт вычислительных технологий Сибирского отделения Российской академии наук, 2008.

всем аргументам, кроме Ь. Начальный фазовый вектор х(Ь0) = х0 задан. Допустимыми будем называть управляющие функции и(Ь) £ и С Ег для Ví, где и — выпуклое замкнутое множество из соответствующего пространства.

Задача оптимального управления со свободным правым концом траектории (ЗОУСК) состоит в поиске вектор-функции и(Ь), удовлетворяющей ограничениям и доставляющей минимум функционалу 10(и) = <£>0(х(Ь\)). В задаче оптимального управления с терминальными ограничениями присутствуют также ограничения вида /3- (и) = <^3(х(Ь\)) = (<)0, ] = 1,т. Все функции ^(х(Ь\)), ] = 0,т, предполагаются непрерывно дифференцируемыми по всем аргументам.

2. Условия оптимальности для ЗОУТО

Принцип максимума для ЗОУТО имеет следующий вид (см., например, [1]): если и*(Ь) — оптимальное управление, то существуют двойственные переменные у3-, ] = 1,т, такие, что функция Гамильтона—Понтрягина Н(р,х,и,Ь) в точке и*(Ь) достигает максимума. Сопряженные переменные Рг(Ь), г = 1,и здесь должны удовлетворять сопряженной системе вида

дН

Р

dx

д'Мх

р(к) =--дх--^

3=1

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

3. Метод внешних штрафных функций

Метод штрафов является, по-видимому, старейшим из численных методов условной оптимизации (см., например, [2]). Идея его проста: заменить условную задачу несколькими безусловными, последовательность решений которых дает решение исходной задачи. Богатый опыт применения метода штрафов создал ему славу простого и надежного метода; хорошо известны и его недостатки — грубость расчетов и повышение трудности вспомогательных задач при движении к экстремуму. Создание пакетов программ оптимизации, реализующих, как правило, набор методов, привело к новому взгляду на класс методов штрафных функций как на средство, позволяющее получить хорошее начальное приближение для более точных методов.

_ т

Введем штрафной функционал вида I (и) = 10(и) + ^ 3 132(и). Выбрав и0(Ь), зада-

j=i

дим коэффициенты штрафа sK , j = 1,m, и, используя один из методов для ЗОУСК, решим задачу min I(u) = I(uK+1). Затем увеличим коэффициенты штрафа и снова решим ЗОУСК и т. д. Критерием остановки служит критерий для алгоритмов безусловной задачи. Величины 2sKIj (uK), j = 1,m, являются оценками оптимального значения двойственных переменных yj, на каждой итерации они запоминаются и, после окончания работы алгоритма, могут быть использованы в качестве первого приближения для других методов.

4. Метод линеаризации

Идея методов линеаризации проста и естественна: в окрестности имеющегося управления задача линеаризуется, и, с использованием решения линейной задачи, строится новое приближение к оптимуму нелинейной. Существует два подхода к построению методов линеаризации, отличающихся ограничениями на вариацию. Подход, предполагающий введение во вспомогательную задачу ограничения по норме ||5 u|| < c, где 5u — вариация оптимизируемых переменных, (здесь c — параметр алгоритма), весьма глубоко проработан в известной монографии [1]. Другой способ — введение в функционал штрафной добавки (5 u,5u) — рассматривается в [3]. Ниже приводится вариант метода линеаризации для ЗОУТО, построенный по типу методов Пшеничного.

Сформулируем линейную задачу в вариациях:

ti

J VI0(uK) 5udt ^ min,

to

ti

Ii(uK) + f VIJ(uK) 6udt = = l,m.

to

Запишем для этой задачи функцию Лагранжа, добавив слагаемое штрафа:

¿1

(5u,5u) + VIo(uK) 5u + VivIj(uK $ u) V i=i

dt.

Ь{8и,у) = у

¿0

Здесь V — алгоритмический параметр, у — двойственные переменные. Из условия

дЬ ( т \

оптимальности ———- = 0, выразив вариацию 8ик = — У10 (ик) + ^ уVI) (ик) V

б {Ьи) у = )

и подставив ее в уравнения линейной задачи, получим условия для определения у^, ] = 1,т, в виде системы линейных уравнений Ау = Ь, где

.К\ЪТ К - т („.к\ I / У7Г („.к\ът („.к\

aij = vJ VI(uK)VIj(uK) dt, bj = -Ij(uK) + vJ VI0(uK)VIj(uK) dt, i,j = l,m.

to to

Решив систему и получив у^, ] = 1,т, вычислим вариацию 5пк. Далее, следуя Б.Н. Пшеничному, сформулируем недифференцируемую функцию выигрыша

Fs (uK + a5nK = Io(uK + a5nK) + в max\Ij (uK + a5nK )| , j = 1,m. Штрафной коэффициент в будем вычислять с помощью двойственных перемен-

j I

т

ных у: в = 2^2 \уз |. Сходимость алгоритмов такого типа для задачи математического

i=i

программирования строго обоснована в [3].

5. Метод модифицированной функции Лагранжа

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

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

Рассмотрим схему метода множителей Лагранжа, объединяющую оба этапа в рамках одного алгоритма. Схема представляет собой модификацию способа пересчета двойственных переменных и коэффициентов штрафа, описанного в [5, с. 131] для задачи математического программирования.

Рассмотрим модифицированную функцию Лагранжа следующего вида:

тт

М(и, у, з) = 1о(и) + ^ Уз3(и) + 5] 831!3(и)-

3 = 1 3 = 1

Здесь Sj, j = 1,m, — коэффициенты штрафа (или, в другой терминологии, коэффициенты регуляризации).

Алгоритм имеет следующий вид.

1. Выбираем начальное приближение u0(t), yjj, s°, j = 1,m.

2. C имеющимися yK, sK, используя uK(t) в качестве начального приближения, решаем задачу

min M(u, yK, sK) = M(uK+1,yK, sK).

3. Вычисляем новое приближение по двойственным переменным

yK+1 = yK+1 + 2sKIj(uK+1), j = 1,m.

4. Определяем относительное изменение двойственных переменных

\yK+1 - yK1

A ymaX = max 1 | \ K+1\ , j = 1,m.

1 + \y

j

5. Если Аутах > А (А — параметр), то увеличиваются все коэффициенты штрафа

з?+1 = 10 3?, 3 = Тт-

6. Если А утах < А, то увеличиваются те коэффициенты штрафа, которые не позволили существенно уменьшить соответствующие невязки:

= , з? 10, \1з(ик+1)\> 0.25\1з(ик)|

jK

sK, \lj(uK+1)\ < 0.25 \lj(uK)\ .

7. Переходим на шаг 2.

Алгоритм завершен.

Таким образом, сначала каждый пересчет двойственных переменных сопровождается ростом коэффициентов штрафа — "работает" метод внешних штрафных функций; затем, по мере стабилизации y, штрафы увеличиваются только при "упрямых" ограничениях; и, в конце концов, sj, j = 1,m, стабилизируются и алгоритм превращается в метод модифицированной функции Лагранжа. Попутно в автоматическом режиме решается вопрос получения двойственных приближений и установки приемлемых значений коэффициентов регуляризации. Такой алгоритм может оказаться особенно удобным в случаях, если необходимо решать задачи в автоматическом режиме — без вмешательства пользователя в процесс вычислений.

Критерием остановки в такого типа алгоритмах служат критерии выхода во вспомогательной ЗОУСК при одновременном выполнении условия стабилизации двойственных переменных: A ymax < А. Обоснование сходимости методов модифицированной функции Лагранжа для задачи математического программирования можно найти, например, в книге [5].

6. Метод точных дифференцируемых штрафных функций

Методы точных дифференцируемых штрафных функций [5, с. 224] сравнительно недавно изобретены для задачи математического программирования.

Рассмотрим недифференцируемую точную штрафную функцию N(u,c) = I0(u) + c max |Ij (u)| , j = 1,m. Для алгоритмов последовательной безусловной минимизации, построенных на основе такой функции, по аналогии с конечномерной оптимизацией, можно ожидать выполнения следующего свойства: существует с > 0 такое, что для получения решения с требуемой точностью достаточно только один раз минимизировать N (u,c) = Io(u) + с max 11 j (u)|. Этот чрезвычайно привлекательный конструкционный элемент (обычно для получения решения приходится решать десятки и сотни подобных задач!), к сожалению, обладает и принципиальным дефектом: вспомогательные задачи становятся негладкими. Алгоритмы для негладких задач оптимального управления развиты значительно слабее, чем для гладких, и пока не удается найти на этом пути эффективные вычислительные схемы.

Попытки преодолеть барьер негладкости, сохранив при этом эффективное свойство метода, привели к созданию точных дифференцируемых штрафных функций [6, 7]. Основная идея этого подхода заключается в построении механизма высокоточной оценки двойственных переменных с использованием производных функционалов ограничений. Рассмотрим функцию свертки типа

m m

Т (u,y,c) = I0(u) + £ yj (u)Ij (u) + ^I2(u), j=i j=i

где y(u) = -[VK (u)'VK (u)]-1VK (u)'VIo (u), VK (u) = {VIi (u),..., VIm(u)}.

Для эффективности такого метода при решении ЗОУТО требуется:

1) знание порогового значения с;

2) наличие гладких вторых производных функционалов в задаче;

3) невырожденность VK(u) в точке оптимума.

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

Алгоритм имеет следующий вид.

1. Выбираем начальное приближение u0(t), с0.

2. Вычисляем yK(uK) = -[VK(uK)'VK(uK)]-1VK(uK)'VIo(uK).

3. C имеющимися yK, cK, используя uK(t) в качестве начального приближения, решаем задачу

• гт1/ K K\ гт1/ K+1 K K\

mint (u,y ,c ) = t (u + ,y ,c ).

4. Вычисляем новое приближение по двойственным переменным

yK+1 (uK+1) = -[VK (uK+1 )'VK (uK+1)]- 1VK (uK+1 )'VIo(uK+1).

5. Определяем относительное изменение двойственных переменных

л iyK+1 - yfl • тА ymax = max —-1 K+11 , j = T,m.

т + \У]

6. Если Аутах > А (А — параметр), то увеличивается коэффициент штрафа

ск+1= 2ск.

7. Переходим на шаг 2. Алгоритм завершен.

Обоснование сходимости методов точной дифференцируемой штрафной функции можно найти, например, в книге [5].

7. Методы учета терминальных ограничений-неравенств

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

Для задач с ограничениями-неравенствами (х(Ь 1)) < 0, ] = 1,т, основная проблема — сохранение непрерывности вторых производных суммарного функционала. Это свойство требуется для эффективной работы методов со сверхлинейной скоростью сходимости, обычно применяемых для решения вспомогательных задач. Обычно эта проблема преодолевается введением кубических штрафных функций: 1(и) =

т

/о(и) + вк тах{0,1з(и)}3. Формулы пересчета штрафных коэффициентов аналогич-3 = 1

ны формулам, применяемым для ограничений-равенств.

Заключение

Предложенные модификации алгоритмов послужили основой функционального наполнения нескольких программных средств, реализованных автором для задач оптимального управления: пакет прикладных программ МАПР, блок "Нелинейное оптимальное управление" (1981-1989 гг.), программный комплекс OPTCON-DOS (1987-1990), программный комплекс OPTCON-PARALL (1999-2002), вычислительный сервер OPTCON (2000-2003 гг.). С применением предложенных алгоритмов был решен ряд прикладных задач оптимизации из областей динамики полета, космонавигации, робототехники, электроэнергетики, экономики, экологии, социологии.

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

[1] Федоренко Р.П. Приближенное решение задач оптимального управления. М.: Наука, 1978. 488 с.

[2] Еремин И.И. Метод штрафов в выпуклом программировании // Докл. АН СССР. 1967. Т. 173, №4. С. 748-751.

[3] Пшеничный Б.Н. Метод линеаризации. М.: Наука, 1979. 208 с.

[4] Евтушенко Ю.Г. Методы решения экстремальных задач и их применение в системах оптимизации. М.: Наука, 1982. 432 с.

[5] Бертсекас Д. Условная оптимизация и методы множителей Лагранжа. М.: Радио и связь, 1987. 400 с.

[6] DiPillo G., Grippo L. A new class of augmented Lagrangians in nonlinear programming // SIAM J. Control Optim. 1979. N 17. P. 618-628.

[7] Han S.P., Mangasarian O.L. Exact penalty function in nonlinear programming // Math. Programming. 1979. N 17. P. 251-269.

Поступила в редакцию 28 августа 2007 г., в переработанном виде — 29 мая 2008 г.