100549

Моделирование систем массового обслуживания на языке GPSS

Лабораторная работа

Информатика, кибернетика и программирование

Моделирование систем массового обслуживания Цель работы Приобретение навыков моделирования систем массового обслуживания на языке GPSS General Purpose Simulation System. Задание на лабораторную работу Написать программу на языке GPSS которая моделирует систему массового обслуживания. Зачастую системы обслуживания обладают ограниченными возможностями для удовлетворения спроса что приводит к образованию очередей. Всякой системе массового обслуживания СМО характерна структура которая определяется составом элементов и функциональными...

Русский

2017-11-16

511 KB

1 чел.

Лабораторная работа №3. Моделирование систем массового обслуживания

Цель работы

Приобретение навыков моделирования систем массового обслуживания на языке GPSS (General Purpose Simulation System).

Задание на лабораторную работу

Написать программу на языке GPSS, которая моделирует систему массового обслуживания.

Отладить программу и запустить на выполнение, получить и проанализировать результат.

Порядок выполнения работы

В сжатом виде порядок выполнения работы представлен на рисунке 1.

Рисунок 1 – Порядок выполнения работы

Теоретические сведения

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

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

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

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

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

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

Постановка задачи

Ограничимся рассмотрением в данной работе системы массового обслуживания на следующем примере:

В частной парикмахерской работают три мастера. Многодневные исследования показали, что распределение заявок носит экспоненциальный характер с интенсивностью 0,06 (л =0,06). Значит среднее время прихода заявок т3=1/л3=1/0,06. Обслуживание каждого заказа, в зависимости от типа, происходит равномерно (±40) с интенсивностью 0,02, тоб =1/лоб=1/0,02 . При полной загруженности работников образуется очередь, среднее время пребывания в которой 157 ± 24-мин, причем длина очереди ограничена и не превышает 10 требований.

За день, как правило, удается обслужить около 53 клиентов.

Необходимо построить модель, описывающую функционирование мастерской и определить эффективность ее работы за день.

Метод построения модели

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

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

Описание моделирующего алгоритма

Блок GENERATE генерирует входной поток заявок с заданным среднем временем (1\ л) и распределением интервалов прихода. В блоке 2 идет проверка на свободное место в очереди. Если она полна, то заявка уничтожается и считается число заявок, получивших отказ. Иначе заявка поступает в систему, где происходит процесс обслуживания. Имитация очереди производится блоками ENTER - LEAVE, а время пребывания в ней – ADVANCE.

Для моделирования функционирования приборов в первой задаче используются блоки ENTER - LEAVE - ADVANCE , где среднее время обслуживания равно 1\ л.

Для завершения моделирования по времени в блоке GENERATE операндом А (GENERATE А) задается необходимое время моделирования (START 1, TERMINATE 1), например GENERATE 2008.

Результаты моделирования

Емкость прибора равна 3, т.е. параллельно работают три человека в мастерской.

В среднем одно из устройств было в состоянии занятости.

В среднем три прибора загружены на 60%.

Общее число занятий приборов (входов) было 52. Получили отказ 1 требований (53-52=1).

Среднее время на одно занятие было 49,96 единицы.

Ни один из приборов не находился в занятом состоянии на момент остановки моделирования.

В процессе моделирования были моменты, когда все 3 прибора были в состоянии занятости одновременно.

По этим данным можно рассчитать следующие показатели эффективности СМО.

приведенная плотность потока ;

вероятность того, что обслуживанием заняты все п каналов (n=к=3);

вероятность того, что обслуживаемые каналы свободны.

Получаем Р0=0,077

;

среднее значение занятых каналов: Nk=1,964≈2

;

число свободных каналов: N0=0,308≈0

;

коэффициент простоя: kn=0,103

;

вероятность отказов:

.

Результаты проведенных вычислений сведены в таблицу 1.

Таблица 1 – Результаты вычислений

λ

0,06

α

Pk

P0

Nk

N0

kn

Pотк

μ

0,02

3

0,346

0,077

1,964

0,308

0,103

0,347

n=k

3

≈2

≈0

Выводы

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

Программа, построенная по исходным данным

SIMULATE

EXPON EQU 1

INTPT EQU 2

LEN_Q EQU 3

KLV_M EQU 4

INTSR EQU 5

EXPON FUNCTION RN1,C24

0,0/.1,.104/.2,.222/.3,.335/.4,.509/.5,.69/.6,.915/.7,1.2/

.75,1.38/.8,1.6/.84,1.83/.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/.9997,8

INTPT FVARIABLE 1/0.06

LEN_Q STORAGE 10

KLV_M STORAGE 3

INTSR FVARIABLE 1/0.02

GENERATE V$INTPT,FN$EXPON,,53

TRANSFER BOTH,ACCEPT,GO_OUT

ACCEPT ENTER LEN_Q

ADVANCE 157,24

LEAVE LEN_Q

ENTER KLV_M

ADVANCE V$INTSR,40

LEAVE KLV_M

GO_OUT TERMINATE

GENERATE 1440

TERMINATE 1

START 1

Обозначение блоков программы

EXPON EQU 1 – функция, определяющая время поступления транзактов в модель

INTPT EQU 2 – переменная задающая среднее время прихода заявок н3 =1/л, (л- интенсивность потока заявок)

LEN_Q EQU 3 – переменная задающая максимальную длину очереди

KLV_M EQU 4 – переменная задающая количество каналов обслуживания

INTSR EQU 5 - переменная задающая среднее время обслуживания тоб =1\лоб (л – интенсивность обслуживания)

EXPON FUNCTION RN$1,C24

0,0/.1,.104/.2,.222/.3,.335/.4,.509/.5,.69/.6,.915/.7,1.2/

.75,1.38/.8,1.67.84,1.83/.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/.9997,8 – функция, дающая экспоненциальное распределение, непрерывная, заданная 24-точками

INTPT FVAR1ABLE 1/.06 – определение действительной переменной с плавающей точкой (аналог типа "REAL" в языке Pascal и "FLOAT" в С, С++), переменной INTPT присваивается значение mb=1/л=1/0.06

LEN_Q STORAGE 10 – описывает емкость памяти очереди LEN_Q. Если память емкость не определена то по умолчанию она равна 32767 ед. В данном случае хранилищу LEN_Q присвоена емкость 10.

KLV M STORAGE 3 – описывает емкость памяти KLV М

INTSR FVARIABLE 1/.02 – переменной 1NTSR присваивается значение среднего времени обслуживания то6 =1/лоб =1/0,02

GENERATE V$INTPT,FN$EXPON, ,53 – создаёт транзакты со средним временем прихода ms = 16 ,по экспоненциальному закону, всего 53 транзакта

TRANSFER BOTH,ACCEPT,GO_OUT – транзакты войдя в этот блок последовательно пытается войти в блоки ACCEPT и GO_OUT

ACCEPT ENTER LEN_Q – помещает транзакт в память LEN_Q если она свободна, т.е. в ней менее 10 транзактов

ADVANCE 102, 15 – задерживает транзакт в очереди равномерно распределенную на интервале 102-15, 102-14, ...,102, ...,102+15

LEAVE LEN_Q – удаляет транзакт из очереди, если он входит на обслуживание

ENTER KLV M – помещает транзакт на обслуживание в память KLV__M если она свободна

ADVANCE V$INTSR, 40 – обеспечивает задержку обслуживания, равномерно на интервале 50±40 чр

LEAVE KLV_M – удаление из обслуживания

GO_OUT TERMINATE – удаление транзакта из СМО после обслуживания или без него

GENERATE 1440 – задаётся время обслуживания путём генерирования через определённое время (1440 ед.) условного транзакта, фиксирующего окончание моделирования (8 часов в день * 60 мин * 3 прибора = 1440).

TERMINATE 1 – удаление условного транзакта с уменьшением счётчика транзактов на 1

START 1 – задание начального значения счётчика транзактов

Результаты работы программы

Емкость – наибольшее значение содержимого очереди, зарегистрированной в течение моделирования.

Среднее содержание – среднее значение содержимого очереди.

Коэффициент использования – коэффициент загрузки приборов.

Кол-во вх. – общее число входов в очередь.

Среднее время обслуживания – средняя продолжительность одного обслуживания

Блок схема программы

Порядок компиляции программы

См. лабораторную работу №1.

Варианты заданий

Номер вашего варианта соответствует последним двум цифрам зачетной книжки. В соответствии с ним из таблицы выберите вариант. Если число, которое образуют последние две цифры номера вашей зачетной книжки, превышает 50, то предварительно вычтете из него эту величину, а затем выберите соответствующие данные указанным выше способом.

Вариант

λ

t

µ

St1

St2

1

0,06

102±15

0,02

3

10

2

0,05

150±20

0,03

3

9

3

0,04

148±25

0,04

3

8

4

0,05

180±30

0,05

3

7

5

0,07

160±32

0,01

3

9

6

0,08

145±30

0,02

3

11

7

0,09

165±32

0,03

3

12

8

0,06

170±33

0,04

3

13

9

0,07

171±34

0,05

3

6

10

0,08

172±35

0,04

3

8

λ – интенсивность заявок;

t – время пребывания в очереди

µ – интенсивность обслуживания;

St1 – кол-во параллельных приборов;

St2 – предельная длина очереди.


 

А также другие работы, которые могут Вас заинтересовать

18536. Подпрограммы (функции) 197.24 KB
  Лабораторная работа № 6 Функции Вы уже знакомы с некоторыми библиотечными функциями такими как printf scanf getchar putchar gets sin cos ... . Теперь нужно знать как создавать свои собственные функции. Функция это самостоятельная единица программы предназначенн...
18537. Символьные строки и функции обработки строк 223.01 KB
  Лабораторная работа № 7 Символьные строки и функции обработки строк Строка символов это последовательность символов произвольной длины завершающаяся нульсимволом все биты в байте нулевые. Строковые константы записываются в кавычках например: Как Ва...
18538. Программирование простейших циклов на языке Си. Работа в системе Turbo С (версия 2.0) 597.78 KB
  Лабораторная работа № 1 Программирование простейших циклов на языке Си. Работа в системе Turbo С версия 2.0 Структура программы Любая программа на языке Си состоит из одной или более функций являющихся основными модулями программы. Функция с которой начи...
18539. Обработка числовых последовательностей 77 KB
  Лабораторная работа № 2 Обработка числовых последовательностей Существует круг задач в которых необходимо както обработать заданную числовую последовательность причем для получения результата достаточно просмотреть последовательность один раз. Например чт
18540. Прицелы для прямой наводки и прицелы для непрямой наводки 15.07 KB
  Прицелы наземной артиллерии можно подразделить на два вида: прицелы для прямой наводки и прицелы для непрямой наводки. Прицелы прямой наводки могут быть использованы только для стрельбы по видимой цели. Прицелы непрямой наводки могут быть использованы для всех видов...
18541. Реактивная система залпового огня (РСЗО) 23.33 KB
  Реактивная система залпового огня РСЗО это совокупность боевой машины пускового оборудования и реактивных снарядов. Впервые РСЗО а именно БМ13 Катюша была применена 11 июля 1942 года. 122мм реактивная система залпового огня 9К51 Град предназначена для: уничтож
18543. ПРОВЕРКА НУЛЕВЫХ УСТАНОВОК МЕХАНИЧЕСКОГО ПРИЦЕЛА 12.62 KB
  ПРОВЕРКА НУЛЕВЫХ УСТАНОВОК МЕХАНИЧЕСКОГО ПРИЦЕЛА. Механический прицел считается выверенным если при горизонтальном положении контрольной площадки на казеннике орудия и при горизонтальном положении верхнего среза корзины панорамы по контрольному уровню в продольно
18544. Прибор контрольных измерений (ПКИ) 14.8 KB
  Прибор контрольных измерений ПКИ Для измерения увеличения диаметра канала ствола гладкоствольного орудия типа Т12 с целью определения отклонения начальной скорости снарядов изза износа канала ствола предназначен Прибор ПКИ рис. 2. Данные ...