Перейти к содержимому
Robozon: база знаний
Esc
navigateopen⌘Jpreview
На этой странице

Почему правило распределения меняет результат

Поток по 400 направлениям неравномерен: в модели 20% направлений получают 80% товаров. Поэтому недостаточно посчитать общую мощность линий. Важно, как имен

Поток по 400 направлениям неравномерен: в модели 20% направлений получают 80% товаров. Поэтому недостаточно посчитать общую мощность линий. Важно, как именно горячие направления и КТЯ распределяются между линиями и как это влияет на очереди, заполнение выходной тары и площадь.

Три правила в дашборде

Название в дашборде Техническое имя Идея
Закрепление по направлениям throughput-first Каждое направление закреплено за своей линией.
Приоритет ближайшего рейса departure-priority Сначала обслуживается поток, которому раньше нужно уехать.
Балансировка нагрузки balanced-load Следующая КТЯ идёт на наименее загруженную линию.

Что показывает контрольное сравнение

Одинаковые условия: «12 линий · штатный режим с разбросом», seed=42, CV=0,25, прогрев 4 ч, окно 24 ч.

Правило Сквозной выход, товаров/ч Среднее время, мин Площадь, м² Почему
Закрепление по направлениям 40 266 461,6 43 077 Горячие направления перегружают свои линии, а свободные линии не могут им помочь.
Приоритет ближайшего рейса 99 399 40,0 23 434 Хорошо поддерживает ближайшие рейсы, но допускает небольшую долю частичных КТЯ.
Балансировка нагрузки 99 450 40,3 23 445 Равномерно использует линии и закрывает выходные КТЯ полностью в этом прогоне.

Разница в несколько десятков товаров между двумя последними политиками не является основанием для громких заявлений. Она меньше естественного разброса между случайными прогонами. Выбор балансировки основан на понятном правиле, ровной загрузке и отсутствии частичных выходных КТЯ в контрольном результате.

В чём компромисс

Закрепление направления
  + проще физически объяснить
  - горячие направления создают локальную очередь

Приоритет рейса
  + поддерживает ближайшую отправку
  - нужен достоверный график рейсов; возможны неполные КТЯ

Балансировка нагрузки
  + выравнивает линии и снижает локальные пики
  - требует физического сведения потоков к общему накопителю направления

Как повторить сравнение

.venv/bin/python -m robozon.runner scenarios/production-12-lines.json \
  --policies throughput-first departure-priority balanced-load --json

Результат следует проверять серией прогонов, если вопрос касается устойчивости, а не только одного фиксированного примера. Об этом — в разборе Монте-Карло.

Эта страница была полезной?