Файл: Метод. указания к ЛР (часть 1).docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 15.03.2019

Просмотров: 961

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

При выполнении работ следует ознакомиться с лекционным материалом, учебной литературой из списка [1-8] и методическими указаниями к каждой лабораторной работе. Студент выполняет лабораторные работы, используя указания, в которых приводятся краткие теоретические сведения, задания к работе, пример выполнения задания и содержание отчета. При выполнении работ студент получает индивидуальное задание, знакомится с основными командами и блоками системы моделирования GPSS World, приемами использования их в процессе создания имитационной модели и проверки ее достоверности, при выводе отчета и обработке результатов имитационного эксперимента. Исходные данные для выполнения работ содержатся в табл. 1–10. Студент выбирает вариант задания в соответствии с номером в деканатском журнале.

ЛАБОРАТОРНАЯ РАБОТА №1

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

Отметим различие между устройствами и многоканальными устройствами с емкостью 1. Во-первых, устройство может не только «заниматься», но и захватываться, в то время как единственный элемент многоканального устройства может только «заниматься». Это и есть самое важное различие между устройствами и многоканальными устройствами. Захват означает, что если даже устройство занято текущим обслуживанием, оно немедленно может быть предоставлено по соответствующему требованию. Захват является очень важным элементом функционирования сложных систем. Во-вторых, устройство может быть освобождено только тем транзактом, который его занял. Если транзакт пытается войти в блок RELEASE без предварительного входа в блок SEIZE того же устройства, возникает ошибка. В противоположность этому любой транзакт может войти блок LEAVE без того, чтобы перед этим войти в блок ENTER соответствующего многоканального устройства. Ошибка возникает лишь тогда, когда из «текущего содержимого» вычитается величина, приводящая к отрицательному значению содержимого.

ПРИЛОЖЕНИЕ

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

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

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

Число устройств, которое моделируется каждой из памятей, определяется пользователем. В этом смысле употребляют термин «емкость памяти», или «емкость многоканального устройства».

Все используемые в модели памяти должны быть заранее описаны. Для этого используется команда описания STORAGE, определяющая емкость памяти.

STORAGE (память)

Назначение: описание емкости памяти.

Формат: <ИМЯ> STORAGE A.

Здесь: <ИМЯ> - символическое или числовое имя памяти.

Значение операндов

Операнд

Значение

Значение по умолчанию

A

Ёмкость памяти

Ошибка

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

  1. транзакт ожидает своей очереди, если это необходимо;

  2. транзакт занимает устройство;

  3. устройство обслуживает транзакт в течение некоторого интервала времени;

  4. транзакт освобождает устройство.

Как и в случае с устройством, разработчик использует памяти в модели, применяя пары, дополняющих друг друга блоков. Эти блоки моделируют выполнение описанных событий 2 и 4. Когда транзакт входит в первый из этих блоков, моделируется событие «занятие одного из элементов памяти» или «занятие одного из группы параллельно работающих устройств». Подобным же образом, когда транзакт входит во второй из этих блоков, моделируется выполнение события «освобождение одного из элементов памяти» или «освобождение параллельно работающего устройства». Блоками, соответствующими состояниям «занято» и «освобождено», являются ЕNТЕR и LEAVE.


Блок ENTER (войти)

Назначение: вход транзакта в память.

Формат: ENTER A, B.

Значение операндов

Операнд

Значение

Значение по умолчанию

A

Имя (символическое или числовое) памяти

Ошибка

В

Число занимаемых элементов памяти

1

Блок LEAVE (выйти)

Назначение: выход транзакта из памяти.

Формат: LEAVE A, B.

Значение операндов

Операнд

Значение

Значение по умолчанию

A

Имя (символическое или числовое) памяти

Ошибка

В

Число освобождаемых элементов памяти

1

Когда транзакт входит в блок ENTER, интерпретатор выполняет следующие действия:

  1. «счетчик входов» увеличивается на единицу;

  2. объем занятой памяти увеличивается на единицу;

  3. «доступная емкость» памяти уменьшается на единицу.

Подобным же образом, когда транзакт входит в блок LEAVE, интерпретатор выполняет следующие действия:

  1. объем занятой памяти уменьшается на единицу;

  2. «доступная емкость» памяти увеличивается на единицу.

Отметим различие между устройствами и многоканальными устройствами с емкостью 1. Во-первых, устройство может не только «заниматься», но и захватываться, в то время как единственный элемент многоканального устройства может только «заниматься». Это и есть самое важное различие между устройствами и многоканальными устройствами. Захват означает, что если даже устройство занято текущим обслуживанием, оно немедленно может быть предоставлено по соответствующему требованию. Захват является очень важным элементом функционирования сложных систем. Во-вторых, устройство может быть освобождено только тем транзактом, который его занял. Если транзакт пытается войти в блок RELEASE без предварительного входа в блок SEIZE того же устройства, возникает ошибка. В противоположность этому любой транзакт может войти блок LEAVE без того, чтобы перед этим войти в блок ENTER соответствующего многоканального устройства. Ошибка возникает лишь тогда, когда из «текущего содержимого» вычитается величина, приводящая к отрицательному значению содержимого.


Задание к работе


1. В небольшое кафе ежедневно согласно нормальному закону распределения со средним значением а  минут и средним квадратическим отклонением σ минут приходят посетители. Пребывание же их в кафе подчинено пуассоновскому закону распределения со средним значением b  минут. Время работы кафе Т часов в день. Когда в зале нет свободных мест, посетитель не идет в другое кафе, а ожидает своей очереди на обслуживание.

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

Варианты заданий приведены в табл. 7.

Таблица 7

варианта

a

σ

b

Т

варианта

a

σ

b

Т

1

5

1

24

9

6

7

1

23

9

2

6

1.5

25

8

7

5

0.5

25

8

3

5

0.75

25

9

8

6

1

24

9

4

7

1.25

23

10

9

7

1.5

22

12

5

6

1.25

24

11

10

5

1.25

23

8


 

2. Необходимо решить, сколько операционистов следует выделить в отделении банка для обслуживания клиентов, чтобы за время работы банка обслужить максимальное количество клиентов. Приход клиентов в банк является пуассоновским со средним значением а минут. Время обслуживания распределено по нормальному закону со средним значением  b минут и средним квадратическим отклонением σ минут. Если клиенты приходят и не застают свободного операциониста, то они ожидают своей очереди на обслуживание. Банк работает Т часов в день.

Варианты заданий приведены в табл. 8.

Таблица 8

варианта

a

b

σ

Т

варианта

a

b

σ

Т

11

1

7

2

9

16

2

9

2

8

12

2

8

2

8

17

3

11

3

9

13

4

11

3

9

18

3

7

1

9

14

3

9

2

8

19

2

12

3

7

15

2

10

2

7

20

1

6

1

8


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


В парикмахерскую с двумя креслами каждые 35±10 мин приходят клиенты. Парикмахеры обслуживают клиентов в порядке «первым пришел – первым обслужился». Время, затраченное на стрижку, составляет 18±6 мин. Построить GPSS-модель работы парикмахерской в течение 8 часов.

Листинг программы

* Основной сегмент программы

PARIK STORAGE 2 ;2 кресла в парикмахерской

GENERATE 35,10 ;приход клиентов в парикмахерскую

ENTER PARIK ;занять одного парикмахера

ADVANCE 18,6 ;стрижка

LEAVE PARIK ;освободить одного парикмахера

TERMINATE ;уход клиента из парикмахерской

* Сегмент таймера

GENERATE 480 ;моделирование в течение 480 мин

TERMINATE 1 ;завершение прогона

START 1

Отчет о работе

Отчет должен содержать:

  1. задание и исходные данные для выполнения работы;

  2. текст программы;

  3. распечатку стандартного отчета (объекта «Отчет»);

  4. таблицу, описывающую зависимость количества обслуженных клиентов от числа посадочных мест в кафе (варианты 1-10) или числа операционистов в банке (варианты 11-20).




ЛАБОРАТОРНАЯ РАБОТА №4


МЕТОДЫ СБОРА СТАТИСТИКИ В ИМИТАЦИОННОЙ МОДЕЛИ


Цель работы: изучение объектов статистической категории GPSS – очередей и таблиц; использование блоков QUEUE и DEPART; освоение способов регистрации статистической информации о процессе ожидания и движения транзактов в модели.


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


Блоки QUEUE (встать в очередь) и DЕРАRТ (покинуть очередь) обеспечивают в GPSS возможность автоматического сбора статистических данных, описывающих вынужденное ожидание, которое может происходить время от времени в различных точках модели.

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


При использовании ограниченного ресурса происходят следующие события.

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

  2. Ожидание своей очереди в течение некоторого интервала времени.

  3. Уход из очереди в некоторый момент времени.

Очень часто бывает необходимо собрать статистику, описывающую особенности протекания процесса. Эта статистика должна дать ответ на следующие вопросы:

    • Сколько раз заявки приходили в очередь?

    • Сколько пришедших заявок фактически присоединилось к очереди и сколько сразу заняли прибор?

    • Каково было максимальное значение длины очереди?

    • Каково было среднее число ожидающих заявок?

    • Каково среднее время ожидания тех заявок, которым пришлось ждать?

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

    Разработчик вносит регистратор очереди в модель с помощью пары взаимодополняющих блоков. Такой парой являются блоки, моделирующие упомянутые события 1 и 3. Когда транзакт входит в первый из этих блоков, моделируется событие «присоединение к очереди». Подобным образом, когда транзакт входит во второй из них, моделируется событие «уход из очереди». Блоками, соответствующими событиям «присоединение» и «уход», являются QUEUE и DEPART.

    QUEUE (встать в очередь)

    Назначение: занесение транзакта в очередь.

    Формат: QUEUE A, B.

    Значение операндов


    Операнд

    Значение

    Значение по умолчанию

    A

    Имя (символическое или числовое) очереди, к которой необходимо присоединиться

    Ошибка

    В

    Число элементов, на которое должно измениться значение счетчика содержимого очереди

    1


    DEPART (покинуть очередь)

    Назначение: удаление транзакта из очереди.

    Формат: DEPART A, B.

    Значение операндов






    Операнд

    Значение

    Значение по умолчанию

    A

    Имя (символическое или числовое) очереди, которую необходимо покинуть

    Ошибка

    В

    Число элементов, на которое должно измениться значение счетчика содержимого очереди

    1

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

    Первой ошибкой является то, что многие считают, будто регистраторы очереди необходимо использовать в модели всюду, где могут возникать очереди. Часто думают, что если регистратор очереди не записан, то не обеспечивается возможность ожидания обслуживания. Это неверно. Использование регистратора очереди совершенно необязательно. При использовании регистратора интерпретатор собирает статистику об ожидании; если регистратор не используется, статистика не собирается, но всюду, где должно возникать ожидание, оно возникает. Ожидание является следствием состояния устройства, а не следствием использования регистратора очереди.


    Второй общей ошибкой, касающейся использования регистраторов очереди, является мнение, что транзакт не будет элементом очереди, если он не находится в блоке QUEUE. Это неверно. Транзакт просто отмечает факт своего присутствия в очереди входом в блок, где осуществляется привязка к очереди по имени и времени входа в очередь. Независимо от того, остается транзакт в блоке QUEUE или нет, он остается элементом очереди до тех пор, пока не войдет в блок DEPART соответствующей очереди. В зависимости от того, каким образом построена модель, транзакт в общем случае может некоторое время находиться в различных частях модели после того, как он покинет блок QUEUЕ, и прежде, чем он войдет в соответствующий ему блок DEРАRТ.

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

    Очень часто разработчика интересует не только среднее значение времени ожидания в очереди, но и дисперсия этого времени, а также статистическое распределение выборки времени ожидания, представляемое обычно графически в виде гистограммы. Имея такое распределение, можно оценить вероятность того, что время ожидания превысит или не превысит некоторое заданное значение. Для сбора и обработки данных о выборочном распределении времени ожидания в очереди служат статистические объекты типа Q-таблица.

    Для создания в модели такой таблицы она должна быть предварительно определена с помощью команды QTABLE.

    QTABLE (Q-таблица)

    Назначение: инициализация таблицы плотности распределения времени пребывания в очереди.

    Формат: <ИМЯ> QTABLE A,В,С,D.

    Здесь: <ИМЯ> - имя таблицы.

    Значение операндов

    Операнд

    Значение

    Значение по умолчанию

    A

    Номер или имя очереди, распределение времени ожидания в которой необходимо получить

    Ошибка

    В

    Верхняя граница первого частотного интервала

    Ошибка

    С

    Ширина частотных интервалов

    Ошибка

    D

    Количество частотных интервалов

    Ошибка

    Диапазон всевозможных значений времени ожидания в очереди, указанной в поле A, разбивается на ряд частотных интервалов, число которых указано в поле D. Первый из этих интервалов имеет ширину от -∞ до величины, указанной в поле B, включительно. Второй интервал включает значения, большие, чем величина первой границы в поле B, но меньшие или равные B+C, и т.д. Все промежуточные интервалы имеют одинаковую ширину, указанную в поле C. Наконец, последний интервал включает все значения, большие, чем последняя граница. Значения операндов B, C и D должны задаваться целыми константами. Операнд B может быть неположительным, хотя для Q-таблицы это не имеет смысла, так как время не может быть отрицательным. Операнды C и D должны быть строго положительными.