Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Имитационное моделирование бизнес-процессов.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
9 Мб
Скачать
☆

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

Поскольку детали после выполнения последней операции покидают систему, то мы имеем разомкнутую производственную систему. Каждое требование - деталь -проходит обработку на трех станках. Таким образом, мы имеем трехфазную систе­му обслуживания.

1.4 Создание имитационной модели

Создание имитационной модели начнем с построения заголовка модели, который может быть представлен, например, в таком виде:

• GPSSW SMO_3f_r.gps

* Моделирование трехфазной разомкнутой *

* системы массового обслуживания *

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

  • после выполнения операции на первом станке деталь поступает на обработ­ку на второй. После выполнения операции на втором станке деталь поступа­ет на обработку на третий. После выполнения операции на третьем станке деталь покидает систему;

  • процесс изготовления деталей продолжается до тех пор, пока время модели­рования не превысит время моделирования системы.

Этот сектор моделирует время работы системы в течение рабочей смены, рав­ной 480 мин.

Моделирование потока деталей начинается с помощью оператора GENERATE. В нашем примере он будет выглядеть так:

GENERATE 23,3

В поле А указывается среднее время поступления деталей на обработку, равное 23 мин. Отклонение от среднего времени составляет ±3 мин.

Далее деталь встает в очередь на выполнение первой операции на первом стан­ке. Это можно промоделировать оператором QUEUE (Очередь), который только в совокупности с соответствующим оператором DEPART (Выйти) собирает ста­тистическую информацию о работе моделируемой очереди. В нашем примере оператор QUEUE будет выглядеть так:

QUEUE OPER1

В поле операнда А дается символьное или числовое имя очереди. Дадим нашей очереди имя OPER1. Желательно, чтобы присваиваемое имя отражало суть описы­ваемого элемента системы. Следуя логике, деталь может выйти из очереди только тогда, когда освободится станок (канал обслуживания). Для этого вводится опе­ратор SEIZE (Занять), который определяет занятость канала обслуживания, и при освобождении последнего находящаяся впереди деталь (требование) выходит из очереди и идет в канал на обслуживание. Это может выглядеть так:

SEIZE STAN1

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

Выход детали из очереди фиксируется оператором DEPART с соответствую­щим названием очереди. В нашем примере это будет выглядеть так:

DEPART OPER1 .

Далее должно быть промоделировано время проведения первой операции, вы­полняемой первым станком. Это время в нашем примере составляет 24±1 мин. Для моделирования этого процесса используется оператор ADVANCE (Задер­жать), который в нашей задаче будет выглядеть так:

ADVANCE 24,1

После обработки (обслуживания) детали станком системе должно быть посла­но сообщение об освобождении канала обслуживания. Это делается с помощью оператора RELEASE (Освободить), который в нашей задаче записывается так:

RELEASE STAN1

Следует особо подчеркнуть, что парные операторы QUEUE и DEPART для каждой очереди должны иметь одно и то же, но свое уникальное имя. Это же от­носится и к операторам SEIZE и RELEASE.

После выполнения первой операции на первом станке деталь направляется ко второму станку для второй операции, где также возможна очередь. Время, затра­чиваемое на перемещение детали от первого станка ко второму, промоделируем с помощью оператора ADVANCE, который в нашей задаче будет выглядеть так:

ADVANCE 5,2

Далее деталь (требование) встает в очередь для выполнения второй операции на втором станке. Это можно промоделировать оператором QUEUE, который в нашем примере будет выглядеть так:

QUEUE OPER2

В поле операнда А дается символьное или числовое имя очереди. Дадим нашей очереди имя OPER2. Деталь может выйти из очереди только тогда, когда освобо­дится второй станок (канал обслуживания). Для этого вводится оператор SEIZE, который определяет занятость канала обслуживания, и при освобождении пос­леднего находящееся впереди требование выходит из очереди и идет в канал на обслуживание. Это может выглядеть так:

SEIZE STAN2

В поле операнда А дается символьное или числовое имя канала обслуживания. В нашей задаче каналу дано имя STAN2.

Выход детали из очереди фиксируется оператором DEPART с соответствую­щим названием очереди. В нашем примере это будет выглядеть так:

DEPART OPER2

Далее должно быть промоделировано время выполнения второй операции вто­рым станком. Это время в нашем примере составляет 29+3 мин. Для моделирова­ния этого процесса используется оператор ADVANCE, который в нашей задаче будет выглядеть так:

ADVANCE 29,3

После выполнения второй операции на втором станке системе должно быть послано сообщение об освобождении канала обслуживания. Это делается с помо­щью оператора RELEASE, который в нашей задаче записывается так:

RELEASE STAN2

Время, затрачиваемое на перемещение детали от второго станка к третьему, промоделируем с помощью оператора ADVANCE, который в нашей задаче будет выглядеть так:

ADVANCE 6,1

Далее деталь (требование) встает в очередь для выполнения третьей операции на третьем станке. Это можно промоделировать оператором QUEUE, который в нашем примере будет выглядеть так:

QUEUE OPER3 '

В поле операнда А дается символьное или числовое имя очереди. Дадим нашей очереди имя OPER3. Деталь может выйти из очереди только тогда, когда освобо­дится третий станок (канал обслуживания). Для этого вводится оператор SEIZE, который определяет занятость канала обслуживания, и при освобождении пос­леднего находящееся впереди требование выходит из очереди и идет в канал на обслуживание. Это может выглядеть так:

SEIZE STAN3

В поле операнда А дается символьное или числовое имя канала обслуживания. В нашей задаче каналу дано имя STAN3.

Выход детали из очереди фиксируется оператором DEPART с соответствую­щим названием очереди. В нашем примере это будет выглядеть так:

DEPART OPER3

Далее должно быть промоделировано время выполнения третьей операции тре­тьим станком. Это время в нашем примере составляет 12+3 мин. Для моделирова­ния этого процесса используется оператор ADVANCE, который в нашей задаче будет выглядеть так:

ADVANCE 12,3

После выполнения третьей операции на третьем станке системе должно быть послано сообщение об освобождении канала обслуживания. Это делается с помо­щью оператора RELEASE, который в нашей задаче записывается так:

RELEASE STAN3

Определение времени моделирования основано на использовании простой мо­дели измерения времени, состоящей из трех операторов: