Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matematika / Модуль 2 / Лекция 7,8 (Метод ДП).doc
Скачиваний:
251
Добавлен:
26.04.2015
Размер:
160.77 Кб
Скачать

Лекция 7,8. Метод динамического программирования.

Вопросы: 1. Основные понятия. Общая постановка задачи ДП.

2. Принцип оптимальности. Функциональные уравнения Беллмана.

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

4. Задача о замене.

5. Задача управления производством и запасами.

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

Динамическое программирование - метод оптимизации, приспособленный к операциям, в которых процесс принятия решений может быть разбит на отдельные этапы, шаги.

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

Рассмотрим некоторую управляемую систему, характеризующуюся определенным набором параметров, задающих ее состояния. Система под влиянием управления переходит из начального состояния в конечное. Введем обозначения.

1. xiмногомерный вектор, компоненты которого определяют состояние системы на

i-том шаге. Дальнейшее изменение состояния зависит только от данного состояния и не

зависит от того, каким путем система перешла в него (процесс без последствия).

2.На каждом шаге выбирается одно решение,управление ui, под действием которого

система переходит из предыдущего состояния xi-1 в новое xi. Это новое состояние

является функцией состояния на начало шага xi-1и принятого в начале решенияui, т.е.

xi=xi(xi-1,ui).

3. Действие на каждом шаге связано с определенным выигрышем (доходом, прибылью)

или потерей (издержками), которые зависят от состояния на начало шага и принятого

решения. Fi – приращение целевой функции задачи в результате i-того шага,

аналогично, Fi = Fi ( xi-1 , ui ).Тогда значение целевой функции при переходе системы

из начального состояния в конечное за nшагов

.

4.На векторы состояния хiи управленияuiмогут быть наложены ограничения,

объединение которых составляет область допустимых решений uU.

5.Требуется найти такое допустимое управлениеu* = (u1* ,…,un* ) (для каждого шага),

чтобы получить экстремальное значение функции цели F* за всеnшагов.

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

Допустимая стратегия управления, доставляющая функции цели экстремальное значение, называется оптимальной.

2. Принцип оптимальности. Функциональные уравнения Беллмана.

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

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

Другими словами, каково бы не было состояние системы перед очередным шагом, надо выбрать управление на этом шаге так, чтобы выигрыш на данном шаге (проигрыш) плюс оптимальный выигрыш (проигрыш) на всех последующих шагах был бы максимальным (минимальным). На основе принципа оптимальности Беллмана строится схема решения монгошаговой задачи, состоящая из 2-х частей:

1) Обратный ход:от последнего шага к первому получают множество возможных оптимальных («условно-оптимальных») управлений.

2) Прямой ход:от известного начального состояния к последнему из полученного множества «условно-оптимальных» управлений составляется искомое оптимальное управление для всего процесса в целом.

Оптимальную стратегию управления можно получить, если сначала найти оптимальную стратегию управления на n-м шаге, затем на двух последних шагах, затем на трех последних шагах и т.д., вплоть до первого шага.

Чтобы можно было использовать принцип оптимальности практически, необходимо записать его математически. Обозначим через z1(xn-1),z2(xn-2),…,zn(x0) условно-оптимальные значения приращений целевой функции на последнем шаге, двух последних,…, на всей последовательности шагов, соответственно.

Тогда для последнего шага:

z1(xn-1) =(min) {Fn(xn-1,un)},

где un– множество допустимых (возможных) управлений наn-ом шаге,xn-1– возможные состояния системы передn-ым шагом.

Для двух последних шагов:

z2(xn-2) =(min) {Fn-1(xn-2,un-1) +z1(xn-1)}.

Для k последних шагов:

zk(xn-k) = (min) {Fn-k+1(xn-k, un-k+1) + zk-1(xn-k+1)}.

Для всех n шагов:

zn(x0) = (min) {F1(x0, u1) + zn-1(x1)}.

Полученные рекуррентные соотношения называют функциональными уравнениями Беллмана.

При этом согласно определению zn(x0) =F*.

Соседние файлы в папке Модуль 2