- •Раздел 3
- •1. Особенности метода
- •1.1. Основные понятия
- •Особенности задач динамического программирования
- •Геометрическая интерпретация задачи динамического программирования
- •2. Принципы динамического программирования.
- •Принципы динамического программирования
- •Функциональные уравнения Беллмана
- •3. Задача распределения ресурсов
Функциональные уравнения Беллмана
Как отмечалось выше, в основе динамического программирования лежит принцип оптимальности, указывающий на процедуру построения оптимального управления. Так как оптимальной стратегией может быть только та, которая одновременно оптимальна и для любого количества оставшихся шагов, ее можно строить по частям: сначала для последнего этапа, затем для двух последних, для трех и т.д., пока не придем к первому шагу. Отсюда принцип оптимальности связан со вторым принципом – погружения, согласно которому при решении исходной задачи ее как бы погружают в семейство подобных ей и решают для одного последнего этапа, для двух последних и т.д., пока не получат решение исходной задачи.
Дадим математическую формулировку принципа оптимальности для задачи с аддитивным критерием оптимальности. Для простоты будем считать, что начальное и конечное состояния системы заданы. Обозначим через значение функции цели на первом этапе при начальном состоянии системы и при управлении , через соответствующее значение функции цели только на втором этапе, …, через на -ом этапе, …, через на -ом этапе. Очевидно, что
. (2.1)
Надо найти оптимальное управление , такое, что доставляет экстремум целевой функции (2.1) при ограничениях .
Для решения этой задачи погружаем ее в семейство подобных. Введем обозначения. Пусть соответственно области определения для подобных задач на последнем этапе, двух последних и т.д.; область определения исходной задачи. Обозначим через , , …, , …, соответственно условно-оптимальные значения функции цели на последнем этапе, двух последних и т.д., на последних и т.д., на всех этапах.
Начинаем с последнего этапа. Пусть возможные состояния системы на начало -го этапа. Находим
. (2.2)
Для двух последних этапов получаем
. (2.3)
Аналогично
, (2.4)
......................................................................
, (2.5)
......................................................................
. (2.6)
Выражение (2.6) представляет собой математическую запись принципа оптимальности. Выражение (2.5) – общая форма записи условно-оптимального значения функции цели для оставшихся этапов. Выражения (2.2) – (2.6) называются функциональными уравнениями Беллмана. Отчетливо просматривается их рекуррентный (возвратный) характер, т.е. для нахождения оптимального управления на шагах нужно знать условно-оптимальное управление на предшествующих этапах и т.д. Поэтому функциональные уравнения называют рекуррентными (возвратными) соотношениями Беллмана.
3. Задача распределения ресурсов
Задачу распределения ресурсов можно сформулировать следующим образом.
Пусть на реконструкцию и модернизацию основного производства объединению выделяется некоторый объем материальных ресурсов . Имеется предприятий, между которыми нужно распределить данный ресурс. Обозначим через прибыль, которую приносит выделение -му предприятию единиц ресурса. Предполагается, что размер прибыли зависит как от выделенного количества ресурса, так и от предприятия. Причем констатируется, что: прибыль, получаемая каждым предприятием, измеряется в одних и тех же единицах; прибыль, получаемая любым из предприятий, не зависит от того, какое количество этого ресурса выделено другим предприятиям; общая прибыль объединения состоит из прибылей отдельных предприятий.
Исследования функции показывают, что она обладает следующими особенностями:
небольшое количество выделенного ресурса не приносит сколько-нибудь ощутимого эффекта (прибыли);
для каждого предприятия существует момент, начиная с которого дальнейшее увеличение данного ресурса не эффективно.
Чтобы решить задачу распределения ограниченных ресурсов, применим аппарат функциональных уравнений Беллмана.
Сформулированные выше предположения приводят к функции цели:
. (3.1)
Задача оптимального распределения возникает оттого, что имеется ограниченный объем ресурсов , т.е.
. (3.2)
Сначала идет погружение в семейство подобных задач распределения. Вместо решения одной задачи с заданным объемом ресурсов и фиксированным числом предприятий рассмотрим их семейство, в которых объем выделенного ресурса может меняться от нуля до ( ) и число предприятий – от 1 до . Статическая задача распределения при таком подходе приобретает динамический характер. Введем последовательность функций , где это максимальная прибыль, если бы ресурс был выделен только одному первому предприятию, максимальная прибыль, полученная при условии, что ресурс был распределен двум предприятиям, и т.д. Пусть, наконец, максимальная прибыль, полученная от распределения ресурса между предприятиями. Очевидно, что .
В двух случаях элементы последовательности имеют особенно простой вид:
;
.
Пусть ресурс распределен между двумя предприятиями. Если объем ресурса, выделенного второму предприятию, то его прибыль составит . Оставшийся ресурс распределяется наилучшим образом. Общая прибыль для двух предприятий составит
.
Рассуждая аналогично, найдем рекуррентное соотношение, связывающее и для произвольных значений . В самом деле, пусть количество ресурса, выделяемого для -го предприятия. Тогда, каково бы ни было значение , согласно принципу оптимальности, оставшийся ресурс распределяется между остальными предприятиями наилучшим образом. Так как известно, то
.
Решение исходной задачи получим при , , т.е. из рекуррентного соотношения
,
где .
На последнем этапе достигается максимальное значение функции цели и оптимальный объем ресурса, выделенного -му предприятию, т.е. .
Затем процесс вычислений просматривается в обратном порядке. Зная , находим объем ресурса, подлежащего распределению между оставшимися предприятиями. Так как раньше найдено значение
,
отсюда находим и, следовательно, и т.д. Продолжая процесс к началу, определяем . Тем самым будет завершено определение оптимального плана распределения ограниченного ресурса.
Пример 3.1. Для реконструкции и модернизации производства выделены денежные средства в объеме 100 тыс. дол., которые следует распределить между четырьмя цехами. По каждому из цехов известен возможный прирост выпуска продукции в зависимости от выделяемой ему суммы ( ) возможные значения и приведены в таблице. Требуется:
1) основываясь на принципах динамического программирования, построить математическую модель поставленной задачи в виде функциональных уравнений Беллмана;
2) найти оптимальное распределение средств, обеспечивающее максимальный прирост выпуска продукции.
Выделяемые денежные средства, тыс. дол. |
Прирост выпуска продукции по каждому цеху |
|||
|
|
|
|
|
0 20 40 60 80 100 |
0 9 18 24 44 59 |
0 11 19 30 38 59 |
0 16 32 40 69 73 |
0 13 27 44 57 70 |
Решение. 1) В данной задаче система представляет собой предприятие из 4-х цехов, в которое вложена сумма . Состояния и управления системы однозначно взаимосвязаны – это способы распределения суммы между цехами. Состояния системы искусственно разобьем на этапы: начальный (нулевой), первый, второй и третий этапы соответственно означают, что сумма распределена между четырьмя цехами, тремя цехами, двумя цехами и вся сумма выделена одному цеху. Нумерацию этапов удобно проводить в обратном порядке: третьему этапу соответствует , второму этапу , первому – и начальному – .
Функциональные уравнения Беллмана имеют вид:
,
где количество цехов,
выделяемые средства,
общий прирост выпуска продукции,
прирост выпуска продукции каждого цеха в зависимости от выделенной ему суммы.
2) Пусть , т.е. предположим, что все имеющиеся средства выделяются на реконструкцию и модернизацию одного цеха, например, цеха № 1. Тогда функциональное уравнение Беллмана имеет вид:
,
где прирост выпуска продукции по цеху № 1 в зависимости от выделенной суммы .
В зависимости от выделенной суммы получаем значения функции , которые заносим в таблицу 1.
Таблица 1.
.
Пусть , т.е. средства вкладываются в два цеха. Уравнение Беллмана имеет вид:
,
где прирост выпуска продукции по цеху № 2 в зависимости от выделенной суммы .
Составляем таблицу 2 для всех возможных комбинаций и .
Таблица 2.
.
В каждую клетку записывается сумма , где первое слагаемое берется из условия, а второе – из таблицы 1. В двух последних столбцах проставлены максимальный по строке прирост продукции (значения в таблице по строкам подчеркнуты) и соответствующая сумма средств, выделяемая второму цеху .
Пусть , т.е. средства вкладываются в три цеха. Уравнение Беллмана имеет вид:
,
где прирост выпуска продукции по цеху № 3 в зависимости от выделенной суммы .
Составляем таблицу 3 для всех возможных комбинаций и .
Таблица 3.
.
В каждую клетку записывается сумма , где первое слагаемое берется из условия, а второе – из таблицы 2. В двух последних столбцах проставлены максимальный по строке прирост продукции и соответствующая сумма средств, выделяемая второму цеху .
Пусть , т.е. средства вкладываются в четыре цеха. Уравнение Беллмана имеет вид:
,
где прирост выпуска продукции по цеху № 4 в зависимости от выделенной суммы .
Составляем таблицу 4 для всех возможных комбинаций и .
Таблица 4.
.
В каждую клетку записывается сумма , где первое слагаемое берется из условия, а второе – из таблицы 3. В двух последних столбцах проставлены максимальный по строке прирост продукции и соответствующая сумма средств, выделяемая второму цеху .
Составляем сводную таблицу 5 из последних двух столбцов расчетных таблиц.
Таблица 5.
.
Итак, максимальный прирост выпуска продукции в четырех цехах предприятия при распределении между ними 100 тыс. дол. составляет 82 тыс. дол. и будет получен, если первому и второму цехам средства не выделять, третьему цеху выделить 80 тыс. дол., а четвертому – 20 тыс. дол.
Ответ: максимальный прирост составляет 82 тыс. дол.; средства распределяются следующим образом: третьему цеху выделить 80 тыс. дол., четвертому – 20 тыс. дол., первому и второму цехам средств не выделять.