
- •1. Линейная производственная задача
- •Двойственная задача
- •Задача о "расшивке узких мест производства"
- •Транспортная задача линейного программирования
- •Динамическое программирование. Распределение капитальных вложений
- •Динамическая задача управления производством и запасами.
- •Матричная игра как модель конкуренции и сотрудничества
- •Анализ доходности и риска финансовых операций
- •Задача формирования оптимального портфеля ценных бумаг.
Динамическая задача управления производством и запасами.
Условие задачи:
Предприятие производит партиями некоторые изделия. Предположим, что оно получило заказы на n месяцев. Спрос потребителей на нашу продукцию составляют: на первый этап d1=3 единицы, на второй – d2=1, на третий - d3=2 единицы. К началу первого этапа на складе имеется 0 единиц продукции, т.е. начальный уровень запаса равен y1=0. Затраты на хранение единицы продукции на разных этапах различны и составляют соответственно h1=6, h2=3, h3=5..
d1 d2 d3 a b c h1 h2 h3 y1
3 1 2 4 1 2 6 3 5 0
Задание:
необходимо составить план производства на указанные n месяцев с учетом затрат на производство и хранение изделий. Требуется указать, сколько единиц продукции на отдельных этапах следует производить, чтобы заявки потребителей были удовлетворены, а наши общие затраты на производство и хранение за все три этапа были наименьшими.
Исходные данные задачи можно кратко записать одной строкой:
Решение:
Обозначим:
xj - число изделий, производимых в j -й месяц;
yj - величина запаса к началу j -го месяца (это число не содержит изделий, произведенных в j -м месяце);
dj - число изделий, которые должны быть отгружены в j -й месяц;
fj (xj,yj+1) - затраты на хранение и производство изделий в j -м месяце.
Будем считать, что величины запасов к началу первого месяца y1 и к концу последнего yn+1 заданы.
Задача состоит в том, чтобы найти план производства (x1, x2, ..., xn)
компоненты которого удовлетворяют условиям материального баланса
xj
+ yj
- dj
= yj+1 j
= 1,n
и минимизируют суммарные затраты за весь планируемый период
по смыслу задачи xj
0, yj
0, j = 1
для любого месяца j величина yj+1 запаса к концу месяца должна удовлетворять ограничениям 0 yj+1 dj+1 + dj+2 + ... + dn
0 xj dj + yj+1
переменные xj, yj могут принимать только целые неотрицательные значения
За параметр состояния примем наличный запас в конце k -го месяца
= yk+1
а
функцию состояния Fk()
определим как минимальные затраты за
первые k месяцев при
где
xj
+ yj
- dj
= yj+1
j = 1,
k-1
xk + yk - dk =
yk = + dk - xk
приходим к рекуррентному соотношению
где минимум берется по единственной переменной xk, которая, согласно может изменяться в пределах 0 xk dk +
компаненты
оптимального решения определяем
Пусть j(xj) = axj2 + bxj + c -функция затрат
где k = 2, 3, ... , n
0 yk+1 dk+1 + dk+2 + ... + dn
0 xk dk + yk+1
yk = yk+1 + dk - xk
j(xj)
= 4xj2
+ xj
+ 2
т.е. а=4; b=1; с=2.
Положим k = 1, F1( = у2) = min {4x12 + x1 + 2 + h1у2}, обозначим выражение в фигурных скобках через k(xk, yk+1) = axj2 + bxj + c + hkyk+1 + Fk-1(yk)
и Fk(=yk+1) = min k(xk, yk+1)
хk
0
у2
d2
+ d3
0
y2
1+2 , т.е. у2
= 0, 1, 2, 3.
0
х1
3 + у2
Из балансового уравнения х1 + у1 - d1 = у2 непосредственно следует, что объем производства связан со значением параметра состояния = у2 соотношением
x1 = y2 + d1 - y1 = y2 + 3 - 0 = y2 +3
F1( = y2) = 1 (x1, y2)
Придавая у2 значения от 0 до 3
y2 = 0, x1 = 0+3 = 3, 1 (3;0) = 4*32 + 3 + 2 + 6*0 = 41*
y2 = 1, x1 = 1+3 = 4, 1 (4;1) = 4*42 + 4+ 2 + 6*1=76
y2 = 2, x1 = 2+3 = 5, 1 (5;2) = 4*52 + 5+ 2 + 6*2=119
y2 = 3, x1 = 3+3 = 6, 1 (6;3) = 4*62 + 6+ 2 + 6*3=170
Таблица 1
= y2 |
0 |
1 |
2 |
3 |
|
41 |
76 |
119 |
170 |
x1(=y2) |
3 |
4 |
5 |
6 |
Полагаем k = 2 и табулируем функцию
F2( = y3)=min2 (x2, у3)= min{4x22 + x2 + 2 + h2у3 +F1(y2)}
x2 x2
0 x2 d2 + y3 или 0 x2 1 + y3
0 y3 d3 , т.е. 0 y3 2
x2 + y2 - d2 = y3 , y2 = y3 + d2 - x2 = y3 + 1 - x2
Таблица 2.
Таблица
2 |
|
|
xk |
yk=yk+1+ + dk-xk |
k(xk, yk+1) =k(xk) + hkyk+1 + Fk-1(yk) |
|
0 y3 d3 |
= y3 |
0 x2 d2 + y3 |
x2 |
y2=y3+d2- -x2 |
2(x2,
y3)
= a | |
0 y3 2 |
= y3 |
0 x2 1 + +y3 |
x2 |
y2=y3+1- x2 |
2(x2, y3) = 4x22+x2+ 2 + 3у3 +F1(y2) | |
|
y3 = 0 |
0 x2 1 |
x2 = 0 x2 = 1
|
y2=1-0=1 y2=1-1=0
|
2(0;0) = 4*02 +0+2+30 + F1(1) =2+76 =78 2(1;0) = 4*12 +1+ 2+30 + F1(1)=7+41 =48* | |
|
y3 = 1 |
0 x2 2 |
x2 = 0 x2 = 1 x2 = 2
|
y2=2-0 =2 y2=2-1=1 y2=2-2 =0
|
2(0;1) = 4*02 +0+2 +31+ F1(2) = 5+119=124 2(1;1) = 4*12 +1+2 +31+ F1(1) =10+76 =86 2(2;1)= 4*22+2 +2 +31 +F1(0)=23+41 =64*
| |
|
y3 = 2 |
0 x2 3 |
x2 = 0 x2 = 1 x2 = 2 x2 = 3 |
y2= 2+1-0=3 y2=2+1-1=2 y2=2+1-2=1 y2= 2+1-3=0 |
2(0;2) = 4*02 +0+2 +32+ F1(3) = 8+170=178 2(1;2) = 4*12 +1+2 +32+ F1(2) =13+119 = 132 2(2;2)= 4*22+2 +2 +32 +F1(1)= 26+76=102 2(3;2) = 4*32 +3+2 +32+ F1(0) =47+ 41 =88*
|
|
Таблица 3
-
= у3
0
1
2
F2 (= y3)
48
64
88
2 ( = y3)
1
2
3
Таблица
4
Полагаем k=3 и табулируем функцию F3 ( = y4):
Вычисляем значение функции состояния только для одного значения аргумента = у4 = 0, так как не хотим оставлять продукцию в запас в конце исследуемого периода.
Таблица 4.
|
|
|
xk |
yk =yk+1 + + dk - xk |
k(xk, yk+1) = k(xk) + hkyk+1 + Fk-1(yk) |
|
0y40 |
=y4 |
0 x3 d3 + y4 |
x3 |
y3 = y4 + +d3-x3 |
3(x3,
y4)
= a | |
y4 = 0 |
= y4 |
0 x3 2 |
x3 |
y3 = y4+ +2 - x3 |
3(x3,
y4)
= 4 | |
|
y4 = 0 |
0 x3 2 |
x3 =0 x3 =1 x3=2
|
y3=2-0=2 y3=2-1=1 y3=2-2=0
|
3(0;0)=4*02 + 0 +2 +50+F2(2)=2+88=90 3(1;0)=4*12+ 1 +2 +50+F2(1)=7+64=71 3(2;0)=4*22 + 2 +2 +50+F2(0)=20+48=68*
|
Получаем
F3
(
= y4)
= min 3
(x3,0)
= min (90,71,68) = 68, причем минимум достигается
значении переменной х3,
равном 3
(
= y4
= 0) = 2.
Таким
образом, получили последнюю компоненту
оптимального решения
=
2.
х3 + у3 - d3 = y4 или 2 + у3 - 2 = 0,
oткуда
у3
= 0. Из таблицы (3) значений
находим х2*=
2
(
= y3
= 0)=1.
х2 + у2 - d2 = y3 или 1 + у2 - 1 = 0, получаем у2 = 0;
из
таблицы (2) значений х1()
находим х1*=1
(
= y2
= 0) = 3.
Оптимальный план производства имеет вид х1 = 3, х2 = 1, х3 = 2, а минимальные общие
затраты составляют 68 единиц.
Самопроверка результатов Таблица 5
Этапы |
январь |
февраль |
март |
Итого за 3 месяца |
|
Имеем продукции к началу месяца, шт. |
у1= 0 |
у2= 0 |
у3= 0 |
у1= 0 | |
Производим в течение месяца, шт. |
х1= 3 |
х2= 1 |
х3= 2 |
х1+ х2+ х3= 6 | |
Отпускаем заказчикам, шт. |
d1= 3 |
d2= 1 |
d3= 2 |
d1+ d2+ d3= 6 | |
Остаток к концу месяца (храним в течение текущего месяца), шт. |
у2= 0 |
у3= 0 |
у4= 0 |
0 | |
Затраты на производство, руб. |
(х1)=41 |
(х2)=7 |
(х3)=20 |
(х1) +(х2) +(х3) = 68 | |
Затраты на хранение, руб. |
h1у2= 0 |
h2у3= 0 |
0 |
h1у2+h2у3= 0 |
самопроверка у1 + х1 d1 у2 + х2 d2 у3 + х3 d3
0 + 3 3 0 + 1 1 0 + 2 2
суммарный объем производства и имевшегося к началу первого этапа запаса продукции равен суммарной потребности у1 + х1 + х2 + х3 = d1 + d2 + d3
0 + 3 + 1 + 2 = 3 + 1 + 2
причем это достигается при наименьших возможных затратах на производство и хранение продукции
(х1) + (х2) + (х3) + h1у2 + h2у3 = F3(y4=0)
41 + 7 + 20 + 0 + 0 = 68.