В этой статье вы узнаете, что такое seed в DES-симуляции, почему его нужно фиксировать для честного сравнения прогонов и гипотез, а также как читать дельты результатов в списке симуляций. Вы научитесь настраивать воспроизводимость расчёта и интерпретировать изменения метрик между версиями процесса.
Дискретно-событийная симуляция (DES) использует случайные числа для моделирования потока заявок, длительностей задач и других переменных. Seed — это начальное значение генератора случайных чисел. Если seed не задан, каждый запуск симуляции будет давать немного разные результаты из-за случайности. Чтобы сравнить два прогона честно (например, исходную модель и гипотезу с изменёнными параметрами), нужно использовать одинаковый seed. Тогда разница в результатах будет отражать только изменения в модели, а не случайные колебания.
Где находится настройка seed
Seed настраивается в разделе «Расширенные настройки» на экране настройки симуляции (шаг 2, после создания).
- Откройте симуляцию в режиме редактирования.
- В левой панели «Настройка симуляции» найдите секцию «Расширенные настройки» (подпись: «Воспроизводимость результатов»).
- В поле «Seed генератора» введите число или нажмите кнопку «Сгенерировать seed», чтобы система предложила случайное значение.
Если поле пустое, каждый запуск будет случайным. Если seed задан, повторный прогон с теми же настройками даст идентичный результат.

Как фиксировать seed для сравнения
Чтобы сравнить исходный прогон и гипотезу, выполните следующие шаги:
- Запустите исходную симуляцию с заданным seed (например, 42).
- Дождитесь завершения расчёта и откройте отчёт.
- Нажмите кнопку «Проверить гипотезу» в шапке отчёта.
- В диалоге «Новая гипотеза» создайте копию симуляции. Система скопирует все настройки, включая seed.
- Измените только те параметры, которые хотите проверить (например, добавьте ресурс или измените длительность задачи).
- Убедитесь, что seed в новой симуляции остался тем же (42).
- Запустите симуляцию.
После завершения обоих прогонов в списке симуляций вы увидите дельты результатов между исходным прогоном и гипотезой.
Как читать дельты в списке симуляций
В списке симуляций (/app/simulations) гипотезы отображаются ветками под исходным прогоном. В строке каждой гипотезы показаны метрики «Здоровье», «Стоимость кейса», «SLA» и дельта к исходному прогону.
Подпись дельты: «Изменение относительно исходного прогона». Изменения меньше 0,05 % не отображаются, чтобы не засорять список незначительными колебаниями.
Например, если в исходном прогоне «Здоровье» было 78, а в гипотезе — 82, дельта покажет «+4». Если «Стоимость кейса» снизилась с 1 200 ₽ до 1 100 ₽, дельта будет «−100 ₽».

Почему важно фиксировать seed
Если seed не задан или отличается между прогонами, разница в результатах может быть вызвана случайностью, а не изменениями в модели. Например, при одном seed время цикла может составить 4,2 часа, а при другом — 4,5 часа, даже если модель не менялась. Это затрудняет оценку реального эффекта от изменений.
Фиксация seed позволяет:
- Сравнить два прогона при одинаковых условиях случайности.
- Убедиться, что изменение метрик вызвано именно изменением параметров модели.
- Воспроизвести результат: если вы запустите симуляцию с тем же seed и теми же настройками, получите идентичный отчёт.
Частые вопросы
В: Можно ли сравнить прогоны с разными seed?
О: Нет. Разница в результатах будет включать случайные колебания, и вы не сможете точно оценить эффект от изменений. Всегда используйте одинаковый seed для сравнения.
В: Что делать, если я забыл задать seed перед запуском?
О: Запустите симуляцию заново с заданным seed. Кнопка «Перезапустить» создаст копию с теми же настройками, но вы сможете изменить seed перед запуском.
В: Как понять, что дельта в списке — это реальный эффект, а не случайность?
О: Если seed одинаков, дельта отражает только изменения в модели. Если seed не задан, дельта может быть случайной. Всегда фиксируйте seed перед сравнением.
Частые формулировки
«seed», «воспроизводимость», «сравнение прогонов», «дельта результатов», «как сравнить две симуляции», «почему результаты разные при одинаковых настройках», «как зафиксировать случайность в симуляции», «seed в des-симуляции storm bpmn».