Найти в Дзене

Работа в системе моделирования GPSS World Student Version

Оглавление

GPSS (англ. General Purpose Simulation System — общецелевая система моделирования) — язык программирования, используемый для имитационного моделирования различных систем, в основном систем массового обслуживания.

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

Задание 1 (постановка задачи):

На станок поступают детали для обработки. Интервалы между моментами поступления деталей составляют от 5 до 10 минут. Обработка детали на станке занимает от 6 до 8 минут. Требуется разработать GPSSмодель для имитации обработки 100 деталей.

Решение:

Составим GPSSмодель.

GENERATE 7.5,2.5

*имитирует поступление деталей

QUEUE OCH

*имитирует поступление детали в очередь

SEIZE STANOK

*имитирует поступление детали на станок

DEPART OCH

*имитирует выход детали из накопителя

ADVANCE 7,1

*имитирует задержку детали при обработке на станке

RELEASE STANOK

*имитирует выход детали из станка

TERMINATE 1

*имитирует окончание моделирования

Скомпилируем модель.

В GPSS World выбираем Command> Create Simulation (Рисунок 1.1)

(Рисунок 1.1)
(Рисунок 1.1)

Установим начальное значение счётчика завершений и запустим модель. Для запуска модели в GPSS World выбираем Command > Start, указываем 100 и нажимаем OK(Рисунок 1.2)

                         (Рисунок 1.2)
(Рисунок 1.2)

По окончании моделирования получаем файл-отчёт с результатами моделирования (Рисунок 1.3)

(Рисунок 1.3)
(Рисунок 1.3)

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

100 – количество обработанных деталей.
0,91 (91%) – Коэффициент загрузки станка.
0,912 – Среднее время ожидания детали в накопителе перед станком.
1 – Максимальная длина очереди. В накопителе никогда не оказывалось более одной детали.
0,119 – Средняя длина очереди в накопителе.
46 – Количество деталей, которым не понадобилось ожидание в накопителе. (В момент их поступления станок оказывался свободным)
64 – Количество деталей, которым понадобилось ожидание в накопителе.
1,689 – среднее время ожидания детали в накопителе.
6,997 – среднее время обработки детали на станке.
7,909 – (6,997 + 0,912 = 7,909) время от поступления детали в накопитель до окончания её обработки на станке)
Недостатком моделируемой системы является перегрузка станка (91%), норма 75-85%.

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

Задание 2:

Пусть в условиях, указанных в Задании 1, используются два одинаковых станка. Перед станками имеется общий накопитель. Деталь, поступившая на обработку, направляется в станок, оказавшийся в этот момент свободным. Если оба станка заняты, то деталь направляется в накопитель. Как только какой-либо из станков освобождается, деталь из накопителя направляется на это станок.

Решение:

STORAGE – объявление многоканального устройства.

ENTER – вход транзакта в многоканальное устройство.

LEAVE – выход транзакта из многоканального устройства.

Составим GPSS модель.

STANOK STORAGE 2

GENERATE 7.5,2.5

QUEUE OCH

ENTER STANOK

DEPART OCH

ADVANCE 7,1

LEAVE STANOK

TERMINATE 1

Скомпилируем модель.

В GPSS World выбираем Command > Create Simulation (Рисунок 2.1)

                                  (Рисунок 2.1)
(Рисунок 2.1)

Установим начальное значение счётчика завершений и запустим модель.

Для запуска модели в GPSS Worldвыбираем Command > Start, указываем 100 и нажимаем OK (Рисунок 2.2)

                         (Рисунок 2.2)
(Рисунок 2.2)

По окончании моделирования получаем файл-отчёт с результатами моделирования (Рисунок 2.3)

(Рисунок 2.3)
(Рисунок 2.3)

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

0,910 – Среднее количество занятых каналов.

0.455 (45,5%) - Коэффициент загрузки станков.

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

Задание 3:

Пусть в условиях, указанных в Задании 2, требуется выполнить моделирование работы станков за 8 часов.

Решение:

GENERATE – имитирует поступление транзактов в единицу времени (мин).

Написание программного кода для реализации заданной модели в программе GPSS World.

STANOK STORAGE 2 ; генерация 2-х станков

GENERATE 7.5,2.5 ; генерация детали 1-ого типа

ASSIGN 1,1 ; присваивание детали 1-ого типа значения 1

TRANSFER ,OBR ; переход транзакта на метку OBR

GENERATE 10,2 ; генерация детали 2-ого типа

ASSIGN 1,2 ; присваивание детали 2-ого типа значения 2

OBR QUEUE OCH ; имитация постановки детали в очередь

ENTER STANOK ; имитация подачи детали на станок

DEPART OCH ; выход детали из очереди

TEST E P1,1,TIP2 ; проверка присвоенного значения детали. Если *значение равно 1, то транзакт переходит к следующей операции. Если не *равно, то транзакт переходит на метку TIP2

ADVANCE 7,1 ; имитация обработки детали 1-ого типа

TRANSFER ,KONOBR ; переход транзакта на метку KONOBR

TIP2 ADVANCE 6,0 ; имитация обработки детали 2-ого типа

KONOBR LEAVE STANOK ; выход детали со станка.

TERMINATE ; имитирует окончание моделирование обработки детали

GENERATE 480 ; задается время работы станков. 8 часовой рабочий день

TERMINATE 1 ; имитирует окончание моделирование детали и её удаление из модели

-7

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

Задание 4:

На двух одинаковых станках обрабатываются детали двух типов (деталь любого типа может обрабатываться на любом из станков). Детали типа один поступают с интервалом от 5 до 10 минут, типа два с интервалом от 8 до 12 минут. Обработка детали типа один занимает от 6 до 8 минут, детали типа два ровно 6 минут. Требуется разработать GPSSмодель для анализа работы станков в течении 8 часов.

Один из способов моделирования систем массового обслуживания с заявками разных типов – использование параметров (оператор ASSIGN) и управление движением транзактов в модели с помощью операторов TESTи TRANSFER.

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

где A – номер параметра (1,2,3,4,5 и тд) и знак + или – (необязательно)

B – числовая величина, на которую изменяется параметр.

Простейший оператор для управления перемещением транзактов в модели оператор TRANSFER:

TRANSFER ,A

Для проверки условий используется оператор TEST.

TEST операция A,B,C

где операция - обозначение операции сравнения:

L – меньше

LE – меньше или равно

E – равно

NE – не равно

G – больше

GE – больше или равно

A,B – некоторые величины, для которых выполняется операция сравнения (величина A сравнивается с величиной B)

C – метка оператора, на который передается транзакт, если результат операции сравнения величин A и B «ложь». Если результат сравнения «истина», то транзакт передаётся на оператор, следующий за оператором TEST.

Если операнд C не указан, то в случае невыполнения условия, заданного операцией сравнения, транзакт задерживается в операторе TESTдо тех пор, пока условие не будет выполняться.

Решение:

Составим GPSSмодель.

STANOK STORAGE2

GENERATE 7.5,2.5

ASSIGN 1,1

TRANSFER ,OBR

GENERATE 10,2

ASSIGN 1,2

OBR QUEUE OCH

ENTER STANOK

DEPART OCH

TEST E P1,1,TIP2

ADVANCE 7,1

TRANSFER ,KONOBR

TIP2 ADVANCE 6

KONOBR LEAVE STANOK

TERMINATE

GENERATE 480

TERMINATE 1

Скомпилируем модель.

В GPSS World выбираем Command > Create Simulation (Рисунок 3.1)

                              (Рисунок 3.1)
(Рисунок 3.1)

Установим начальное значение счётчика завершений и запустим модель.

Для запуска модели в GPSS Worldвыбираем Command > Start, указываем 1 и нажимаем OK (Рисунок 3.2)

                  (Рисунок 3.2)
(Рисунок 3.2)

По окончании моделирования получаем файл-отчёт с результатами моделирования (Рисунок 3.3)

(Рисунок 3.3)
(Рисунок 3.3)

Моделирование систем с заданным соотношением заявок двух типов.

Задание 5:

На двух одинаковых станках обрабатываются детали двух типов (деталь любого типа может обрабатываться на любом из станков). Детали типа один поступают с интервалом от 5 до 10 минут, типа два с интервалом от 8 до 12 минут. Обработка детали на станке состоит из двух операций. Первая операция для деталей типа один занимает от 6 до 8 минут, для деталей типа два – ровно 6 минут. Вторая операция занимает от 2 до 4 минут, независимо от типа детали. При первой операции в 5% случаев допускается брак, в этих случаях вторая операция не требуется. Все детали, кроме бракованных, поступают на упаковочную машину. Упаковка детали любого типа занимает ровно 36 минуты. Требуется разработать GPSSмодель для анализа работы участка в течении восьми часов.

Во многих практических задачах требуется имитировать системы, в которых некоторое событие происходит в X % случаев и не происходит в 100 X % случаев. Для имитации таких явлений используется оператор TRANSFER

TRANSFER A,B,C

где A – трёхзначное число (NNN)

B – метка оператора, на который передаются 100-NN,N процентов транзактов.

C – метка оператора, на который передаются NN,N процентов транзактов.

Например, оператор TRANSFER 300,MET1,MET5 означает что в 70% случаев транзакт должен передаваться на оператор с меткой MET1, а в 30% случаев на оператор MET5.

Если операнд B не задан, то в 100-NN,N% транзактов передаются на оператор, следующий за оператором TRANSFER, а NN,N% на оператор с метко й C.

Решение:

Составим GPSS модель.

-11

Скомпилируем модель.

Установим начальное значение счётчика завершений и запустим модель.

Отчет работы модели

-12
-13

Оператор TRANSFER 050,,BRAK имитирует разделение деталей на годные и бракованные. Транзакты, имитирующие годные детали (95%), поступают на следующий оператор ADVANCE 3,1 то есть на имитацию второй операции. В операторе ASSIGN2,0 второму параметру этих транзактов присваивается значение 0. Затем с помощью оператора TRANSFER, KONOBR они передаются на оператор LEAVE STANOK, то есть имитируется окончание обработки детали. Пять процентов из оператора TRANSFER050,,BRAKпередаются на метку BRAK. Эти транзакты имитируют бракованные детали, поэтому они не передаются на оператор ADVANCE 3,1 имитирующий вторую операцию. В операторе ASSIGN 2,1 второму параметру этих транзактов присваивается значение 1. Таким образом, у всех транзактов, имитирующих годные детали, второй параметр равен нулю, а у транзактов имитирующих бракованные детали – единице.

В операторе TEST E P2,0,KONпроверяется, чему равен второй параметр транзакта. Если P2=0, то он пропускается на следующий оператор. Группа операторов QUEUE OCH2, RELEASE UPAK имитирует работу упаковочной машины, то есть упаковку детали.

Простейшие вычисления в GPSS модели.

Задание 6:

Пусть в модели, разработанной для задачи 5, требуется предусмотреть подсчёт количества выпущенных годных деталей каждого типа, а также общую выручку от выпуска всех деталей. Годные детали типа 1 продаются по 8 денежных единиц, типа 2 – по 10 денежных единиц, бракованные – по 2 денежные единицы.

Для сохранения применяется оператор SAVEVALUE A,B

где A – имя сохраняемой величины и знак + или минус (необязательно)

B – величина, на которую изменяется параметр.

Если после операнда A указан знак «плюс» или «минус», то число, указанное в операнде B, прибавляется к указанной сохраняемой величине (или вычитается из неё).

Составим GPSS модель.

-14

Скомпилируем модель.Установим начальное значение счётчика завершений и запустим модель. По окончании моделирования получаем файл-отчёт с результатами моделирования.

-15
-16

Из отчёта видно, что станки явно перегружены.

UTIL – 0,973

На это же указывает длина очереди перед станками, достигшая 10 (колонка MAX в разделе QUEUE), причём в момент окончания моделирования в очереди находилось 10 деталей (колонка CONT). Среднее количество деталей в очереди к станкам 4,412 детали, а среднее время ожидания обработки на станках – 19,079 минут. 5 деталей поступило на обработку сразу.

Всего за 8 часов выпущено 52 детали типа один и 39 деталей типа два, забраковано 8 деталей. Выручка 822 денежные единицы.

Имитация случайных событий и величин в GPSS моделях.

Задание 7:

В организации, выполняющей заказы на переводы с иностранных языков, работают семь переводчиков. В среднем поступает 5 заказов в день. Размер перевода – случайная величина, распределённая по экспоненциальному закону, средний размер перевода – 8 листов. Переводчик переводит в среднем 6 листов в день. Прибыль от каждого переведённого листа 7,8 денежных единиц. Требуется провести анализ работы организации в течении года (300 рабочих дней). Определить прибыль от переводов, выполненных за это время.

EXPONENTIAL – имитация случайных величин, распределённых по экспоненциальному закону.

Решение:

Составим GPSS модель.

-17

Скомпилируем модель.

Установим начальное значение счётчика завершений и запустим модель.

По окончании моделирования получаем файл-отчёт с результатами моделирования.

-18

Задание 8:

Ремонтная служба предприятия выполняет профилактический осмотр и ремонт некоторых приборов. Каждый прибор состоит из 20 узлов. За время между ремонтами, примерно 30% узлов выходит из строя. В ремонтной службе работают три ремонтника. Поток приборов, поступающих для осмотра и ремонта, представляет из себя поток Эрланга второго порядка. Средний интервал между моментами поступления приборов – 15 минут. Осмотр прибора составляет от 5 до 15 минут. Время, необходимое для замены одного узла – случайная величина со средним значением 3 минуты и стандартным отклонением 0,5 минут. Требуется разработать GPSS модель для анализа работы ремонтной службы в течение 100 часов. Предусмотреть подсчёт количества заменённых узлов.

BINOMIAL – имитирует количество неисправных узлов.

GAMMA – имитация интервалов времени между приборами (закон Эрланга второго порядка).

Решение:

Составим GPSS модель.

REMONT STORAGE3

GENERATE (GAMMA(1,0,7.5,2))

ASSIGN 1,(BINOMIAL(2,20,0.3))

ASSIGN 2,P1

QUEUE 1

ENTER REMONT

DEPART 1

ADVANCE (UNIFORM(3,5,15))

TEST G P1,0,ISPRAV

ZAMENA ADVANCE (NORMAL(4,3,0.5))

LOOP 1,ZAMENA

ISPRAV LEAVE REMONT

SAVEVALUE ZAMENEN+,P2

TERMINATE

GENERATE 6000

TERMINATE 1

-19

Скомпилируем модель. Установим начальное значение счётчика завершений и запустим модель. По окончании моделирования получаем файл-отчёт с результатами моделирования

-20

Справочная информация

Этапы моделирования:

1) Вызов системы GPSS World

2) Подготовка текста модели или загрузка имеющейся модели (расширение .GPS)

3) Компиляция модели и создание файла модели в машинных кодах (расширение .SIM)

4) Установка начального значения счётчика завершений и запуск модели на выполнение

5) Получение файла-отчёта (расширение .GPR)

6) Сохранение файла отчёта

7) Печать теста модели и файла-отчёта

8) Закрытие окон файла отчёта

Структура отчёта включает следующие колонки:

LABEL – метка оператора

LOC – порядковый номер оператора

BLOCK TYPE– имя оператора

ENTRY COUNT– количество транзактов поступивших на оператор

CURRENT COUNT– количество транзактов находящихся в операторе в конце моделирования

RETRY – внутренние данные о работе системы моделирования

Раздел отчёта FACILITYсодержит информацию об устройствах:

FACILITY – имя устройства

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

UTIL – коэффициент загрузки устройства (доля времени, в течение которого в устройстве находились транзакты)

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

OWNER – номер транзакта, находящегося в устройстве в момент окончания моделирования (если устройство свободно, то указывается ноль)

AVAIL, PEND, INTER, RETRY, DELAY – внутренние данные о работе системы моделирования GPSS

Раздел отчёта QUEUEсодержит информацию об очередях:

QUEUE – имя очереди

MAX – максимальная длина очереди за время моделирования

CONT – длина очереди в момент окончания моделирования

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

ENTRIES (0) - количество транзактов, которым не потребовалось ждать в данной очереди

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

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

AVE.(-0) – среднее время пребывания транзактов в очереди без учёта нулевых входов, то есть среднее время пребывания в очереди для тех транзактов, которым потребовалось ждать в ней хотя бы некоторое время

RETRY – внутренние данные о работе системы моделирования GPSS

Раздел отчета STORAGE следующую информацию о многоканальных устройствах:

STORAGE – имя многоканального устройства

CAP – количество каналов

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

MIN – минимальное количество занятых каналов за время моделирования

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

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

AVE.C – среднее количество занятых каналов

UTIL – коэффициент загрузки многоканального устройства

AVL, RETRY, DELAY – внутренние данные о работе системы моделирования GPSS

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

ЕСЛИ СЧИТАЕТЕ СТАТЬЮ ПОЛЕЗНОЙ, ПОЖАЛУЙСТА ПОСТАВЬТЕ ЛАЙКИ И ПОДЕЛИТЕСЬ С ДРУЗЬЯМИ: