Динамическая задача управления производством и запасами
Предприятие производит партиями некоторые изделия. Предположим, что оно получило заказы на n месяцев. Размеры заказов значительно меняются от месяца к месяцу. Поэтому иногда лучше выполнять одной партией заказы нескольких месяцев, а затем хранить изделия, пока они не потребуются, чем выполнять заказ в тот именно месяц, когда этот заказ должен быть отправлен. Необходимо составить план производства на указанные 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
и минимизируют суммарные затраты за весь планируемый период
Пусть спрос (заявки) потребителей на нашу продукцию составляют: на первый этап d1=3 единицы, на второй – d2=2, на третий - d3=4 единицы. К началу первого этапа на складе имеется только 2 единицы продукции, т.е. начальный уровень запаса равен y1=2. Затраты на хранение единицы продукции на разных этапах различны и составляют соответственно h1=5, h2=4, h3=0. Затраты на производство xj единиц продукции на j-м этапе определяются функцией
jj(xj) = 4xj2 + 5xj , т.е. а=4; b=5; с=0.
Требуется указать, сколько единиц продукции на отдельных этапах следует производить, чтобы заявки потребителей были удовлетворены, а наши общие затраты на производство и хранение за все три этапа были наименьшими.
Исходные данные задачи можно кратко записать одной строкой:
d1 d2 d3 a b c h1 h2 h3 y1
3 2 1 4 5 0 5 4 0 2
Воспользовавшись рекуррентными соотношениями, последовательно вычисляем F1 (x = y2), F2 (x = y3), ..., Fk (x = yk+1), ... и соответственно находим
1 (x= y2), 2 (x = y3 ), ..., ` k (x = yk+1), ...
Положим k = 1. Тогда
Параметр состояния x = у2 может принимать целые значения на отрезке
0 у2 d2 + d3 0 y2 2 + 1 т.е. у2 = 0, 1, 2, 3.
При этом каждому значению параметра состояния должна отвечать определенная область изменения переменной x1, 0 х1 3 + у2
Однако, на первом этапе объем производства х1 не может быть меньше единицы, так как спрос d1 = 3, а исходный запас у1 = 2. Более того, из балансового уравнения х1 + у1 - d1 = у2 непосредственно следует, что объем производства связан со значением параметра состояния x= у2 соотношением x1 = y2 + d1 - y1 = y2 + 3 - 2 = y2 +1
Если задан уровень запаса к началу первого этапа, то каждому значению у2 отвечает единственное значение х1 и потому F1(x = y2) = W1 (x1, y2)
Придавая у2 различные целые значения от 0 до 3, находим
y2 = 0, x1 = 0+1 = 1, W1 (1;0) = 4×12 + 5×1 + 1×0 = 10
y2 = 1, x1 = 1+1 = 2, W1 (2;1) = 4×22 + 5×2 + 1×1 = 27
y2 = 2, x1 = 2+1 = 3, W1 (3;2) = 4×32 + 5×3 + 1×2 = 53
y2 = 3, x1 = 3+1 = 4, W1 (4;3) = 4×42 + 5×4 + 1×3 = 87
Переходим ко второму этапу. Полагаем k = 2 и табулируем функцию F2(x = y3)
Здесь минимум берется по единственной переменной х2, которая может изменяться в пределах 0 £ x2 £ d2 + y3 или 0 £ x2 £ 2 + y3, где верхняя граница зависит от параметра состояния x = у3, который принимает значения на отрезке 0 £ y3 £ d3 , т.е. 0 £ y3 £ 1,
а аргумент у2 связан с х2 и у3 балансовым уравнением x2 + y2 - d2 = y3 ,
откуда следует y2 = y3 + d2 - x2 = y3 + 2 - x2
Придавая параметру состояния значения 0 и 1, будем последовательно вычислять W2 (x2, x), а затем определять F2(x ) и 2(x ).
Пусть x = у3 = 0. Тогда 0 £ x2 £ 2, т.е. переменная х2 может принимать значения: 0, 1, 2, а каждому значению х2 отвечает определенное значение у2, вычисляемое по формуле у2 = 0 + 2 - х2
Последовательно находим:
если x2 = 0, то y2 = 2 – 0 = 2, W2 (0,0) = 4×02 + 5×0 + F1(2) = 53,
x2 = 1, y2 = 2 – 1 = 1, W2 (1,0) = 4×12 + 5×1 + F1(1) = 9 + 27 = 36,
x2 = 2, y2 = 2 – 2 = 0, W2 (2,0) = 4×22 + 5×2 + F1(0) = 26 + 10 = 36,
Наименьшее из полученных значений W2 есть F2 (0), т.е.
F2 (x = y3 = 0) = min W2 (x2,0) = min (53, 36, 36) = 36,
x2
причем минимум достигается при двух значениях х2, равных ` 2 (x = y3 = 0) = 1 или 2.
Пусть x = у3 = 1. Тогда 0 £ x2 £ 3, т.е. переменная х2 может принимать значения: 0, 1, 2, 3.
Последовательно находим:
если x2 = 0, то y2 = 3 – 0 = 3, W2 (0,1) = 4×02 + 5×0 + 4×1 + F1(3) = 4 + 87,
x2 = 1, y2 = 3 – 1 = 2, W2 (1,1) = 4×12 + 5×1 + 4×1 + F1(2) = 13 + 53 = 66,
x2 = 2, y2 = 3 – 2 = 1, W2 (2,1) = 4×22 + 5×2 + 4×1 + F1(1) = 30 + 27 = 57,
x2 = 3, y2 = 3 – 3 = 0, W2 (3,1) = 4×32 + 5×3 + 4×1 + F1(0) = 51 + 10 = 61
Наименьшее из полученных значений W2 есть F2 (1), т.е.
F2 (x = y3 = 1) = min W2 (x2,1) = min (87, 66, 57, 61) = 57,
x2
причем минимум достигается при значении х2, равном ` 2 (x = y3 = 1) = 2.
Переходим к следующему этапу. Полагаем k=3 и табулируем функцию F3 (x = y4):
Вычисляем значение функции состояния только для одного значения аргумента x = у4 = 0, так как не хотим оставлять продукцию в запас в конце исследуемого периода.
0 £ x3 £ d3 + y4 или 0 £ x3 £ 1 + y4, 0 £ x3 £ 1 , y3 = y4 + d3 – x3 = 1 – x3
Пусть x3 = 0, y3 = 1 – 0 = 1: W3 (0,0) = 4×02 + 5×0 + F2(1) = 36,
x3 = 1, y3 = 1 – 1 = 0, W3 (1,0) = 4×12 + 5×1 + F2(0) = 9 + 36 = 45,
Получаем F3 (x = y4 =0) = min W3 (x3,0) = min (36, 45) = 36, минимум достигается при значении переменной х3, равной ` 3 (x = y4 = 0) = 0.
Таким образом, мы получили не только минимальные общие затраты на производство и хранение продукции, но и последнюю компоненту оптимального решения. Она равна = 0.
Чтобы найти предпоследнюю компоненту, учтем, что х3 + у3 - d3 = y4 или 0 + у3 - 1 = 0,
oткуда у3 = 1. Находим
Учитывая, что x2 + y2 – d2 = y3 или 0 + y2 – 2 = 1, y2 = 3 ,
Таким образом, оптимальный план производства имеет вид х1 = 4, х2 = 0, х3 = 0, а минимальные общие
затраты составляют 36 единиц.
Полезна самопроверка полученного результата. Для этого по исходным данным и найденному плану производства заполняем таблицу 5 и убеждаемся, что заявки потребителей на каждом этапе выполняются
у1 + х1 ³ d1 у2 + х2 ³ d2 у3 + х3 ³ d3
2 + 4 ³ 3 3 + 0 ³ 2 1 + 0 ³ 1
и что суммарный объем производства и имевшегося к началу первого этапа запаса продукции равен суммарной потребности
у1 + х1 + х2 + х3 = d1 + d2 + d3
2 + 4 + 0 + 0 = 3 + 2 + 1