Моделирование непоследовательных операций 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Моделирование непоследовательных операций



 

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

Блок TRANSFER (передать) - перенаправляет транзакты в блок отличный от последующего.

Блок может использоваться в 8 режимах. Рассмотрим 3 основных режима.

Режим безусловной передачи

Рис. 23. Блок TRANSFER в режиме безусловной передачи

 

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

Пример блока TRANSFER в режиме безусловной передачи:

TRANSFER,BOX

когда транзакты входят в блок, они сразу же пытаются войти в блок ВОХ. Если последний отказывает в этом, транзакты остаются в блоке ТRANSFER.

Ряд сложных систем, и в том числе производственных, сводятся к замкнутым системам массового обслуживания. В этих СМО общее число заявок в течение всего интервала моделирования системы остается постоянным - заявки не покидают СМО, а циркулируют в ней, последовательно изменяя свои состояния в моменты перехода от одной фазы обслуживания к другой. Например, транспортная система некоторого производства, содержащая N транспортных средств или сборочное производство в котором участвуют N человек.

При построении GPSS-моделей подобных систем число транзактов в модели должно оставаться постоянным в течение всего интервала моделирования. Это может быть достигнуто благодаря использованию блока GENERATE с операндом D, который выдает в модель заданное число транзактов, и блока TRANSFER в режиме безусловной передачи, помещенного в конце модели и возвращающего транзакты в начало модели.

Пример моделирования

Рассмотрим пример GPSS/Н-модели сборочного производства [4]. Производство изделий включает процесс сборки и обжиг в печи. Содержание печи обходится дорого, поэтому 4 сборщика используют одну печь, в которой одновременно можно обжигать только одну деталь. Сборщик не может начать новую сборку, пока в печи находится предыдущая деталь. Каждый сборщик выполняет следующие действия: сборку следующей детали; ожидание возможности использования печи; использование печи; возврат к сборке.

Время необходимое на сборку колеблется в интервале от 25 до 35 минут (распределение равномерное), а процесс обжига распределен нормально со средним значением 8 минут и среднеквадратическим отклонением 2 минуты. Необходимо промоделировать данное производство в течение 8-часового рабочего дня.

Пусть транзакты отображают сборщиков, приход которых смоделируем блоком GENERATE с операндом D равным 4. За единицу модельного времени примем 1 минуту. Тогда время сборки отобразим блоком ADVANCE со средним 30 и размахом 5. Работу печи смоделируем прибором с именем РЕСН. После того как транзакт завершает использование прибора, моделирующего печь, он должен быть возвращен назад. Отобразим это условие при помощи блока TRANSFER в режиме безусловной передачи, который перенаправляет транзакты в блок следующей сборки. Для организации моделирования в течение 480 минут используем сегмент, содержащий блок GENERATE с соответствующим операндом А.

Блочная интерпретации модели сборочного производства представлена на рис. 24.

Созданная на основе блок-схемы GPSS/H-программа представлена ниже:

SIMULATE Начало моделирования

GENERATE,,,4 Приход сборщиков

BACK ADVANCE 30,5 Сборка

SEIZE РЕСН Занятие печи

ADVANCE RVNORM(2,8,2) Обжиг

RELEASE РЕСН Освобождение печи

TRANSFER,BACK Переход к сборке

GENERATE 480 Выход транзакта-таймера

TERMINATE 1 Удаление транзакта-таймера

START 1 Запуск модели

END Конец моделирования

 

Рис. 24. Блочная интерпретация GPSS/H-модели

процесса сборки

 

Режим статистической передачи

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

Рис. 25. Блок TRANSFER

в режиме статистической передачи

 

В операнде А записывают частота передачи транзактов в блок С (это число должно быть больше 0 и меньше 1 и всегда начинаться с десятичной точки). В операнде В записывают имя блока, в который переходят транзакты с частотой равной 1 - (частота в операнде А). Розыгрыш направления передачи транзакта производится с помощью датчиков равномерно распределенных случайных величин в интервале (0,1), входящих в GPSS/H.

Примеры блока TRANSFER в режиме статистической передачи:

TRANSFER.25,BOX,PLAY

транзакты, входящие в блок, в 25% случаев будут передаваться в блок с именем PLAY. В остальных 75% случаев они будут переданы в блок с именем BOX.

TRANSFER.33,,FAX

транзакты, входящие в блок, будут переданы в 33% случаев в блок с именем FAX. В остальных случаях они попадут в следующий по порядку блок.

Пример моделирования

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

Пусть ГПС содержит два независимо функционирующих робототехнических комплекса (РТК). В ГПС поступает равномерный поток заданий на обработку. Для выполнения одних заданий требуется РТК1, для выполнения других - РТК2. Выбор РТК происходит случайным образом: с вероятностью, равной 0.35, задание направляется на РТК1, и с вероятностью 0.65 (1 - 0.35) - на РТК2. Для упрощения времена между поступлениями заданий в ГПС, времена работы РТК по выполнению заданий примем равномерно распределенными со средними значениями 100, 80, 200 и размахом 40, 50, 20 соответственно. Требуется построить модель и определить загрузку обоих РТК и среднее количество скопившихся перед ними заданий.

Графическая интерпретация модели представлена на рис. 26.

GPSS/H-программа приведена ниже:

 

 

SIMULATE

GENERATE 100,40 Поступление заданий в ГПС

TRANSFER.65,ОН1,ОН2 65% идет в РТК2, а 35% в РТК1

OH1 QUEUE 1 Ожидание освобождения РТК1

SEIZE RTK1 Занятие РТК11

DEPART 1 Конец ожидания

ADVANCE 80,50 Обработка в РТК1

RELEASE RTK1 Освобождение РТК1

TRANSFER,FIN Задание выполнено

ОН2 QUEUE 2 Ожидание освобождения РТК2

SEIZE RTK2 Занятие РТК2

DEPART 2 Конец ожидания

ADVANCE 200,20 Обработка в РТК2

RELEASE RTK2 Освобождение РТК2

FIN TERMINATE Задание выполнено

GENERATE &TIM Моделирование 24 часов

TERMINATE 1

START 1

END

 

Рис. 26. Блок-схема GPSS/H-модели ГПС

 

В модели использованы два прибора и две очереди. Прибор с именем RTK1 использован для моделирования работы РТК1, прибор с именем RTK2 - для моделирования работы РТК2. Очередь 1 служит для сбора информации о времени нахождения на ГПС заданий, направляемых на РТК1, очередь 2 - времени нахождения в ГПС заданий, направляемых на РТК2. Поток транзактов создается блоком GENERATE, после чего следует вероятностное прореживание потока транзактов с помощью блока TRANSFER. Этот блок с вероятностью 0.35 направляет транзакты в блок с именем ОН1 и с вероятностью 0.65 в блок с именем ОН2. Блок TRANSFER безусловного типа в модели использован для передачи транзактов, вышедших из прибора RTK1 в блок TERMINATE с именем FIN.

Режим BOTH

Когда требуется передать транзакты не случайным образом в один из двух заданных блоков, используют блок TRANSFER в режиме ВОТН.

Рис. 27. Блок TRANSFER в режиме ВОТН

 

В операнде А записывается слово BOTH. В операнде В записывается имя блока в который будет осуществляться начальная попытка передачи транзакта, если она неудачна (например занятый блок SEIZE), то транзакт будет передан в блок с именем записанным в операнде С. Если и этот блок откажет во входе, то транзакт останется в блоке TRANSFER пока блоки указанные в операндах В или С не освободятся. Первым проверяется блок с именем в операнде В.

Примеры блока TRANSFER в режиме BOTH:

TRANSFER BOTH,BOX,PLAY

транзакт будет пытаться войти в блок с именем ВОХ, если эта попытка неудачна, то он будет пытаться войти в блок с именем PLAY. Если и эта попытка неудачна, транзакт останется в блоке TRANSFER пока не освободится блок BOX или блок PLAY.

TRANSFER BOTH,,COM

транзакт будет пытаться войти в следующий по порядку блок, если эта попытка неудачна, то он будет пытаться войти в блок с именем СОМ.



Поделиться:


Последнее изменение этой страницы: 2016-06-26; просмотров: 685; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.11.20 (0.017 с.)