GPSS-модель сборочного цеха
Федеральное
государственное автономное образовательное учреждение высшего профессионального
образования
«Уральский
федеральный университет имени первого
Президента
России Б.Н. Ельцина»
Кафедра
«Моделирование управляемых систем»
Дисциплина
«Моделирование информационных процессов»
Контрольная
работа
GPSS-модель сборочного цеха
Студент: Иванов Н.Е.
Группа: ИМ-38031
Руководитель: Лимановская О.В.
Екатеринбург
2011
Введение
При построении математических моделей процессов функционирования систем
можно выделить следующие основные подходы:
непрерывно - детерминированный, дискретно - детерминированный, дискретно
- стохастический, непрерывно - стохастический, сетевой, обобщенный (или
универсальный). Соответственно этим подходам были разработаны типовые
математические схемы создания моделей.
Для выполнения задания мы используем непрерывно - стохастический подход.
Непрерывно - стохастический подход применяется для формализации процессов
обслуживания. Этот подход наиболее известен ввиду того, что большинство
производственных (и не только производственных - экономических, технических и
т.д.) систем по своей сути являются системами массового обслуживания. Типовой
математической схемой моделирования таких систем являются Q-схемы. В обслуживании можно выделить
две элементарные составляющие: ожидание обслуживания и собственно обслуживание,
а в любой системе массового обслуживания можно выделить элементарный прибор.
Соответственно, в этом приборе выделяют: накопитель (Н) заявок, ожидающих
обслуживания, некоторой емкостью; канал обслуживания (К); потоки событий
(последовательность событий, происходящих одно за другим в какие-то случайные
моменты времени): поток заявок на обслуживание wi, характеризующийся моментами времени
поступления и атрибутами (признаками) заявок (например, приоритетами), и поток
обслуживания ui, характеризующийся моментами начала
и окончания обслуживания заявок. Для имитационного моделирования СМО был создан
специализированный язык программирования GPSS.
Сложные функции моделирующего алгоритма могут быть реализованы средствами
универсальных языков программирования (Паскаль, Си), что предоставляет
неограниченные возможности в разработке, отладке и использовании модели. Однако
подобная гибкость приобретается ценой больших усилий, затрачиваемых на
разработку и программирование весьма сложных моделирующих алгоритмов,
оперирующих со списковыми структурами данных. Альтернативой этому является
использование специализированных языков имитационного моделирования.
Специализированные языки имеют средства описания структуры и процесса
функционирования моделируемой системы, что значительно облегчает и упрощает
программирование имитационных моделей, поскольку основные функции моделирующего
алгоритма при этом реализуются автоматически. Программы имитационных моделей на
специализированных языках моделирования близки к описаниям моделируемых систем
на естественном языке, что позволяет конструировать сложные имитационные модели
пользователям, не являющимся профессиональными программистами.
Современная среда имитационного моделирования GPSS World - это удобный программный комплекс, работающий под Windows. GPSS сочетает в себе функции дискретного и непрерывного
моделирования. Возможность перехода из дискретной фазы моделирования в
непрерывную фазу и обратно обеспечивает тесную связь с непрерывным
моделированием. В непрерывной фазе могут быть установлены пороговые значения,
управляющие созданием транзактов в дискретной фазе. Система имеет транслятор
программного кода, т.е. модель работает только в среде GPSS и не может компилироваться в исполняемые файлы.
имитационное моделирование программный
1. Постановка задачи
На сборочный участок цеха предприятия через интервалы времени,
распределенные экспоненциально со средним значением 10 мин, поступают партии,
каждая из которых состоит из трех деталей. Половина всех поступающих деталей
перед сборкой должна пройти предварительную обработку в течение 7 мин. На
сборку подаются обработанная и необработанная детали. Процесс сборки занимает
всего 6 мин. Затем изделие поступает на регулировку, продолжающуюся в среднем 8
мин (время выполнения ее распределено экспоненциально). В результате сборки
возможно появление 4% бракованных изделий, которые не поступают на регулировку,
а направляются снова на предварительную обработку.
Цель:
Смоделировать работу участка в течение 24 ч. Определить возможные места
появления очередей и их вероятностно-временные характеристики. Выявить
причины их возникновения, предложить меры по их устранению и
смоделировать скорректированную систему.
2. Разработка модели
Данная система описывает работу сборочного участка цеха, которая состоит
из трех этапов: сборка, предварительная обработка и регулировка деталей. Первые
два этапа осуществляются параллельно. Половина всех партий (50 %) поступает
сразу на сборку, а вторая половина проходит предварительную обработку, после
чего отправляется на сборку. В процессе сборки деталей выделяется 4 % брака,
которые заново проходят предварительную обработку. Следующим этапом все партии
поступают на регулировку (96 %).
На основании задания была построена структурная схема (Рисунок 1).
3. Решение задачи на языке GPSS
GENERATE (EXPONENTIAL(1,0,10)) - поступление заявок с
интервалом в 10 мин.
TRANSFER .5,sp1,sp2 - распред. заявок между sp1 и sp2
(по 50%)
sp1 SPLIT 2 - размножение заявок (становится 3
детали)
blok1 QUEUE OCHER1 - занятие очереди 1
SEIZE OBRABOTKA -
занятие этапа предв. обработки
DEPART OCHER1 -
освобождение очереди 1
ADVANCE
7 - задержка на этапе предв. обработки
RELEASE OBRABOTKA -
освобождение этапа предв. обработки
TRANSFER ,blok2 - переход
к блоку 2SPLIT 2QUEUE OCHER2 - занятие
очереди 2 SBORKA - занятие этапа сборки
DEPART OCHER2 -
освобождение очереди 2
ADVANCE
6 - задержка на этапе сборки
RELEASE SBORKA -
освобождение этапа сборки
TRANSFER .04,blok3,blok1 - 4% заявок отпр-ся в блок 1, 96% в блок 3
blok3 QUEUE OCHER3 - занятие очереди 3
SEIZE REGULIROVKA -
занятие этапа регулировки
DEPART OCHER3 -
освобождение очереди 3
ADVANCE
8 - задержка на этапе сборки
RELEASE REGULIROVKA -
освобождение этапа регулировки
TERMINATE - удаление заявок
GENERATE 1440 - прогон модели в течении 24 часов
TERMINATE 1 - удаление заявок (окончание моделирования)
START
1 - 1 завершение прогона модели
4. Результаты моделирования
START TIME END TIME BLOCKS
FACILITIES STORAGES
|
0.000 1440.000 24 3 0
|
NAME VALUE
|
BLOK1 4.000
|
BLOK2 11.000
|
BLOK3 17.000
|
OBRABOTKA 10005.000
|
OCHER1 10004.000
|
OCHER2 10000.000
|
OCHER3 10002.000
|
REGULIROVKA 10003.000
|
SBORKA 10001.000
|
SP1 3.000
|
SP2 10.000
|
LABEL LOC BLOCK TYPE ENTRY COUNT
CURRENT COUNT RETRY
|
1 GENERATE 145 0 0
|
2 TRANSFER 145 0 0
|
SP1 3 SPLIT 73 0 0
|
BLOK1 4 QUEUE 225 26 0
|
5 SEIZE 199 0 0
|
6 DEPART 199 0 0
|
7 ADVANCE 199 1 0
|
8 RELEASE 198 0 0
|
SP2 10 SPLIT 72 0 0
|
BLOK2 11 QUEUE 414 174 0
|
12 SEIZE 240 0 0
|
13 DEPART 240 0 0
|
14 ADVANCE 240 1 0
|
15 RELEASE 239 0 0
|
16 TRANSFER 239 0 0
|
BLOK3 17 QUEUE 233 53 0
|
18 SEIZE 180 0 0
|
19 DEPART 180 0 0
|
20 ADVANCE 180 1 0
|
21 RELEASE 179 0 0
|
22 TERMINATE 179 0 0
|
23 GENERATE 1 0 0
|
24 TERMINATE 1 0 0
|
FACILITY ENTRIES UTIL. AVE. TIME
AVAIL. OWNER PEND INTER RETRY DELAY
|
SBORKA 240 0.999 5.993 1 224 0 0 0
174
|
REGULIROVKA 180 0.995 7.957 1 204 0
0 0 53
|
OBRABOTKA 199 0.965 6.984 1 379 0 0
0 26
|
QUEUE MAX CONT. ENTRY ENTRY(0)
AVE.CONT. AVE.TIME AVE.(-0) RETRY
|
OCHER2 175 174 414 1 80.179 278.884
279.559 0
|
OCHER3 54 53 233 1 26.670 164.829
165.539 0
|
OCHER1 34 26 225 4 15.991 102.345
104.198 0
|
FEC XN PRI BDT ASSEM CURRENT NEXT
PARAMETER VALUE
|
435 0 1440.543 435 0 1
|
224 0 1441.715 219 14 15
|
379 0 1443.264 375 7 8
|
204 0 1447.715 204 20 21
|
438 0 2880.000 438 0 23
|
Из полученного отчета можно узнать результаты прогона построенной модели,
представленные в Таблице 1:
Таблица 1 - Результаты моделирования
Этапы
|
Загруженностьустройств
|
Кол-во необслуженных заявок
|
Среднее время задержки в очереди
|
Пр. обработка
|
0,965
|
26
|
102.345
|
Сборка
|
0,999
|
174
|
278.884
|
Регулировка
|
0,995
|
53
|
164.829
|
В данной задаче необходимо обеспечить нормальную работу на всех этапах
модели, с наименьшим количеством необслуженных заявок, вероятностью появления
очередей, и временем задержек в них. А так же, результаты показывают
недостаточную загруженность устройства на этапе предварительной обработки, что
желательно исправить. Сделать это можно за счет оптимизации параметров, а
именно, сократив время выполнения работы на этапах системы, но это приведет к
чрезмерному увеличению нагрузки на людей и работающее оборудование. Возникнет
необходимость в закупке усовершенствованного, дорогостоящего оборудования.
Предположим, что цех закупил улучшенное оборудование. В соответствии с
моим предложением в текст программы были внесены изменения.
GENERATE (EXPONENTIAL(1,0,10)).5,sp1,sp2QUEUE
OCHER1OBRABOTKAOCHER17OBRABOTKA,blok2SPLIT 2QUEUE OCHER2SBORKAOCHER25SBORKA.04,blok3,blok1QUEUE
OCHER3REGULIROVKAOCHER35REGULIROVKA
GENERATE 1440
TERMINATE 1
START
1
Как видно из текста программы изменения произошли в последних двух
блоках, т.е. новое оборудование завезли в отдел непосредственной сборки деталей
и в отдел регулировки. Процессы сборки и регулировки стали занимать всего по 5
мин. При этом время, затрачиваемое на предварительную обработку деталей, не
изменилось, т.е. не пришлось закупать дополнительное оборудование. Уменьшилось
количество необслуженных заявок и среднее время задержки в очереди,
соответственно вероятность появления очередей тоже уменьшилась. А также
установился приемлемый уровень загруженности устройств объслуживающих процессы:
сборки, предварительной обработки и регулировки.
START TIME END TIME BLOCKS
FACILITIES STORAGES
|
0.000 1440.000 24 3 0
|
NAME VALUE
|
BLOK1 4.000
|
BLOK2 11.000
|
BLOK3 17.000
|
OBRABOTKA 10005.000
|
OCHER1 10004.000
|
OCHER2 10000.000
|
OCHER3 10002.000
|
REGULIROVKA 10003.000
|
SBORKA 10001.000
|
SP1 3.000
|
SP2 10.000
|
LABEL LOC BLOCK TYPE ENTRY COUNT
CURRENT COUNT RETRY
|
1 GENERATE 124 0 0
|
SP1 3 SPLIT 66 0 0
|
BLOK1 4 QUEUE 209 8 0
|
5 SEIZE 201 0 0
|
6 DEPART 201 0 0
|
7 ADVANCE 201 1 0
|
8 RELEASE 200 0 0
|
9 TRANSFER 200 0 0
|
SP2 10 SPLIT 58 0 0
|
BLOK2 11 QUEUE 374 86 0
|
12 SEIZE 288 0 0
|
13 DEPART 288 0 0
|
14 ADVANCE 288 1 0
|
15 RELEASE 287 0 0
|
16 TRANSFER 287 0 0
|
BLOK3 17 QUEUE 276 0 0
|
18 SEIZE 276 0 0
|
19 DEPART 276 0 0
|
20 ADVANCE 276 1 0
|
21 RELEASE 275 0 0
|
22 TERMINATE 275 0 0
|
23 GENERATE 1 0 0
|
24 TERMINATE 1 0 0
|
FACILITY ENTRIES UTIL. AVE. TIME
AVAIL. OWNER PEND INTER RETRY DELAY
|
SBORKA 288 0.999 4.994 1 286 0 0 0
86
|
REGULIROVKA 276 0.957 4.994 1 282 0
0 0 0
|
OBRABOTKA 201 0.972 6.966 1 359 0 0
0 8
|
QUEUE MAX CONT. ENTRY ENTRY(0)
AVE.CONT. AVE.TIME AVE.(-0) RETRY
|
OCHER2 88 86 374 1 41.696 160.541
160.971 0
|
OCHER3 1 0 276 276 0.000 0.000
0.000 0
|
OCHER1 17 8 209 4 5.586 38.486
39.237 0
|
FEC XN PRI BDT ASSEM CURRENT NEXT
PARAMETER VALUE
|
286 0 1441.715 282 14 15
|
282 0 1441.715 282 20 21
|
359 0 1446.887 354 7 8
|
372 0 1449.385 372 0 1
|
375 0 2880.000 375 0 23
|
Числовые данные произошедших изменений приведены в таблице 2.
Таблица 2 - Результаты измененной модели (М2) по сравнению с
данной (М1)
Этапы
|
Загруженность устройств
|
Кол-во необслуженных заявок
|
Среднее время задержки в очереди
|
|
М1
|
М2
|
М1
|
М2
|
М1
|
М2
|
Пр. обработка
|
0,965
|
0.972
|
26
|
8
|
102.345
|
38.486
|
Сборка
|
0,999
|
0,999
|
174
|
86
|
278.884
|
160.541
|
Регулировка
|
0,995
|
0.957
|
53
|
0
|
164.829
|
0.000
|
Заключение
На основе полученного задания был выполнен прогон построенной модели в
течение 24 ч. (1440 мин.). По результатам полученных данных были выявлены
возможные места появления очередей и причины их возникновения.
Также определено количество необслуженных заявок и среднее время задержки в
очередях. Можно теперь сделать вывод о том, что в системе есть некоторые
факторы, которые неблагоприятно влияют на её работоспособность.