Практическое занятие №10. Проверка состояний
Для проверки состояния приборов и устройств используется блок
GATE X A,[B]
Блок работает в двух режимах: отказаво входе или разрешении во входе и альтернативном выходе. При работе в режиме отказаблок не пропускает транзакты, если соответствующий объект не находится в требуемом состоянии. Если условие выполняется, то транзакт входит блок и переходит к следующему блоку. ОперандA –имя проверяемого прибора или устройства. Врежиме альтернативного выхода при выполнении условияXтранзакт переходит в следующий блок, в противном случае транзакт переходит в блок с меткойB.В блоке используются условные операторы X:
• U –приборAиспользуется;
• NU -приборAне используется;
• SF –устройство занято, все емкости используются;
• SNF –устройствоAне заполнено (хотя бы одна единица емкости свободна);
• SE -устройство A пусто (каналы не заняты);
• SNE –устройство не пусто (хотя бы одна емкость используется;
Для проверки соотношения между двумя СЧА используется блок
TEST X A,B,C.
ОперандыAиB –сравниваемые СЧА(A X B), X –оператор сравнения, С –метка блока.В качествеXиспользуются операторы:G -больше,GE –больше или равно, L -меньше, LE –меньше или равно, E -равно, NE –не равно. Блок TESTработает в двух режимах:отказаво входе или разрешении во входе иальтернативном выходе.При работе врежиме отказа блок не пропускает транзакты, если условиеXне выполняется, иначе транзакт входит блок и переходит к следующему блоку.
Врежиме альтернативного выхода при выполнении условияXтранзакт переходит в следующий блок, в противном случае транзакт переходит в блок с меткой C.На рисунке 10-1 приведены примеры использования блоков GATEиTEST.
JOB STORAGE 2 GENERATE 80,40 mtk1 GATE SNF JOB,mtk2 ENTER JOB ADVANCE 150,50 LEAVE JOB TERMINATE 1 mtk2 ADVANCE 250,60 TRANSFER ,mtk1 |
GENERATE 4,2 TEST LE Q$JOB,1,mtk SAVEVALUE num+,1 ASSIGN num,X$num QUEUE QQ1 SEIZE JOB DEPART QQ1 ADVANCE 7,2 RELEASE JOB mtk TERMINATE 1 |
Рисунок 10-1. Примеры использования блоков GATEиTEST.
Для организации модели циклов используется блок LOOP A,B. Операнд A – параметр транзакта (параметр цикла), содержит число повторений какого-либо участка модели. Операнд B – метка блока, с которого начинается цикл. Метка должна быть расположена раньше блока. При входе в блок значение A уменьшается на 1. Цикл продолжается до достижения A нуля. На рисунке 10-2 представлен пример использования блока LOOP.
GENERATE ,,,1 ASSIGN 1,10000 mtk ADVANCE 100,10 SEIZE JOB ADVANCE 100,10 RELEASE JOB LOOP 1,mtk TERMINATE 1 |
Рисунок 10-2 Пример использования блока LOOP.
Выполнение работы
Задача 10-1
При изготовлении изделия необходимо трижды выполнить одну и ту же операцию. Изделия поступают равновероятно 5±3 минуты. Операция выполняется за 9±4 минуты. Определить количество изделий прошедших обработку и характеристики очереди на обработку.
Задача 10-2.
В пункте обслуживания клиентов два работника. Клиенты прибываю равномерно 5,5±3 минуты. Первый работник обслуживает равномерно 10,6±2,4 минуты, второй 15,8±3,2 минуты. Прибывающие клиенты обслуживаются только тогда, когда свободен хотя бы один из работников. Если оба работника заняты клиенты уходят, не занимая очереди. Создать модель. Промоделировать 8 часов. Потеря от ухода необслуженных клиентов 100 рублей за одного клиента. Подсчитать потери. Можно ли заменить второго работника на более расторопного с временем обслуживания 13,1±2,9, если повысить оплату на 800 рублей в день?
Задача 10-3.
В пункте обслуживания клиентов два работника. Интервалы прибытия клиентов представлены в таблице 10-1. Первый работник обслуживает равномерно 12±4 минуты, второй 15±4 минуты. Прибывающие клиенты обслуживаются по следующему правилу. Если первый работник занят, то к обслуживанию подключается второй работник. Создать модель. Промоделировать 40 часов (5 рабочих дней). Потеря от пребывания клиентов в очереди к первому работнику 100 рублей в час, к второму – 200 рублей в час. Подсчитать потери. Можно ли заменить второго работника на более расторопного с временем обслуживания 13,1±2,9, если повысить оплату на 800 рублей в день?
Таблица 10-1
Интервалы времени прибытия клиентов в минутах | Относительная частота |
0,40 | |
0,30 | |
0,15 | |
0,10 | |
0,05 |
Задача 10-4.
В пункте обслуживания клиентов два работника. Клиенты прибываю равномерно 8±3 минуты. Первый работник обслуживает равномерно 25±2 минуты, второй 15±3 минуты. Прибывающие клиенты обслуживаются только тогда, когда очередь к каждому не более 3-х. Если это условие не выполняется, то клиенты уходят, не занимая очереди. Создать модель. Промоделировать 8 часов. Потеря от ухода необслуженных клиентов 100 рублей за одного клиента. Подсчитать потери. Можно ли заменить второго работника на более расторопного с временем обслуживания 20±2 минуты, если повысить оплату на 800 рублей в день?
Задача 10-5.
Осуществляется обслуживание клиентов двух категорий, которые осуществляют благотворительные взносы. Интервалы поступления взносов (прибытия клиентов) представлены в таблице 10-2. Интервалы величин взносов представлены в таблице 10-3. Взносы делятся на большие – не менее 1000 рублей малые от 500 до 999 рублей.
Таблица 10-2
Интервалы времени оформления поступления денежных средств в минутах | Относительная частота |
0,10 | |
0,20 | |
0,40 | |
0,20 | |
0,10 |
Таблица 10-3
Интервалы времени оформления поступления денежных средств в минутах | Относительная частота |
0,40 | |
0,30 | |
0,15 | |
0,10 | |
0,05 |
Обслуживание клиентов с большим взносом (благодарности, прием в клуб спонсоров) равновероятно от 1 до 3 минут, с малым взносом равновероятно от 0 до 2 минут.
Необходимо построить модель. Промоделировать 8 часов модельного времени. Определить количество клиентов и суммы взносов по каждой категории. Количество клиентов, чей взнос не был принят, т.к. был менее 500 рублей.