Выбор правильного статистического показателя имеет решающее значение для оценки производительности модели. Для анализа данных и управления временем выполнения можно использовать выходную статистику из блоков библиотеки SimEvents ®.
Рассмотрим эти статистические показатели для более эффективной интерпретации поведения.
Определите соответствующий размер выборок для вычисления более значимых статистических данных.
Решите, нужно ли исследовать переходное поведение, стационарное поведение или и то и другое.
Укажите количество моделирований, которое обеспечивает достаточную уверенность в результатах.
Пример см. в разделе Исследование статистики и визуализация результатов моделирования.
Некоторые системы полагаются на статистику, чтобы повлиять на динамику. В этом примере система очередей с отклоненными поступлениями имеет цикл обратной связи, который регулирует скорость поступления на протяжении всего моделирования на основе статистики, сообщенной очередью и сервером. Дополнительные сведения об этом примере см. в разделе Корректировка времени генерации сущности с помощью обратной связи.

Подмножество блоков в библиотеке SimEvents обеспечивает вывод статистики для управления временем выполнения. При создании моделирования, использующего статистические сигналы для управления динамикой, доступ к текущим статистическим значениям осуществляется в ключевые моменты во время моделирования, а не только в конце моделирования.
В этой таблице перечислены блоки SimEvents, которые выводят обычно используемую статистику для анализа данных и управления временем выполнения.
Имя блока | Параметр статистики | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Средняя длина очереди/размер хранилища, л | Среднее время ожидания, w | Количество поступивших объектов, a | Количество отправленных объектов, d | Количество извлеченных объектов, например, | Количество объектов в блоке, n | Количество ожидающих объектов, np | Ожидающий объект, присутствующий в блоке, pe | Использование, утиль | |
| Конвейерная система |
|
|
| ||||||
| Создатель пакета сущностей |
|
|
| ||||||
| Разделитель пакетов объектов |
|
|
| ||||||
| Поиск сущности |
|
|
|
| |||||
| Генератор объектов |
|
| |||||||
| Очередь сущностей |
|
|
|
|
| ||||
| Селектор объектов |
|
|
| ||||||
| Сервер сущностей |
|
|
|
|
|
|
| ||
| Хранилище сущностей |
|
|
|
|
| ||||
| Терминатор объекта |
| ||||||||
| Очередь получения многоадресной рассылки |
|
|
|
|
| ||||
| Приобретатель ресурсов |
|
|
|
| |||||
| Пул ресурсов |
| ||||||||
Статистические параметры обновляются по конкретным событиям во время моделирования. Например, когда полный N-сервер перемещает один объект в следующий блок, статистический сигнал, представляющий количество объектов в блоке, принимает значение N-1. Однако если уход вызывает приход другого объекта к блоку в тот же момент времени, то статистический сигнал принимает значение N. Значение N-1, которое не сохраняется в течение положительной длительности, является нулевым значением длительности. Это явление встречается во многих ситуациях.
В этой таблице перечислены события, которые обновляют статистику блоков.
| Порт статистики | Обновлено по событию | ||||
|---|---|---|---|---|---|
| Вход | Выход | Заблокированный | Выгруженный | Извлеченный | |
| Средняя длина очереди/размер хранилища, л |
|
|
| ||
| Среднее время ожидания, w |
|
|
| ||
| Количество поступивших объектов, a |
| ||||
| Количество отправленных объектов, d |
|
| |||
| Количество извлеченных объектов, например, |
| ||||
| Количество объектов в блоке, n |
|
| |||
| Количество ожидающих объектов, np |
|
|
| ||
| Ожидающий объект, присутствующий в блоке, pe |
|
|
| ||
| Использование, утиль |
|
|
|
| |
Средняя длина очереди, l - накопленная средневзвешенная очередь. Для вычисления средней длины очереди, l в момент tf, блок:
Умножает размер очереди n на ее длительность t = ti-ti-1 для вычисления взвешенной по времени очереди.
Суммирует взвешенную по времени очередь и усредняет ее по общему времени tf.
Где:
t - время между прибытием объекта и/или количество событий отправления.
f - общее число событий прибытия объекта и/или количество событий отправления между t0 и tf.
i = 1 для времени моделирования t0 = 0.
Средний размер 1 хранилища вычисляется аналогично путем замены длины очереди размером хранилища.
В этом примере показана средняя длина очереди объектов в блоке «Очередь объектов».

Время службы для блока сервера сущностей превышает время межгенерации сущностей блока генератора сущностей. Объекты помещаются в очередь и сортируются в блоке «Очередь объектов». В области отображается количество объектов.

На время между 0 и 1, средняя длина очереди 0 поскольку размер очереди равен 0. Между 1 и 2 длина очереди составляет 1. Средняя длина очереди в момент времени tf = 2 вычисляется следующим образом.
) = 0,5
Размер очереди равен 2 между временами 2 и 6 в течение 4. Средняя длина очереди в момент времени tf = 6 вычисляется с использованием этого уравнения.
× 4) = 1,5
Средний размер очереди рассчитывается для каждой длительности. В блоке «Область» отображается его значение на время моделирования.

Параметр Average wait, w представляет сумму времени ожидания для объектов, покидающих блок, деленную на их общее число n.
Время ожидания wj - это моделируемое время нахождения объекта в блоке. Это время ожидания не обязательно эквивалентно времени блокировки объекта. Это длительность между входом объекта в блок и выходом из него. Например, время ожидания равно 1 для объекта, который проходит через разблокированный сервер объектов со временем обслуживания, равным 1s.
В этом примере показано среднее время ожидания для объектов, обслуживаемых в блоке сервера объектов.

Длительность входа и выхода сущности из блока сервера сущности вычисляется с помощью gettime() функция в блоке Simulink Function.
Средство просмотра диагностики отображает длительность между входом и выходом шести последовательных объектов.

Блок Scope показывает среднее время ожидания для каждого события отправления сущности из блока сервера сущности. Например, время ожидания первого объекта равно 1 и время ожидания второго объекта равно 2. Среднее время ожидания, рассчитанное для первых двух сущностей, равно 1.5. На графике это значение отображается во время моделирования. 6. Для первых четырех объектов сумма времени ожидания равна 10 и среднее время ожидания во время моделирования 12 становится 2.5.

В поле Количество полученных объектов (Number of entities incomments) параметр выводит суммарное число объектов, которые поступают в блок.
Параметр Количество удаляемых объектов (Number of entities departed), параметр d выводит суммарный счетчик для количества объектов, удаляемых из блока.
Блок «Поиск объектов» находит объекты в модели SimEvents и извлекает их из их расположения для перенаправления. Параметр Количество извлеченных объектов (Number of entities exe) выводит количество объектов, извлеченных из блока.
Параметр Количество объектов в блоке (Number of entities in block) n выводит количество объектов в блоке.
Параметр Количество ожидающих объектов (Number of pending entities, np) выводит количество ожидающих объектов, обслуженных блоком, которые еще не были удалены.
Ожидающий объект, присутствующий в блоке, параметр pe указывает, присутствует ли в блоке объект, который еще не удален. Значение: 1 если есть какие-либо незавершенные объекты, и 0 в противном случае.
Параметр Usicilization, util указывает среднее время занятия блока. Блок вычисляет коэффициент использования для каждого события отхода объекта, который представляет собой отношение общего времени ожидания объектов к емкости сервера, C, умноженное на общее время моделирования, tf. Использование n объектов вычисляется с использованием этого уравнения.
[1] Кассандрас, Кристос Г. Дискретные системы событий: моделирование и анализ производительности. Homewood, Иллинойс: Irwin and Aksen Associates, 1993.
Генератор объектов | Очередь сущностей | Сервер сущностей | Терминатор объекта | Очередь получения многоадресной рассылки | Приобретатель ресурсов