Схема алгоритма работы модели

Задание: Вариант 7. Моделирование работы СМО.

7.1. На вход одноканальной обслуживающей системы c интенсивностью λ (1/ед. времени) поступает пуассоновский поток требований. C вероятностью p1 требование имеет первый тип, c вероятностью p2 второй тип. Требования второго типа при выборе из очереди имеют больший приоритет, чем требования первого типа. Время обслуживания требования прибором имеет экспоненциальное распределение со средним значением t1, ед. времени для требования первого типа, t2 для требования второго типа. Промоделировать обслуживание К требований.

Оценить длину очереди требований перед прибором. В табл. 7.5 приведены варианты заданий и значения параметров.

Построить GPSS-модель, которая состоит: 1) из одного сегмента; 2) из двух сегментов.

7.2. На вход одноканальной обслуживающей системы поступает поток требований, время поступления которых равномерно распределено в интервале от Адо В единиц времени. C вероятностью p1 требование имеет первый тип, c вероятностью р2 второй тип. Требования второго типа при выборе из очереди имеют больший приоритет, чем требования первого типа. Время обслуживания требования прибором имеет экспоненциальное распределение со средним значением t1 единиц времени для требования первого типа, t 2 – для требования второго типа. Промоделировать обслуживание K требований.

Оценить длину очереди требований перед прибором.

Таблица 7.5

Вариант λ А В p1 p2 t1 t2 К
  0,05,     0,4 0,6      
  0,03     0,2 0,8      
  0,005     0,3 0,7      
  0,006     0,65 0,35      

Теория

Язык GPSS – это язык декларативного типа, построенный по принципу объектно-ориентированного языка. Основными элементами этого языка являются транзакты и блоки, которые отображают соответственно динамические и статические объекты моделируемой системы.

Предназначение объектов системы различно. Выбор объектов в конкретной модели зависит от характеристик моделируемой системы. Каждый объект имеет некоторое число свойств, названых в GPSS стандартными числовыми атрибутами (CЧA). Часть СЧА доступна пользователю только для чтения,ана значение других он может влиять, используя соответствующие блоки.

Блоки и транзакты. Каждая GPSS-модель обязательно должна содержать такие объекты, как блоки и транзакты.

В GPSS концепция передачи управления от блока к блоку имеет специфические особенности. Последовательность блоков GPSS-модели показывает направления, в которых перемещаются элементы. Каждый такой элемент называется транзактом. Транзакты – это динамические элементы GPSS-модели.

Блоки языка GPSS представляют собой подпрограммы, написанные на макроассемблере или на языке Си, и содержат набор параметров (операндов) для обращения к ним. Как и во всех языках моделирования в GPSS существует внутренний механизм передачи управления, который реализуется в модельном времени, что дает возможность отобразить динамические процессы в реальных системах. Передача управления от блока к блоку в GPSS-программах реализуется c помощью движения транзактов в модельном времени. Обращение к подпрограммам блоков происходит через движение транзактов.

Операторы GPSS делятся на три типа:

1) блоки;

2) операторы описания данных;

3) команды GPSS.

Общие сведения о формате операторов GPSS. В GPSS для ссылки на числа, блоки и объекты используются имена (идентификаторы). Имя представляет собой алфавитно-цифровую последовательность длиной до 20 символов в GPSS/PC и до 250 символов в GPSS World, которая начинается c буквы. Допускается использование символов только латинского алфавита, цифр и знака подчеркивания.

Формат GPSS-блоков такой:

[Номер cmpoки ][< Метка >] < Операция > < Операнды > <; Комментарии >

Номер строки. Обязательное поле для GPSS/PC (в GPSS World – игнорируется). Начинается c первой позиции строки. Представляет собой десятичное число.

Метка (имя блока). Содержимым поля является имя – последовательность символов, начинающаяся c буквы. В некоторых операторах это поле является обязательным.

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

Операнды. Блоки могут иметь операнды. Операнды блоков задают информацию, специфичную для действия данного блока. Число операндов блока зависит от типа блока. В блоках не может использоваться больше семи операндов. Операнды в общем случае обозначаются символами: А, В, C, D, E, F, G. Значения операндов определяются типом блока. Одни операнды некоторых блоков должны быть определены всегда,адругие могут задаваться или не задаваться (т.е. являются необязательными). Операнды следуют один за другим и отделяются запятыми или одним пробелом. Если операнд опущен, то вместо него ставится запятая. Между операндами не должно быть более одного пробела, так как это будет означать, что операнды закончились и интерпретатор прекращает чтение строки.

Комментарии. Необязательное поле. Комментарии отделяются от поля операндов символом «;». Допускается запись комментария c начала строки. В этом случае в первой позиции строки ставится символ «;» или «*». В GPSS/PC допускаются комментарии c использованием заглавных или строчных букв только латинского алфавита, в GPSS World также допускается использование символов кириллицы.

В программе были использованы следующие блоки:

Блок GENERATE (ГЕНЕРИРОВАТЬ) – это блок, через который транзакты входят в модель. Не существует ограничений на количество разных блоков GENERATE в одной модели.

Блок TERMINATE (ЗАВЕРШИТЬ). В этот момент освобождается память, выделенная под транзакт. Эти блоки всегда позволяют выйти всем транзактам, которые пытаются это сделать. В модели может быть любое количество блоков TERMINATE.

Блок START (НАЧАТЬ) – запускает процесс моделирования, и является счетчиком завершения.

Блок QUEUE (СТАТЬ В ОЧЕРЕДЬ) – транзакт занимает очередь.

Блок SEIZE (ЗАНЯТЬ) – транзакт занимает устройство.

Блок DEPART (ПОКИНУТЬ ОЧЕРЕДЬ) – транзакт покидает очередь.

Блок RELEASE (ОСВОБОДИТЬ) – транзакт освобождает устройство.

Блок ADVANCE (ЗАДЕРЖАТЬ) – продвигает часы модельного времени на некоторое значение, фактически осуществляет задержку продвижения транзакта в течение некоторого интервала времени. Обычно этот интервал задается случайной величиной.

Блок TRANSFER (ПЕРЕДАТЬ) может быть использован в девяти разных режимах. В данном примере блок трансфер использовался в режиме безусловной передачи, а также в статистическом режиме.

Блок PRIORITY (НАЗНАЧИТЬ ПРИОРИТЕТ) присваиваетили изменяет приоритет транзакта, если он был задан блоком GENERATE (по умолчанию приоритет транзакта равен нулю).

Моделирование пуассоновского потока. Рассмотрим табличный способ задания пуассоновского потока заявок. Пуассоновский входящий поток описывается таким образом: вероятность поступления k заявок пуассоновского потока в течение интервала t составляет

где λ – интенсивность потока.

Интервалы времени между соседними заявками пуассоновского потока распределены по экспоненциальному закону. Согласно методу обратной функции, можно получить ряд чисел, которые имеют экспоненциальное распределение, если ряд случайных чисел R, равномерно распределенных на интервале [0,1], преобразовать в соответствии c функцией, обратной к экспоненциальной функции распределения:

где tjj -й разыгранный интервал времени поступления; – средний интервал времени поступления; rjj-e число в последовательности случайных чисел R c равномерным распределением на интервале [0, 1].

Разработчиками GPSS была осуществлена аппроксимация функции F-1 (x), обратной к экспоненциальной функции распределения c параметром λ = 1. Таким образом, функция F-1 (x) была заменена 23 отрезками, которые использовались для преобразования значений RNj в значение – ln(RNj).

Функция XPDIS определяет экспоненциальное распределение c интенсивностью λ = 1:

Пуассоновский входящий поток c интенсивностью λ, отличной от единицы, моделируется c помощью блока GENERATE таким образом:

1) в качестве операнда А используют среднее значение интервалов времени T= 1/ λ, где λ – интенсивность пуассоновского потока;

2) в качестве операнда В используют СЧА – значение функции XPDIS, операторы определения и описания которой приведены выше.

Схема алгоритма работы модели

Схема построена для обоих заданий. Различие будет лишь в том, что во втором задании генерируется не пуассоновский поток требований.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: