Моделирование работы сборочного цеха

 

Оглавление

1. Постановка задачи 2

2. Описание моделируемой системы 3

3. Блок-диаграмма модели в символике языка GPSS 5

4. Решение задачи на языке GPSS 6

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

6. Заключение 11

Приложение А 12

7. Список использованной литературы 19

 

 

 

  1. Постановка задачи

На сборочный участок цеха предприятия  через интервалы времени, распределенные экспоненциально со средним значением 10 мин, поступают партии, каждая из которых состоит из трех деталей. Половина всех поступающих деталей перед сборкой должна пройти предварительную обработку в течение 7 мин. На сборку подаются обработанная и необработанная детали. Процесс сборки занимает всего 6 мин. Затем изделие поступает на регулировку, продолжающуюся в среднем 8 мин (время выполнения ее распределено экспоненциально). В результате сборки возможно появление 4% бракованных изделий, которые не поступают на регулировку, а направляются снова на предварительную обработку.

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

 

Элементы модели участков обработки деталей:

транзакты – детали, поступающие на участки обработки;

очереди – очереди на участках обработки;

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

 

  1. Описание моделируемой системы

Данная система описывает работу сборочного участка цеха, которая состоит из трех этапов: сборка, предварительная обработка и регулировка деталей. Первые два этапа осуществляются параллельно. Половина всех партий (50 %) поступает сразу на сборку, а вторая половина проходит предварительную обработку, после чего отправляется на сборку. В процессе сборки деталей выделяется 4 % брака, которые заново проходят предварительную обработку. Следующим этапом все партии поступают на регулировку (96 %).

На основании задания была построена  структурная схема (Рисунок 1).

Сборка (6 мин)

Производящий детали

        участок  цеха

Предварительная обработка (7 мин)

Регулировка (8 мин)

   Готовая продукция

4 % брака

96 %

50 %

50 %

Интервалом в 10 мин поступают  партии

(из 3 деталей)

Сборочный участок  цеха

Рисунок 1 - Блок-схема.

 

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

Для реализации имитации работы сборочного участка цеха в среде GPSS World понадобились следующие операторы: GENERATE, TRANSFER, SPLIT, QUEUE, SEIZE, DEPART, ADVANCE, RELEASE, TERMINATE, START. Синтаксис данных операторов указан в Приложении А.

 

  1. Блок-диаграмма  модели в символике языка GPSS

 

10

 

 

 

 

Sp2

Sp1

 

 

 

 

 sdsd

 

 

7

 

 

6

 

 

 

 

 

 

0.5

0.04 

 

 

 sdsd

 

 

8

 

 

 

 

1440

 

1

Рисунок 2. Блок-диаграмма.

 

 

 

 

  1. Решение задачи на языке 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            - переход к блоку 2

***********************************************************

          

sp2       SPLIT       2

blok2     QUEUE       OCHER2           - занятие очереди 2

          SEIZE       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     (EXPONENTIAL(1,0,8))                 - задержка на этапе сборки

          RELEASE     REGULIROVKA       - освобождение этапа регулировки

***********************************************************

           

    TERMINATE                          - удаление заявок

***********************************************************

     

    GENERATE   1440                     - прогон модели в течении 24 часов

    TERMINATE  1                        - удаление заявок (окончание моделирования)

    START   1                            - 1 завершение прогона модели 

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

После окончания  моделирования в среде GPSS World, был получен следующий стандартный отчет:

 

                    Sunday, January 23, 2011 11:37:38 

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

131

0

0

 

2

TRANSFER

131

0

0

SP1

3

SPLIT

70

0

0

BLOK1

4

QUEUE

224

31

0

 

5

SEIZE

193

0

0

 

6

DEPART

193

0

0

 

7

ADVANCE

193

1

0

 

8            

RELEASE

192

0

0

 

9

TRANSFER

192

0

0

SP2

10

SPLIT

61

0

0

BLOK2

11

QUEUE

375

135

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

225

67

0

 

18

SEIZE

158

0

0

 

19

DEPART

158

0

0

 

20

ADVANCE

158

1

0

 

21

RELEASE

157

0

0

 

22

TERMINATE

157

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

215

0

0

0

135

REGULIROVKA

158

0.990

9.022

1

178

0

0

0

67

OBRABOTKA

193

0.935

6.974

1

228

0

0

0

31


 

QUEUE

MAX

CONT.

ENTRY

ENTRY(0)

AVE.CONT.

AVE.TIME  

AVE.(-0)

RETRY

OCHER2

135

135

375

1

68.334   

262.401   

263.103  

0

OCHER3            

69

67

225

4

32.035   

205.025   

208.736  

0

OCHER1

40

31

224     

7   

19.017   

122.249   

126.193  

0


 

FEC XN

PRI

BDT

ASSEM

CURRENT

NEXT

PARAMETER

VALUE

178

0

1441.319   

174

20

21

   

215

0

1441.715   

210

14

15

   

228

0

1444.961   

228

7

8

   

393

0

1466.839   

393

0

1

   

396

0

2880.000   

396

0

23

   

 

 

Из полученного отчета можно узнать результаты прогона построенной модели, представленные в Таблице 1:

 

Таблица 1 – Результаты моделирования

Этапы

Загруженностьустройств

Кол-во необслуженных заявок

Среднее время задержки в очереди 

Пр. обработка

0.935

31

122.249

Сборка

0.999

135

262.401

Регулировка

0.990

67

205.025


 

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

Предположим, что цех закупил улучшенное оборудование. В соответствии с моим предложением в текст программы были внесены изменения.

Ниже  представлен текст программы после внесения изменений:

 

      GENERATE    (EXPONENTIAL(1,0,10))

      TRANSFER     .5,sp1,sp2

***********************************************************           

sp1         SPLIT        2

blok1      QUEUE        OCHER1       

            SEIZE        OBRABOTKA       

            DEPART       OCHER1       

            ADVANCE      7                  

            RELEASE      OBRABOTKA

            TRANSFER     ,blok2

***********************************************************           

sp2         SPLIT        2

blok2       QUEUE        OCHER2       

            SEIZE        SBORKA       

            DEPART       OCHER2       

            ADVANCE      5                   - значение изменяем с «6» до «5»

            RELEASE      SBORKA                   

***********************************************************

            TRANSFER     .04,blok3,blok1

***********************************************************                

blok3       QUEUE        OCHER3       

            SEIZE        REGULIROVKA       

            DEPART       OCHER3       

            ADVANCE      5              - значение изменяем с «8» до «5»

            RELEASE      REGULIROVKA

***********************************************************           

      TERMINATE

***********************************************************      

      GENERATE     1440

      TERMINATE    1

START 1

 

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

Числовые  данные произошедших изменений приведены  в таблице 2.

 

Таблица 2 – Результаты  измененной модели (М2) по сравнению с данной (М1)

Этапы

Загруженность устройств

Кол-во необслуженных заявок

Среднее время задержки в очереди 

 

М1

М2

М1

М2

М1

М2

Пр. обработка

0.935

0.972

31

8

122.249

38.486    

Сборка

0.999

0,999

135

86

262.401

160.541   

Регулировка

0.990

0.957      

67

0

205.025

0.000     


 

 

 

  1. Заключение

На  основе полученного задания был выполнен прогон построенной модели в течение 24 ч. (1440 мин.). По результатам полученных данных были выявлены возможные места появления очередей и причины их возникновения. Также определено количество необслуженных заявок и среднее время задержки в очередях. Можно теперь сделать вывод о том, что в системе есть некоторые факторы, которые неблагоприятно влияют на её работоспособность.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение А

 

Синтаксис операторов GPSS использованных в данном курсовом проекте:

 

 

GENERATE (ГЕНЕРИРОВАТЬ)

GENERATE - вводит транзакты в модель. Формат: GENERATE A,B,C,D,E,F,G

А - среднее значение интервала времени;

В - разброс или модификатор среднего значения (по умолчанию ноль);

С - время появления первого транзакта;

D - общее число генерируемых транзактов;

Е - уровень приоритета каждого транзакта; (от 0 до 127, значение по умолчанию 0);

F - число параметров (по умолчанию 12);

G - тип параметра (F - полнословный, Н - полусловный - по умолчанию).

Вводит транзакты в модель, посылая их в следующий по порядку блок. Если в поле В не указана Функция, то интервал между поступлением транзактов определяется случайным числом, равномерно распределенным в диапазоне от (А - В) до (А + В). Если поле В является функцией (FN$), то этот интервал определяется произведением поля А на значение функции, заданной в поле В.

 

TRANSFER (ПЕРЕДАТЬ)

TRANSFER - изменяет движение транзакта в модели.

Формат: TRANSFER А,В,С,D

А - режим передачи (пробел,.,ALL,BOTH,FN,P,PICK,SBR,SIM);

В - следующий блок;

С - следующий блок;

D - значение индекса, используемое в режиме ALL.

Транзакт направляется в блок, определяемый в соответствии с режимом передачи, указанным в     поле А. Режимы передачи поля А:

Пробел - транзакт передается в блок, определяемый полем;

"." - статистический режим; в поле А указано десятичное число, выражающее                           вероятность перехода в блок С; его дополнение до единицы указывает                           вероятность перехода в блок В;

ALL - транзакт последовательно пытается перейти в блоки, определяемые                           значениями  В, B+D, B+2D.....C;

BOTH - транзакт последовательно пытается войти в блок В, затем в блок С, до тех                           пор, пока один из них станет доступным;

FN - функциональный режим: поле В является номером функции; следующий блок  определяется суммой значения этой функции поля С;

Р - параметрический режим: поле В является номером параметра; следующий                              блок  определяется суммой значения этого параметра и поля С;

PICK - выборочный режим: блок выбирается с равной вероятностью из блоков с номерами: В, B+l,..., С.

SBR - режим перехода к подпрограмме: номер текущего блока помещается в                           параметр, указанный в поле С, а транзакт передается в блок, номер которого                           указан в поле В.

SIM - одновременный режим: проверяется одновременное выполнение условий                          беспрепятственного движения транзактов в задерживающих блоках. Если                          условие выполняется, транзакт передается в следующий блок, в противном                          случае транзакт переходит на блок С;

 

SPLIT (РАСЩЕПИТЬ)

SPLIT - создает копии текущего транзакта.

Формат: SPLIT A,B,C,D

А - число создаваемых копий;

В - следующий блок для копий;

С - параметр для хранения порядкового номера копии;

D - число параметров у каждой копии.

 

Поле А определяет число копий, которые образуются при входе текущего транзакта. Эти вновь созданные транзакты по умолчанию идентичны исходному транзакту. Копии входят в блок, указанный в поле В. Исходный транзакт поступает на следующий блок. Параметр поля С используется для задания порядковых номеров копий. Нумерация осуществляется следующим образом. Порядковый номер исходного транзакта увеличивается первым. Если он был равен нулю, при входе транзакта в блок он станет равным единице. Порядковый номер первой копии станет на единицу больше, чем у исходного транзакта номера последующих копий также увеличиваются на единицу. Если поле D не задано, копии имеют такое же, как у исходного транзакта число и тип параметров.

 

QUEUE (СТАТЬ В ОЧЕРЕДЬ)

QUEUE - помещает транзакт в конец очереди.

Формат: QUEUE А,В

А - номер очереди (числовое или символьное имя очереди);

В - число добавляемых к очереди элементов (по умолчанию 1).

Увеличивает текущее содержимое очереди, указанной  в поле А, на значение в поле В. Если поле В не определено, увеличивает содержимое очереди на единицу. Транзакт может находиться в двух различных очередях одновременно.

Очередь имеет следующие стандартные  числовые атрибуты:

Q$j - текущая длина очереди j;

Q$Xj - максимальная длина очереди j;

QA$j - средняя длина очереди j;

QC$j - число входов в очередь j;

QZ$j - число входов в очередь с нулевым временем пребывания (транзакт прошел

через блок QUEUE, не задерживаясь в очереди);

QT$j - среднее время пребывания в очереди j, включая нулевые входы;

QX$j - среднее время пребывания в очереди j, без нулевых входов.

 

SEIZE (ЗАНЯТЬ)

 SEIZE - занимает устройство.

Формат: SEIZE А

А - номер устройства.

Транзакт пытается занять устройство, определенное полем А. Если прервано, транзакт задерживается в предыдущем блоке.

 

DEPART (ПОКИНУТЬ ОЧЕРЕДЬ)

DEPART - удаляет транзакт из очереди.

Формат: DEPART А,В

А - номер (имя) очереди;

В - число удаляемых из очереди элементов.

Удаляет текущий транзакт из очереди, указанной в поле А, и уменьшает содержимое очереди на значение поля В. транзакт может находиться одновременно в двух различных очередях.

 

ADVANCE (ЗАДЕРЖАТЬ)

ADVANCE - задерживает транзакт.

Формат: ADVANCE A,B

А - среднее время задержки (константа, если В не задано);

В - разброс относительно среднего значения, должен быть меньше или равен А.

Блок ADVANCE моделирует временную задержку транзакта в течение определенного интервала. Значение задержки по умолчанию равно нулю. Если поле В не является FN$, т время задержки является случайным числом, распределенным равномерно на интервале от (; + В) до (А - В). Если поле В является функцией FN$, то время задержки определяете произведением поля А на значение функции в поле В. Функция может быть использована для задания времени задержки с определенным средним значением и отклонением, зависящим от А.

RELEASE (ОСВОБОДИТЬ)

RELEASE - освобождает устройство.

Формат: RELEASE А

А - номер устройства (числовое или символьное имя освобождаемого устройства).

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

 

TERMINATE (ЗАВЕРШИТЬ)

TERMINATE - удаляет транзакт.

Формат: TERMINATE A

А - величина, вычитаемая из содержимого счетчика завершений (поле А карты START).

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

START (НАЧАТЬ)

START - управление процессом моделирования.

Формат: START А,В,С,D

  А - счетчик числа завершений;

 В - подавление вывода на печать (В = NP);

 С - промежуточный вывод статистики; 0 - распечатка списков.

Поле А определяет счетчик завершений при прогоне модели. При входе транзакта в блок TERMINATE с ненулевым значением поля А, содержимое поля А блока TERMINATE вычитается из остаточного значения счетчика - поля А карты START.

Прогон завершается, когда значение счетчика достигнет нуля. Указатель  NP в поле В отменяет вывод стандартного отчета GPSS. Величина , указанная в поле С, определяет число завершений, по достижении которого выдается промежуточный отчет. Таким образом, можно получать статистические данные в определенных интервалах моделирования. Если поле D содержит 1, полученный отчет будет содержать списки текущих и будущих событий, а также списки пользователя.

 

  1.  Список использованной литературы

      1. Кудрявцев Е.М. Основы моделирования  различных систем.
      2. Алтаев А.А. Имитационное моделирование на языке GPPS.
      3. Сайт в Интернете: www.gpss.ru
      4. Сайт в Интернете: www.gpss-forum.narod.ru

Моделирование работы сборочного цеха