Обычно последним шагом перед началом машинной реализацией модели является проверка достоверности схемы модели, чтобы получить результаты, адекватные тем, которые могли быть получены при проведении натурального эксперимента с реальной системой.
В рассматриваемой задаче проверка достоверности проводится просто, так как блок - диаграмма GPSS однозначно соответствует формализации модели в виде Q-схемы. Для этого достаточно ещё раз сопоставить блок - диаграмму с Q-схемой модели с учётом расширения описания элементов Q-схемы (источников, накопителей и каналов) блоками различных категорий GPSS.
2
Рис. 2. Блок - диаграмма GPSS исследуемой системы.
Текст программы.
При достаточной подробности схемы программы, отражающей все операции логической схемы модели, можно приступить к программированию модели.
Для данного задания, переход от блок - диаграммы GPSS к программе, является формальным шагом, так как заключается в записи пространственной структуры в линейной виде, что не требует специальных навыков. Следующая GPSS - программа получена из блок - диаграммы.
NN1 STORAGE 10 //выделение 10 памяти для NN1
NN2 STORAGE 10 //выделение 10 памяти для NN2
MET1 GENERATE 5,1 //интервал поступления деталей 1-ого типа
SPLIT 4 //копирование 4 деталей, 5 деталей идет далее.
QUEUE QUE1 //занятие очереди QUE1
ENTER NN1 //вход в накопитель NN1
DEPART QUE1 //освобождение очереди QUE1
SAVEVALUE 1+,1 //увеличивает и сохраняет значение
TEST E Q1,10,MET3 //проверяем условие: если Q1=10, то переход к метке MET3
LEAVE NN1,10 //освобождает 10 единиц памяти в накопителе NN1
TERMINATE 9 //уничтожение 9 транзактов
MET2 GENERATE 20.7 //интервал поступления деталей 2-ого типа
SPLIT 19 //копирование 19 деталей 20 деталей идут далее.
QUEUE QUE2 //занятие очереди QUE2
ENTER NN2 //вход в накопитель NN2
DEPART QUE2 //освобождение очереди QUE2
TEST E Q2,10,MET3 //проверяем условие: если Q2=10, то переход к метке MET3
LEAVE NN2,10 // освобождает 10 единиц памяти в накопителе NN2
MET3 SEIZE KAN //занятие канала KAN
ADVANCE 10 //обработка в канале KAN
RELEASE KAN //освобождение KAN
TERMINATE //уничтожение транзакта
GENERATE 480 //время работы конвейера
TERMINATE 1 //уничтожение транзакта
START 1
END
Описание текста программы.
Выделяем память под накопитель NN1 равную 10 и NN2 равную 10.
После этого в метке MET 1 начинается генерация транзактов с частотой 5±1. При помощи блока SPLIT создается 4 копии, а 5 транзактов идут далее через очередь в накопитель NN1. Блоком SAVEVALUE увеличиваем значение. При помощи блока TEST проверяем значение, если наличие деталей равно 10, то значение передается в метку MET 3. Далее идет освобождение в памяти NN1 10 единиц памяти уничтожение 9 транзактов.
В метке MET 2 начинается генерация транзактов с частотой 20±7. При помощи блок SPLIT создается 19 копии, а 20 транзактов идут далее через очередь в накопитель NN2. При помощи блок TEST проверяем значение, если наличие деталей равно 10, то значение передается в метку MET 3. Далее идет освобождение в памяти NN2 10 единиц памяти уничтожение 9 транзактов.
В метку MET 3 поступают детали с MET 1 и MET 2 в количестве 10 штук каждого типа и обрабатываются в течение 10 минут и удаляются из системы.
Один транзакт генерируется через интервал 480 минут времени.
Блок TERMINATE удаляет 1 транзакт из системы и вычитается 1 из счетчика числа завершенной карты START.
Результаты моделирования.
Получение и интерпретация результатов исследования - это третий этап моделирования, когда инструментальная ПЭВМ используется для проведения рабочих расчётов по составленной и отлаженной программе. Результаты этих расчётов позволяют провести анализ и сформулировать выводы о характеристиках процесса функционирования моделируемой системы. При реализации моделирующих алгоритмов на ПЭВМ вырабатывается информация о состояниях процесса функционирования исследуемой системы, которая является исходным материалом для приближённой оценки искомых характеристик, получаемых в результате имитационного эксперимента с моделью.
В результате прогона модели были получены следующие результаты:
REAL_TIME START END_TIME BLOCKS FACIL. STORAG. QUEUE
00:00 0 480 23 1 2 2
______________________________________________________
1 | N=96 ¦ W=0 | GENERATE ¦ 5 ¦ 1
2 | N=480 ¦ W=0 | SPLIT ¦ 4
3 | N=480 ¦ W=470 | QUEUE ¦ QUE1
4 | N=10 ¦ W=0 | ENTER ¦ NN1
5 | N=10 ¦ W=0 | DEPART ¦ QUE1
6 | N=10 ¦ W=0 | SAVEVALUE ¦ 1+ ¦ 1
7 | N=10 ¦ W=0 | TEST E ¦ Q1 ¦ 10 ¦ MET3
8 | N=0 ¦ W=0 | LEAVE ¦ NN1 ¦ 10
9 | N=0 ¦ W=0 | TERMINATE ¦ 9
10 | N=24 ¦ W=0 | GENERATE ¦ 20 ¦ 7
11 | N=480 ¦ W=0 | SPLIT ¦ 19
12 | N=480 ¦ W=470 | QUEUE ¦ QUE2
13 | N=10 ¦ W=0 | ENTER ¦ NN2
14 | N=10 ¦ W=0 | DEPART ¦ QUE2
15 | N=10 ¦ W=0 | TEST E ¦ Q2 ¦ 10 ¦ MET3
16 | N=0 ¦ W=0 | LEAVE ¦ NN2 ¦ 10
17 | N=0 ¦ W=0 | TERMINATE ¦ 9
18 | N=20 ¦ W=0 | SEIZE ¦ KAN
19 | N=20 ¦ W=0 | ADVANCE ¦ 10
20 | N=20 ¦ W=0 | RELEASE ¦ KAN
21 | N=20 ¦ W=0 | TERMINATE
22 | N=1 ¦ W=0 | GENERATE ¦ 480
23 | N=1 ¦ W=0 | TERMINATE ¦ 1
FACILITY ENTRIES UTIL. AVE.TIME
KAN 20 0,4167 10,0000
QUEUE MAX CONT. ENTRIES ENTRIES(0)AVE.CONT AVE.TIME
QUE1 470 470 480 10 231,4063 231,4063
QUE2 470 470 480 10 223,5000 223,5000
STORAGE CAP. REMAIN MIN MAX ENTRIES AVE.C. UTIL.
NN1 10 0 10 10 9,8646 0,9865
NN2 10 0 10 10 9,5000 0,9500
SAVEVALUE VALUE
1 10
Первый блок содержит общие сведения о модели и ее прогоне
Из него можно узнать следующее:
1. Модельное время начала (START_TIME) - 0;
2. Модельное время окончания (END_TIME) прогона - 480;
3. Количество блоков в модели (BLOCKS) - 23;
4. Количество устройств (FACILITIES) - 1;
5. Количество накопителей (STORAGES) - 2;
6. Количество многоканальных устройств или очередей (QUEUE) - 2;
Из второго блока можно получить сведения об устройствах модели.
По данному отчету можно сказать следующее:
1. В исследуемой системе использовано одно устройство с именем (FACILITIES)
KAN;
2. Устройства занимались (ENTRIES) 20 раз;
3. Коэффициенты использования (UTIL.) составили 0,4167;
4. Среднее время на одно занятие (AVE. TIME) - 10 минут;
Третий блок содержит сведения о всех очередях, используемых в системе.
Третий блок содержит сведения обо всех накопителях, используемых в системе.
NN1 10 5 5 5 4,9479 0,4948
NN2 10 0 10 10 9,5833 0,9583
По представленным сведениям можно сказать следующее:
1. Моделируемая система содержит два накопителя (STORAGES) с именами NN1 и NN2;
2. Емкость устройства (CAP.) памяти равна 10, 10 соответственно;
3. Количество свободных каналов в момент завершения моделирования (REMAIN.) - 5, 0 соответственно;
4. Наименьшее (MIN) количество занятых каналов в процессе моделирования - 5, 10 соответственно;
5. Наибольшее (MAX) количество занятых каналов в процессе моделирования - 5, 10 соответственно;
6. Количество занятий МКУ (ENTRIES) - 5, 10 соответственно;
7. Среднее количество занятых каналов в процессе (AVE. C.) - 4,9479 и 9,5833 соответственно;
8. Коэффициент использования (UTIL.) составили - 0,4948, 0,9583 соответственно.
Эксперимент.
Определим целесообразность перехода на секции по 20 деталей с временем комплектации 20 минут.
NN1 STORAGE 20 //выделение 20 памяти для NN1
NN2 STORAGE 20 //выделение 20 памяти для NN2
MET1 GENERATE 5.1 //интервал поступления деталей TIP1
SEIZE TIP1 //занятие канала TIP1
SPLIT 4 //копирование 4 деталей, 1 деталь идет далее.
TEST E Q1,20,MET3 //проверяем условие: если Q1=20, то переход к метке MET3
TEST L Q1,20,NN1 //проверяем условие: если Q1?20, то переход в накопитель NN1
LEAVE NN1,20 //освобождает 20 единиц памяти в накопителе NN1
TERMINATE 19 //уничтожение 19 транзактов
RELEASE TIP1 //освобождение канала TIP1
TRANSFER ,MET3 //переход к метке MET3
MET2 GENERATE 20.7 //интервал поступления деталей TIP2
SEIZE TIP2 //занятие канала TIP2
SPLIT 19 //копирование 19 деталей1 деталь идет далее.
TEST E Q2,20,MET3 //проверяем условие: если Q2=20, то переход к метке MET3
TEST L Q2,20,NN2 // проверяем условие: если Q1?20, то переход в накопитель NN2
LEAVE NN2,20 // освобождает 20 единиц памяти в накопителе NN2
RELEASE TIP2 //освобождение канала TIP2
ADVANCE 20 //обработка в канале KAN
------------------------------------------------------------------------------------------------------------
00:00 0 480 26 3 2 0
1 | N=1 ¦ W=1 | GENERATE ¦ 5.1
2 | N=1 ¦ W=0 | SEIZE ¦ TIP1
3 | N=5 ¦ W=0 | SPLIT ¦ 4
4 | N=5 ¦ W=0 | ENTER ¦ NN1
5 | N=5 ¦ W=0 | TEST E ¦ Q1 ¦ 20 ¦ MET3
6 | N=0 ¦ W=0 | TEST L ¦ Q1 ¦ 20 ¦ NN1
7 | N=0 ¦ W=0 | LEAVE ¦ NN1 ¦ 10
8 | N=0 ¦ W=0 | TERMINATE ¦ 19
9 | N=0 ¦ W=0 | RELEASE ¦ TIP1
10 | N=0 ¦ W=0 | TRANSFER ¦ MET3
11 | N=1 ¦ W=1 | GENERATE ¦ 20.7
12 | N=1 ¦ W=0 | SEIZE ¦ TIP2
13 | N=20 ¦ W=0 | SPLIT ¦ 19
14 | N=20 ¦ W=0 | ENTER ¦ NN2
15 | N=20 ¦ W=1 | TEST E ¦ Q2 ¦ 20 ¦ MET3
16 | N=0 ¦ W=0 | TEST L ¦ Q2 ¦ 20 ¦ NN2
17 | N=0 ¦ W=0 | LEAVE ¦ NN2 ¦ 20
18 | N=0 ¦ W=0 | TERMINATE ¦ 19
19 | N=0 ¦ W=0 | RELEASE ¦ TIP2
20 | N=0 ¦ W=0 | TRANSFER ¦ MET3
21 | N=24 ¦ W=0 | SEIZE ¦ KAN
22 | N=24 ¦ W=1 | ADVANCE ¦ 20
23 | N=23 ¦ W=0 | RELEASE ¦ KAN
24 | N=23 ¦ W=0 | TERMINATE
25 | N=1 ¦ W=0 | GENERATE ¦ 480
26 | N=1 ¦ W=0 | TERMINATE ¦ 1
TIP1 1 0,9896 475,0000
KAN 24 0,9896 19,7917
TIP2 1 0,9583 460,0000
NN1 20 15 5 5 4,9479 0,2474
NN2 20 0 20 20 19,1667 0,9583
3. Количество блоков в модели (BLOCKS) - 26;
4. Количество устройств (FACILITIES) - 3;
6. Количество многоканальных устройств или очередей (QUEUE) - 0;
1. В исследуемой системе использованы три устройства с именами (FACILITIES)
TIP1, KAN, TIP2;
2. Устройства занимались (ENTRIES) 1, 24, 1 раз соответственно;
3. Коэффициенты использования (UTIL.) составили 0,9896, 0,9896, 0,9583 соответственно;
4. Среднее время на одно занятие (AVE. TIME) - 475, 10,7917, 460 соответственно.
2. Емкость устройства (CAP.) памяти равна 20, 20 соответственно;
3. Количество свободных каналов в момент завершения моделирования (REMAIN.) - 15, 0 соответственно;
4. Наименьшее (MIN) количество занятых каналов в процессе моделирования - 5, 20 соответственно;
5. Наибольшее (MAX) количество занятых каналов в процессе моделирования - 5, 20 соответственно;
6. Количество занятий МКУ (ENTRIES) - 5, 20 соответственно;
7. Среднее количество занятых каналов в процессе (AVE. C.) - 4,9479 и 19,1667 соответственно;
8. Коэффициент использования (UTIL.) составили - 0,2474, 0,9583 соответственно.
Сравнивая результаты работы конвейера вмещающего 10 деталей и время обработки 10 минут с результатом работы конвейера вмещающего 20 деталей и время обработки 20 минут можно заметить, что:
Коэффициент использования устройства KAN ниже (0,3125 и 0,9896 соответственно).
Страницы: 1, 2