ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2008
Управление, вычислительная техника и информатика
№ 3(4)
УДК 681.5
В.И. Смагин, С.В. Смагин
АДАПТИВНОЕ УПРАВЛЕНИЕ ЗАПАСАМИ С УЧЕТОМ ОГРАНИЧЕНИЙ И ТРАНСПОРТНЫХ ЗАПАЗДЫВАНИЙ
Рассматривается алгоритм синтеза локально-оптимальной системы управления запасами при неполной информации о модели спроса и с учетом ограничений и транспортных запаздываний.
Ключевые слова: управление запасами, адаптация, дискретная модель, система с запаздыванием.
Теория следящих систем применяется в задачах управления запасами в работах [1 - 4]. В настоящей работе для определения поставок на склад используются метод локально-оптимального слежения [5] и метод адаптации и прогноза на основе калмановской фильтрации и экстраполяции. Управление запасами осуществляется с учетом ограничений на транспортные средства и с учетом запаздываний, при этом осуществляется минимизации издержек на хранение товара.
где х(к) є Я" - вектор количества продукта на складе в к-й такт (х,(к) - количество товаров г-й номенклатуры), и(к - к) є Ят - вектор заказа на поставки (и, - количество заказанного товара г-й номенклатуры), к - количество тактов транспортного запаздывания, я(к) є Я" - вектор спроса в к-м такте (яі(к) - спрос на товар г-й номенклатуры), х0 и у(/) (/= -к, -к+1,..., -1) - заданные векторы. Матрицы А и В определяются характеристиками и структурой склада.
Оптимизируемый локальный критерий имеет вид
где С > 0, О > 0 - весовые матрицы, г - заданный отслеживаемый вектор, «Т» -операция транспонирования. В этом разделе будем предполагать, что все компоненты вектора х(к) и ,у(к) измеряются точно.
Вычислим значения критерия (2):
1. Управление запасами при точном измерении спроса
Пусть модель склада описывается дискретным уравнением:
х(к +1) = Ах(к) + Ви(к - И) - ,у(к), х(0) = х0, и(у) = у(/'), у = -к, - к +1,...,-1,
(1)
I(к) = (х(к +1) - 2)т С(х(к +1) - 2) + ит (к - И)йи(к - И),
(2)
I(к) = ит (к - И)(Б1 СВ + П)и(к - И) + ит (к - Н)БТС(Ах(к) - $(к) - 2) + + (Ах(к) - $(к) - 2)т СВи(к - И).
------= 0.
йи(к - И)
(3)
Тогда, в силу (3), получим уравнение
(Б1 СВ + Б)и(к - И) + ВТС (Ах(к) - я (к) - 2) = 0 .
Выражая u(k - К) из (4), управление будет следующим:
ы(к - И) = -(ВТСВ + Б)-1 ВТС(Лх(к) - я (к) - г). (5)
Учитывая (1), имеем следующие равенства
х(к) = Ах(к -1) + Ви (к - к -1) - я (к -1), х(к -1) = Ах(к - 2) + Ви (к - к - 2) - я (к - 2),
х(к - к +1) = Ах(к - к) + Ви (к - 2к) - х (к - к). (6)
Тогда, учитывая (6), локально-оптимальное управление (5) представляется в виде и(к - к) = -(В1 СВ + В)-1 ВТС(Ак+1 х(к - к) +
+£ А Ви (к - к - 0 - £ А1 s(k -1) - г). (7)
/=1 /=0
Отметим, что управление (7) формируется в момент времени к - К и для его реализации необходимо знать состояние склада х(к - К), спроса я(к - К) и прошлые значения управлений и(к - К - г), а также необходимо осуществлять прогноз спроса для моментов времени к, к - 1,...,к - К + 1.
2. Управление запасами при косвенных наблюдениях
В этом случае дополнительно введем модель спроса:
я (к +1) = Л?(к) + г + д(к), ^(0) = s0 , (8)
где Я - постоянная матрица размерности п х п, г - постоянный вектор, д(к) - случайное возмущение. Предполагается, что имеются косвенные наблюдения за вектором спроса:
^(к) = Д?(к) + т (к), (9)
где м>(к) е Ят - вектор наблюдений; Н - да^п-матрица; т (к) - случайные ошибки
наблюдений; д(к), т(к) - независимые гауссовские случайные последовательности с характеристиками
М{д(к)} = 0, М{т(к)} = 0, М{д(к) /(/)} = 65*У, М{т(к) тТ(/)}= 75„, (10)
где М{} - математическое ожидание.
Так как в постановке задачи этого раздела вектор я(к) контролируется с ошибками (см.(9)), то управление (7) можно, используя оцениватели, реализовать в виде и (к - к) = -(Вт СВ + В)-1 Вт С(Ай+1х(к - к) +
+£ Аг'Ви* (к - к - 0 - А% (к - к) - £ Аг,ур (к - 0 - г), (11)
I=1 /=0
где ^ (к - к) - оценка фильтрации, которая определяется с помощью алгоритма оптимальной калмановской фильтрации [6]:
(к - к) = Я${ (к - к -1) + г + К{ (к - К)\М,к - к) - Н(Я^- (к - к -1) + г)],
sf (0) = ; (12)
К (к - к) = Р(к - к / к - к -1)Нт (НР(к - к / к - к -1)Нт + Т)-1; (13)
Р(к - к/к-к -1) = ЯР(к - к-1)ЯТ + д ; (14)
Р(к - к) = (Е - Кг (к - к)И)Р(к - к / к - к -1), Р(0) = Р0, (15)
где Е - единичная матрица соответствующей размерности. Фильтр (12) использует информацию, поступившую из канала измерений в момент к - к. В (11) требуется вычислять также оценки и в моменты большие, чем к - к (оценки прогноза), поэтому здесь необходимо воспользоваться экстраполятором, который позволит вычислить оценку спроса с прогнозом на 1 такт ,?р (к - к +1):
£р (к - к +1) = Я$р (к - к) + г + Кр (к - к)(м>(к - к) - Жр (к - к)),
.?р (0) = 50; (16)
Кр (к - к) = ЯРр (к - к)Нт (НРр (к - к)Нт + Т)-1; (17) Рр (к - к+1)=(Я - Кр (к - к) Н ) Рр (к - й)( Я - Кр (к - к) Н )т +е+Кр (к - к)ГКрт (к - к) ,
Рр (0) = Ро, (1)
а оценки прогнозов для тактов у = 2,., к-1 определятся по формулам
^р (к - к + у) = Л?р (к - к + у -1) + г . (19)
3. Адаптация в задаче управления запасами
В этом случае будем предполагать, что модель спроса содержит неизвестные параметры:
^(к +1) = Л(0).?(к) + г(0) + д(к), (20)
где 0 - неизвестный постоянный вектор, Л(0) - матрица, линейно зависящая от
компонент вектора 0 , г(0) - вектор, линейно зависящий от 0 . Предполагается,
что имеется следующая априорная информация о векторе 0 :
М{0} = 0о, М{(0-00 )(0-0о )Т} = Р0О .
Адаптация закона управления осуществляется по принципу разделения, который в нашем случае состоит из следующих этапов:
- построение закона управления по локальному критерию в предположении, что параметры 0 в модели (20) известны точно (закон управления имеет вид (11));
- оценивание неизвестных параметров (идентификация);
- формирование закона адаптивного управления иа(к) вида (11), которое осуществляется путем замены в (12), (14), (16) - (19) точных значений параметров на их оценки.
Так как параметры являются неизвестными константами, то их динамическая модель имеет вид
0(к) = 0(к -1). (21)
Для идентификации будем использовать оптимальный дискретный фильтр Калмана. Учитывая модель косвенных наблюдений (9), получим модель измерений в текущий момент времени к - к в следующем виде:
ц>(к - к) = Ш(к - к) + т(к - к). (2)
Тогда, учитывая (8), имеем
ц>(к - к) = #Л(0).?(к - к -1) + Нг (0) + Ид(к - к -1) + т(к - к). (23)
Представим (23) в линейном относительно 0 векторно-матричном виде:
^>(к - к) = G(я (к - к -1))0 + g(я(к - к -1)) + Нд(к - к -1) + т(к - к), (24)
где G - матрица и g - вектор.
Учитывая (21), (24), рекуррентные уравнения, осуществляющие оценивание неизвестных параметров 0, представим в виде
0(к - к) = 0(к - к -1) + К0 (к - к)(^(к - к) - О0(к - к -1) - £), 0(0) = 0О ; (25)
К0 (к - к) = Р0 (к - к)0т (СРв (к - к)0т + идит + Т)-1; (26)
Р (к - к +1) = (Е - К (к - к)Є)р (к - к), р (0) = Р6о . (27)
где в = 0(${ (к - к -1)), £ = g(^ (к - к -1)).
Уравнения, используемые для вычисления оценок и прогноза (12) - (19), в этом случае будут иметь следующий вид:
яї (к - к) = яї (к - к -1) + г + Кї (к - к)^(к - к) - И(к$ї (к - к -1) + г)],
sf (0) = ; (28)
К (к - к) = Р(к - к / к - к -1)Нт (НР(к - к / к - к -1)Нт + Т)-1; (29)
Р(к - к/к-к -1) = КР(к - к-1)Ят + д ; (30)
Р(к - к) = (Е - К{ (к - к)И)Р(к - к / к - к -1), Р(0) = Р0. (31)
£р (к - к +1) = тЦ, (к - к) + г + Кр (к - И)(^>(к - к) - Жр (к - к)), £р (0) = 5о; (32)
Кр (к - к) = ДРр (к - к)Нт (НРр (к - к)Нт + Т)-1; (33)
Рр (к - к+1) = (7 - Кр (к - к)Н)Ррт (к - АХ 77 - Кр (к - к)Н)т + Є+Кр (к - к)ТКрТ (к - к),
Рр (0) = Р. (34)
£р (к - А + у) = Л?р (к - А + у -1) + Г1, у = 2,..., А-1, (35)
где 7 = ^(0(к - А)), г = г(0(к - к)).
4. Учет транспортных ограничений
Вектор поставок будем определять с учетом транспортных ограничений следующего вида (для поставок используется одно транспортное средство грузоподъемности Єшах):
«а (к), если Стіп < 0{иа (к)) < Ст3х ,
«а(к) = < 0, если °(иа(к)) < (36)
иа (к)/ а(к), если 0(иа (к)) > Стах •
П
Здесь С(ыа (к)) = X Ріиа,і (к) - вес перевозимого груза (р - вес единицы товара
і= 1
г-й номенклатуры); ма (к) - вектор поставок, построенный на основе принципа
разделения; Ошіп = КгОшЛХ (Кг - коэффициент использования грузоподъемности транспортного средства); а (к) = Отах / О (иа (к)).
Издержки на хранение товара на заданном скользящем временном отрезке [к, к+Т] определяются по формуле
где С, - стоимость хранения единицы товара г-й номенклатуры в единицу времени, wi - страховой запас для товара г-й номенклатуры.
Минимизация критерия (37) при ограничениях (38) осуществляется по вектору 2, при этом на каждом шаге пересчитываются иа(к). Найденное значение вектора г , обеспечивает минимальные издержки на временном интервале от к до к+Т и, в результате выполнения ограничений (36), обеспечивает также высокую загруженность транспортного средства в соответствии с заданным коэффициентом Кг. По найденному вектору 2 определяется объем поставок иа(к+Т+1), и далее, по аналогии, решается задача минимизация критерия Зизд (2, к +1), при ограничениях (38)
(V к є [к +1, к + Т +1]) и определяется новый вектор 2*, который используется для определения поставок в момент времени к+Т+2, и так далее.
Моделирование системы управления запасами выполнено для двухноменклатурного склада с использованием пакета МаШЬ 7.5.
Исходные данные при моделировании были следующими:
где к =0,001, к2 =0,0005 - коэффициенты потерь. В модели спроса использовались следующие истинные значения параметров 01 = 2,6, 02 = 2,5. На рис. 1 - 6 приведены результаты, полученные при оптимизации критерия (37) при ограничениях (38).
5. Минимизация издержек на хранение товаров
п к+Т
(37)
і=1 і=к
При этом должны выполняться ограничения
хі(к) > wi, Vк є \к, к + Т], г = 1 ,..., п,
(38)
6. Моделирование адаптивной системы управления запасами
к = 1, Т = 50, 0Шах = 150, Кт = 0,8, Сі = 1,5, Сг = 2,5, Wl = 6, Wl = 12,
На рис. 1 показано изменение количества каждого вида товара х1, х2. Как видно из рис. 1, количество товара постоянно меняется за счет изменения спроса и пополнения запасов.
Рис. 1
На рис. 2 приведены оценки параметров модели спроса (сплошная линия), пунктирными линиями обозначены истинные значения параметров.
Рис. 2
На рис. 3 приведены графики изменения спроса (сплошная линия) и оценки фильтрации спроса (пунктирная линия).
Рис. 3
На рис. 4 приведены графики изменения спроса (сплошная линия) и оценки прогноза спроса на один такт (пунктирная линия).
Рис. 4
На рис. 5 показаны реализации поставок товаров на склад.
50
40
20
к 0 Рис. 5
20 40
На рис. 6 показаны в виде столбиковой диаграммы вес каждой поставки.
Рис. 6
Как видно из рисунка, в результате выполнения ограничений вида (36) в течение 50 тактов реализовано 9 поставок, при этом вес каждой поставки находится в пределах между Отіп и ОтЛХ, обеспечивая коэффициент использования грузоподъемности транспортного средства не хуже заданного Кг. При этом был определен
и
и
Е.2
вектор 2*, минимизирующий критерий (37) с ограничениями (38). Оптимальный вектор
ЛИТЕРАТУРА
1. Первозванский А.А. Математические модели в управлении производством. М: Наука, 1975. 616 с.
2. Лотоцкий В.А. Управление запасами при частично наблюдаемом спросе // Статистические методы теории управления. М.: Наука, 1978. С. 222 - 224.
3. Лотоцкий В.А., Мандель А.С. Модели и методы управления запасами. М.: Наука, 1991. 189 с.
4. Смагин В.И., Смагин С.В. Управление запасами по двум критериям с учетом ограничений // Вестник ТГУ. 2006. № 290. С. 244 - 246.
5. Смагин В.И., Параев Ю.И. Синтез следящих систем управления по квадратичным критериям. Томск: Изд-во Том. ун-та, 1996. 171 с.
6. Браммер К., Зиффлинг Г. Фильтр Калмана - Бьюси. М.: Наука, 1972. 200 с.
Статья представлена кафедрой прикладной математики факультета прикладной математики и кибернетики Томского государственного университета, поступила в научную редакцию 10 января 2008 г.