
- •Глава 9. Динамическое программирование
- •9.1. Как работает метод дп
- •Функциональное уравнение дп
- •Распределение одного вида ресурса
- •Задача организации выпуска m видов продукции
- •9.5. Задача о кратчайшем пути
- •9.6. Задача с мультипликативным критерием
- •9.7. Усложненная задача
- •9.8. Многомерные задачи динамического программирования
- •9.9. Снижение размерности с помощью множителей Лагранжа
- •9.10. Задания для самостоятельной работы
- •Варианты 1.1 - 1.3
- •Варианты 2.1 - 2.3
- •Варианты 3.1 - 3.3
- •Варианты 4.1 - 4.3
- •Варианты 5.1 - 5.3
- •Варианты 6.1 - 6.3
- •Варианты 7.1 - 7.3
- •Варианты 8.1 - 8.3
- •Варианты 9.1 - 9.3
- •Варианты 10.1-10.3
- •Варианты 11.1 - 11.3
- •Варианты 12.1 - 12.3
- •Варианты 13.1 - 13.3
- •Варианты 19.1 - 19.3
- •Варианты 15.1 - 15.3
- •Варианты 16.1 - 16.3
- •Варианты 17.1 - 17.3
- •Варианты 18.1 - 18.3
- •Варианты 19.1 - 19.3
- •Варианты 20.1 - 20.3
- •Варианты 21.1 - 21.3
- •Варианты 22.1 - 22.3
- •Варианты 23.1 - 23.3
- •Варианты 24.1 - 24.3
- •Варианты 25.1 - 25.3
- •Варианты 26.1 - 26.3
- •Варианты 27.1 - 27.2
- •Варианты 28.1 - 28.3
- •Варианты 29.1 - 29.3
- •Варианты 30.1 - 30.2
9.9. Снижение размерности с помощью множителей Лагранжа
Покажем на примере задачи 1, каким образом введение множителей Лагранжа позволяет заменить исходную задачу рядом задач с меньшей размерностью вектора состояния.
В задаче 1 состояние описывалось двумя параметрами, что обусловливалось наличием двух ограничений. Для уменьшения размерности на 1 достаточно из модели (9.40)-(9.43) убрать одно из ограничений, что можно сделать, если удаляемое ограничение включить в критерий задачи с неопределенным множителем Лагранжа l. Тогда модель измененной задачи примет вид:
(9.52)
(9.53)
(9.54)
Как будет доказано ниже, задача (9.52)-(9.54) при определенных условиях эквивалентна исходной задаче (9.40)-(9.43). Так как ограничения (9.53), (9.54) не связывают между собой переменные yj, то есть они стали независимыми, то справедлива следующая цепочка равенств:
где
.
(9.55)
Функции hj(xj) имеют смысл, если максимум в (9.55) достигается при конечных значениях yj, что всегда будет, когда
.
(9.56)
Это условие ограничивает применение данного способа, но в рассматриваемой задаче оно, очевидно, выполняется, так как при неограниченном возрастании ресурса y рост прибыли будет замедляться.
Как
видно из (9.55), вычисление функции hj(xj)
при фиксированном значении
заключается в нахождении максимума
функции одной переменной для всех
возможных значенийxj,
что не вызывает особых затруднений (для
дифференцируемых Rj(xj,yj)
максимум можно найти аналитически). При
известных hj(xj),
j=1,N
задача (9.52)-(9.54) сводится к следующей:
(9.57)
(9.58)
(9.59)
Получили уже знакомую нам задачу распределения одного ресурса. Для решения ее методом ДП введем последовательность функций
,
где V - параметр состояния, значения которого не превосходят X. Для них справедливо рекуррентное соотношение:
fk(V) = max[hk (xk)+ fk-1(V-xk)], (9.60)
в
котором f1(V)=
h1(V),
=V.
Вычисления
по формуле (9.60) проводятся, как обычно,
от f1
к fN,
затем в обратном порядке - безусловная
оптимизация, начиная с V=X,
которая дает значения
.
По последним из функцийhj(xj)
находятся значения
.
Теперь следует вспомнить об условии
(9.42), которое не вошло в измененную
задачу. Если
=Y,
то найденное решение
,
является оптимальным решением задачи
(9.40)-(9.43). В противном случае придется
продолжить расчеты.
Нетрудно
увидеть, что оптимальное решение
измененной задачи зависит от принятого
значения множителя
.
Поэтому при невыполнении условия (9.42)
нужно изменить значение
и повторить весь расчет, начиная с
вычисления функцийhj(xj).
В данной задаче при изменении
можно воспользоваться очевидным
свойством: с увеличением
будет монотонно убывать
и наоборот. В более сложных ситуациях
можно воспользоваться одним из методов
одномерного поиска нелинейного
программирования. Таким образом,
равенство (9.42) может быть выполнено с
любой заданной точностью.
Чтобы нагляднее представить весь расчет с использованием множителей Лагранжа, приведем его алгоритм в виде блок-схемы (рис.9.11). Как видно из алгоритма, функции fk(V) и hj(xj), участвующие в расчете, зависят от одного параметра состояния, и, следовательно, поставленная цель достигнута.
Рис.9.11
Теперь
покажем эквивалентность задач
(9.40)-(9.43) и (9.52)-(9.54), понимая под этим
совпадение решений. Следуя Беллману,
доказательство проведем от противного.
Имея оптимальное решение измененной
задачи
,
,
предположим, что оптимальное решение
исходной задачи иное, а именно,
,
.
Тогда для критерия исходной задачи
должно выполняться неравенство
.
(9.61)
Так
как å=Y
по условию исходной задачи, а å
=Y
по алгоритму решения измененной задачи,
то å
=å
.
Вычитание одной и той же величины,
умноженной на
,
из левой и правой частей выражения
(9.61) не меняет знак неравенства:
.
(9.62)
Но
здесь и слева, и справа имеем выражение
критерия измененной задачи, по которому
оптимальным является решение
,
.
Таким образом, неравенство (9.62), вытекающее
из допущения существования разных
решений, противоречит исходной посылке
и потому такое допущение неверно, что
доказывает совпадение решений исходной
и измененной (эквивалентной) задач.
Для задачи 2 применение метода множителей Лагранжа реализуется проще. Модель измененной задачи можно записать по аналогии с вышеприведенным случаем в виде:
Для функций последовательности, определенных как
справедливо следующее рекуррентное соотношение
(9.63)
Как
видно, здесь нет дополнительных функций
hj
и вычисления можно проводить сразу по
рекуррентной формуле (9.63), задавшись
предварительно значением
.
После нахождения решения проверяется
условие (9.48) -å
)£B
и, если оно не выполняется, то необходимо
изменить значение
и
повторить расчет. Таким способом
достигается эквивалентность исходной
и измененной задач и получение оптимального
решения с помощью последовательности
функций, зависящих только от одного
параметра состояния.
В общем случае, когда вектор состояния исходной задачи имеет размерность m, можно использовать q множителей Лагранжа (q<m), что позволит снизить размерность вектора состояния измененной задачи до m-q. При этом выполнение исключенных из условий исходной задачи q ограничений может быть обеспечено управлением таким же числом множителей Лагранжа. Однако увеличение размерности вектора состояния и соответственно числа множителей Лагранжа ведет к значительно более быстрому росту трудоемкости решения измененной задачи. Поэтому проблема "проклятия размерности" остается, ограничивая применение метода ДП задачами с небольшим числом параметров состояния.
Несмотря на указанный недостаток метод динамического программирования находит широкое применение для решения многих задач исследования операций, в том числе задач распределения, замены, кратчайшего пути, упорядочения и др.