Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СИСТЕМНЫЙ АНАЛИЗ.doc
Скачиваний:
27
Добавлен:
18.12.2018
Размер:
8.13 Mб
Скачать

Часть 2. Имитационное моделирование

Дополнительные методы и средства имитации

115

Экспоненциальное распределение (Exponential Distribution) связано с моделированием простейших потоков. В таких потоках время между событиями распределено по экспоненциальному закону. Это распреде­ление характеризуется единственным параметром — средним значени­ем. Вызов функции ехроп(Меап) вернет в качестве результата значение случайного числа, выбранного из экспоненциального распределения со средним mean. Если в задаче задана интенсивность простейшего по­тока Int, то среднее время между событиями будет определяться как mean=l/ Int. Поэтому для имитации задержек между появлениями со­бытий следует воспользоваться вызовом функции expon(l/Int).

Распределение Пуассона (Poisson Distribution) тесно связано с экс­поненциальным распределением: оно характеризует количество собы­тий в простейшем потоке, наблюдаемое за определенный интервал времени. Если задать величину этого интервала (Т) и интенсивность потока (Int), то произведение Mean=(Int*T) будет определять среднее количество событий за интервал времени Т. Эта характеристика явля­ется единственным параметром функции poisson(Mean), которая ис­пользуется как датчик пуассоновских случайных чисел. Использова­ние функции poisson(Mean) возможно и для других задач, например для имитации количества записей в инвентаризационной ведомости, объемов производства деталей в течение рабочего дня и т. п. Функция poisson(Mean) всегда выдает случайные числа, которые являются по-ложительными и целыми.

Для более подробного знакомства с использованием других рас­пределений вероятностей следует обратиться к справочной информа­ции системы или специальной литературе.

Функции

Функции языка разделяются на две категории: встроенные и определяемые пользователем. Встроенные функции нам уже неодно­кратно встречались, примерами таких функций являются halt() (фун­кция, реализующая оператор остановки модели), poisson(Mean) (дат­чик случайных чисел) и т. п. Эти функции не могут быть изменены пользователем — они не доступны для изменений.

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

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

Рис.2.25. Окно определения функции

В поле Name задается имя функции. Имена функций не должны совпадать с именами переменных, поэтому для именования функций целесообразно использовать заглавные буквы. В поле Purpose разме­щается краткое описание семантики функции, а в поле Expressions — алгоритмическое описание эффекта, связанного с вызовом функции. В дальнейшем вы получаете возможность использовать созданную функцию в любом текстовом фрагменте любого поля описания вашей модели. Для этого необходимо просто вставить имя функции в соот­ветствующее место описания. В нашем примере на рис. 2.25 опреде-

N

116