Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
28.06.2014
Размер:
45.74 Кб
Скачать

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

        Постановка задачи

        Алгоритм метода

        Идея поиска

        Пример

        Упражнение

 

    Постановка задачи

            Имеется сырье в объеме с и 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). 

Соседние файлы в папке chapter6