Sphere
Войти

Динамическое программирование

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

История динамического программирования

Динамическое программирование возникло и сформировалось в 1950–1953 гг. благодаря работам Ричарда Беллмана и его сотрудников. Беллман (Bellman) Ричард Эрнест (1920-84) – американский математик. Первыми задачами, решаемыми с помощью динамического программирования были задачи управления запасами.

Задача динамического программирования

Задачи динамического программирования укладываются в следующую схему:

I. Имеется набор способов действий – допустимых управлений.

II. Имеется целевая функция («прибыль», «убыток») S = S(u), где u пробегает допустимые управления.

Требуется выбрать управление, которому отвечает оптимальное значение целевой функции.

Формализация задачи динамического программирования

Динамическая система (ДС) – такой объект, который может развиваться.

Квазидинамическая система – система, которую можно привести к динамической.

Пространство состояний (фазовое пространство) динамической системы – множество всех возможных состояний динамической системы.

ДС с дискретным временем – ДС, состояние которой меняется в дискретные моменты времени, например, t0, t1,t2,..,tn.

Траектория – набор состояний, через которые проходит ДС от начального к конечному состоянию.

Управляемая ДС – ДС, траекторию которой можно менять с помощью управляющих импульсов Uk.

Функционирование динамической модели

  1. В начальный момент времени t0 система находится в фиксированном состоянии x0.
  2. Переход xk-1 ® xk от состояния в момент tk-1 к состоянию в момент tk (от t0 к t1 от t1 к t2 и т.д.) осуществляется под воздействие управляющих сигналов uk , т.е. xk =j(xk-1 , uk). Набор состояний x0, x1 ,…, xn – траектория ДС. Причем, начало всех траекторий одинаковое - x0.

photoArticle


Общая задача динамического программирования

Пусть имеется управляемая динамическая система оценивается каким-либо показателем, например, суммарным доходом S=S(u1,u2,..,un). Суммарный доход равен сумме доходов на каждом шаге

S=f1+f2+…+fn. (1)

fk – доход на k-ом шаге, который зависит от состояния ДС в начале k-го шага и выбранного управления uk:

fk = fk(xk-1 , uk) (2)

Подставляя (1) в (2) получим:

Такая функция называется аддитивной целевой функцией.

Для анализа имеется управляемая динамическая система, для которой выделено n шагов, а на каждом шаге выделены все возможные состояния (xk), через которые проходит система, а также выделено начальное состояние x0, а на каждом шаге заданы возможные управляющие воздействия (uk). Также имеется аддитивная функция.

Задача ДП состоит в том, чтобы найти такую последовательность управляющих воздействий во время функционирования ДС (u1,u2,…,un), чтобы аддитивная функция S достигала максимума или минимума. Траектория, на которой достигается max или min целевой функции, называется оптимальной траекторией. Задачей ДП является отыскание оптимальной траектории.

Метод решения задачи динамического программирования


photoArticle


photoArticle


Предположим, что к на- чалу k-го шага система оказалась в состоянии xk-1. Оставшийся путь до конца система может проходить по различным траекториям в зависимости от выбора последующих управлений. Каждой траектории отвечает свой суммарный доход, т.е. доход на участке Обозначим этот доход через Sk.

Sk=fk+fk+1+…+fn

S*k(xk-1) – условный максимальный доход – максимальный суммарный доход, начиная с k-го шага и до конца, т.е. на участке [k-1,n]. Тогда основную задачу ДП можно формализовать в виде:

И требуется найти условное оптимальное управление на k-м шаге u*k(xk-1).



Задачи ДП решаются в два этапа:

  1. движение от конца к началу
Начиная с кон- ца последовательно находим:


photoArticle


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


photoArticle


Задачи ДП решаются в два этапа:

  1. движение от конца к началу
Начиная с кон- ца последовательно находим:


photoArticle


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


photoArticle

2. движение от начала к концу

Двигаясь от начала, существенно используя закрепленность начального состояния, строим безусловную оптимальную траекторию.


photoArticle
photoAccount
Опубликовано
imageviews 20
EDGESECTION Sphere