Например, программа 1 может быть приведена к виду, когда поступление транзактов и их обработка осуществляются по равномерному закону в интервалах, например, от 5 до 9 мин. и от 3 до 7 мин. соответственно. Говорят еще, что поступление требований подчиняется равномерному закону с интервалом 7±2 мин., а обработка — равномерному закону со временем обработки 5±2 мин. Программа, реализующая равномерный закон обслуживания, приводится как программа 2.
Рисунок 1,а – Равномерный закон распределения интервалов времени между транзактами
Рисунок 1,б – Экспоненциальный закон распределения интервалов времени между транзактами
Программа 2
********************Область блоков***********************
generate 7,2; Генерация транзактов из интервала(5,9)
seize 1
advance 5,2
release 1
terminate 1; Уничтожение транзактов
**********************************************************
start 100
При равномерном законе поступления транзактов и том же законе обслуживания операнд поля <B> в блоках GENERATE и ADVANCE квалифицируется как модификатор-интервал.
Формат описания блока GENERATE имеет вид:
GENERATE <А>,<В>
В приведенном описании использованы символы "<" и ">", которые образуют так называемые поля А и В. Значения полей называют также операндами. Соответственно, поле <A> равно 7, а поле <B> равно 2 для программы 2. Операнды полей <A> и <В> есть постоянные числа. Это означает, что транзакты генерируются случайным образом в интервале времени от 7-2=5 до 7+2=9 в соответствии с равномерным законом. Если поле <B> отсутствует (как для программы 1), то генерация транзактов происходит через интервалы времени, указанные в поле <A> (т.е. через 7 условных единиц времени — 7 мин.). В общем случае время задержки является случайным числом, распределенным равномерно на интервале времени от (<A>-<B>) до (<A>+<B>). Разница между числом поля <A> и числом поля <B> не должна быть отрицательна.
Соответствующее назначение полей применяется и для блока ADVANCE (задержка транзактов).
Формат описания блока ADVANCE имеет вид:
ADVANCE <A>,<B>
Блок ADVANCE моделирует задержку вошедшего в него транзакта в течение определенного интервала времени. Для программы 2 временная задержка транзактов определяется как 5±2 условных единицы, распределенных по равномерному закону. Поле <A> соответствует числу 5, а поле <B> — числу 2.
Задержка продвижения транзактов на время, указанное в полях блока ADVANCE, происходит, как правило, в устройствах, которые используются при моделировании работы отдельных единиц различного оборудования.
С устройством под номером 1 в рассматриваемых программах связаны блоки SEIZE и RELEASE. Блоки SEIZE и RELEASE действуют совместно.
Формат описания блока SEIZE имеет вид:
SEIZE <A>
Блок SEIZE имеет только одно поле <A>, которое задает номер или имя устройства, присвоенное разработчиком программы. В нашем случае устройство имеет номер 1. Номер или имя устройства могут быть произвольными. При входе транзакта в блок SEIZE всегда проверяется (системой GPSS), занято ли устройство. Если устройство свободно, то оно занимается.
Устройство, остается занятым до тех пор, пока занимающий его транзакт не войдет в соответствующий блок RELEASE.
Формат описания блока RELEASE имеет вид:
RELEASE <A>
Операнд поля <A> блока RELEASE должен быть таким же, как и для соответствующего блока SEIZE. В нашем случае число 1 в поле <A> задает номер устройства, которое моделируется блоками SEIZE и RELEASE. Блок RELEASE предназначен для освобождения устройства тем транзактом, которым оно было занято.
Вывод транзактов из системы моделирования осуществляется блоком TERMINATE.
Формат описания блока TERMINATE имеет вид:
TERMINATE <A>
В поле <A> блока TERMINATE задается число единиц (транзактов), на которое этот блок изменяет содержимое счетчика завершений, определяющего момент окончания моделирования. В нашем случае операнд поля <A> блока TERMINATE это число 1. Число в поле <A> блока TERMINATE можно рассматривать как коэффициент, на который следует умножить число выводимых транзактов, чтобы получить задаваемое значение счетчика завершений. Если результат произведения точно не равен числу счетчика завершений, то число выводимых транзактов через блок TERMINATE устанавливается с избытком, ближайшим к числу счетчика завершений.
Значение счетчика завершений или количество транзактов, которое необходимо пропустить через модель, задается оператором START.
Формат описания оператора START имеет вид:
START A>,<B>
Поле <A> оператора START задает значение счетчика завершений, определяющего момент окончания процесса моделирования. В нашем случае операндом поля <A> является число 100. Поле <B> операнд управления выводом отчета. Если поле <B> пусто, то отчет выводится, если в этом поле стоит
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.