Исследование операций (обучающая система) / chapter6 / MetDinProg
.htmМетод динамического программирования Задача распределения ресурсов
Постановка задачи
Алгоритм метода
Идея поиска
Пример
Упражнение
Постановка задачи
Имеется сырье в объеме с и n технологических процессов. Если количество х сырья использовать в i-м технологическом процессе, то получим прибыль φi(x). Необходимо распределить сырье между процессами таким образом, чтобы получить максимальную прибыль.
Пусть xi — количество сырья, выделяемого на i-й процесс. Тогда математическая модель сформулированной задачи распределения ресурсов примет вид :
Алгоритм метода
1. При помощи таблицы 1 заполнить таблицу 2 по следующей формуле:
Bk(y) = max [ φk(z)+Bk-1(y-z) ], z=0..y.
Таблица 1:
x 0 1 2 φ1(x) φ1(x0) φ1(x1) φ1(x2) φ2(x) φ2(x0) φ2(x1) φ2(x2) В каждой клетке наряду со значением функции Беллмана в скобках необходимо указывать значение объема сырья, на котором достигает максимума эта функция.
Таблица 2:
y 0 1 2 B1(y) В1 (у0) (x1..xn) В1 (у1) (x1..xn) В1 (у2) (x1..xn) B2(y) В2 (у0) (x1..xn) В2 (у1) (x1..xn) В2 (у2) (x1..xn) 2. Из таблицы 2 определить максимальную прибыль Bk(y) при заданных значениях объема сырья с и количестве процессов n.
3. Найти оптимальное распределение сырья между процессами. Если n - му процессу выделить x0n сырья, то на остальные n - 1 процесс остается сырья в количестве с - x0n
Предпоследняя компонента оптимального плана x0 равна x0n-1 = x0n-1 (с — x0n). Продолжив процесс решения,
найдем компоненты x0n-2, ... , x01 решения исходной задачи.
Идея поиска
Первый этап решения экстремальной задачи методом динамического программирования — инвариантное погружение исходной задачи в семейство аналогичных задач. Оптимальное значение Вk (у) целевой функции произвольной задачи называется функцией Беллмана.
Второй этап решения задачи методом динамического программирования состоит в получении уравнения для функции Беллмана. На этом этапе в общем случае используется принцип оптимальности Беллмана, т. е. при составлении искомого уравнения выявляется правильность инвариантного погружения. С другой стороны, способ погружения сказывается на виде уравнения.
Третий (и последний) этап решения задачи состоит в поиске решения уравнения Беллмана и в построении по нему решения исходной задачи (1).