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

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

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

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

Добавлен: 15.03.2019

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

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

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

СОДЕРЖАНИЕ

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

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

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

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

ПРИЛОЖЕНИЕ

При прохождении транзакта через блоки QUEUE и DEPART его время ожидания фиксируется и к счетчику частотного интервала таблицы, в который попало это время, добавляется 1. Одновременно в таблице накапливается информация для вычисления среднего значения и среднеквадратического отклонения времени ожидания. По окончании моделирования среднее значение и среднеквадратическое отклонение времени ожидания, а также счетчики попаданий в различные частотные интервалы выводятся в стандартный отчет GPSS.

Таблицы в GPSS могут использоваться в более общем случае не только для табулирования времени ожидания в очереди, но и для получения выборочных распределений произвольных СЧА любых объектов модели. Для определения таблиц служит команда TABLE.

TABLE (таблица)

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

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

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

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

Операнд

Значение

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

A

Аргумент таблицы – СЧА, выборочное распределение которого необходимо получить

Ошибка

В

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

Ошибка

С

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

Ошибка

D

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

Ошибка

Занесение информации в таблицу, определяемую оператором TABLE, уже не может быть выполнено интерпретатором автоматически, как в случае Q-таблиц. Для этого используется специальный блок TABULATE.

TABULATE (табулировать)

Назначение: занесение данных в таблицу.

Формат: TABULATE А,В.

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

Операнд

Значение

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

А

Номер или имя таблицы, определенной соответствующей командой TABLE

Ошибка

В

Весовой коэффициент

1

При входе транзакта в блок TABULATE текущее значение табулируемого аргумента таблицы, указанного в поле A оператора TABLE, заносится в нее в соответствии с заданным в операторе TABLE разбиением области значений аргумента на частотные интервалы.

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


1. На станции автосервиса производятся последовательно две операции. На первой из них задействован один рабочий. Ее время выполнения t1±t2 мин. На второй операции одновременно работают два рабочих, каждый из которых обслуживает автомобиль за t3±t4 мин. Автомобили прибывают в мастерскую через t5±t6 мин.

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

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

Таблица 9

Вариант

t1

t2

t3

t4

t5

t6

T

1

21

6

41

10

20

5

12

2

16

4

31

8

15

3

11

3

18

5

35

9

17

4

9

4

20

5

39

9

19

4

8

5

26

7

51

13

25

6

14

6

24

6

47

12

23

5

16

7

22

6

43

13

21

5

15

8

17

5

33

11

16

4

13

9

19

6

37

12

18

5

10

10

25

7

49

15

24

6

7



2. На обрабатывающий участок цеха детали поступают с интервалом t1±t2 минут. Обработка деталей включает две операции. Первая из них выполняется на одном из двух станков в течение t3±t4 минут. Вторая операция выполняется на третьем станке в течение t5±t6 минут.

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

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

Таблица 10

Вариант

t1

t2

t3

t4

t5

t6

T

11

30

10

59

8

29

5

800

12

22

8

45

6

21

4

1100

13

32

11

63

9

33

5

1000

14

28

9

57

7

29

4

900

15

35

12

70

11

34

5

1400

16

36

10

71

9

35

4

1200

17

24

6

47

7

23

3

1500

18

27

8

55

9

28

3

500

19

31

7

63

8

32

5

600

20

33

9

65

10

34

6

700


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


Морские суда каждые 130±30 мин прибывают в акваторию порта, где происходит их погрузка-разгрузка у одного из шести причалов. В порту есть два буксира, которые обеспечивают ввод (в течение 30±7 мин) и вывод (в течение 20±5 мин) кораблей из порта. Корабль стоит на рейде и не обслуживается буксиром до тех пор, пока не освободится причал. Погрузка-разгрузка судна занимает 12±2 час.

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

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

* Время измеряется в минутах

Vr_ozh QTABLE Ocher,20,20,12 ;сбор статистики по очереди Ocher

Vr_preb TABLE M1,600,50,10 ;транзитное время

Prich STORAGE 6 ;6 причалов

Buks STORAGE 2 ;2 буксира

GENERATE 130,30,,150 ;подход к порту

QUEUE Ocher ;встать в очередь

ENTER Prich ;получение причала

ENTER Buks ;получение буксира

DEPART Ocher ;выйти из очереди

ADVANCE 30,7 ;буксировка до причала

LEAVE Buks ;освобождение буксира

ADVANCE 720,120 ;погрузка-разгрузка

ENTER Buks ;получение буксира

LEAVE Prich ;освобождение причала

ADVANCE 20,5 ;буксировка от причала

LEAVE Buks ;освобождение буксира

TABULATE Vr_preb ;запись транзитного времени

TERMINATE 1 ;одно судно обслужено

START 150

Распределение времени ожидания кораблями входа в порт и распределение времени пребывания кораблей в системе приводятся в таблицах Vr_ozh и Vr_preb соответственно. Максимальное количество судов на рейде равно максимальной длине очереди Ocher (см. соответствующий раздел объекта «Отчет»).


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


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


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

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

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

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

  4. характеристику очередей и загруженность каналов обслуживания;

  5. среднее время пребывания транзактов в модели (автомобилей в вариантах 1-10 и деталей в вариантах 11-20);

  6. гистограмму распределения времени пребывания транзактов в модели.






ПРИЛОЖЕНИЕ


Стандартный отчет модели

Заголовок

Первая строка содержит имя файла модели, который создал отчет.

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

Общая информация

START TIME – начальное время моделирования;

END TIME – конечное время моделирования;

BLOCKS – число блоков в модели;

FACILITIES – число устройств в модели;

STORAGES – число памятей в модели.

NAMES (ИМЕНА)

NAME – имя, присвоенное объекту пользователем;

VALUE – числовое значение назначаемое имени.

BLOCKS (БЛОКИ)

LABEL – метка или имя данного блока (если оно задано);

LOC – номер позиции данного блока в модели;

BLOCK TYPE – тип блока;

ENTRY COUNT – число транзактов, входивших в данный блок;

CURRENT COUNT – число транзактов в блоке при завершении моделирования;

RETRY – число транзактов, ожидающих специального условия, зависящего от состояния данного блока.

FACILITIES (УСТРОЙСТВА)

FACILITY – номер или имя устройства;

ENTRIES – число транзактов, входивших в устройство;

UTIL. – коэффициент использования устройства;

AVE.TIME – среднее время занятия устройства одним транзактом;

AVAIL. – состояние устройства в конце моделирования

(0 – устройство не доступно, 1 – устройство доступно);

OWNER – номер транзакта, занимающего устройство

(0 – устройство не занято);

PEND – число транзактов, ожидающих выполнения с прерыванием других транзактов;

INTER – число транзактов, прерванных на данный момент;

RETRY – число транзактов, ожидающих специального условия, зависящего состояния данного устройства;

DELAY – общее количество транзактов, ожидающих занятия устройства.

QUEUES (ОЧЕРЕДИ)

QUEUE – имя или номер очереди;

MAX – максимальное количество транзактов, находившихся в очереди;

CONT. – текущее содержимое очереди;

ENTRY – общее количество входов транзактов в очередь;

ENTRY(0) – общее количество входов в очередь с нулевым временем пребывания в очереди;

AVE.CONT. – средняя длинна очереди;

AVE.TIME – среднее время пребывания в очереди одного транзакта;

AVE.(-0) - среднее время пребывания в очереди одного транзакта, без учета «нулевых» входов;

RETRY – число транзактов, ожидающих специального условия, зависящего от состояния очереди.

STORAGES (ПАМЯТИ)


STORAGE – имя или номер памяти;

CAP. – ёмкость памяти;

REM. – число свободных единиц памяти на конец моделирования;

MIN. – минимальное количество единиц памяти, занимавшихся в процессе моделирования;

MAX. – максимальное количество единиц памяти, занимавшихся в процессе моделирования;

ENTRIES - количество транзактов, входивших в память;

AVL. – состояние памяти в конце моделирования (0 – недоступно, 1 – доступно);

AVE.C. – среднее значение занятой емкости за время моделирования;

UTIL. – коэффициент использования памяти;

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

DELAY – количество транзактов, претендующих на занятие памяти на момент завершения моделирования.

TABLES (ТАБЛИЦЫ)

QTABLES (ТАБЛИЦЫ ОЧЕРЕДЕЙ)

TABLE – имя или номер таблицы или Q-таблицы;

MEAN – оценка математического ожидания (средне арифметическое) аргумента таблицы;

STD.DEV. – оценка среднеквадратического отклонения аргумента таблицы;

RANGE – нижняя и верхняя граница интервалов таблицы;

RETRY – число транзактов, ожидающих специального условия, зависящего от состояния данной таблицы;

FREQUENCY – частота попадания транзактов в данный интервал;

CUM% - накопленная частота, выраженная в % от общей суммы.

USER CHAINS (СПИСКИ ПОЛЬЗОВАТЕЛЯ)

USER CHAIN – имя или номер объекта списка пользователя;

SIZE – число транзактов в списке пользователя в конце моделирования;

RETRY – число транзактов, ожидающих специального условия, зависящего от состояния данного списка пользователя;

AVE.CONT. – среднее количество транзактов в списке пользователя;

ENTRIES – число транзактов, входивших в список пользователя;

AVE.TIME – среднее время пребывания в списке пользователя одного транзакта.

TRANSACTION GROUPS (ГРУППЫ ТРАНЗАКТОВ)

XAST GROUP – имя или номер группы транзактов;

GROUP SIZE – число транзактов, входящих в группу на момент завершения моделирования;

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

NUMERIC GROUPS (ЧИСЛОВЫЕ ГРУППЫ)

NUMERIC GROUP – имя или номер группы чисел;

GROUP SIZE – число транзактов, входящих в группу на момент завершения моделирования;

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

LOGIC SWITCHES (ЛОГИЧЕСКИЕ КЛЮЧИ)

LOGICSWITCH – имя или номер логического ключа;

VALUE – состояние ключа в конце моделирования (0 – «сброшен» или «ложь», 1 – «установлен» или «истина»);

RETRY – число транзактов, ожидающих специального условия, зависящего от состояния данного логического ключа.


SAVEVALUES (ЯЧЕЙКИ)

SAVEVALUE – имя или номер ячейки;

VALUE – содержимое ячейки в конце моделирования;

RETRY- число транзактов, ожидающих специального условия, зависящего от состояния данной ячейки.

MATRIXS (МАТРИЦЫ)

MATRIX - имя или номер матрицы;

RETRY – число транзактов, ожидающих специального условия, зависящего от состояния данной матрицы;


INDICES – до шести целых чисел, определяющих элемент матрицы;

VALUE – содержимое элемента матрицы в конце моделирования.

THE CURRENT EVENTS CHAIN (CEC)

(СПИСОК ТЕКУЩИХ СОБЫТИЙ)

Выводится, если в операторе START записана «1» в поле D.

XN – номер каждого транзакта, находящегося в СЕС;

PR – приоритет транзакта;

M1 – время входа транзакта в модель;

ASSEM – номер семейства данного транзакта;

CURRENT – номер блока, в котором находится транзакт в конце моделирования;

NEXT – номер следующего блока для транзакта;

PARAMETR – имя или номер параметра транзакта;

VALUE – значение параметра.

THE FUTURE EVENTS CHAIN (FEC)

(СПИСОК БУДУЩИХ СОБЫТИЙ)

Статистика для FEC по сравнению с реквизитами СЕС имеет только одно отличие. Вместо поля М1 присутствует поле BDT – значение абсолютного модельного времени, когда планируется вывести транзакт из FEC.












Список рекомендуемой литературы

Основная

1. Емельянов, А.А. Имитационное моделирование экономических процессов / А.А. Емельянов, Е.А. Власова, Р.В. Дума. – М.:Финансы и статистика, 2002. – 368 с.

  1. Варфаломеев, В.И. Алгоритмическое моделирование элементов экономических систем / В.И. Варфаломеев, С.В. Назаров. – М.: Финансы и статистика, 2004. – 64 с.

  2. Боев, В.Д. Моделирование систем. Инструментальные средства GPSS World: учеб. пособие / В.Д. Боев. – СПб.: БХВ – Петербург, 2004. – 368 с.

  3. Томашевский, В. Имитационное моделирование в среде GPSS / В. Томашевский, Е. Жданова. – М.: Бестселлер, 2003. – 416 с.

  4. Кудрявцев, Е.М. GPSS World. Основы имитационного моделирования различных систем / Е.М. Кудрявцев. – М.: ДКМ Пресс, 2004 – 320 с. - (Сер. «Проектирование»).

6. Руководство пользователя по GPSS World [:пер. с англ.]. – Казань: Мастер Лайн, 2002. – 384 с.

7. Учебное пособие по GPSS World [:пер. с англ.]. – Казань:Мастер Лайн, 2002. – 272 с.

8. Кудрявцев, Е.М. Основы работы с универсальной системой моделирования GPSS World: учеб. пособие / Е.М. Кудрявцев, Добровольский А. В. - М.: Изд-во АСВ, 2005. – 256 с.

Дополнительная

  1. Кобелев, Н.Б. Основы имитационного моделирования сложных экономических систем / Н.Б. Кобелев. – М.: Дело, 2003. – 336 с.

  2. Чернышев, В. Моделирование экономических систем и прогнозирование их развития / С.Л. Чернышев. – М.: Изд-во МГТУ им. Баумана, 2003. – 232 с.

  3. Советов, Б.Я. Моделирование систем / Б.Я. Советов, С.А. Яковлев. – М.: Высш. шк., 2001. – 343 с.

  4. Советов, Б.Я. Моделирование систем: практикум / Б.Я. Советов, С.А. Яковлев. – М.: Высш. шк., 1999. – 224 с.

  5. Кельтон, В. Имитационное моделирование / В. Кельтон, А. Лоу. – СПб.: Питер, 2004. – 847 с.

  6. Шелухин, О.И. Моделирование информационных систем: учеб. пособие / О.И. Шелухин, А.М. Тенякшев, А.В. Осин. – М.: Радиотехника, 2005. – 368 с.