Выбор правильного статистического показателя имеет решающее значение для оценки производительности модели. Можно использовать выходную статистику из SimEvents® библиотечные блоки для анализа данных и управления во время выполнения.
Рассмотрите эти статистические показатели для более эффективной интерпретации поведения.
Определить соответствующий размер выборок для вычисления более значимой статистики.
Решите, хотите ли вы исследовать переходное поведение, установившееся поведение или то и другое.
Задайте количество симуляций, которые гарантируют достаточное доверие в результатах.
Для получения примера смотрите Исследование статистики и Визуализация Результатов симуляции.
Некоторые системы полагаются на статистику, чтобы повлиять на динамику. В этом примере система постановки в очередь с обескураженными поступлениями имеет цикл обратной связи, который корректирует частоту прибытия на протяжении симуляции на основе статистики, сообщаемой очередью и сервером. Дополнительные сведения об этом примере см. в разделе Настройка времени генерации сущностей посредством обратной связи.
Подмножество блоков в библиотеке SimEvents обеспечивает выход статистики для управления во время выполнения. Когда вы создаете симуляции, которые используют статистические сигналы для управления динамикой, вы получаете доступ к текущим статистическим значениям в ключевые моменты времени на протяжении всей симуляции, а не только в конце симуляции.
В этой таблице перечислены блоки SimEvents, которые выводят обычно используемую статистику для анализа данных и управления во время выполнения.
Имя блока | Статистический параметр | ||||||||
---|---|---|---|---|---|---|---|---|---|
Average queue length/store size, l | Average wait, w | Number of entities arrived, a | Number of entities departed, d | Number of entities extracted, ex | Number of entities in block, n | Number of pending entities, np | Pending entity present in block, pe | Utilization, util | |
Conveyor System |
|
|
| ||||||
Entity Batch Creator |
|
|
| ||||||
Entity Batch Splitter |
|
|
| ||||||
Entity Find |
|
|
|
| |||||
Entity Generator |
|
| |||||||
Entity Queue |
|
|
|
|
| ||||
Entity Selector |
|
|
| ||||||
Entity Server |
|
|
|
|
|
|
| ||
Entity Store |
|
|
|
|
| ||||
Entity Terminator |
| ||||||||
Multicast Receive Queue |
|
|
|
|
| ||||
Resource Acquirer |
|
|
|
| |||||
Resource Pool |
|
Статистические параметры обновляются по конкретным событиям во время симуляции. Для примера, когда полный N-сервер переходит на одну сущность к следующему блоку, статистический сигнал, представляющий количество сущностей в блоке, принимает значение N-1. Однако, если уход заставляет другую сущность прибыть в блок в то же время, то статистический сигнал принимает значение N. Значение N-1, которое не сохраняется в течение положительной длительности, является значением нулевой длительности. Это явление происходит во многих ситуациях.
В этой таблице перечислены события, которые обновляют статистику блоков.
Порт статистики | Обновлено на событие | ||||
---|---|---|---|---|---|
Вход | Выход | Заблокированный | Выгруженный | Извлеченный | |
Average queue length/store size, l |
|
|
| ||
Average wait, w |
|
|
| ||
Number of entities arrived, a |
| ||||
Number of entities departed, d |
|
| |||
Number of entities extracted, ex |
| ||||
Number of entities in block, n |
|
| |||
Number of pending entities, np |
|
|
| ||
Pending entity present in block, pe |
|
|
| ||
Utilization, util |
|
|
|
|
Average queue length, l - это накопленная средневзвешенная по времени очередь. Чтобы вычислить Average queue length, l в момент t f, блок:
Умножает размер n очереди на ее длительность, t = t i - t i-1, чтобы вычислить взвешенную по времени очередь.
Суммирует по взвешенной по времени очереди и усредняет ее за общее время t f.
Где:
t - это время между прибытием сущности и/или количеством событий отправления.
f - общее количество сущности прибытия и/или количество отправлений между t 0 и t f.
i = 1 для времени симуляции t 0 = 0.
Average store size, l вычисляется подобным образом путем замены длины очереди на размер хранилища.
В этом примере показана средняя длина очереди сущностей в блоке Entity Queue.
Время обслуживания для блока Entity Server больше, чем время межгенерации сущности блока Entity Generator. Эти сущности находятся в очереди и отсортированы в блоке Entity Queue. Область возможностей отображает количество сущностей.
На время между 0
и 1
, средняя длина очереди 0
поскольку размер очереди 0
. Между 1
и 2
длина очереди 1
. Средняя длина очереди в момент времени t f = 2 вычисляется следующим образом.
Размер очереди равен 2 между временами 2
и 6
на время 4
. Средняя длина очереди в момент времени t f = 6 вычисляется с помощью этого уравнения.
Средний размер очереди вычисляется для каждой длительности. Блок Scope отображает свое значение для длительности симуляции.
Параметр Average wait, w представляет сумму времени ожидания для сущностей, покидающих блок, разделенную на их общее количество, n.
Время ожидания, w j, является моделируемым временем, в течение которого сущность находится в блоке. Это время ожидания не обязательно эквивалентно времени блокировки сущности. Это - длительность между входом сущности в блок и выходом из него. Для образца время ожидания 1
для сущности, который перемещается через разблокированное Entity Server со временем обслуживания 1
с.
В этом примере показано среднее время ожидания для сущностей, которые обслуживаются в блоке Entity Server.
Длительность входа сущности в блок Entity Server и выхода из него вычисляется gettime()
функция в блоке Simulink Function.
Diagnostic Viewer отображает длительность между входом и выходом шести последовательных сущностей.
Блок Scope показывает среднее время ожидания для каждого события ухода сущности из блока Entity Server. Для образца время ожидания первой сущности 1
и время ожидания для второй сущности 2
. Среднее время ожидания, рассчитанное для первых двух сущностей 1.5
. График отображает это значение во время симуляции 6
. Для первых четырёх сущностей сумма времени ожидания 10
и среднее время ожидания во время симуляции 12
становится 2.5
.
Параметр Number of entities arrived, a выводит совокупное количество для количества сущностей, которые поступают в блок.
Параметр Number of entities departed, d выводит совокупное количество для количества сущностей, которые отходят от блока.
Entity Find блок находит сущности в модели SimEvents и извлекает их из своего местоположения, чтобы перенаправить. Параметр Number of entities extracted, ex выводит количество сущностей, извлеченных из блока.
Параметр Number of entities in block, n выводит количество сущностей, которые находятся в блоке.
Параметр Number of pending entities, np выводит количество ожидающих сущностей, обслуживаемых блоком, которые еще не ушли.
Параметр Pending entity present in block, pe указывает, присутствует ли в блоке сущность, который еще не удалился. Значение 1
если имеются какие-либо незавершённые сущности, и 0
в противном случае.
Параметр Utilization, util указывает среднее время занятия блока. Блок вычисляет использование для каждого события отправления сущности, которое является отношением общего времени ожидания для сущностей к емкости сервера, C, умноженным на общее время симуляции, t f . Использование для n сущностей вычисляется с помощью этого уравнения.
[1] Кассандр, Кристос Г. Дискретные системы событий: моделирование и анализ эффективности. Homewood, Irwin and Aksen Associates, 1993.
Entity Generator | Entity Queue | Entity Server | Entity Terminator | Multicast Receive Queue | Resource Acquirer