Как настроить буферы в симуляции и читать вкладку «Буферы»

Денис

Денис

Обновлено Aug 26, 2026

В этой статье вы узнаете, как настроить буферы в имитационном моделировании (DES-симуляции) Storm BPMN: сделать промежуточное событие буфером, задать ёмкость, дисциплину обслуживания и поведение при переполнении. Также описано, как читать вкладку «Буферы» в отчёте по симуляции и понимать потери от отклонённых заявок.

Буфер — это межоперационное хранилище с конечной ёмкостью: склад, зал ожидания или очередь между двумя задачами процесса. В модели он появляется там, где на схеме стоит промежуточное условное событие. Без буфера заявки проходят узел мгновенно; с буфером они могут накапливаться, ждать места или отклоняться — и именно это поведение вы настраиваете перед запуском симуляции.

Как сделать событие буфером

  1. Откройте экран настройки симуляции (шаг 2, после создания). Справа находится панель «Свойства элемента».

  2. В группе элементов выберите вкладку «События» и найдите нужное промежуточное условное событие. На схеме оно помечено подсказкой «Событие».

  3. Включите тумблер «Сделать буфером». После этого в панели появятся поля настройки буфера.

Если на схеме нет промежуточного условного события, буфер создать нельзя — движок моделирует буферы только в этой позиции. Промежуточное событие без тумблера работает как простая задержка (поле «Время ожидания»).

Параметры буфера

После включения тумблера доступны следующие поля:

  • Ёмкость — максимальное количество единиц, которые буфер может удержать одновременно. Например, 50 документов на складе или 10 мест в зале ожидания.

  • При переполнении — что происходит, когда ёмкость исчерпана:

    • «Ждать места (BLOCK)» — процесс замедляется: следующая заявка не может пройти, пока в буфере не освободится место. Ничего не теряется, но время цикла растёт.

    • «Отклонять (REJECT)» — заявки сверх ёмкости отклоняются и считаются потерянными. Чтобы оценить финансовые потери, задайте стоимость привлечения заявки (CAC) в секции «Цель симуляции».

  • Дисциплина — порядок, в котором заявки покидают буфер:

    • «FIFO — очередь» — первая пришла, первая ушла (стандартная очередь).

    • «LIFO — стек» — последняя пришла, первая ушла (например, стопка документов, где берут верхний лист).

  • Таймаут ожидания — максимальное время, которое заявка может провести в буфере. По истечении таймаута заявка считается отказом (причина «Таймаут» в отчёте). Пустое значение — без ограничения.

  • Содержимое — текстовое описание того, что хранится в буфере: «документы», «люди», «кг» и т. д. Это подпись для читаемости отчёта, на расчёт не влияет.

Панель свойств буфера с полями ёмкости, дисциплины и поведения при переполнении

Вкладка «Буферы» в отчёте

После завершения симуляции перейдите на вкладку «Результаты» и откройте вкладку «Буферы». Здесь отображается таблица «Статистика буферов» с колонками:

  • Буфер — название промежуточного события, которое вы настроили как буфер.

  • Ёмкость — заданное вами максимальное количество единиц.

  • Пик — максимальное количество единиц, которое одновременно находилось в буфере за весь прогон. Если пик равен ёмкости, буфер регулярно переполнялся.

  • Утилизация — доля времени, когда буфер был заполнен (или заполнен до определённого уровня). Высокая утилизация означает, что буфер работает на пределе.

  • Вошло — общее количество единиц, которые прошли через буфер за прогон.

  • Отклонено — количество заявок, отклонённых из-за переполнения (актуально только при режиме «Отклонять (REJECT)»). При режиме «Ждать места (BLOCK)» это значение равно нулю.

  • Ср. ожидание — среднее время, которое заявка провела в буфере до выхода.

  • Макс. ожидание — максимальное время ожидания в буфере за весь прогон.

Под таблицей отображается сводка: «заявок отклонено» и «потери (CAC)». Потери рассчитываются как количество отклонённых заявок, умноженное на стоимость привлечения заявки (CAC), заданную в секции «Цель симуляции». Если CAC не задан, потери не рассчитываются.

Если в модели нет ни одного настроенного буфера, вкладка покажет сообщение: «Буферы не настроены».

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

  • Если пик близок к ёмкости, а отклонено больше нуля — буфер является узким местом. Рассмотрите увеличение ёмкости или переход на режим «Ждать места (BLOCK)», если потери неприемлемы.

  • Если среднее ожидание в буфере велико, а утилизация низкая — вероятно, дисциплина LIFO или неравномерный поток создают «завалы». Попробуйте переключить на FIFO.

  • Если потери (CAC) значительны — это прямые финансовые потери от отклонённых заявок. Сравните их с доходом от обработанных заявок на вкладке «Экономика».

  • Для оценки влияния буфера на время цикла смотрите вкладку «Сводка» (показатель «Среднее ожидание») и вкладку «Динамика и достоверность» (декомпозиция времени в системе).

Частые формулировки

«как сделать буфер в симуляции», «буфер переполняется, что делать», «FIFO или LIFO в буфере», «потери от отклонённых заявок в симуляции», «ёмкость буфера в DES», «вкладка буферы в отчёте симуляции», «таймаут ожидания в буфере», «потери по CAC из-за буфера».