AnyLogic
Развернуть
Размер шрифта

TimeMeasureEnd

TimeMeasureEnd вместе с TimeMeasureStart составляет пару блоков, позволяющую измерять время, проведенное агентами между двумя точками диаграммы процесса. Обычно с их помощью измеряется время нахождения агента в системе или длительность пребывания агента в каком-то подпроцессе.

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

Статистика собирается в два блока — в одном подсчитывается распределение измеренных времен (элемент "данные гистограммы" distribution). Эта статистика может использоваться, в частности, для построения гистограмм. Второй элемент данных — набор данных dataset. Его значения удобно отображать, например, на временном графике.

Вся операция выполняется в течение нулевого времени — как только агент входит в блок TimeMeasureEnd, он тут же покидает его.

Демо-модель: Measuring Length of Stay Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.
Блок TimeMeasureStart ведет запись всех агентов, прошедших через этот блок, но еще не прошедших через парный блок TimeMeasureEnd. Поэтому вы должны проверить и сделать так, чтобы каждый агент, проходящий через этот блок, позднее проходил через блок TimeMeasureEnd, в котором указан данный блок в качестве блока, начинающего отсчет времени пребывания агента. В противном случае произойдет утечка памяти.
Если во время выполнения модели возникнет ошибка "Должны быть указаны имена объектов TimeMeasureStart", то это значит, что у указанного в первой строке текста ошибки блока TimeMeasureEnd осталось пустым свойство Объекты TimeMeasureStart. Укажите в этом поле блок TimeMeasureStart, который начинает отсчет времени в вашей диаграмме процесса.

Параметры

Блоки TimeMeasureStart
Один или несколько блоков TimeMeasureStart, при прохождении первого из которых начнется отсчет времени пребывания агента в заданном участке диаграммы процесса (отсчет закончится здесь). Добавьте блоки в список, щелкнув мышью и выбрав названия из списка, или щелкнув мышью и выбрав блоки в графическом редакторе.
Синтаксис: TimeMeasureStart[] startObjects
Вместимость набора данных
Вместимость встроенного в блок набора данных dataset — максимальное количество измеренных значений, которое может храниться в данном наборе данных.
Синтаксис: int datasetCapacity
Значение по умолчанию: 100
Установить новое значение во время выполнения: set_datasetCapacity(новое значение)

Действия

При входе
Код, выполняемый при поступлении агента в блок.
Локальная переменная: Т entity — агент

Переменные

DataSet dataset
Набор данных, запоминающий для проходящих через блок агентов измеренные времена пребывания агентов в системе со времени прохождения первого блока TimeMeasureStart из указанных в параметре Блоки TimeMeasureStart до времени прохождения данного блока.
HistogramData distribution
Набор сбора данных «данные гистограммы», вычисляющий распределение времен пребывания агентов в заданном участке диаграммы процесса.

Функции

Функция Описание
void resetStats() Удаляет статистику, собранную блоком к текущему моменту времени, в элементах сбора данных dataset и distribution.

Порты

in
Входной порт.
out
Выходной порт.
Как мы можем улучшить эту статью?