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

Как проверить результат перед показом

Проверка нужна не для того, чтобы получить большее число, а чтобы убедиться, что число измеряет именно то, что написано рядом с ним.

Проверка нужна не для того, чтобы получить большее число, а чтобы убедиться, что число измеряет именно то, что написано рядом с ним.

Шаги

  1. Проверьте код:

    .venv/bin/python -m pytest

    Особенно важны инварианты пропускной способности: они защищают от учёта хвоста расчёта как KPI и от двойного учёта nonsort.

  2. Повторите штатный запуск с фиксированной случайной последовательностью:

    .venv/bin/python -m robozon.runner scenarios/production-12-lines.json \
      --policies balanced-load --json > /tmp/result-a.json
    .venv/bin/python -m robozon.runner scenarios/production-12-lines.json \
      --policies balanced-load --json > /tmp/result-b.json
    cmp /tmp/result-a.json /tmp/result-b.json

    При одинаковых seed и CV файлы должны совпасть. Это проверяет воспроизводимость одного случайного прогона, а не отсутствие разброса в реальной работе.

  3. Для каждого показателя ответьте:

    1. Это вход, выход сортировки или сквозной выход?
    2. Какова длительность рабочего окна и прогрева?
    3. Не включён ли хвост расчёта в KPI? Для KPI ответ всегда «нет».
    4. В каких единицах число: товары, КТЯ или палеты?
    5. Откуда взялся норматив, если это площадь или персонал?
  4. Проверьте материальный баланс. Сквозной выход может быть немного выше или ниже выхода сортировки в отдельном окне из-за незавершённой работы на его границах. Для палет используйте связь палеты × КТЯ на палете × товары в КТЯ. nonsort не добавляйте повторно к основному тракту.

  5. Запустите чувствительность и Монте-Карло. Честный вывод включает не только лучший режим, но и условие его устойчивости: 12 линий для штатной загрузки не выше 85% и 13 линий для строгого N+1.

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