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

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

Будем считать, что состояние рассматриваемой системы S на К-м шаге определяется совокупностью чисел которые получены в результате реализации управления , обеспечившего переход системы S из состояния в состояние . При этом будем предполагать, что состояние , в которое перешла система S, зависит от данного состояния и выбранного управления и не зависит от того, каким образом система S пришла в состояние .

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

(4)

Таким образом, мы сформулировали два условия, которым должна удовлетворять рассматриваемая задача динамического программирования. Первое условие обычно называют Условием отсутствия последействия, а второе — Условием аддитивности Целевой функции задачи.

Выполнение для задачи динамического программирования первого условия позволяет сформулировать для нее принцип оптимальности Беллмана. Прежде чем сделать это, дадим определение Оптимальной стратегии управления. Под такой стратегией будем понимать совокупность управлений В результате реализации которых система S за П шагов переходит из начального состояния Х(0) в конечное Х(K) и при этом функция (4) принимает наибольшее значение.

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

Отсюда следует, что оптимальную стратегию управления можно получить, если сначала найти оптимальную стратегию управления на N-м шаге, затем на двух последних шагах, затем на трех последних шагах и т. д., вплоть до первого шага. Таким образом, решение рассматриваемой задачи динамического программирования целесообразно начинать с определения оптимального решения на последнем, П-М шаге. Для того чтобы найти это решение, очевидно, нужно сделать различные предположения о том, как мог окончиться предпоследний шаг, и с учетом этого выбрать управление , обеспечивающее максимальное значение функции . Такое управление выбранное при определенных предположениях о том, как окончился предыдущий шаг, называется Условно оптимальным управлением. Следовательно, принцип оптимальности требует находить на каждом шаге условно оптимальное управление для любого из возможных исходов предшествующего шага.

Чтобы это можно было осуществить практически, необходимо дать математическую формулировку принципа оптимальности. Для этого введем некоторые дополнительные обозначения. Обозначим через максимальный доход, получаемый за П шагов при переходе системы S из начального состояния в конечное состояние при реализации оптимальной стратегии управления , а через Максимальный доход, получаемый при переходе из любого состояния в конечное состояние Л^ при оптимальной стратегии управления на оставшихся N - K шагах. Тогда

(5)

(6)

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

Полагая в рекуррентном соотношении (6), получаем следующее функциональное уравнение:

(7)

В этом уравнении будем считать известным. Используя теперь уравнение (7) и рассматривая всевозможные допустимые состояния системы S на (N - 1)-м шаге находим условные оптимальные решения

И соответствующие значения функции (7)

Таким образом, на N шаге находим условно оптимальное управление при любом допустимом состоянии системы S после (П-1)-го шага. Иными словами, в каком бы состоянии система ни оказалась после (П - 1)-го шага, нам уже известно, какое следует принять решение на N-м шаге. Известно также и соответствующее значение функции (7).

Переходим теперь к рассмотрению функционального уравнения при :

(8)

Для того чтобы найти значения F2 для всех допустимых значений очевидно, необходимо знать и Что касается значений , то мы их уже определили. Поэтому нужно произвести вычисления для при некотором наборе допустимых значений и соответствующих управлений . Эти вычисления позволят определить условно оптимальное управление для каждого . Каждое из таких управлений совместно с уже выбранным управлением на последнем шаге обеспечивает максимальное значение дохода на двух последних шагах.

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

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

Чтобы найти оптимальную стратегию управления, т. е. определить искомое решение задачи, нужно теперь пройти всю последовательность шагов, только на этот раз от начала к концу. А именно: на первом шаге в качестве оптимального управления возьмем найденное условно оптимальное управление . На втором шаге найдем состояние , в которое переводит систему управление . Это состояние определяет найденное условно оптимальное управление которое теперь будем считать оптимальным. Зная , находим , а значит, определяем и т. д. В результате этого находим решение задачи, т. е. максимально возможный доход и оптимальную стратегию управления U*, Включающую оптимальные управления на отдельных шагах:

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

1.32. К началу текущей пятилетки на предприятии установлено новое оборудование. Зависимость производительности этого оборудования от времени его использования предприятием, а также зависимость затрат на содержание и ремонт оборудования при различном времени его использования приведены в таблице 26:

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

Решение. Эту задачу можно рассматривать как задачу динамического программирования, в которой в качестве системы S выступает оборудование. Состояния этой системы определяются фактическим временем использования оборудования (его возрастом) t, т. е. описываются единственным параметром t.

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

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

Для определения условных оптимальных решений сначала необходимо составить функциональное уравнение Беллмана.

Так как мы предположили, что к началу K-Го года может приниматься только одно из двух решений— заменять или не заменять оборудование, то прибыль предприятия за K-Й год составит

Где — возраст оборудования к началу K-го года управление, реализуемое к началу K-Го года; Сп стоимость нового оборудования.

Таким образом, в данном случае уравнение Беллмана имеет вид

(9)

Используя теперь уравнение (9), приступаем к нахождению решения исходной задачи. Это решение начинаем с определения условно оптимального управления (решения) для последнего (5-го) года пятилетки, в связи с чем находим множество допустимых состояний оборудования к началу данного года пятилетки. Так как к началу пятилетки имеется новое оборудование , то возраст оборудования к началу 5-го года может составлять 1, 2, 3 и 4 года. Поэтому допустимые состояния системы на данный период времени таковы: Для каждого из этих состояний найдем условно оптимальное решение и соответствующее значение функции Используя уравнение (9) и соотношение (так как рассматривается последний год расчетного периода), получаем

(10)

Подставляя теперь в формулу (10) вместо его значение, равное 1, и учитывая данные таблицы 26, находим

Значит, условно оптимальное решение в данном случае есть .

Проведем аналогичные вычисления для других допустимых состояний оборудования к началу 5-го года пятилетки:

Полученные результаты вычислений сводим в таблицу 27:

Рассмотрим теперь возможные состояния оборудования к началу 4-года пятилетки. Очевидно, допустимыми состояниями являются и Для каждого из них определяем условно оптимальное решение и соответствующее значение функции Для этого используем уравнение (9) и данные таблиц 26 и 27. Так, в частности, для имеем

Аналогично находим

Полученные результаты вычислений записываем в таблицу 28:

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

Используя данные табл. 26 и 28, получаем

Из последнего выражения видно, что если к началу 3-го года пятилетки возраст оборудования составляет два года, то независимо от того, будет ли принято решение или , величина прибыли окажется одной и той же. Это означает, что в качестве условно оптимального решения можно взять любое, например . Полученные значения для и соответствующие условно оптимальные решения записываем в таблице 29:

Наконец, рассмотрим допустимые состояния оборудования к началу 2-го года пятилетки. Очевидно, на данный момент времени возраст оборудования может быть равен только лишь одному году. Поэтому предстоит сравнить лишь два возможных решения: сохранить оборудование или произвести замену. Анализ такого сравнения характеризуется данными таблицы 30:

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

Таким образом, максимальная прибыль предприятия может быть равной 215 тыс. руб. Она соответствует оптимальному плану замены оборудования, который получается на основе данных таблиц 30, 29, 28 и 27, т. е. в результате реализации второго этапа вычислительного процесса, состоящего в прохождении всех рассмотренных шагов с начала 1-го до начала 5-го года пятилетки. Для 1-го года пятилетки решение единственно — следует сохранить оборудование. Значит, возраст оборудования к началу 2-го года пятилетки равен одному году. Тогда в соответствии с данными таблицы 30 оптимальным решением для 2-го года пятилетки является решение о сохранении оборудования. Реализация такого решения приводит к тому, что возраст оборудования к началу 3-го года пятилетки становится равным двум годам. При таком возрасте (см. табл. 29) оборудование в 3-м году пятилетки следует заменить. После замены оборудования его возраст к началу 4-го года пятилетки составит один год. Как видно из таблицы 28, при таком возрасте оборудования его менять не следует. Поэтому возраст оборудования к началу 5-го года пятилетки составит два года, т. е. менять оборудование нецелесообразно (таблица 27).

Итак, получается следующий оптимальный план замены оборудования (табл. 31):

© 2011-2024 Контрольные работы по математике и другим предметам!