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

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

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

2017-12-21 106
Метод динамического программирования 0.00 из 5.00 0 оценок
Заказать работу

 

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

Методом динамического программирования решить задачу распределения капитальных вложений между четырьмя предприятиями производственного объединения, располагающего суммой в 700 тыс. руб. (выделяемые суммы кратны 100 тыс. руб.).

 

 

Исходные данные

Значения функции fjj) приведены в Таблице 1 (считаем их заданными, их определение - довольно трудоемкая экономическая задача):

 

Таблица 1

xj                
f1(xj)                
f2(xj)                
f3(xj)                
f4(xj)                

 

 

Решение

Воспользуемся методом динамического программирования для решения этой задачи.

Введем параметр состояния x - количество рублей, выделяемых нескольким предприятиям, и определим функцию состояния Fk(x) - максимальная прибыль на первых k предприятиях, если они вместе получат хk рублей.

Табулируя последовательно функции Fk(x), получим решение, ход которого приведен в Таблицах 2-6.


 

Таблица 2

x-х2                
х2 F(x-x2) f2(x2)                
                   
    22* 42*            
      57* 70*          
        82*          
        92* 101*        
        101*          
                   
                   

 

Таблица 3

x                
F2(x)                
x2(x)               400/500

 

Таблица 4

  x-х3                
х3 F(x-x3) f3(x3)                
    0* 22* 42* 57*        
                   
        71* 86* 99*      
          99* 112*      
                   
                   
                   
                   

 

Таблица 5

x                
F2(x)                
x2(x)             200/300  

Таблица 6

x-х4                
х4 F(x-x4) f4(x4)                
                   
                115*  
                   
                   
                   
                   
                   
                   

 

Zmax = 115 тыс. руб.,

 

причем четвертому предприятию должно быть выделено

х4* = х4(700) = 100 тыс. руб.

 

На долю остальных трех предприятий остается 600 тыс. руб. Из Таблицы 5 видно, что третьему предприятию должно быть выделено

1) х3* = х3(700 - х4*) = х3(600) = 200 тыс. руб.

2) х3* = х3(700 - х4*) = х3(600) = 300 тыс. руб.

 

Продолжая обратный процесс, находим

1) х2* = х2(700 - х4* - х3*) = х2(400) = 200 тыс. руб.

2) х2* = х2(700 - х4* - х3*) = х2(300) = 200 тыс. руб.

 

На долю первого предприятия останется

1) х1* = 700 - х4* - х3* - х2* = 200 тыс. руб.

2) х1* = 700 - х4* - х3* - х2* = 100 тыс. руб.

 

Таким образом, наилучшим является следующее распределение капитальных вложений по предприятиям:

1) х1* = 200; х2* = 200; х3* = 200; х4* = 100

2) х1* = 100; х2* = 200; х3* = 300; х4* = 100

 

Оно обеспечивает производственному объединению наибольший возможный прирост прибыли 115 тыс. руб.

В качестве проверки правильности решения задачи можно использовать равенство

 

f1(x1*) + f2(x2*) + f3(x3*) + f4(x4*) = Zmax

1) f1(200) + f2(200) + f3(200) + f4(100) = 33 + 37 + 29 + 16 = 115 = Zmax

2) f1(100) + f2(200) + f3(300) + f4(100) = 20 + 37 + 42 + 16 = 115 = Zmax

 

Следовательно, полученные решения верны.


Динамическая задача управления производством и запасами

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

Рассмотреть динамическую задачу управления производством и запасами.

 

 

Исходные данные

 

Спрос (заявки) потребителей на продукцию составляют: на первый этап d1 = 5 единиц, на второй – d2 = 1, на третий - d3 = 2 единицы. К началу первого этапа на складе имеется только 4 единицы продукции, т.е. начальный уровень запаса равен y1=4. Затраты на хранение единицы продукции на разных этапах различны и составляют соответственно h1 = 2, h2 = 1, h3 = 1. Затраты на производство xj единиц продукции на j-м этапе определяются функцией

 

jj(xj) = 2 * xj2 + 6 (1)

 

т.е. а = 2; b = 0; с = 6. Требуется указать, сколько единиц продукции на отдельных этапах следует производить, чтобы заявки потребителей были удовлетворены, а общие затраты на производство и хранение за все три этапа были наименьшими.

 

 

Решение

 

Воспользовавшись рекурентными соотношениями, последовательно вычисляем F1 (x = y2), F2 (x = y3),..., Fk (x = yk+1),... и соответственно находим 1 (x= y2), 2 (x = y3),..., ` k (x = yk+1),...

 

Положим k = 1. Тогда имеем

 

F1(x= y2) = min{2 * xj2 + 6 + 2 * y2} (2)

 

Учтем, что параметр состояния x = у2 может принимать целые значения на отрезке

0 у2 d2 + d3

0 y2 3

т.е.

у2 = 0, 1, 2, 3

 

При этом каждому значению параметра состояния должна отвечать определенная область изменения переменной x1, характеризуемая условием

 

0 х1 d1 + у2

0 х1 5 + у2

 

Из балансового уравнения

 

х1 + у1 - d1 = у2

 

непосредственно следует, что объем производства связан со значением параметра состояния x= у2 соотношением

 

x1 = y2 + d1 - y1 = y2 + 5 - 4 = y2 + 1 (3)

 

Каждому значению у2 отвечает единственное значение х1 и потому

 

F1(x = y2) = W1 (x1, y2)

 

Придавая у2 различные целые значения от 0 до 3 и учитывая (3), находим

 

y2 = 0, x1 = 1, W1 (1;0) = 2 * 12 + 6 + 2 * 0 = 8

y2 = 1, x1 = 2, W1 (2;1) = 2 * 22 + 6 + 2 * 1 = 16

y2 = 2, x1 = 3, W1 (3;2) = 2 * 32 + 6 + 2 * 2 = 28

y2 = 3, x1 = 4, W1 (4;3) = 2 * 42 + 6 + 2 * 3 = 44

 

Значения функции состояния F1(x) представлены в Таблице 1.

Таблица 1

x = y2        
F1 (x = y2)        
x1(x=y2)        

 

 

Переходим ко второму этапу. Полагаем k = 2 и табулируем функцию F2(x = y3):

 

F2(x = y3) = min W1 (x1, y2) = min{a * x22 + b * x2 + c + h2 * y3 + F1(y2)} =

= min {2 * x22 + 6 + y3 + F1(y2)} (4)

 

Здесь минимум берется по единственной переменной х2, которая может изменяться в пределах

 

0 £ x2 £ d2 + y3 или 0 £ x2 £ 1 + y3 (5)

 

где верхняя граница зависит от параметра состояния x = у3, который принимает значения на отрезке

 

0 £ y3 £ d3, т.е. 0 £ y3 £ 2 (6)

 

а аргумент у2 в последнем слагаемом справа в соотношении (4) связан с х2 и у3 балансовым уравнением

 

x2 + y2 - d2 = y3

откуда следует

y2 = y3 + d2 - x2 = y3 + 1 - x2 (7)

 

Придавая параметру состояния различные значения от 0 до 2, будем последовательно вычислять W2 (x2, x), а затем определять F2(x) и 2(x).

 

Положим x = у3 = 0. Тогда, согласно (5),

 

0 £ x2 £ 1,

 

т.е. переменная х2 может принимать значения 0, 1, которым отвечает значение у2, вычисляемое по формуле (7):

 

у2 = 1 - х2

 

Последовательно находим:

 

x2 = 0, y2 = 1 - 0 = 1, W2 (0,0) = 2 * 02 + 6 + 0 + F1(1) = 6 + 16 = 22

x2 = 1, y2 = 1 - 1 = 0, W2 (1,0) = 2 * 12 + 6 + 0 + F1(0) = 8 + 8 = 16*

 

Наименьшее из полученных значений W2 есть F2 (0), т.е.

 

F2 (x = y3 = 0) = min W2 (x2,0) = min (22, 16) = 16,

x2

 

причем минимум достигается при значении х2, равном

 

` 2 (x = y3 = 0) = 1

 

Положим x = у3 = 1. Тогда, согласно (5),

 

0 £ x2 £ 2,

 

т.е. переменная х2 может принимать значения: 0, 1, 2, а каждому значению х2 отвечает определенное значение у2, вычисляемое по формуле (7):

 

у2 = 2 - х2

 

Последовательно находим:

 

x2 = 0, y2 = 2 - 0 = 2, W2 (0,1) = 2 * 02 + 6 + 1 + F1(2) = 7 + 28 = 35

x2 = 1, y2 = 2 - 1 = 1, W2 (1,1) = 2 * 12 + 6 + 1 + F1(1) = 9 + 16 = 25

x2 = 2, y2 = 2 - 2 = 0, W2 (2,1) = 2 * 22 + 6 + 1 + F1(0) = 15 + 8 = 23*

 

Наименьшее из полученных значений W2 есть F2 (1), т.е.

 

F2 (x = y3 = 1) = min W2 (x2,1) = min (35, 25, 23) = 23,

x2

 

причем минимум достигается при значении х2, равном

 

` 2 (x = y3 = 1) = 2

 

Положим x = у3 = 2. Тогда, согласно (5),

 

0 £ x2 £ 3,

 

т.е. переменная х2 может принимать значения: 0, 1, 2, 3, а каждому значению х2 отвечает определенное значение у2, вычисляемое по формуле (7):

 

у2 = 3 - х2

 

 

Последовательно находим:

 

x2 = 0, y2 = 3 - 0 = 3, W2 (0,2) = 2 * 02 + 6 + 2 + F1(3) = 8 + 44 = 52

x2 = 1, y2 = 3 - 1 = 2, W2 (1,2) = 2 * 12 + 6 + 2 + F1(2) = 10 + 28 = 38

x2 = 2, y2 = 3 - 2 = 1, W2 (2,2) = 2 * 22 + 6 + 2 + F1(1) = 16 + 16 = 32*

x2 = 3, y2 = 3 - 3 = 0, W2 (3,2) = 2 * 32 + 6 + 2 + F1(0) = 26 + 8 = 34

 

Наименьшее из полученных значений W2 есть F2 (2), т.е.

 

F2 (x = y3 = 2) = min W2 (x2,2) = min (52, 38, 32, 34) = 32,

x2

 

причем минимум достигается при значении х2, равном

 

2 (x = y3 = 2) = 2

 

Результаты табулирования функции F2(x = y3) сведены в Таблице 2.

 

Таблица 2

x= у3      
F2 (x= y3)      
(x= y3)      

 

Переходим к следующему этапу. Полагаем k=3 и табулируем функцию F3 (x = y4):

 

F3 (x = y4) = min{a * x32 + b * x3 + c + h3 * y4 + F2(y3)} =

= min{2 * x32 + 6 + y4 + F2(y3)}

 

Вычисляем значение функции состояния только для одного значения аргумента x = у4 = 0, так как не имеет смысла оставлять продукцию в запас в конце исследуемого периода.

Тогда, согласно (5),

 

0 £ x3 £ 2,

 

т.е. переменная х3 может принимать значения: 0, 1, 2, а каждому значению х3 отвечает определенное значение у3, вычисляемое по формуле (7):

у3 = 2 - х3

 

Последовательно находим:

 

x3 = 0, y3 = 2 - 0 = 2, W2 (0,0) = 2 * 02 + 6 + 0 + F2(2) = 6 + 32 = 38

x3 = 1, y3 = 2 - 1 = 1, W2 (1,0) = 2 * 12 + 6 + 0 + F2(1) = 8 + 23 = 31

x3 = 2, y3 = 2 - 2 = 0, W2 (2,0) = 2 * 22 + 6 + 0 + F2(0) = 14 + 16 = 30*

 

Получаем

 

F3 (x = y4) = min W3 (x3,0) = min (38, 31, 30) = 30,

x3

 

причем минимум достигается в двух значениях переменной х3

 

` 3 (x = y4 = 0) = 2

 

Таким образом, мы получили не только минимальные общие затраты на производство и хранение продукции, но и последнюю компоненту оптимального решения. Она равна

 

x3* = 2

 

Остальные компоненты оптимального решения найдем по обычным правилам метода динамического программирования. Чтобы найти предпоследнюю компоненту, учтем, что

 

х3 + у3 - d3 = y4

2 + у3 - 2 = 0,

у3 = 0,

 

Из таблицы 2 значений находим

 

x2*= 2 (x = y3 = 0) = 1

 

Аналогично, продолжая двигаться в обратном направлении и учитывая, что

 

х2 + у2 - d2 = y3

1 + у2 - 1 = 0,

у2 = 0

 

из таблицы (1) значений х1(x) находим

 

x1*= 1 (x = y2 = 0) = 1

 

Итак, оптимальный план производства имеет вид

 

х 1 = 1

х 2 = 1

х 3 = 2

 

а минимальные общие затраты составляют 30 единиц.

 

 



Поделиться с друзьями:

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.137 с.