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

Страница создана Таисия Королева
 
ПРОДОЛЖИТЬ ЧТЕНИЕ
ISBN 5-94052-066-0   ПРОГРАММНЫЕ СИСТЕМЫ: ТЕОРИЯ И ПРИЛОЖЕНИЯ.   ПЕРЕСЛАВЛЬ-ЗАЛЕССКИЙ, 2004

УДК   517.977.58

                                    Д. В. Белышев
   Алгоритм улучшения дискретного управления с
    временным регулятором и его программная
                  реализация

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

Ключевые слова и фразы: алгоритм улучшения управления, дискретные си-
стемы, многометодные процедуры.

                                      1. Введение
    Несмотря на то, что общая задача оптимального управления дав-
но стала классической и предложено много методов ее решения, ра-
бота по созданию новых алгоритмов не теряет своей актуальности,
поскольку конкретные прикладные задачи настолько разнообразны,
что невозможно предложить единственный универсальный подход,
который показал бы себя одинаково эффективно для всех возможных
случаев. Важными для практики являются исследования дискретных
моделей управляемых систем. Во-первых, такие модели часто возни-
кают в изначальных постановках задач при моделировании экономи-
ческих, экологических, социальных процессов; во-вторых, использо-
вание компьютерной техники для расчетов в большинстве случаев
явно или неявно приводит непрерывные постановки к дискретному
виду для применения численных схем.
    Поиск оптимального управления для дискретных систем име-
ет ряд особенностей в сравнении с непрерывными, прежде всего, ––
невыполнение в общем случае принципа максимума Понтрягина как
необходимого условия оптимальности [1, 2]. В силу этого дискретные
системы исследованы меньше, чем их непрерывные аналоги. Одним

     Работа выполнена при финансовой поддержке РФФИ, проекты 03-01-00414,
03-01-06030.
Алгоритм улучшения дискретного управления          350

из наиболее эффективных подходов для решения такого класса за-
дач стало применение достаточных условий оптимальности Кротова
и принципа локализации [4] (с. 17–18). В работах [4–6] предложены
и исследованы итерационные методы улучшения управления, в том
числе и для дискретных систем, в основе которых лежит упомянутый
подход.
    Пусть имеется функционал I : D → R и некоторый элемент mI ∈
D, где D –– множество допустимых решений. Требуется найти лучший
элемент mII ∈ D в том смысле, что I(mII ) < I(mI ). Для этого вводит-
ся функционал J(mI , m) типа нормы близости m к mI (J(mI , mI ) = 0,
J(mI , m) > 0 при m 6= mI ), и рассматривается задача о минимуме
вспомогательного функционала
             Iα = (1 − α)I(m) + αJ(mI , m),    α ∈ [0, 1].
Пусть mα = arg min Iα . Тогда при естественных предположениях о
                  D
непрерывности, существует такое α∗ , что I(mα ) < I(mI ) для всех
α∗ < α < 1, при этом mα → mI (по норме J). Таким образом, изменяя
α от 0 к 1, можно достичь необходимой степени близости mα к mI и
эффективно использовать достаточные условия локального миниму-
ма, которые для задач оптимального управления получаются путем
тeйлоровских представлений конструкций достаточных условий Кро-
това в окрестности mI . В итоге получается алгоритм с параметром α,
играющим роль регулятора, настраиваемого при конкретном приме-
нении, который выбирается так, чтобы разность I(mI ) − I(mα ) была
наибольшей или достаточно близкой к этому, а соответствующее mα
принимается за mII .
     Для непрерывных систем возможен и используется (например,
[4, 7]) другой способ локализации –– варьирование управления, соот-
ветствующего элементу mI , на достаточно малом временном интер-
вале, который выступает в качестве регулятора получающегося при
этом алгоритма. К сожалению, для дискретной системы второй спо-
соб непосредственно неприменим. Однако, оказывается возможно мо-
дифицировать модель так, чтобы она оставалась эквивалентной ис-
ходной и в то же время допускала построение аналога регулятора
второго типа. Это составляет основное содержание настоящей рабо-
ты. Ее результатом служит алгоритм последовательного улучшения
управления с регуляторами обоих типов, реализуемый в нескольких
Алгоритм улучшения дискретного управления                       351

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

                2. Основные соотношения алгоритма
    Рассматривается дискретная управляемая система и функционал
как функция её конечного состояния

(1)
 x(t + 1) = f (t, x(t), u(t)), t ∈ T = {tI , tI + 1, . . . , tF }, x ∈ Rn , u ∈ Rp ,
                 x(tI ) = xI ,    I = F (x(tF )),        F : Rn → R.
Множество её возможных решений m = (T, x(t), u(t)) обозначим D.
Имеется элемент mI ∈ D, и требуется решить задачу улучшения:
найти элемент mII ∈ D, такой что I(mII ) < I(mI ). Последователь-
но решая ее, можно построить итеративный процесс оптимизации
для рассматриваемой модели. Учет ограничений, отличных от ука-
занных, производится по методу штрафов.
    Повторим вкратце вывод основных соотношений алгоритма, сле-
дуя [4]. По принципу локализации с использованием регулятора типа
нормы, будем искать mII как аппроксимацию локальной минимали в
окрестности mI функционала Iα , который зададим в виде
           Iα = Fα (x0 (tF ), x(tF )) = (1 − α)F (x(tF )) + αx0 (tF ),
где x0 (tF ) определяется уравнением
                               1
(2)       x0 (t + 1) = x0 (t) + ||u(t) − uI (t)||2 , x0 (tI ) = 0,
                               2
которое присоединяется к исходной системе (1). Обозначим
                                                   1
                  fˆ(t, x̂, u) = (f (t, x, u), x0 + ||u(t) − uI (t)||2 ).
       x̂ = (x, x0 ),
                                                   2
    Используем известные достаточные условия оптимальности Кро-
това, которые сводят рассматриваемую задачу со связями (1), (2) к
задаче минимума без связей функционала
                                            F −1
                                           tX
                        L = G(x̂(tF )) −           R(t, x̂(t), u(t)),
                                            tI
Алгоритм улучшения дискретного управления                   352

(обобщенного Лагранжиана), где
                 R(t, x̂, u) = ϕ(t + 1, fˆ(t, x̂, u)) − ϕ(t, x̂),

                       G(x̂) = Fα (x̂) + ϕ(tF , x̂) + const,
ϕ(t, x̂) –– скалярная функция (Кротова), которая задается так, что-
бы отброшенные связи выполнялись. Предполагая функции f (t, x, u),
F (x) и ϕ(t, x) дважды непрерывно дифференцируемыми в точках
x̂I (t), uI (t), рассмотрим приращение функционала ∆L в виде:
         ∆L(mI )       = dG + 12 d2 G + o1 (|∆x̂(tF )|2 )−
                        F −1 
                       tX
                                    1                             
                            dR + d2 R + o2 (|∆x̂(t)|2 , |∆u(t)|2 ) ,
                        t
                                    2
                         I

где ∆x̂ = x̂ − x̂ (t), ∆u = u − uI (t). Функцию ϕ зададим линей-
                   I

но-квадратичной ϕ(t, x̂) = ψ 0 (t)∆x0 + ψ T (t)∆x + 21 ∆xT σ(t)∆x. Вы-
берем ψ(t), σ(t) из условий
            h           i        h
       max dR + 21 d2 R = max Rx̂T ∆x̂ + RuT ∆u + 12 ∆x̂T Rx̂x̂ ∆x̂+
(3)    ∆u                    ∆u                  i
                    +∆x̂T Rx̂u ∆u + 21 ∆uT Ruu ∆u = 0,

                    1                  1
(4)           dG + d2 G = GTx̂ ∆x̂ + ∆x̂T Gx̂x̂ ∆x̂ = 0,
                    2                  2
где коэффициенты подсчитываются вдоль x̂I (t) и uI (t), они аппрокси-
мируют с точностью до малых высшего порядка соотношения Белл-
мана. Найдем элемент ∆u, доставляющий максимум выражению (3)
из условия Ru + ∆x̂T Rx̂u + ∆uT Ruu = 0. Предполагается, что Ruu < 0
(что заведомо обеспечивается выбором достаточно большого α). При
этом максимум в (3) достигается при любом ∆x̂ в стационарной точке
∆u(t, ∆x̂) = −(Ruu )−1 (Ru +Rx̂u ∆x̂). Подставив это выражение в (3) и
расшифровав его вместе с (4), учитывая выражение для ϕ, получим
(5)               ψ(t) = Hx − P Nα−1 Hu ,        ψ 0 (t) = −α,

(6)             σ(t) = fxT σ(t + 1)fx + Hxx − P Nα−1 P T ,

(7)    ψ(tF ) = −(1 − α)Fx (xI (tF )),
                                    σ(tF ) = −(1 − α)Fxx (xI (tF )),
                                                
(8)                ∆u(t, ∆x) = −Nα−1 Hu + P T ∆x ,
где
      Nα = Huu + fuT σ(t + 1)fu − αE,          P = fxT σ(t + 1)fu + Hxu ,
Алгоритм улучшения дискретного управления             353

                                               1
                   H = ψ T (t + 1)f + ψ 0 (x0 + ||∆u||2 ).
                                               2
     Значения выражений, зависящих от x и u, подсчитываются при
xI (t) и uI (t). Выражение Nα –– это расшифровка Ruu ; оно непосред-
ственно подтверждает ранее сделанное предположение, что Ruu < 0
при надлежащем выборе α. При удачном выборе регулятора α иско-
мый улучшенный элемент mII получается следующим образом:
     (1) Решается «справа налево» система (5)–(8) при t ∈ T и опре-
         деляются ψ(t) и σ(t).
     (2) «Слева направо» разрешается цепочка (1) при xII (tI ) = xI ,
         uII (t) = uI (t) + ∆u(t, ∆xII (t)), где ∆u определяется по фор-
         муле (8), тем самым находится mII .
    Oднако поиск удачного α представляет определенную проблему
из-за плохой «осязаемости» данного регулятора. В связи с этим пред-
лагается применить второй, более естественный регулятор –– времен-
ной интервал варьирования.

              3. Описание временно́го регулятора
      Заметим, что варьирование управления по правилу (8) можно
производить не на всем дискретном интервале T − tF , а на любой
его части, вплоть до одного момента, а на оставшейся части управле-
ние оставлять неизменным, равным uI (t). При этом соответствующая
накопленная вариация траектории будет меньше полной, что только
улучшит аппроксимацию условий оптимальности, предусмотренную
в выводе соотношений алгоритма.
      Назначение временного регулятора –– сделать множество момен-
тов времени, в которых варьируется управление, таким, что резуль-
тирующая траектория x(t) окажется близкой к исходной xI (t) для
получения эффекта улучшения. Однако простого выделения подмно-
жества из заданного T − tF может оказаться недостаточным, даже
если это подмножество минимальное, состоящее из одного момента
tq : соответствующая вариации управления ∆u(tq ), вариация траек-
тории ∆x(tq + 1) может оказаться слишком большой.
      Для преодоления этого препятствия рассматривается непрерыв-
ный интервал [tq , tq +1]. Искусственно вводится промежуточная точка
tqθ = tq + (1 − θ), θ ∈ [0, 1], Рис. 1. В результате получаем виртуаль-
ную систему, где множество временных отсчетов имеет вид Tq =
{tqθ , tq + 1, . . . , tF }.
Алгоритм улучшения дискретного управления                           354

      X
                                                                           xI

                                                                           x II

          tI             tI+1     tq        tqθ     tq+1              tF          t

                  Рис. 1. Схема временно́го регулятора

    Чтобы избежать дробного шага в полученной системе, произ-
ведем перенумерацию отсчетов, для этого введем зависимость t(τ ),
τ ∈ {τI , τI + 1, . . . , τF }, где t(τI ) = tqθ , t(τI + 1) = tq + 1, . . . Система
(1) доопределяется в точке tqθ следующим образом:
              x(tqθ ) = θx(tq ) + (1 − θ)x(tq + 1)
(9)           u(tqθ ) = θu(tq ) + (1 − θ)u(tq + 1)
          x(tqθ + 1) = θf (tq , x(tqθ , u(tqθ ))) + (1 − θ)x(tq + 1)
За начальный момент времени принимается t̂I = tqθ , а за начальное
состояние x(t̂I ) = x(tqθ ). При θ → 0 левая граница придвигается к
tq +1 и ∆x(tqθ ) → 0. Поскольку для любого выбора множества варьи-
рования необходимо просчитывать систему (5)–(8) «справа налево»
по крайней мере до левой границы множества Tq , то целесообразно
данное множество выбирать примыкающим к tF с тем, чтобы вычис-
ления сосредоточить лишь в тех узлах, где ожидаются улучшающие
вариации. По мере достижения локального оптимума на Tq (или близ-
кой к нему ситуации) в процессе итераций это множество необходимо
расширять влево, используя реальные или виртуальные дискретные
узлы. Этот вариант мы примем как основной при построении алго-
ритма, а другие будем рассматривать как возможные модификации
на те случаи, когда они более эффективны.
Алгоритм улучшения дискретного управления             355

                   4. Описание базового алгоритма
    Разрешается цепочка (1) на T при заданном uI (t) и xI (tI ) = xI ,
откуда определяется mI = (T, xI (t), uI (t)). Задается временной ре-
гулятор tq , где tI ≤ tq < tF , регулятор α = 0. Рассматриваются
подзадачи на интервале Tq = {tq , tq + 1, . . . , tF }.
    A1. Разрешается цепочка (1) на Tq при x(tq ) = xI (tq ) и вычис-
        ляется mIq = (Tq , xI (t), uI (t)).
    A2. Решается «справа налево» система (5)–(8), находятся функ-
        ции ψ(t), σ(t).
Далее возможны три случая:
     1◦ . Hu (t, xI (t), ψ(t + 1), uI (t)) 6= 0.
     2◦ . Hu (t, xI (t), ψ(t + 1), uI (t)) = 0, существует t∗ ∈ Tq , что при
          t = t∗ нарушается неравенство Nα (mIq ) < 0.
     3◦ . Hu (t, xI (t), ψ(t + 1), uI (t)) = 0 и Nα (mIq ) < 0.
С л у ч а й 1◦ .
     B1. Разрешается цепочка (1) при ũ(t) = uI (t) + ∆u(t, ∆x(t))),
         t ∈ Tq , где ∆u(t) определяется по формуле (8), находится
         mII
           q (t).
     B2. Если I(mII         I
                   q ) ≥ I(mq ), то временной отрезок {tq , tq + 1} дро-
         бится и левая граница сдвигается вправо t̂I = tqθ . Делается
         переход на Шаг A1. Значения x(tqθ ) и f (tqθ , ·) определяются
         в соответствии с описанием, данным выше.
         Иначе итерация закончена; полагается mII           I
                                                   q = mq , переход на
         Шаг A1.
С л у ч а й 2◦ . Используется регулятор α ∈ [0, 1].
    C1. Решается «справа налево» система (5)–(8), а параметр α за-
        дается так, чтобы при t = tq выполнялось det(Nα ) = 0.
    C2. Вычисляется значение ∆u(tq , ·) из условия
               Nα ∆u(tq , ∆x) = 0,     |∆u(tq , ∆x)| = ε > 0.
    C3. Разрешается цепочка (1) при ũ(t) = uI (t) + ∆u(t, ∆x(t))), ∆u
        определяется по формуле (8), при t > tq и по формуле шага
        C2 при t = tq , находится mIIq .
    C4. Если I(mII ) ≥ I(mI ), то ε уменьшается, переход к шагу C3.
        Иначе итерация закончена; полагается mII            I
                                                     q = mq , α = 0,
        переход на шаг A1.
Алгоритм улучшения дискретного управления            356

С л у ч а й 3◦ . Соответствует выполнению условий локального мини-
мума, при этом если tq > tI , то уменьшается левая граница времен-
ного интервала: tq = tq − 1, переход к шагу A1. Если же tq = tI , то
задача полностью решена.

               5. Релаксационность и сходимость
      Погрузим задачу (1) в однопараметрическое семейство подзадач
(D, I)q , определяемых дискретным интервалом Tq , при этом началь-
ная точка tIq может варьироваться в пределах непрерывного интер-
вала [tq , tq + 1]. В силу того, что рассматривается дискретная задача
со свободным правым концом, и значение x(tF ), а следовательно и
F (x(tF )), определяется программой управления u(t), ее можно пред-
ставить в виде безусловной конечномерной задачи вида J(u(tq ), u(tq +
1), . . . , u(tF − 1)). Таким образом можно перейти к рассмотрению эк-
вивалентного исходному семейства конечномерных задач J(u; q), где
символом q для краткости будем обозначать tq –– начало временного
интервала задачи J(u; q).
      Рассмотрим функционал J(u; qθ ), где qθ ∈ [q, q + 1]. Предполо-
жим, что на интервале [q, q + 1] функционал J(u; qθ ) непрерывен по u
для любого qθ вместе с градиентом ∇J(u; qθ ). Пусть при каждом qθ ∈
[q, q+1] функционал J(u; qθ ) имеет экстремаль u∗θ , непрерывно завися-
щую от параметра qθ . Однопараметрическое семейство J(u; qθ ) назо-
вем невырожденной деформацией функционала J1 (u) = J(u; q + 1) в
функционал J0 (u) = J(u; q), если при каждом qθ ∈ [q, q +1] нет отлич-
ных от u∗θ критических точек функционала J(u; qθ ). Тогда согласно
гомотопическому методу [13] справедлива следующая теорема.
   Теорема 5.1. Пусть существует невырожденная деформация
функционала J1 в функционал J0 . Пусть критическая точка u∗1 фун-
кционала J1 является точкой локального минимума. Тогда точка u∗0
является точкой локального минимума функции J0 .

    Для функционала J(u; qθ ) непрерывность по u следует из тре-
бования к функциям f (t, x, u) и F (x) в исходной постановке быть
дважды непрерывно дифференцируемыми при каждом t по x и u.
Непрерывность функционала J(u; qθ ) по qθ ∈ [q, q + 1] достигается
за счет дополнительных построений (9), используемых в конструк-
ции временного регулятора. Единственность экстремума функциона-
ла J(u; qθ ) можно гарантировать в некоторой окрестности O(q ∗ ), где
Алгоритм улучшения дискретного управления                 357

q ∗ –– точка, где достигнут локальный минимум функционала. В си-
лу непрерывности функционала J(u; qθ ) и его производных, отрица-
тельная определенность матрицы Nα сохраняется в достаточно малой
окрестности O(q ∗ ), откуда следует, что других критических точек в
данной области нет. Тогда, на отрезке [q, q ∗ ], где q ∗ > q ∈ O(q ∗ ), спра-
ведливо утверждение Теоремы 5.1 и гарантируется улучшаемость и
сходимость данного алгоритма. В то же время на всём интервале
[q, q + 1] условия невырожденности деформации могут не выполнять-
ся, поэтому в случае если улучшение за счет деформации за пре-
делами O(q ∗ ) прекратилось, применяется второй регулятор в виде
нормы –– α, для которого в [6] доказаны свойства улучшаемости и
сходимости.
      Замечание. Дополнительным преимуществом данного типа алго-
ритма является возможность оценки точности полученного решения
[4]. В случае, когда mI –– локальная минималь, решение уравнений
(5)–(7) задает локально-оптимальный синтез управления, поскольку
весь метод основан на линейно-квадратической аппроксимации функ-
ции Беллмана. Определим точность метода, воспользовавшись верх-
ней оценкой ũ(t, x) в области ||∆x|| < ε. Здесь операции sup и inf
выполняются на множестве ||∆x|| < ε. Так как на mI ∈ D выполня-
ются условия теоремы о локальном минимуме [3], то справедливо
                  −1
                tFP                                                   
        ∆   =            sup(d2 R + o(|dx|2 )) − inf(d2 R + o(|dx|2 ))
                  tI
            +   sup(d2 G + o1 (|dx|2 ) − inf(d2 G + o1 (|dx|2 )),
где R = sup R(t, x, u). Если задана область, то переборными метода-
         u∈U
ми можно определить верхнюю и нижнюю грани R, что позволяет
оценить ∆.

                       6. Возможные модификации
    Описанный алгоритм за счет использования комбинации регуля-
торов имеет больше средств для адаптации к особенностям задачи,
чем методы, использующие только регулятор в виде нормы близо-
сти. Регулятор в виде временного интервала позволяет, решая зада-
чу на меньшем временном отрезке, накапливать меньшую вариацию
и быстрее достигать оптимума. Наличие регулятора типа нормы да-
ет возможность преодолеть особые случаи, при которых нарушаются
Алгоритм улучшения дискретного управления                 358

условия, сформулированные в Теореме 5.1. Кроме того, алгоритм до-
статочно гибок и допускает достаточно большую группу вариаций.

    6.1. Поиск глобального оптимума на первом шаге. От-
дельно рассматривается первый шаг алгоритма, где решается зада-
ча (1) на временно́м промежутке, состоящем их двух точек: T =
{tF − 1, tF }. Здесь явно используется уравнение Беллмана и находит-
ся значение функции ϕ(tF − 1, x(tF − 1))
(10)    ϕ(tF − 1, x(tF − 1)) = sup(ϕ(tF , f (tF − 1, x(tF − 1), u))),
                                  u
что позволяет определить глобальный минимум функционала I для
данной конечномерной задачи. В уравнении (10) поиск глобального
максимума функции ϕ проводится любым численным алгоритмом.
После такой операции все последующие шаги выполняются в соот-
ветствии с базовым алгоритмом, однако за счет близости начального
приближения к глобальному оптимуму, решения дальнейшей серии
задач имеют больше шансов также оказаться глобальными минима-
лями.

    6.2. Алгоритм первого порядка. При реализации процедур
улучшения второго порядка наиболее трудоемкий процесс –– вычисле-
ние вспомогательных векторно-матричных систем для ψ, σ. Поэтому
в качестве начального этапа процедуры улучшения управления це-
лесообразней использовать более простой алгоритм первого порядка,
который получается из описанного алгоритма второго порядка, при
σ(t) ≡ 0. Рассмотрим, как изменятся основные конструкции алгорит-
ма после такой операции.
    Система (5)–(6) преобразуется к системе вида
                ψ(t) = Hx = fxT (t, xI (t), u(t))ψ(t + 1),
                     ψ(tF ) = −(1 − α)Fx (xI (tF )),
а формула для подсчета приращения по управлению
                                               
           ∆u(t, ∆x) = −(Huu − αE)−1 Hu + Hxu ∆x .
Рассмотренная модификация родственна обычному градиентному ме-
тоду улучшения, но вместо коэффициента, определяющего шаг мето-
да, используется конструкция с матрицей вторых производных Huu ,
корректирующая направление на минимум, более точно учитывая
особенности функции в окрестности текущего приближения.
Алгоритм улучшения дискретного управления             359

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

    6.3. Алгоритм улучшения без пересчета вспомогатель-
ных функций. Предлагается в базовом алгоритме поставить усло-
вие на вычисление вспомогательных функций ψ(t) и σ(t). После пер-
вого расчета ψ(t) и σ(t) происходит вычисление ∆u(t, ∆x(t)) и опреде-
ляются новое состояние и управление системы: xII (t), uII (t). В случае,
если улучшение произошло, при следующей итерации ψ(t) и σ(t) мож-
но не пересчитывать, а использовать прежние значения. Их пересчет
производится только в том случае, если на предыдущей итерации не
произошло улучшения.

   6.4. Алгоритм улучшения по направлению. Данная моди-
фикация является аналогом минимизации по направлению для ко-
нечномерных задач. Вычисляется в соответствии с базовым алгорит-
мом улучшения новая программа управления uII (t), и направление
приращения получается как линейная комбинация
                     uβ (t) = βuI (t) + (1 − β)uII (t),
затем решается задача минимизации относительно β
                uII (t) = uβ∗ (t),   β∗ = arg min I(uβ (t)).
                                               β

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

                  7. Программное обеспечение
    Для исследовательских и учебных задач наиболее важным тре-
бованием к программному обеспечению является максимальная про-
стота и наглядность и, вместе с тем, наличие богатого инструмен-
тария для манипуляции данными, а также мощные механизмы ана-
лиза и визуализации результатов. Наилучшим образом такие задачи
решаются современными пакетами компьютерной алгебры, одним из
признанных лидеров среди которых является Maple V от канадской
фирмы Waterloo Maple Inc.
    Описанный базовый алгоритм с регуляторами двух типов, а так-
же предложенные модификации реализованы в виде Maple-библиоте-
ки и могут быть легко использованы неспециалистом. Программный
Алгоритм улучшения дискретного управления        360

комплекс применялся для решения ряда учебных и тестовых при-
меров, демонстрирующих различные свойства алгоритма и задач.
Элементы этой системы использовались в учебном процессе в кур-
сах «Теория оптимального управления» и «Методы оптимизации» в
Университете города Переславля в 2002–2004 годах. Кроме того, на
его базе проводились экспериментальные расчеты в рамках проекта
РФФИ № 03-01-00414-а «Магистрали в задачах оптимального управ-
ления». Помимо непосредственно алгоритмов реализованы процеду-
ры их самонастройки, позволяющие сделать работу вычислительных
методов более эффективной. Для более точного учета ограничений в
задачах предложен механизм динамического управления штрафны-
ми коэффициентами. Наиболее удобным классом штрафных функ-
ций для использования в оптимизационных алгоритмах рассматри-
ваемого типа являются экспоненциальные штрафные функции
             pmax = βeγ(x−xmax ) ,   pmin = βeγ(xmin −x)
для ограничений типа неравенств: x ≤ xmax , x ≥ xmin и функции
вида
                  peq = γ(x − x̄)2 , peq = γ|x − x̄|
для ограничений типа равенств: x = x̄. Основные трудности, воз-
никающие при применении метода штрафных функций, связаны с
неудачным масштабированием. Так, в реальных задачах компонен-
ты векторов состояния и управления могут иметь величины и ско-
рости изменения, различающиеся в десятки раз, и эффективность
работы алгоритма в целом во многом зависит от того, насколько уда-
чен подбор штрафных коэффициентов. Вместе с тем очевидно, что
установленные единовременно значения штрафных коэффициентов
будут иногда более, иногда менее эффективны на разных этапах ре-
шения задачи. Для лучшей манипуляции штрафными коэффициен-
тами β и γ нами используются следующие принципы:
      • на каждой итерации значения штрафа и неоштрафованного
        функционала должны быть примерно одинаковы;
      • по мере приближения к локальному оптимуму необходимо
        увеличивать значение штрафа.
   Помимо методов управления штрафными коэффициентами, реа-
лизованы механизмы автоматической настройки алгоритмов, заклю-
чающиеся в выборе модификации базового алгоритма или типа регу-
лятора. Ниже представлен ряд правил (рекомендаций), осуществля-
ющих такую настройку.
Алгоритм улучшения дискретного управления         361

    (1) Если значение ||Hu || меньше некоторого заданного значения,
        то применяется алгоритм второго порядка, иначе применя-
        ется одна из модификаций первого порядка.
    (2) В случае применения модификации первого порядка, пер-
        воначально используются варианты без пересчета вспомо-
        гательных конструкций или приращения управления, а так-
        же алгоритмов улучшения по направлению и наискорейшего
        спуска.
    (3) Если в процессе работы алгоритма используется регулятор
        α, и он близок к единице, а улучшение происходит медлен-
        но, то применяется временной регулятор τ , и наоборот, если
        θ близко к нулю, а улучшение либо не происходит, либо про-
        исходит медленно, то применяется регулятор α.
    (4) При решении задач на подынтервале T(τ ) для сокращения
        объема вычислений точность близости траектории к локаль-
        ному минимуму снижается, а на полном интервале T увели-
        чивается.
     Предложенные выше правила обеспечивают самонастройку алго-
ритма. Они также могут быть успешно использованы в многометод-
ном подходе к решению задач оптимального управления. Многоме-
тодные процедуры позволяют на основе базовых алгоритмов, путем
выстраивания их в цепочку, получать составные методы с новыми
свойствами, тем самым лучше адаптируясь к особенностям задачи.
Наиболее часто применяемый способ реализации данного принципа
заключается в параллельном запуске ряда алгоритмов с последую-
щим выбором наилучшего решения по заданному критерию и по-
следующим повторением этой процедуры до достижения оптимума
[8, 9]. Описанный способ реализации имеет тот недостаток, что тре-
бует больших вычислительных мощностей и фактически делает пол-
ный перебор всех возможных методов и их последовательностей. Тем
не менее, можно достичь неплохих результатов и не прибегая к пол-
ному перебору, а используя знания о методах и задачах, чтобы уже
на этапе выбора того или иного метода делать это не спонтанно, а
основываясь на определенных экспертных оценках и рекомендациях
(вроде тех, что перечислены выше). Для этого предлагается наряду
с вычислительными модулями, реализующими конкретные алгорит-
мы, включать в многометодную процедуру интеллектуальные опера-
торы, управляющие процессом оптимизации. Такие операторы берут
Алгоритм улучшения дискретного управления        362

на себя анализ текущего состояния модели и по установленным пра-
вилам подбирают наиболее подходящий алгоритм [10]. Данный спо-
соб подразумевает наличие интеллектуальной поддержки принятия
решений на этапе выбора алгоритма. Подобные системы, основанные
на методах искусственного интеллекта, используются для поддержки
принятия решений для управления динамическими системами [11],
планирования поведения и многих других.
    Дополнительным преимуществом предлагаемого интеллектуаль-
ного многометодного подхода является то, что в его рамки органично
вписываются уже существующие наработки. В работе [12] описыва-
ется архитектура исследовательского прототипа такой системы, в ко-
торой метод конкурсного отбора алгоритмов (по сути, одновременно-
го запуска с последующим выбором наилучшего) является одним из
интеллектуальных операторов. Предлагаемый подход к реализации
многометодных процедур позволяет развивать программную реали-
зацию как в направлении усиления интеллектуальной составляющей,
так и в использовании параллельных вычислений.
    Обратим внимание, что помимо перспективы параллельного вы-
полнения алгоритмов в рамках общей оптимизационной процедуры,
необходимыми качествами для эффективного параллелизма облада-
ют сами алгоритмы оптимизации, допускающие одновременное неза-
висимое вычисление многих подзадач. Так, получение оценки каче-
ства полученного решения, описанной в разделе 5, подразумевает пе-
ребор траекторий и программ управления в некоторой области для
нахождения наибольшего и наименьшего значений R. Такая зада-
ча требует серьезных вычислительных затрат, причем для каждого
фиксированного значения x и u представляет собой совершенно неза-
висимый процесс, что позволяет организовать одновременный запуск
множества подобных задач и существенно ускорить решение. Кроме
того, оба рассмотренных регулятора подразумевают настройку с воз-
можным перебором вариантов как независимых подзадач, что также
позволяет утверждать о наличии хороших перспектив для использо-
вания параллельных технологий, что является предметом дальней-
ших исследований.
Алгоритм улучшения дискретного управления                     363

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

   8.1. Методический пример. В [1] рассматривается контрпри-
мер, демонстрирующий невыполнение принципа максимума для дис-
кретных задач.
         x1 (t + 1) = u(t),    x2 (t + 1) = x2 (t) + u2 (t) − 2x21 (t),

      I = −x2 (tF ),     x(0) = 0,    U = [−1, 1],      T = {1; 2; . . . 5}.
Как показано в [1], оптимальное управление имеет вид
                               
                                 0, t = 1; 2; 3
                      u∗ (t) =                  ,
                                 1, t = 4
при этом I = −1, однако принцип максимума не выполняется. С
другой стороны принципу максимума удовлетворяет неоптимальное
управление
                u(t) = −1, t = 1; 2; 3; 4, I = 4.
Приведем задачу к рассмотренному виду, для чего снимем ограниче-
ния на управление и учтем их при помощи штрафной функции
                                             1 β(umin −u(t)) 1 β(u(t)−umax )
 x2 (t + 1) = x2 (t) + u2 (t) − 2x21 (t) −     e            − e              .
                                             β               β
Для этой задачи при β = 20 функция H = −2u + x2 + u2 − 2x21 −
 1 β(umin −u)
 βe           − β1 eβ(u−umax ) достигает максимума при u(t) = −1.1. При-
мем его за начальное приближение для процедуры улучшения. В дан-
ном случае использование методов градиентного типа не дает эффек-
та. Был применен описанный базовый алгоритм для случая 2◦ , позво-
лившего «сойти» с экстремали Понтрягина и продолжить улучшение.
В результате применения модификации алгоритма с улучшением по
направлению за 10 шагов было достигнуто значение функционала
Iˆ = −1.09, при этом получена программа управления
                     û(t) = {0.001; 0.001; 0.001; 1.04},
доставляющая значение функционала, близкое к оптимальному.
Алгоритм улучшения дискретного управления                             364

   8.2. Оптимальная стратегия развития региона. Рассмат-
ривается агрегированная социо-эколого-экономическая модель с ин-
новациoнным сектором на примере Переславского региона, описан-
ная в [14] и подробно рассмотренная в [16]. Временной шаг равен
одному году.
          k(t + 1)      =     k(t) + u − δk(t),
         k d (t + 1)    =     k d (t) + ud − δ d k d (t),
         k z (t + 1)    =     k z (t) + uz − δ z k z (t),
(11)       r(t + 1)     =     r(t) + r̄ + N (r(t) − r̄) − Cy + z,
          γ(t + 1)      =     γ(t) − (d + Hδ), γ(tI ) = H ln k0 + ln(θ̄),
          Π(t + 1)      =     Π(t) + (1 − A) y − Bu − B d ud − B z uz − Az z
                              −Ad kd − s(r − r̄)2 .
   0 ≤ y ≤ g(k), 0 ≤ z ≤ g z (k z ), 0 ≤ d ≤ g d (k d ), t = tI , tI + 1, . . . , tF ,

 k(tI ) = k0 , k d (tI ) = k0d , k z (tI ) = k0z , r(tI ) = r0 , γ(tI ) = H ln k0 + ln(θ̄),

        g(k) = Lk α , g d (k d ) = ν d (k d )α , g z (k z ) = ν z (k z )α , Π(tI ) = 0.
    При идеализирующих допущениях, отражающих специфику мо-
дели, находится приближенная оптимальная стратегия развития, ко-
торая далее уточняется в серии вычислительных экспериментов с
учетом различных реальных факторов и ограничений. В результа-
те выявляется оптимальная интенсивность инновационной деятель-
ности и ее влияние на экономические, экологические и социальные
характеристики.
    Решение задачи проводится в два этапа: на первом, при идеали-
зирующих допущениях (доминирование линейных управляющих воз-
действий) находится магистральное решение, не зависящее непосред-
ственно от граничных условий, которое используется как эффектив-
ное начальное приближение [15]. На втором этапе применяется опи-
санный алгоритм для итерационного улучшения решения, критерием
которого служит увеличение накопленного регионального дохода Π.
    Первый этап состоит из следующих шагов: 1) уравнения относи-
тельно k z , k d , γ исключаются, управления ud , uz не рассматриваются,
а u, z считаются неограниченными; 2) посредством преобразования
R4 → R : x = Π + Az r + Bk − Ad k0 γ исходная задача сводится к
производной задаче [3]:
  ξ(t + 1) = ξ(t) + κy − Bδk − Ad (k − k0 )d + Ad k0 Hδ + Az N (r − r̄)
             −s(r − r̄)2 , I = ξ(tF ), κ = 1 − A − Az C,
Алгоритм улучшения дискретного управления                 365

иначе к задаче максимизации суммы

                 −1 
               tFP
        ΠF =         κy − Bδk − Ad (k − k0 )d + Ad k0 Hδ + Az N (r − r̄)
(12)            tI   
          −s(r − r̄)2 − B(kF − k0 ) − Az (rF − r0 ) + Ad k0 (γF − γ0 ).

Последняя очевидно сводится к серии конечномерных задач при каж-
дом t. Из решения (12) находится магистраль, по которой опреде-
ляется нижняя граница функционала (верхняя граница Π), и затем
восстанавливается траектория и программа управления для исход-
ной системы (11). В результате получается модифицированное маги-
стральное решение, которое принимается за начальное приближение
для дальнейшего итерационного улучшения. С учетом преобладания
в модели линейных связей, использовалась модификация первого по-
рядка базового алгоритма.
    Расчеты проводились для условного региона, прототипом кото-
рого был взят регион Переславля (Ярославская область). Исходные
данные представлены в Таблице 1.
    На Рис. 2 представлены траектории изменения основного капита-
ла k, активного природовосстановления z и инноваций γ. Каждый из
графиков содержит три результата: магистральный (mag), модифи-
цированный магистральный (когда учитывались реальные ограниче-
ния на мощности управлений) (mod) и оптимизационный (opt) при
помощи модификации основного алгоритма без пересчета вспомога-
тельных функций.
    За 23 итерации был достигнут приближенный глобальный опти-
мум (Рис. 3) с верхней оценкой
                     Π∗ − Πopt   Πmag − Πopt
                               ≤             = 2.5%,
                       Πopt         Πopt

   δ      δz   δd        q   tF   k0   r̄  r0    N       θ   νz νd
 0.05    0.06 0.09      12 20 300 1.0 0.8 −0.01         0.8 0.2 0.1
   s      α    H        A0 Ad Az      B Bz       Bd     C0    L  p
 103     0.2 0.5        0.4 1 3000 1       1     1    2·10−4 70  1
        Таблица 1.      Исходные данные для региональной модели
Алгоритм улучшения дискретного управления                                    366

                                           1.2
 900                                               r
         k

 700
                                           0.8

 500                                       0.4
                                                       mag
                                                       mod
                                                       opt
                                  t                                                     t
 300 1                                       0 1           5        10        15            20
              5     10     15         20

                  Рис. 2. Изменение траектории системы

где Π∗ –– истинное оптимальное значение (которое неизвестно). Вид-
но, что учет ограничений на управление существенно снижает доход,
так как для скачкообразного выхода на магистраль ресурсов системы
недостаточно и эффективность управления падает. Тем не менее, за
счет улучшения модифицированного управления рассматриваемым
алгоритмом его эффективность удается повысить, приблизив доход к
верхней границе Πmag . Сравнительно большое количество итераций в
объясняется овражистой структурой оштрафованного функционала.

   3
         γ                                 12358
                                                   P mag
   2                                       12053
                                                   P opt

   0          5     10     15     t 20
                                           10763   P mod

                                                                                            n
  –2                                       10000   1       5   10        15        20   23

             Рис. 3. Изменение траектории системы и функцио-
             нала по итерациям
Алгоритм улучшения дискретного управления                 367

                            9. Заключение
    Предложенный нами алгоритм достаточно эффективен и позво-
ляет найти локальный минимум для широкого класса задач, о чем
свидетельствуют рассмотренные методический пример и задача оп-
тимизации региональной модели. Наличие в конструкции метода ком-
бинации двух регуляторов делает его более адаптируемым к особен-
ностям конкретных задач. Для уменьшения вычислительной сложно-
сти описаны модификации алгоритма без пересчета вспомогательной
векторно-матричной системы для ψ, σ, минимизации по направлению
и метод первого порядка. Реализация описанных методов улучшения
в качестве библиотеки для системы компьютерной алгебры делает их
более доступными для широкого круга пользователей. Перспектив-
ным является использование описанного алгоритма и его модифика-
ций в многометодных процедурах.

                         Список литературы
[1] Болтянский В. Г. Оптимальное управление дискретными системами. –– Моск-
    ва: Главная редакция физико-математической литературы изд-ва «Наука»,
    1973. ↑1, 8.1
[2] Пропой А. И. О принципе максимума для дискретных систем управления
    // Автоматика и Телемеханика. –– 7. ↑1
[3] Гурман В. И. Принцип расширения в задачах управления. –– 2-е изд., пере-
    раб. и доп. –– М.: Наука. Физматлит, 1997. ↑5, 8.2
[4] Гурман В. И. Принцип расширения в задачах управления. –– М.: Наука, 1985.
    ↑1, 2, 5
[5] Кротов В. Ф., Фельдман И. Н. Итерационные методы решения экстре-
    мальных задач // Моделирование технико-экономических процессов. –– М.:
    МЭСИ, 1978, c. 160–168. ↑
[6] Батурин В. А., Урбанович Д. Е. Приближенные методы оптимального
    управления, основанные на принципе расширения. –– Новосибирск: Наука.
    Сиб. предприятие РАН, 1997. ↑1, 5
[7] Крылов И. А., Черноусько Ф. Л. О методе последовательных приближе-
    ний для решения задач оптимального управления // Журнал вычислитель-
    ной математики и математической физики. –– Т. 2, № 6, 1962. ↑1
[8] Горнов А. Ю., Тятюшкин А. И. Программная реализация мультиметодной
    технологии для задач оптимального управления // Труды III Междунар.
    конф. «Проблемы управления и моделирования в сложных системах». –– Са-
    мара: ИПУСС РАН, 2001, c. 301–307. ↑7
Алгоритм улучшения дискретного управления                        368

 [9] Иванов А. Г. Параллельная программа поиска минимум // Высокопроиз-
     водительные вычисления и их приложения: Труды Всероссийской научной
     конференции (30 октября –– 2 ноября 2000 г., г. Черноголовка). –– М.: Изд-во
     МГУ, 2000, c. 250–252. ↑7
[10] Белышев Д. В., Гурман В. И. Интеллектуальные процедуры оптимального
     управления // Автоматика и Телемеханика. –– 5, c. 147–155. ↑1, 7
[11] Васильев С. Н., Жерлов А. К., Федосов Е. А., Федунов Б. Е. Интеллект-
     ное управление динамическими системами. –– М.: Наука, Физматлит, 1999,
     c. 425. ↑7
[12] Белышев Д. В., Гурман В. И. Программный комплекс многометодных ин-
     теллектуальных процедур оптимального управления // Автоматика и те-
     лемеханика. –– 6, c. 60–67. ↑7
[13] Емельянов С. В., Коровин С. К., Бобылев Н. А., Булатов А. В. Гомотопии
     экстремальных задач. –– М.: Наука, 2001. ↑5
[14] Моделирование социо-эколого-экономической модели региона. –– под ред.
     В.И. Гурмана, Е.В. Рюминой. –– М.: Наука, 2001. ↑8.2
[15] Гурман В. И. Магистральные решения в задачах оптимизации стратегий
     развития // Автоматика и телемеханика (в печати). ↑8.2
[16] Белышев Д.В., Лучшева В.В., Соловьева О.В. Анализ инновационных эф-
     фектов развития региона на социо-эколого-экономической модели // Про-
     граммные системы: теория и приложения. ↑8.2

     Исследовательский центр процессов управления ИПС РАН

    D. V. Belyshev. The Control Improvement Algorithm with Time Regulator for
Discrete Systems and Its Software Implementation. (in russian.)

Abstract. The article describes the control improvement algorithm for discrete systems
with regulators of two types: time interval and conventional norm-type regulator. Al-
gorithm has several versions, that have been realized as a software application used for
optimization of regional model development strategy.
Вы также можете почитать