Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Моделирование на GPSS

щая длина очереди;  QM - максимальная длина
      очереди;  QA - целая часть средней длины очереди;  QC - общее число
      транзактов,  вошедших в очередь;  QZ - число транзактов,  прошедших
      через очередь без ожидания (число "нулевых"  входов);  QT  -  целая
      часть среднего времени ожидания с учетом "нулевых" входов; QX - це-
      лая часть среднего времени ожидания без учета "нулевых" входов.
           Дополним приведенную на рис. 7 модель одноканальной СМО блока-
      ми QUEUE и DEPART (рис. 9). Теперь транзакты, заблокированные перед
      блоком SEIZE из-за занятости устройства SYSTEM,  находятся в  блоке
      QUEUE, внося свой вклад в статистику о времени ожидания, накаплива-
      емую в статистическом объекте типа "очередь"  с  именем  LINE.  При
      освобождении устройства первый из заблокированных транзактов войдет
      в блок SEIZE и одновременно в  блок  DEPART,  прекращая  накопление
      статистики об ожидании этого транзакта.

               EXP    FUNCTION    RN1,C24
        0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915
        .7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3
        .92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9
        .99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
                GENERATE    100,FN$EXP
                QUEUE       LINE
                SEIZE       SYSTEM
                DEPART      LINE
                ADVANCE     80,FN$EXP
                RELEASE     SYSTEM
                TERMINATE   1

                              Рис. 9

           Очень часто исследователя интересует не только среднее  значе-
      ние  времени  ожидания в очереди,  но и дисперсия этого времени,  а
      также  статистическое  распределение  выборки   времени   ожидания,
      представляемое  обычно  графически  в виде гистограммы.  Имея такое
      распределение,  можно оценить вероятность того,  что время ожидания
      превысит  или не превысит некоторое заданное значение.  Для сбора и
      обработки данных о выборочном распределении времени ожидания в оче-
      реди служат статистические объекты типа Q-таблица.
           Для создания в модели такой таблицы она должна быть  предвари-
      тельно  определена с помощью оператора определения QTABLE (Q-табли-
      ца), имеющего следующий формат:
                      имя    QTABLE    A,B,C,D
      Здесь имя - имя таблицы,  используемое для ссылок на нее; A - номер
      или имя очереди, распределение времени ожидания в которой необходи-
      мо получить;  B - верхняя граница первого частотного интервала таб-
      лицы; C - ширина частотных интервалов; D - количество частотных ин-
      тервалов.
           Диапазон всевозможных  значений  времени  ожидания  в очереди,
      указанной в поле A,  разбивается на ряд частотных интервалов, коли-
      чество  которых  указано в поле D.  Первый из этих интервалов имеет
      ширину от минус бесконечности до  величины,  указанной  в  поле  B,
      включительно. Второй интервал включает значения, большие, чем вели-
      чина первой границы в поле B, но меньшие или равные B+C, и т.д. Все
      промежуточные  интервалы имеют одинаковую ширину,  указанную в поле
      C.  Наконец, последний интервал включает все значения, большие, чем
      последняя  граница.  Значения операндов B,  C и D должны задаваться
      целыми константами.  Операнд B может быть неположительным, хотя для
      Q-таблицы это не имеет смысла,  так как время не может быть отрица-
      тельным. Операнды C и D должны быть строго положительными.
           При прохождении транзакта через блоки QUEUE и DEPART его время
      ожидания фиксируется,  и к счетчику частотного интервала таблицы, в
      который попало это время, добавляется 1. Одновременно в таблице на-
      капливается информация для вычисления среднего значения  и  средне-
      квадратического отклонения (корня из дисперсии)  времени  ожидания.
      По  окончании моделирования среднее значение и среднеквадратическое
      отклонение времени ожидания, а также счетчики попаданий в различные
      частотные интервалы выводятся в стандартный отчет GPSS/PC.
           Таблицы, как и другие объекты GPSS/PC,  имеют СЧА:  ТС - общее
      число транзактов,  вошедших в очередь,  связанную с таблицей;  TB -
      целая  часть среднего времени ожидания в очереди;  TD - целая часть
      среднеквадратического отклонения времени ожидания в очереди.
           Дополним модель из примера на рис. 9 оператором QTABLE для по-
      лучения  распределения  времени  ожидания  в  очереди с именем LINE
      (рис. 10).

         WTIME  QTABLE      LINE,50,50,10
         EXP    FUNCTION    RN1,C24
        0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915
        .7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3
        .92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9
        .99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
                GENERATE    100,FN$EXP
                QUEUE       LINE
                SEIZE       SYSTEM
                DEPART      LINE
                ADVANCE     80,FN$EXP
                RELEASE     SYSTEM
                TERMINATE   1

                              Рис. 10

           Оператор определения таблицы с именем WTIME разбивает ось вре-
      мени на 10 частотных интервалов.  Первый интервал включает значения
      от  0 до 50,  второй - от 50 до 100,  третий - от 100 до 150 и т.д.
      Последний,  десятый,  интервал включает значения,  превышающие 450.
      Если,  например,  время  ожидания  некоторого  транзакта  в очереди
      составило 145 единиц модельного времени,  то  к  счетчику  третьего
      частотного интервала будет добавлена 1.  Следует заметить,  что ин-
      формация в таблицу с именем WTIME заносится автоматически, при вхо-
      де транзактов в блоки QUEUE и DEPART, и никаких специальных мер для
      этого принимать не требуется.
           Таблицы в GPSS/PC могут использоваться в более общем случае не
      только для табулирования времени ожидания в очереди, но и для полу-
      чения  выборочных распределений произвольных СЧА любых объектов мо-
      дели.  Для определения таблиц служит оператор TABLE (таблица), фор-
      мат которого совпадает с форматом оператора QTABLE. Отличие состоит
      лишь в том,  что в поле A оператора TABLE записывается  стандартный
      числовой атрибут,  выборочное распределение которого необходимо по-
      лучить,  а операнды B,  C и D определяют разбиение на частотные ин-
      тервалы диапазона всевозможных значений этого СЧА.
           Занесение информации в таблицу, определяемую оператором TABLE,
      уже не может быть выполнено симулятором автоматически, как в случае
      Q-таблиц. Для этого используется специальный блок TABULATE (табули-
      ровать), имеющий следующий формат:
                        имя    TABULATE    A
           В поле A указывается номер или имя таблицы, определенной соот-
      ветствующим оператором TABLE.
           При входе транзакта в блок TABULATE текущее значение табулиру-
      емого аргумента таблицы,  указанного в поле A оператора TABLE,  за-
      носится в нее в соответствии с заданным в операторе TABLE разбиени-
      ем области значений аргумента на частотные интервалы.  Одновременно
      корректируются текущие значения СЧА таблицы:  счетчик входов в таб-
      лицу TC,  среднее время ожидания TB и среднеквадратическое отклоне-
      ние времени ожидания TD.
           Пусть, например,  в модели многоканальной СМО,  приведенной на
      рис.  8,  надо получить распределение времени пребывания  заявок  в
      системе, включающего время ожидания в очереди и время обслуживания.
      Это может быть обеспечено способом, показанным на рис. 11.
           Оператор TABLE  определяет таблицу с именем TTIME,  аргументом
      которой служит СЧА М1 - время  пребывания  транзакта  в  модели.  В
      рассматриваемой  модели значение СЧА M1 одновременно будет являться
      временем пребывания транзакта в СМО в том  случае,  если  занесение
      информации в таблицу производить перед выходом транзакта из модели.
      Поэтому блок TABULATE,  заносящий информацию о  времени  пребывания
      каждого  транзакта  в  модели в таблицу TTIME,  располагается перед
      блоком TERMINATE.  Диапазон возможных значений  времени  пребывания
      транзакта  в модели разбит в операторе TABLE на 12 частотных интер-
      валов, ширина которых (кроме последнего) равна 100 единицам модель-
      ного времени.

         TTIME  TABLE       M1,100,100,12
         STO2   STORAGE     2
         EXP    FUNCTION    RN1,C24
        0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915
        .7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3
        .92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9
        .99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
                GENERATE    100,FN$EXP
                ENTER       STO2
                ADVANCE     160,FN$EXP
                LEAVE       STO2
                TABULATE    TTIME
                TERMINATE   1

                              Рис. 11

            2.4. Блоки, изменяющие маршруты транзактов

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

           Блок TRANSFER (передать) служит для передачи входящих  в  него
      транзактов в блоки, отличные от следующего. Блок имеет девять режи-
      мов работы,  из которых рассмотрим здесь лишь  три  наиболее  часто
      используемых. В этих трех режимах блок имеет следующий формат:
                      имя    TRANSFER    A,B,C
      Смысл операндов в полях A, B и C зависи
Пред.678910След.
скачать работу

Моделирование на GPSS

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ