Интерпретируйте модели SimEvents с помощью статистического анализа

Выбор правильного статистического показателя имеет решающее значение для оценки производительности модели. Можно использовать выходную статистику из SimEvents® библиотечные блоки для анализа данных и управления во время выполнения.

Выход для анализа данных

Рассмотрите эти статистические показатели для более эффективной интерпретации поведения.

  • Определить соответствующий размер выборок для вычисления более значимой статистики.

  • Решите, хотите ли вы исследовать переходное поведение, установившееся поведение или то и другое.

  • Задайте количество симуляций, которые гарантируют достаточное доверие в результатах.

Для получения примера смотрите Исследование статистики и Визуализация Результатов симуляции.

Выводная статистика для управления во время выполнения

Некоторые системы полагаются на статистику, чтобы повлиять на динамику. В этом примере система постановки в очередь с обескураженными поступлениями имеет цикл обратной связи, который корректирует частоту прибытия на протяжении симуляции на основе статистики, сообщаемой очередью и сервером. Дополнительные сведения об этом примере см. в разделе Настройка времени генерации сущностей посредством обратной связи.

Подмножество блоков в библиотеке SimEvents обеспечивает выход статистики для управления во время выполнения. Когда вы создаете симуляции, которые используют статистические сигналы для управления динамикой, вы получаете доступ к текущим статистическим значениям в ключевые моменты времени на протяжении всей симуляции, а не только в конце симуляции.

В этой таблице перечислены блоки SimEvents, которые выводят обычно используемую статистику для анализа данных и управления во время выполнения.

Имя блока

Статистический параметр
Average queue length/store size, lAverage wait, wNumber of entities arrived, aNumber of entities departed, dNumber of entities extracted, exNumber of entities in block, nNumber of pending entities, npPending entity present in block, peUtilization, 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, блок:

  1. Умножает размер n очереди на ее длительность, t = t i - t i-1, чтобы вычислить взвешенную по времени очередь.

  2. Суммирует по взвешенной по времени очереди и усредняет ее за общее время t f.

l=1tfi=1fnt×t

Где:

  • t - это время между прибытием сущности и/или количеством событий отправления.

  • f - общее количество сущности прибытия и/или количество отправлений между t 0 и t f.

  • i = 1 для времени симуляции t 0 = 0.

Average store size, l вычисляется подобным образом путем замены длины очереди на размер хранилища.

Пример средней длины очереди в блоке Entity Queue

В этом примере показана средняя длина очереди сущностей в блоке Entity Queue.

Вычислите среднюю длину очереди в примере системы простой постановки в очередь

Время обслуживания для блока Entity Server больше, чем время межгенерации сущности блока Entity Generator. Эти сущности находятся в очереди и отсортированы в блоке Entity Queue. Область возможностей отображает количество сущностей.

На время между 0 и 1, средняя длина очереди 0 поскольку размер очереди 0. Между 1 и 2 длина очереди 1. Средняя длина очереди в момент времени t f = 2 вычисляется следующим образом.

l=12i=12nt×t=12(0+1×1)=0.5

Размер очереди равен 2 между временами 2 и 6 на время 4. Средняя длина очереди в момент времени t f = 6 вычисляется с помощью этого уравнения.

l=16i=16nt×t=16(0+1×1+2×4)=1.5

Средний размер очереди вычисляется для каждой длительности. Блок Scope отображает свое значение для длительности симуляции.

Среднее ожидание

Формула для вычисления среднего ожидания

Параметр Average wait, w представляет сумму времени ожидания для сущностей, покидающих блок, разделенную на их общее количество, n.

Время ожидания, w j, является моделируемым временем, в течение которого сущность находится в блоке. Это время ожидания не обязательно эквивалентно времени блокировки сущности. Это - длительность между входом сущности в блок и выходом из него. Для образца время ожидания 1 для сущности, который перемещается через разблокированное Entity Server со временем обслуживания 1с.

w=j=1nwjn

Пример среднего ожидания сущностей в блоке Entity Server

В этом примере показано среднее время ожидания для сущностей, которые обслуживаются в блоке 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 сущностей вычисляется с помощью этого уравнения.

util=j=1nwjC×tf

Ссылки

[1] Кассандр, Кристос Г. Дискретные системы событий: моделирование и анализ эффективности. Homewood, Irwin and Aksen Associates, 1993.

См. также

| | | | |

Похожие темы