Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Изменение маршрутов движения транзактов




Для изменения маршрута транзактов в модели применяются блоки TRANSFER, GATE, TEST, LOOP. Транзакты, входящие в эти блоки, далее продвигаются не к следующему блоку, а к блокам, адрес которых определяется либо указывается в операторах. Ниже рассматривается только блок TRANSFER.

Блок TRANSFER может иметь четыре операнда (A, B, C, D). Существуют девять режимов использования этого блока, которые определяются по значению операнда A. Рассмотрим основные из них:

1). Безусловный переход

TRANSFER,B

здесь B – имя (адрес) блока, к которому направляется транзакт (операнд A отсутствует).

Примеры.

TRANSFER,CPU2

TRANSFER,*+3

TRANSFER, CPU1+2

Первый оператор направляет транзакт к блоку с именем CPU2. Два остальных оператора – примеры относительной адресации. Второй оператор посылает транзакт к третьему по счету блоку после рассматриваемого блока. Последний оператор направляет транзакт ко второму по счету блоку от блока CPU1.

2). Условный переход с одним альтернативным адресом:

TRANSFER BOTH,B,C

где BOTH –тип режима;

B – имя (адрес) блока, к которому направляется транзакт (основной адрес);

C - альтернативный адрес, куда направляется транзакт при невозможности войти в блок с адресом B.

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

Примеры.

TRANSFER BOTH,KASS1,KASS2

TRANSFER BOTH,,TWO

В первом операторе транзакт первоначально направляется к блоку с именем (меткой) KASS1. При невозможности войти в этот блок транзакт направляется к блоку с именем KASS2. Во втором операторе транзакт делает попытку войти в следующий блок (значение параметра B по умолчанию), а если ему это не удается, он направляется к блоку с именем TWO.

3). Условный переход с многими альтернативами:

TRANSFER ALL,B,C,D

Где ALL – тип режима;

B – первый адрес;

C – последний адрес;

D – константа M, используемая для вычисления возможных адресов движения транзактов: адрес в поле B, затем – B+M, B+2M, …, адрес в поле С. Если этот операнд опущен, то по умолчанию он равен единице.

Пример.

TRANSFER ALL,FIRST,LAST,3

Транзакт последовательно пытается войти в следующие блоки: FIRST, FIRST+3, FIRST+6, …, LAST.

4). Статистический переход (переход с заданной вероятностью):

TRANSFER A,B,C

Здесь A – вероятность перехода транзакта по адресу С;

В – альтернативный адрес.

Если операнд A представляет собой целое число, то оно трактуется как количество тысячных долей вероятности и преобразуется в вероятнось автоматически.

Примеры.

TRANSFER.370,THIS,THAT

С вероятностью 0,37 транзакт перейдет к блоку THAT, а с вероятностью 0,63 – к блоку THIS.

TRANSFER 750,,NEW_PLACE

С вероятностью 0,75 транзакт передается на блок NEW_PLACE, а с вероятностью 0,25 – на следующий блок.

Описание остальных режимов (PICK, FN, P, SBR, SIM) смотри в справочнике по GPSS (Help системы). Во всех режимах операнд C должен быть больше операнда B, а если используется операнд D, то разность C-B должна делиться на D. Если транзакт не принимает ни один из блоков, куда делалась попытка его протолкнуть, то он остается в блоке TRANSFER. В этом случае моделирующая программа повторяет попытки переправить транзакт пи каждом изменении модельного времени, что может привести к большим затратам времени моделирования. На блок-схеме блок TRANSFER изображается в виде ромба (см. рис. 3.10 и 3.11).

 
 

 

 


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

 
 

 

 


Рис.3.10. Блок TRANSFER в режиме статистического перехода или перехода с одним альтернативным адресом

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

1) Собирает следующую деталь.

2) Ожидает возможности использования печи по принципу “первым пришел- первым обслужен”.

3) Использует печь.

4) Возвращается к п.1.

5) Время, необходимое на различные операции, и стоимость операций представлены в табл.3.3. и табл.3.4. соответственно.

Необходимо построить на GPSS модель описанного процесса. Имея эту модель, следует определить оптимальное число сборщиков, использующих одну печь. Под оптимальным понимают такое число, которое дает максимальную прибыль. Моделирование следует выполнять в течение 40 ч модельного времени. Предполагается, что в течение рабочего дня нет перерывов, а рабочие дни идут подряд без выходных.

Таблица 3.3. Время на различные операции по изготовлению детали

Операция Необходимое время, мин
Сборка 30±5
Обжиг 8±2

 

Таблица 3.4. Информация о стоимости операций и изделий

Элемент Стоимость
Зарплата сборщика 3,75 $ в час
Стоимость печи 80 $ за 8-часовой рабочий день (независимо от степени использования)
Цена материала 2 $ за одну деталь
Стоимость готового изделия 7 $ за одну деталь

 

При моделировании этой системы печь будет представлять собой устройство с именем Oven, а сборщики – транзакты. Аналогично тому, как они периодически осуществляют сборку и обжиг, транзакты перемещаются в GPSS–модели системы. Для того чтобы ограничить общее число транзактов, циркулирующих в модели, нужно использовать операнд D блока GENERATE. Для определения прибыли, соответствующей заданному числу сборщиков, необходимо знать, сколько готовых деталей они сделали в течение моделируемого периода. Это число деталей совпадает с числом использования печи (устройства Oven). За единицу времени примем одну минуту. Время моделирования поэтому будет равно 40*60=2400 минут. Блок-схема модели производства деталей показана на рис. 3.11. Соответствующая программа на GPSS приведена на рис.3.12.

 

       
 
 
   
1 сегмент модели

 

 


Рис.3.11. Блок-схема модели производства деталей

 

* Модель производства деталей с обжигом в печи

Number EQU 4;количество сборщиков равно четырем

* Сегмент моделирования сборщиков

GENERATE,,,Number;Ввод в модель сборщиков

Backplace ADVANCE 30,5;Сборка детали

SEIZE Oven;Занятие печи

ADVANCE 8,2;Использование печи

RELEASE Oven;Освобождение печи

TRANSFER,Backplace;Переход к следующей сборке

* Сегмент таймера окончания моделирования

GENERATE 2400;Таймер приходит через 40 часов

TERMINATE 1;Прекращение моделирования

 

Рис.3.12. Программа модели производства деталей

 

В этой модели блок ADVANCE 30,5 получил символическое имя Backplace. Оно расположено в поле метки этого оператора и используется в операторе TRANSFER для указания, куда нужно отправить транзакт далее. В модели не использованы блоки QUEUE и DEPART, поскольку не требуется сбор статистики по очереди к печи (очередь при этом все равно существует). Ожидающие освобождения устройства транзакты остаются в блоке с именем Backplace, даже если время их задержки уже истекло.

В отчете по этой модели требуется определить число деталей, которые вышли из устройства Oven (количество произведенных деталей). Оно равно количеству входов в устройство Oven (поле ENTRIES) минус 1, если для одной детали еще не закончен обжиг (поле OWNER не равняется 0). Например, из отчета для случая четырех сборщиков (рис. 3.13) очевидно, что число произведенных деталей равно 239-1=238 штук. Рассчитаем прибыль предприятия для этого количества деталей. За проданные детали будет получен доход 238*(7-2)=1190 $. Стоимость использования печи 80*5=400 $ за пять дней. Зарплата сборщиков 4*3,75*40=600 $ за пять дней. Поэтому чистая прибыль предприятия 1190-400-600=190 $.

 

Рис.3.13. Отчет по устройству Oven для случая четырех сборщиков

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

Задание 3.2. Из папки Примеры загрузите модель Пример 34.gps. Выполните исследование модели для случая 4, 5 и 6 сборщиков. Рассчитайте прибыль предприятия в каждом случае. Результаты сведите в таблицу. Какое количество сборщиков является оптимальным? Можно ли считать результаты моделирования достаточно точными?

 




Поделиться с друзьями:


Дата добавления: 2015-05-26; Просмотров: 1001; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.032 сек.