Читать в оригинале

<< ПредыдущаяОглавление


3.3. Пример построения генератора заявок для банковской системы с одной кассой

На первом шаге определим константу, которая будет отвечать за интервал между заявками (приходами клиентов в банк) (рис. 3.1).

 

Рис. 3.1. Определение константы – интервала между заявками

 

В окне наблюдений Scope будет горизонтальная прямая, проходящая через значение, указанное в параметре константы (рис. 3.2).

Рис. 3.2. Значение интервала между заявками в окне Scope

 

Далее необходимо добавить генератор дискретных импульсов. При этом каждый импульс будет соответствовать единице модельного времени (рис. 3.3). Соответствующая временная диаграмма представлена на рис. 3.4.

 

 

Рис. 3.3. Включение в имитационную модель генератора дискретных импульсов

Параметры генератора дискретных импульсов можно настроить таким образом, чтобы количество вырабатываемых импульсов совпадало со значением времени моделирования. На рис. 3.4 представлена именно такая ситуация (количество импульсов равно времени моделирования и составляет 10). Окно параметров генератора дискретных импульсов с соответствующими значениями представлено на рис. 3.5.

Рис. 3.4. Временная диаграмма модельного времени

Рис. 3.5. Окно параметров генератора дискретных импульсов

 

На следующем шаге реализуем механизм формирования единичных импульсов с интервалом, равным значению константы. Для этого введем в модель новый элемент – дискретный сумматор (Discrete-Time Integrator) (рис. 3.6). Блок Relational Operator необходим для формирования единичного импульса в момент достижения равенства выхода сумматора и значения константы. Второй вход дискретного сумматора служит для его обнуления. Благодаря вспомогательному блоку Memory не происходит образования алгебраической петли. На выходе блока сравнения Relational Operator имеет место набор импульсов с интервалом, равным значению константы (рис. 3.7).

 

Рис. 3.6. Простейший генератор заявок с регулируемым интервалом

Рис. 3.7. Результат работы простейшего генератора заявок с регулируемым интервалом

На следующем этапе создадим генератор заявок, интервал возникновения которых будет случайным с равномерным распределением. Для этого вместо константы будем использовать подсистему, на выходе которой формируется случайное число, которое и будет определять интервал между соседними заявками. Схема такой подсистемы представлена на рис. 3.8. На данной схеме Uniform Random Number – блок формирования случайных чисел с равномерным распределением, Rounding Function – блок округления. На рис. 3.9 представлен результат работы данной подсистемы. Далее необходимо сделать так, чтобы случайные временные интервалы формировались не в каждый момент времени, а в самом начале и после каждого сброса дискретного сумматора. Схема такого генератора заявок со случайным интервалом показана на рис. 3.10. Его результат работы на 100 шагах модельного времени продемонстрирован на рис. 3.11. Значение интервала между заявками находится в диапазоне [5, 10].

 

Рис. 3.8. Подсистема формирования случайных чисел с равномерным распределением

Рис. 3.9. Набор случайных чисел, формируемых в каждый момент  модельного времени

Генератор целых случайных чисел на рис. 3.10 представлен в виде подсистемы Subsystem, которая срабатывает только тогда, когда на разрешающий вход (вход сверху) подается ненулевой сигнал. Такой сигнал имеет место в первый момент времени работы модели (благодаря блоку Step) и в моменты сброса дискретного сумматора, когда нужно вычислить следующий интервал прибытия клиента в банк. Схема подсистемы Subsystem представлена на рис. 3.12.

Рис. 3.10. Генератор заявок со случайным интервалом

Рис. 3.11. Результат работы генератора заявок со случайным интервалом

Рис. 3.12. Схема подсистемы Subsystem

 



<< ПредыдущаяОглавление