Задача. Склад конечного продукта управляется посредством еженедельного периодического контрольного системы. Исходное количество товаров – 1000 единиц. Ежедневный спрос равновероятно колеблется между 40 и 63 единицами. Уровень запасов после заказа должен быть равен 1000 единиц (целевой уровень), то есть заказ товаров на склад равен разности между текущим количеством товаров и 1000. Если текущее количество товаров 800 или больше, то заказ на этой неделе не происходит. Компания работает пять дней в неделю. Время доставки заказа – одна неделя.
Требуется смоделировать работу склада в течение 200 дней и определить, появляется ли на складе дефицит.
Решение.
* Определение объектов
RMULT 39941
Stock STORAGE 10000 ;На складе может поместиться 10000 единиц товара.
Stock TABLE S$Stock,100,100,20 ;Таблица для количества товаров.
Orderqty VARIABLE Target-S$Stock ;Объем заказа.
Demand VARIABLE RN1@24+40 ;Ежедневный спрос.
Target EQU 1000 ;Начальное число товаров.
Reorder EQU 800 ;Граница заказа.
* Процесс заказа
GENERATE 5,,,,1 ;Проверка, приоритет=1.
TEST L S$Stock,Reorder,Skip ;Количество товаров меньше границы заказа?
ASSIGN 2,V$Orderqty ;Параметр 2 = объему заказа.
Custwait ADVANCE 5 ;Время доставки 5 дней.
ENTER Stock,P2 ;Кол-во товаров увеличивается на Р2.
Skip TERMINATE ;Заказ завершен.
* Дневное потребление уменьшает имеющееся количество товаров
GENERATE 1 ;Транзакт дневного потребления.
ASSIGN 1,V$Demand ;Параметр 1 = дневному потреблению.
TABULATE Stock ;Запись кол-ва товаров на этот день.
TEST GE S$Stock,P1,Stockout ;Проверка возможности выполнения запроса.
LEAVE Stock,P1 ;Уменьшение количества товаров на складе.
TERMINATE 1 ;Дневной таймер.
Stockout TERMINATE 1 ;Дневной таймер.
* Инициализация склада
GENERATE ,,,1,10 ;Установка начального количества товаров.
ENTER Stock,Target ;Начальное кол-во равно целевому уровню.
TERMINATE ;Удаление транзакта.
START 200
Результаты моделирования.