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

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

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

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

Добавлен: 15.03.2019

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

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

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

СОДЕРЖАНИЕ

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

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

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

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

ПРИЛОЖЕНИЕ

Вариант

N

t1± t2

T

(t3; t4)

Вариант

N

t1± t2

T

(t3; t4)

1

100

15±5

12

(8;12)

11

350

19±7

17

(37;41)

2

250

17±3

10

(15;21)

12

400

21±5

45

(55;67)

3

200

16±4

40

(30;40)

13

450

17±9

62

(44;78)

4

150

10±2

30

(25;35)

14

330

14±3

41

(12;20)

5

120

13±6

48

(22;62)

15

900

16±4

37

(19;31)

6

300

19±5

72

(10;60)

16

800

24±8

46

(58;66)

7

320

14±7

24

(67;71)

17

550

18±2

50

(16;32)

8

240

18±8

14

(56;64)

18

640

15±6

28

(39;47)

9

195

11±5

80

(54;62)

19

160

22±7

90

(69;75)

10

110

20±6

36

(24;36)

20

105

11±1

88

(30;46)



Пример выполнения задания


Запуск системы GPSS World

  • Курсор на папку «Program Files» на жестком диске С. М2. Здесь и далее М2 и М1 обозначают следующие действия – соответственно два и один щелчок левой кнопкой мыши.

  • Курсор на папку «Minuteman Software». М2.

  • Курсор на папку «GPSS World Student Version». М2.

  • Курсор на файл GPSS.exe. M2.

  • Курсор в окно «Notices need to be updated» на «Don’t Download». М1.

  • Курсор в окно «Notices» на «Don’t Download». М1.

На экране появляется главное окно GPSS World.

Создание объекта «Модель»

  • Курсор в главное окно GPSS World на «File». М1.

  • Курсор в меню «File» на «New». М1.

  • Курсор в окно «Новый документ» на «ОК». М1.

На экране появляется окно «Untitled Model 1».

При наборе программы в окне «Untitled Model 1» при вводе блоков GPSS можно использовать меню блоков. Покажем это на примере ввода блока GENERATE.

  • Курсор в окне «Untitled Model 1» в новую строку

  • Курсор в главное окно GPSS World на «Edit». М1.

  • Курсор в меню «Edit» на «Insert GPSS Blocks...». М1.

  • Курсор в меню блоков на «GENERATE». М1.

Появляется диалоговое окно создания блока, в которое необходимо ввести информацию о блоке GENERATE.

  • В поле операнда А наберите 18.

  • Курсор в поле операнда В. Наберите 7.

  • Курсор в поле комментария «Comment». Наберите «поступление транзактов в модель». ОК.

Созданный блок GENERATE помещается в строку окна «Untitled Model 1», в которую был установлен курсор. Меню блоков при этом остается активным и его можно использовать для ввода следующих по порядку блоков GPSS.

После ввода всех операторов программы сохраним модель.

  • Курсор в главное окно GPSS World на «File». М1.

  • Курсор в меню «File» на «Save As…». М1.

  • В диалоговом окне «Сохранить как» наберите «Primer1». Выберите папку «Sample Models», входящую в папку «GPSS World Student Version». Нажмите «Сохранить»

Теперь модель располагается в окне «Primer1». Закройте это окно. Закройте главное окно GPSS World.


Создание объектов «Процесс моделирования» и «Отчет»

  • Курсор в главное окно GPSS World на «File». М1.

  • Курсор в меню «File» на «Open». М1.

  • Курсор на файл «Primer1» в меню «Открыть». Нажмите «Открыть».

В окне «Primer1» появится модель.

  • Курсор в главное окно GPSS World на «Command». М1.

  • Курсор в меню «Command» на «Create Simulation». М1.

Это приведет к трансляции модели в объект «Процесс моделирования». Если в модели имеются синтаксические ошибки, они будут обнаружены и показаны в окне «Journal». В противном случае в этом окне появятся две строки «Model Translation Begun» и «Ready», начинающиеся с даты и времени трансляции. Далее сразу же запустится процесс моделирования и появится окно «REPORT» со стандартным отчетом, которое автоматически открывается по окончании процесса моделирования.

Отчет можно распечатать, выполнив следующие действия.

  • Курсор в главное окно GPSS World на «File». М1.

  • Курсор в меню «File» на «Print». М1.

  • Убедитесь, что правильно выбрали принтер и что окно «REPORT» активно. Нажмите ОК.


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


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

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

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

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

  4. оценку времени прохождения через модель N транзактов;

  5. оценку количества транзактов, прошедших через модель за Т часов.

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


МОДЕЛИРОВАНИЕ ОДНОКАНАЛЬНЫХ СИСТЕМ ОБСЛУЖИВАНИЯ


Цель работы: изучение блоков GPSS, отображающих одноканальные обслуживающие устройства; моделирование обслуживания посредством задержки во времени.


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


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

Независимо от того, люди это или предметы, подобные элементы будем называть устройствами, или одноканальными устройствами (ОКУ). Устройства характеризуются двумя основными свойствами:

  1. Каждое устройство в любой момент времени может обслуживать только одно требование. Если в процессе обслуживания появляется новое требование, то оно должно либо подождать своей очереди обслуживания, либо пойти куда-нибудь в другое место. Существует также третья возможность. Если новое требование является достаточно важным, оно может прервать протекающее обслуживание до его завершения. Такое средство прерывания также можно моделировать на GPSS.

  2. Когда на устройство поступает требование, в модели надо пропустить время, необходимое для его обслуживания. Такое время называется временем обслуживания.

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


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

  1. Ожидаем своей очереди, если это необходимо. Естественно, что ожидание требует некоторого интервала времени.

  2. Когда подходит наша очередь, занимаем устройство. Событие «занятие устройства» происходит в некоторой точке времени.

  3. Устройство остается в состоянии занятости, пока не закончится обслуживание. Для обслуживания требуется также некоторый интервал времени.

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

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

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

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

Блок, который обладает этими свойствами, является блоком SEIZE (занять).

Формат: SEIZE A

Назначение: занятие транзактом свободного устройства.

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

Операнд

Значение

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

A

Имя (символическое или числовое) занимаемого устройства

Ошибка

Вход транзакта в блок SEIZЕ моделирует занятие устройства, вход того же транзакта в блок RELЕАSЕ (освободить) моделирует освобождение устройства. Назначением этого блока является изменение состояния ранее занятого устройства с «занято» в «незанято».

Формат: RELEASE A

Назначение: удаление транзакта из устройства (освобождение устройства).

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

Операнд

Значение

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

A

Имя (символическое или числовое) освобождаемого устройства

Ошибка

Обычно транзакт занимает устройство для того, чтобы немедленно начать на нем обслуживание. Обслуживание длится некоторый период времени. В течение этого времени транзакт должен прекратить двигаться по модели. Только по истечении времени обслуживания он должен попасть в блок RЕLЕАSЕ для освобождения устройства.

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


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

Блок ADVANCE (задержать)

Назначение: занятие транзакта на некоторое время (обслуживание транзакта в устройстве).

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

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

Операнд

Значение

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

A

Среднее время обслуживания

Ноль

В

Половина поля допуска равномерно распределенного интервала времени обслуживания

Ноль

Блок АDVANCE никогда не препятствует входу транзакта. Любое число транзактов может находиться в этом блоке одновременно. Когда транзакт попадает в такой блок, выполняется соответствующая подпрограмма и вычисляется время пребывания транзакта в нем. Вновь прибывший транзакт никак не влияет на уже находящийся в блоке транзакт.

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

1. Промоделировать работу врача терапевта. Интервалы приходов пациентов распределены равномерно в интервале (t1;t2) минут. Обслуживание пациента занимает t3±t4 минут. Пациенты принимаются в порядке «первым пришёл – первым обслужен». Моделирование провести: а) для N пациентов; б) в течение Т часов.

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

Таблица 2            

варианта

(t1;t2)

t3±t4

N

Т

1

(5;25)

15±5

25

6

2

(10;24)

16±4

11

3

3

(8;24)

17±8

15

4

4

(8;20)

17±7

22

5

 

2. Промоделировать работу библиотекаря. Интервалы прихода читателей распределены равномерно в интервале (t1;t2) минут. Обслуживание читателя занимает t3±t4 минут. Читатели обслуживаются в порядке «первым пришёл – первым обслужен». Моделирование провести: а) для N читателей; б) в течение Т часов.

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

Таблица 3           

варианта

(t1;t2)

t3±t4

N

Т

5

(5;15)

8±4

48

8

6

(5;25)

10±7

28

7

7

(4;20)

11±4

30

6

8

(6;20)

15±5

23

5

3. Промоделировать работу билетной кассы аэрофлота. Интервалы прихода пассажиров распределены равномерно в интервале (t1;t2) минут. Обслуживание пассажира занимает t3±t4 минут. Пассажиры обслуживаются в порядке «первым пришёл – первым обслужен». Моделирование провести: а) для N пассажиров; б) в течение Т часов.

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

Таблица 4           

варианта

(t1;t2)

t3±t4

N

Т

9

(4;12)

8±3

75

10

10

(4;16)

9±4

72

12

11

(4;14)

10±3

60

9

12

(8;14)

11±4

44

8



4. В пункте обмена валюты имеется одна касса. Интервалы прихода клиентов распределены равномерно в интервале (t1;t2) минут. Обслуживание клиента занимает t3±t4 минут. Клиенты обслуживаются в порядке «первым пришёл – первым обслужен». Моделирование провести: а) для N клиентов; б) в течение Т часов.

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

Таблица 5            

варианта

(t1;t2)

t3±t4

N

Т

13

(6;14)

7±4

30

5

14

(6;12)

6±5

40

6

15

(7;17)

9±4

20

4

16

(8;20)

8±3

30

7

 5. На почте имеется одно окно приема телеграмм. Интервалы прихода клиентов распределены равномерно в интервале (t1;t2) минут. Обслуживание клиента занимает t3±t4 минут. Обслуживание ведется в порядке «первым пришел – первым обслужен». Моделирование провести: а) для N клиентов; б) в течение Т часов.

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

Таблица 6            

варианта

(t1;t2)

t3±t4

N

Т

17

(6;18)

6±4

60

12

18

(17;23)

7±3

72

24

19

(8;22)

9±3

40

10

20

(11;27)

8±5

26

8


Пример выполнения задания


Зрители подходят к турникету футбольного стадиона каждые 7±7 секунд и встают в очередь, в которой находятся до тех пор, пока не пройдут на стадион. Проход через турникет занимает 5±3 секунды. 
Требуется определить время, необходимое для того, чтобы через турникет прошло 300 человек. 

Листинг программы
GENERATE 7,7 ;прибытие зрителей 
SEIZE Turn ;занятие турникета
ADVANCE 5,3 ;проход через турникет

RELEASE Turn ;освобождение турникета 
TERMINATE 1 ;один зритель вошел на стадион

START 300

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


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

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

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

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

  4. оценку времени прохождения через модель N заявок и оценку количества заявок, обслуженных в модели за Т часов.




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

МОДЕЛИРОВАНИЕ МНОГОКАНАЛЬНЫХ УСТРОЙСТВ


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


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


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

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