5. Как устроена имитационная модель
DES расшифровывается как discrete-event simulation, по-русски «дискретно-событийное моделирование». Модель не пересчитывает весь центр каждую миллисекунду.
5.1. Что означает DES
DES расшифровывается как discrete-event simulation, по-русски «дискретно-событийное моделирование». Модель не пересчитывает весь центр каждую миллисекунду. Время переходит от одного значимого события к следующему: поступила палета, освободилась станция, завершилась сортировка, заполнился КТЯ, сформировалась палета, подошло время рейса.
Такой подход подходит для сортировочного центра, потому что результат зависит не только от средней мощности. Важен порядок событий. Две операции могут иметь достаточную среднюю производительность, но совместно создавать очередь, если они конкурируют за один ресурс или работают с разным ритмом.
5.2. Уровень детализации
Модель создает события для КТЯ, палет и операций над ними. Каждый отдельный товар не становится отдельным объектом Python: это сделало бы прогон тяжелее, но не добавило бы точности при отсутствии индивидуальных данных о товарах. Распределение товаров по направлениям учитывается пакетно внутри КТЯ.
400 направлений имеют неравномерный спрос. В базовом сценарии 20% направлений получают 80% потока. Это создает горячие и холодные направления и позволяет проверить заполнение выходных КТЯ.
5.3. Что измеряется
Для каждого участка модель записывает:
- поступления и завершения операций;
- загрузку ресурса;
- очередь и незавершенную работу;
- среднее время ожидания и обслуживания;
- результаты по интервалам 1 минута, 1 час, 12 часов и 24 часа.
Отдельно считаются сортировка, сквозной выход и годный сквозной выход. Это три разных показателя:
- сортировка отвечает, сколько товаров прошли сортировочные линии;
- сквозной выход отвечает, сколько товаров покинули центр через отгрузку в рабочем окне;
- годный выход дополнительно исключает ошибочно направленные и поврежденные товары в сценарии качества.
5.4. Прогрев и рабочее окно
Система стартует пустой. Если измерять первые часы, выход будет занижен: товар еще физически не успел пройти все участки. Поэтому перед 24-часовым измерением используются четыре часа прогрева. События прогрева создают нормальное состояние очередей и буферов, но не входят в итоговые показатели.
После рабочего окна модель может завершить уже начатую работу для расчета остатка. Этот «хвост» не прибавляется к сквозному выходу рабочего окна.
5.5. Проверки корректности
Модель проверяется на трех уровнях:
- аналитический баланс товаров, КТЯ и палет;
- автоматические тесты событий, очередей, отгрузки, площади и отказов;
- повторяемый прогон с фиксированным генератором случайных чисел.
Отдельные категории случайности используют независимые потоки. Благодаря этому при сравнении двух топологий случайное изменение времени обслуживания не подменяет эффект самой топологии.