Как прочитать первый результат
Этот разбор учит читать не просто большие числа на экране, а ответ на вопрос: способен ли штатный вариант центра обработать требуемый поток без скрытой оче
Этот разбор учит читать не просто большие числа на экране, а ответ на вопрос: способен ли штатный вариант центра обработать требуемый поток без скрытой очереди и какой ценой по площади?
Для примера используем сценарий «12 линий · штатный режим с разбросом»,
политику «Балансировка нагрузки», seed=42, прогрев 4 ч, рабочее окно
24 ч и CV=0,25.
Шаг 1. Не путайте вход и результат
| Показатель | Примерное значение | Что означает |
|---|---|---|
| Входной поток | 100 000 товаров/ч | Условие задачи, поданное в модель. |
| Завершена сортировка | 99 350 товаров/ч | Фактический выход сортировочного этапа в рабочем окне. |
| Сквозной выход | 99 450 товаров/ч | Товары в палетах, отгруженных до конца рабочего окна. |
| Палеты на отгрузке | 4 420 за 24 ч | Физические палеты, завершившие отгрузку в окне. |
Сквозной выход получается из палет так:
4 420 палет × 20 КТЯ/палету × 27 товаров/КТЯ / 24 ч = 99 450 товаров/ч
Неожиданность «выход немного выше сортировки» не является ошибкой. В начале рабочего окна после прогрева уже есть КТЯ, которые скоро завершат отгрузку; в конце окна остаётся новая незавершённая работа. Для длинного устойчивого режима вход и выход сходятся, но отдельное окно всегда содержит такую границу.
Шаг 2. Проверьте, выдерживает ли система время
Среднее сквозное время в примере — 40,3 минуты, P95 — 60,5 минуты. P95 читают так: 95 из 100 завершённых КТЯ прошли центр быстрее 60,5 минуты. Это заметно ниже SLA в 24 часа, но не отменяет необходимости смотреть остаток на конце окна и риски отказа.
Шаг 3. Посмотрите на линии и ворота
Двенадцать линий имеют номинальную загрузку 83,3%:
100 000 / (12 × 10 000) = 83,3%
В фиксированном прогоне фактическая загрузка каждой линии близка к 82,8–83,1%. Это не «идеальные 100%»: случайность и балансировка дают небольшой разброс, который можно увидеть в виджете сортировщиков. После отказа одной линии останется 11 линий с номинальной загрузкой 90,9%; строгий резерв N+1 при границе 85% требует 13 линий.
Ворота загружены примерно на 95,9%. Значит, отгрузка работает близко к своему пределу и является важным кандидатом на дальнейшее уточнение реальными расписаниями рейсов.
Шаг 4. Прочитайте площадь честно
Расчётная площадь в этом прогоне — 23 445 м², то есть внутри ориентира 20 000–24 000 м². Но правильный вывод всё равно не «такой объект точно можно построить», а такой:
При принятых нормах оборудования, проходов и пиков очередей штатная схема занимает около 23 445 м² и укладывается в ориентир. Это планировочная оценка; перед рабочим проектом нужны точные габариты, сервисные зоны и проверка трасс.
Шаг 5. Сравните правила управления
Запустите три политики на одинаковом сценарии:
.venv/bin/python -m robozon.runner scenarios/production-12-lines.json \
--policies throughput-first departure-priority balanced-load --json
| Правило в дашборде | Сквозной выход, товаров/ч | Площадь, м² | Смысл |
|---|---|---|---|
| Закрепление по направлениям | 40 266 | 43 077 | Горячие направления перегружают отдельные линии. |
| Приоритет ближайшего рейса | 99 399 | 23 434 | Хорошо обслуживает ближайшие отправления, но иногда закрывает КТЯ не полностью. |
| Балансировка нагрузки | 99 450 | 23 445 | Равномерно использует линии и в этом варианте закрывает выходные КТЯ полностью. |
Разница между двумя последними вариантами мала. Команда выбирает балансировку не из-за одного лишнего товара в час, а потому что она проще объясняется и не создаёт частично заполненных выходных КТЯ в контрольном прогоне.
Что вы теперь умеете
Вы можете назвать сценарий, отличить вход от выхода, проверить единицы, увидеть резерв линий, распознать риск ворот и честно сформулировать вывод по площади. Дальше используйте сравнение политик или объяснение формирования выходных КТЯ.