HTTP API и команды терминала
Все команды запускаются из корня проекта. Ниже используется Python из виртуального окружения .venv.
Все команды запускаются из корня проекта. Ниже используется Python из
виртуального окружения .venv.
Аналитика
Для штатного сценария дашборда «12 линий · штатный режим с разбросом»:
.venv/bin/python -m robozon.analytics scenarios/production-12-lines.json
.venv/bin/python -m robozon.analytics scenarios/production-12-lines.json --json
Команда считает номинальные потоки, КТЯ, палеты, nonsort и загрузку ворот.
Она не запускает DES и не возвращает фактический сквозной выход.
Сравнение политик
.venv/bin/python -m robozon.runner scenarios/production-12-lines.json \
--policies throughput-first departure-priority balanced-load \
--json
Без --json команда выводит краткую строку по каждой политике. С --json
ответ содержит:
| Поле | Содержание |
|---|---|
runs |
Полные результаты каждой политики: сценарий, метрики DES, площадь. |
metric_rows |
Краткие показатели для таблицы сравнения. |
insights |
Русскоязычные выводы. |
floor_plan |
Данные для плана зала. |
failure_analysis |
Данные об отказе, если он задан. |
labor |
Аналитический расчёт персонала. |
Монте-Карло
.venv/bin/python -m robozon.monte_carlo scenarios/production-12-lines.json \
--policy balanced-load \
--replications 12 \
--service-time-cv 0.25 \
--json
Опции:
| Опция | По умолчанию | Значение |
|---|---|---|
--policy |
balanced-load |
Правило управления. |
--replications |
20 | Число последовательных прогонов, не меньше 1. |
--service-time-cv |
значение сценария | Переопределяет CV. 0 отключает случайность. |
--json |
нет | Печатает JSON вместо текста. |
Веб-сервер
.venv/bin/python -m robozon.web --host 127.0.0.1 --port 8000
После запуска доступны четыре GET-метода.
| Адрес | Назначение |
|---|---|
/api/scenarios |
Список сценариев, метаданные и поля, которые можно переопределить. |
/api/compare |
Один или несколько вариантов политики. |
/api/sensitivity |
Серия прогонов с изменением одного параметра. |
/api/monte-carlo |
Серия случайных DES-прогонов. |
Примеры запросов
curl 'https://robozon.vadimevgrafov.ru/api/compare?scenario=production-12-lines.json&policies=balanced-load'
curl 'https://robozon.vadimevgrafov.ru/api/sensitivity?scenario=production-12-lines.json&policy=balanced-load¶m=sorter_count&values=10,11,12,13'
curl 'https://robozon.vadimevgrafov.ru/api/monte-carlo?scenario=production-12-lines.json&policy=balanced-load&replications=20&service_time_cv=0.25'
/api/compare, /api/sensitivity и /api/monte-carlo принимают только
поля из списка override_fields, который возвращает /api/scenarios. При
ошибке сервер отвечает HTTP 400 и JSON с ключом error.