Главная / Моделирование систем / Объединение нескольких транзактов в один

Объединение нескольких транзактов в один

Для объединения заданного количества транзактов в один транзакт используется следующий оператор:

ASSEMBLE A

Где A — количество объединяемых транзактов.

Все транзакты, объединяемые в операторе ASSEMBLE, должны принадлежать одному ансамблю.

Примечание. Оператор ASSEMBLE работает следующим образом: накапливает A транзактов, пропускает первый из них в следующий оператор; остальные транзакты уничтожаются.

Важное (но не единственное) применение оператора ASSEMBLE — имитация процессов сборки изделий и составления комплектов изделий в моделях производственных систем.

Пример 2.26. В цехе производится обработка некоторых деталей. Поток деталей, поступающих на обработку — пуассоновский; детали поступают на обработку в среднем через каждые 8 минут. Сначала детали обрабатываются на станке 1 в течение 5±2 минут. Затем детали (по пять штук одновременно) обрабатываются на станке 2; обработка пяти деталей занимает в среднем 20 минут (экспоненциальная случайная величина). При обработке на станке 1 бракуется примерно 2% деталей, на станке 2 — 3%. Готовые детали укладываются в поддоны по 10 штук.

Разработать GPSS-модель для анализа работы цеха в течение 100 часов. Предусмотреть подсчет количества поддонов с готовыми деталями, а также количества бракованных деталей.

10 SIMULATE

20 XPDIS FUNCTION RN1,C24

… таблица соответствия для экспоненциального распределения…

30 GENERATE,,,1

40 DET ADVANCE 8,FN$XPDIS

50 SPLIT 1,DET

60 QUEUE 1

70 SEIZE STAN1

80 DEPART 1

90 ADVANCE 5,2

100 RELEASE STAN1

110 TRANSFER.020,,BRDET

120 QUEUE 2

130 ASSEMBLE 5

140 SEIZE STAN2

150 DEPART 2,5

160 ADVANCE 20,FN$XPDIS

170 RELEASE STAN2

180 SPLIT 4

190 TRANSFER.030,,BRDET

200 QUEUE 3

210 ASSEMBLE 10

220 DEPART 3,10

230 SAVEVALUE GOT+,1

240 TRANSFER, KON

250 BRDET SAVEVALUE BRAK+,1

260 KON TERMINATE

270 GENERATE 6000

280 TERMINATE 1

Модель работает следующим образом. Требуется имитировать процессы, связанные с накоплением деталей (по пять штук для обработки и по десять — для укладки в поддоны); значит, все транзакты, имитирующие детали, должны принадлежать одному ансамблю. Поэтому в операторе 30 создается один транзакт (исходный для всех транзактов, используемых в модели). Поступление деталей на обработку имитируется группой операторов 40-50. Операторы 60-110 имитируют обработку деталей на станке 1.

Группа операторов 120 — 190 имитирует накопление деталей по пять штук и их обработку на станке 2. Для имитации накопления деталей использован именно оператор ASSEMBLE (оператор 130), а не GATHER, так как на станке 2 обрабатываются одновременно пять деталей. Операторы 180 и 190 имитируют выход обработанных деталей из станка 2 и браковку 3% из них.

Примечание. В операторе 150 очередь 2 уменьшается на 5 единиц, так как детали подаются в станок 2 по пять штук.

Операторы 200-220 имитируют укладку деталей (по 10 штук) в поддоны. Очередь 3 введена для сбора информации о времени заполнения поддонов.