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

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

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

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

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

Предположим, что данная физическая система S находится в некотором начальном состоянии S0 ϵ SR и является управляемой. Таким образом, благодаря осуществлению некоторого управления U, указанная система переходит из начального состояния S0 в конечное состояние Sкон ϵ SR. При этом качество каждого из осуществляемых управлений U характеризуется соответствующим значением функции W(U). Задача состоит в том, чтобы из множества возможных управлений U найти такое U*, при котором функция W(U) принимает свое экстремальное (максимальное или минимальное) значение W(U*). Сформулированная задача и является общей задачей динамического программирования.

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

Будем считать, что состояние системы S на к-ом шаге (к = 1,…, n) определяется совокупностью чисел X K = (X1K, X2K, …, Xmk), которые получены в результате реализации управления Uk, обеспечивающего переход системы S из состояния X K-1 в состояние X K. При этом будем предполагать, что состояние X K, в которое перешла система S, зависит от заданного состояния X K-1 и выбранного управления Uk, и не зависит от того каким образом система S пришла в состояние X K-1.

Далее будем предполагать, что если в результате реализации к-го шага обеспечен определенный доход или выигрыш, зависящий от исходного состояния системы X K-1 и выбранного управления Uк, равный Wk(X K-1, Uк), то общий доход или выигрыш за n шагов составляет

(1)

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

Выполнение первого условия для задачи ДП позволяет сформулировать для нее принцип оптимальности Беллмана. До того как сделать это дадим определение оптимальной стратегии управления. Под такой стратегией будем понимать совокупность n управлений U* = (U1*, U2*,…, Un*), в результате реализации которых система S, за n шагов переходит из начального состояния Х0 в конечное состояние Хn, при этом функция (1) принимает наибольшее значение.

ПРИНЦИП ОПТИМАЛЬНОСТИ Каково бы ни было состояние системы перед очередным шагом, надо выбрать управление на этом шаге таким, чтобы выигрыш на данном шаге плюс оптимальный выигрыш на последующих шагах был максимальным.

Отсюда следует, что оптимальную стратегию управления можно получить, если сначала найти оптимальную стратегию управления на n – ом шаге, затем на двух последних шагах, далее на трех последних шагах и.т.д., вплоть до первого. Таким образом, решение рассматриваемой задачи ДП целесообразно начинать с определения оптимального управления на последнем n – ом шаге. Для того, чтобы найти это решение, очевидно, нужно сделать различные предположения о том, как мог окончиться предпоследний шаг и с учетом этого выбрать управление Un, обеспечивающее максимальное значение функции Wn(X n-1, Un). Такое управление Un, выбранное при определенных предположениях о том, как окончился предыдущий шаг, называется условно оптимальным управлением. Следовательно, принцип оптимальности требует находить на каждом шаге условно оптимальное управление для любого из возможных исходов предыдущего шага.

Чтобы это возможно было осуществить практически, необходимо дать формулировку принципа оптимальности. Для этого введем некоторые дополнительные обозначения. Обозначим через Fn(X0) максимальный доход, полученный за n-шагов при переходе системы S из начального состояния Х0 в конечное состояние Хn при оптимальной стратегии управления U = (U1, U2,…, Un), а через Fn-k(Xk) – максимальный доход, полученный при переходе из любого состояния Xk в конечное состояние Xn при оптимальной стратегии управления на оставшихся n-k шагах. Тогда

Fn(X0) = W1(X 0, U1) + … + Wn(X n-1, Un) (2)

Fn-k(Xk) = max[Wk+1(X k, Uk+1) + Fn-k-1(Xk+1)] (3)

Uk+1

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

Полагая k = n–1 в рекуррентном соотношении (3) получаем функциональное уравнение:

F1(Xn-1) = max[Wn(X n-1, Un) + F0(Xn)] (4)

Un

В этом уравнении F0(Xn) будем считать известным. Используя теперь уравнение (4) и рассматривая всевозможные допустимые состояния системы S на (n-1)-ом шаге (X1n-1, X2n-1, …, Xmn-1) находим условно оптимальные решения: Un0(X1n-1), Un0(X2n-1),…, Un0(Xmn-1) и соответствующие значения функции (4) F10(X1n-1), F10(X2n-1), …, F10(Xmn-1). Тем самым на n-ом шаге находим условно оптимальное управление при любом состоянии системы S после n-1 – го шага. Иными словами, в каком бы состоянии система не оказалась после n-1 – го шага, нам уже известно какое следует принять решение на n–ом шаге. Известно также и соответствующее значение функции (4).

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

F2(Xn-2) = max[Wn-1(X n-2, Un-1) + F1(Xn-1)] (5)

Un-1

Для того чтобы найти значение F2 для всех допустимых значений Xn-2, очевидно необходимо знать Wn-1(X n-2, Un-1) и F1(Xn-1). Что касается значений F1(Xn-1), то их мы уже определили. Поэтому нужно произвести вычисления для Wn-1(X n-2, Un-1) при некотором наборе допустимых значений X n-2 и соответствующих управлений Un-1. Эти вычисления позволят определить условно оптимальное управление Uоn-1 для каждого X n-2. Каждое из таких управлений совместно уже с выбранным управлением на последнем шаге обеспечивает максимальное значение дохода на двух последних шагах.

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

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

В качестве иллюстрации вышеизложенного метода рассмотрим решение задачи об использовании оборудования. Приведем формулировку задачи [1]/. К рассматриваемому моменту времени на предприятии установлено новое оборудование. Зависимость производительности этого оборудования от времени использования его предприятием, а также зависимость затрат на содержание и ремонт оборудования при различных сроках его использования приведена в таблице 1

Таблица 1

  Время, в течение которого используется оборудование (лет)
           
Годовой выпуск продукции R(t) в стоимостном выражении (тыс. руб.)            
Ежегодные затраты z(t), связанные с содержанием и ремонтом оборудования (тыс. руб.)            

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

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

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

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

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

Поскольку мы предположили, что к началу к-го года (к=1,2,3,4,5) может приниматься только одно из двух решений – заменять оборудование или не заменять оборудование, то прибыль предприятия за к-ый год составит:

где tk – возраст оборудования к началу к-го года (к=1,2,3,4,5);

Uk – управление, реализуемое к началу к-го года;

С0 – стоимость нового оборудования.

Следовательно, в данном случае уравнение Беллмана имеет вид:

(6)

С помощью уравнения (6) приступим к нахождению решения рассматриваемой задачи. Решать задачу начнем с определения условно оптимального управления (решения) для последнего (5-го) года пятилетки. В связи с чем, находим множество допустимых состояний оборудования к началу данного года пятилетки. Так как к началу пятилетки установлено новое оборудование (t1 =0), то возраст оборудования к началу 5-го года может составлять 1, 2, 3, 4 года. Поэтому допустимые состояния системы на данный период времени таковы: t5 = 1; t5 = 2; t5 = 3; t5 = 4. Для каждого из этих состояний найдем условно оптимальное решение и соответствующее значение функции F5(t5). Используя уравнение (6) и соотношение F6(tk+1) = 0 (так как используется последний год расчетного периода), получаем:

(7)

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

Значит, условно оптимальное управление в данном случае есть U1. Реализуем аналогичные вычисления для других допустимых состояний оборудования к началу 5-го года пятилетки:

;

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

Таблица 2

Возраст оборудования t5 лет Значение функции, F5(t5) (тыс. руб) Условно оптимальное управление, Uo5.
    U1
    U1
    U1
    U2

Рассмотрим теперь возможные состояния оборудования к началу 4-го года пятилетки. Очевидно, что допустимыми состояниями являются t4 = 1; t4 = 2; t4 = 3. Для каждого из них определяем условно оптимальное управление и соответствующее значение функции F4(t4). Для этого используем уравнение (6) и данные таблиц 1,2. Так в частности для t4 = 1 имеем

Аналогично имеем

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

Таблица 3

Возраст оборудования t4 лет Значение функции, F4(t4) (тыс. руб) Условно оптимальное управление, Uo4.
    U1
    U2
    U2

Определим теперь условно оптимальное управление для каждого из допустимых состояний оборудования к началу 3-го года пятилетки. Очевидно, что такими состояниями являются: t3 = 1; t3 = 2. В соответствии с уравнением (6) имеем:

Из последнего выражения видно, что если к началу 3-го года пятилетки возраст оборудования составляет два года, то независимо от того будет принято управление U1 или U2, величина прибыли окажется одной и той же. Это значит, что в качестве условно оптимального управления можно взять любое из двух возможных, например U2. Полученные значения для F3(t3) и соответствующие условно оптимальные управления запишем в таблицу 4.

Таблица 4

Возраст оборудования t3 лет Значение функции, F3(t3) (тыс. руб) Условно оптимальное управление, Uo3.
    U1
    U2

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

Анализ такого сравнения запишем в таблицу 5.

Таблица 5

Возраст оборудования t2 лет Значение функции, F2(t2) (тыс. руб) Условно оптимальное управление, Uo2.
    U1

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

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

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

Таблица 6

  Годы пятилетки
         
Оптимальное решение (управле-ние) Сохранить оборудование Сохранить оборудование Произвести замену оборудования Сохранить оборудование Сохранить оборудование

Контрольные вопросы

1) В чем суть метода динамического программирования?

2) Каковы достоинства и недостатки метода динамического программирования?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: