32231

Метод динамического программирования Р. Беллмана

Лекция

Информатика, кибернетика и программирование

6 величина определяется в соответствии с уравнениями 7.10 При условиях ; Оптимальное уравнение определяется в результате решения уравнения 7.10 можно заменить уравнениями в частных производных 7.4 получим Из уравнения получим П 7.

Русский

2013-09-04

1.14 MB

35 чел.

Лекция №7

Метод динамического программирования Р. Беллмана

В основу динамического программирования положен принцип оптимальности. Согласно этому принципу оптимальное уравнение определяется конечной целью управления и состоянием системы в рассматриваемый момент времени не зависимо от предыстории системы (как она попала в рассматриваемую точку). Это означает что для оптимальных траекторий каждый участок, связывающий любую промежуточную точку этой траектории с конечной точкой, также является оптимальной траекторией.

Задача оптимизации состоит в том, чтобы определить оптимальное управление  и оптимальную траекторию (экстремаль) из условия выполнения минимума (или максимума) функция …. (критерия)

     (7.1)

При заданных динамикой объекта управления уравнений

      (7.2)

или        (7.3)

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

В данном методе вводится вспомогательная функция S, называемая функцией Беллмана

     (7.4)

Дадим приращение по времени Δt. Тогда

     (7.5)

где ,  - вектор переменных (координат) объекта в момент .

Пусть 0, тогда с учетом выражения (7.5) получим

     (7.6)

Получаемая из (7.6) величина  определяется в соответствии с уравнениями (7.2) или (7.3) оптимальную траекторию .

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

   (7.7)

Второе слагаемое разложим в ряд Тейлора и ограничимся линейными слагаемыми относительно переменной .

  (7.8)

В соответствии с (7.2) точность для любых малых более высокого порядка

С учетом этого выражение (7.8) примет вид:

 (7.9)

На основании (7.6), (7.7) и (7.8) запишем

После деления всех членов на  и переходя к пределу 0 получим нелинейное уравнение Беллмана в частных производных

  (7.10)

При условиях ; ,

Оптимальное уравнение  определяется в результате решения уравнения (7.10), что в общем случае сделать достаточно сложно. Для внутренней области  условие (7.10) можно заменить уравнениями в частных производных

   (7.11)

Решая эту систему можно определить закон оптимального управления .

Для стационарного объекта управления в (7.11) можно представить в виде

   (7.12)

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

    (П 7.1)

    (П 7.2)

или       (П 7.3)

где ; ; .

В соответствии с (7.12) для нашего случая будет:

   (П 7.4)

И условие минимума не управляющему воздействию (второе уравнение (7.11)) дает следующее уравнение:

    (П 7.5)

Из (П 7.5) следует

     (П 7.6)

После подстановки (П 7.6) в (П 7.4) получим

Из уравнения получим

   (П 7.7)

Подставляем значение  в (П 7.6) получим оптимальный закон управления

   (П 7.8)

где   – коэффициент обратной связи будет определятся, как

  (П 7.9)

Что совпадает с результатами, полученными в предыдущих примерах.

Наиболее эффективное применение динамического программирования при численном решении уравнения Беллмана. Для этого заменяем дифференциальные уравнения объекта управления (7.3) уравнениям в конечных разностях, т.е. дифференциальные уравнения  заменяем на разность  

    (П 7.9)

, k=1,2,…N – число временных …

Функционал (критерий оптимальности) примет вид

   (П 7.9)

На каждом интервале  считаем  - непостоянной величиной. Таким образом решая рекуррентные уравнения (7.13) находится значения оптимального уравнения на каждом значения оптимального уравнения на каждом интервале : , ,…,, также что  ,  и которые обеспечивают минимум функционала (7.14). при численном решении задача оптимизации на каждом участке решается в обратном порядке -  от конца к началу.

Графически вычислительную процедуру можно в виде пути, который проходит через точку, минимальных значений критерия (7.14) на рис 7.1 представлена оптимальная траектория (экстремаль) x(t). Величина x разбита на интервалы Δx и время t на интервалы Δt. В точках пересечения показаны численные значения приращения функционала ΔJ.

Рис. 7.1. Расчет оптимальной траектории x(t) по минимому приращения функционала.

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


x

1,5

1,3

1,1

0,7

1,8

1,6

1,5

1,2

2,7

2,4

2,1

1,8

 0

 0

1,1

0,8

0,6

0,3

3,5

3,2

2,8

2,3

1,6

1,2

0,8

0,6

X5

Δx

X4

Δx

X3

Δx

X2

Δx

X1

Δx

t1

Δt

t2

Δt

t3

Δt

t4

Δt

t5


 

А также другие работы, которые могут Вас заинтересовать

47488. Методические рекомендации. Бухгалтерский учет, анализ и аудит 700.5 KB
  Методические рекомендации охватывают все этапы подготовки выполнения оформления и защиты выпускной квалификационной работы. Некрасова 2010 Содержание Назначение выпускной квалификационной работы общие требования к ее содержанию Выбор темы назначение руководителя выпускной квалификационной работы Контроль выполнения выпускной аттестационной работы
47489. Java TM. Эффективное программирование 2.01 MB
  Создание и уничтожение объектов Рассмотрите возможность замены конструкторов статическими методами генерации.16 Остерегайтесь методов finlize. Методы общие для всех объектов Переопределяя метод euls соблюдайте общие соглашения.24 Переопределяя метод equls Всегда переопределяйте hshCode.
47490. Профессия: Режиссер 3.35 MB
  Недавно мне попалась книга — со времени репетиций и съемок «Гамлета» я не доставал ее с полки: трагедии Шекспира, испещренный пометками текст «Гамлета». Держал книгу в руках и думал о том, что все эти тексты с пометками вложены в меня, словно определенная программа в компьютер.
47491. ЭЛЕКТРИЧЕСКИЕ СЕТИ И СИСТЕМЫ. УЧЕБНОЕ ПОСОБИЕ 4.06 MB
  НЕЛЮБОВ ЭЛЕКТРИЧЕСКИЕ СЕТИ И СИСТЕМЫ УЧЕБНОЕ ПОСОБИЕ К КУРСОВОМУ ПРОЕКТИРОВАНИЮ Оренбург 2006. Н 30 Электрические сети и системы: Учебное пособие к курсовому проектированию. Учебное пособие предназначено для студентов обучающихся по программам высшего профессионального образования по направлению Электроэнергетика при изучении дисциплины Электрические сети и...
47493. Язык программирования Java 2.28 MB
  Программы на языке Java строятся на основе классов. Руководствуясь определением класса, разработчик создает произвольное количество объектов, или экземпляров, данного класса. Класс и его объекты можно сравнить, соответственно, с чертежом и деталями — имея чертеж, не составляет труда произвести необходимое количество деталей
47495. дискретно-событийного моделирования систем и технология имитационного моделирования 3.66 MB
  МОДЕЛИ МАССОВОГО ОБСЛУЖИВАНИЯ. Основы дискретнособытийного моделирования СМО. ВЕРОЯТНОСТНОЕ МОДЕЛИРОВАНИЕ. Моделирование дискретных случайных величин.
47496. Начинаем программировать на языке Java 150.5 KB
  Элементарные строительные блоки в Jаvа называются классами как и в C. При этом необходимо набрать имя запускаемого класса точно так как оно написано в исходном тексте программы т. Вся программа состоит из одного класса с именем JаvаTest. У этого класса имеется единственный метод min аналогичный функции min в языках программирования C и C и определяющий место с которого программа начинает выполняться так называемая точка входа.