Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекционный курс.doc
Скачиваний:
48
Добавлен:
04.05.2019
Размер:
4.56 Mб
Скачать

Тема 11. Метод динамического программирования

План лекции:

1. Общая постановка задачи динамического программирования (ЗДП)

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

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

4. Задача о замене оборудования

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

Определение 11.1. Динамическое программирование – это метод оптимизации, приспособленный к операциям, в которых процесс принятия решения может быть разбит на этапы (шаги). Такие операции называются многошаговыми.

Многие экономические процессы расчленяются на шаги естественным образом. Например, процессы планирования и управления, развиваемые во времени. Здесь естественный шаг: год, квартал, месяц и т.д.

Рассматриваемые ранее задачи (ЗЛП и ЗНП) относятся к задачам однократного принятия решений, ЗДП требует некоторой последовательности принятых решений и относится к многоэтапным (многошаговым) задачам.

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

В общем случае ЗДП формулируется следующим образом: имеется некоторая управляемая система S, характеризующаяся определенным набором параметров, задающих ее состояние, которая под влиянием управления переходит из начального состояния в конечное.

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

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

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

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

– значение целевой функции при переходе системы из начального состояния в конечное за n шагов.

На векторы-состояния и управления могут быть наложены ограничения, объединение которых составляет область допустимых решений .

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

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

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

В основе вычислительных алгоритмов динамического программирования лежит принцип оптимальности, сформулированный Беллманом: каково бы ни было состояние системы S в результате i1 шагов, управление на i-ом шаге должно выбираться так, чтобы оно в совокупности с управлениями на всех последующих шагах от (i+1)-го до n-го оптимизировало функцию цели.

Схема решения ЗДП состоит из двух частей:

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

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

Принцип оптимальности Беллмана можно записать в математической форме следующим образом. Обозначим через – «условно-оптимальные» значения приращений целевой функции на последнем шаге, двух последних, …, на всей последовательности n шагов, соответственно. Тогда для последнего шага:

,

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

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

.

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

.

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

.

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

Безусловно-оптимальное значение целевой функции для всего n-шагового процесса ; искомое оптимальное управление .