Постановка задачи.
В студенческом машинном зале расположены две мини-ЭВМ и одно устройство подготовки данных (УПД). Студенты приходят с интервалом 8±3 мин. и треть из них хочет испытать УПД и ЭВМ, а остальные только ЭВМ. Допустимое количество студентов в машинном зале 4 чел., включая работающего на УПД. Работа на УПД занимает 9±4 мин. Работа на ЭВМ - 15±10 мин.; 20% работавших на ЭВМ возвращаются для повторного использования УПД и ЭВМ и остаются при этом в машинном зале. Если студент пришел в машинный зал, а там уже есть 4 чел., то он ждет не более 15±2 мин. в очереди в машинный зал и, если нет возможности в течение этого времени начать работать, то он уходит. Смоделировать работу в машинном зале в течение 48 часов. Определить: загрузку УПД и обеих ЭВМ, максимальную длину очереди в машинный зал, среднее время ожидания в очереди в машинный зал, распределение общего времени работы студента в машинном зале, количество студентов, которые не дождались возможности поработать и ушли. Решение задачи. Текст программы.
Текст программы полностью приведен в конце данного документа. Схема решения в терминах предметной области.
Собираясь приступить к работе в машинном зале, студент подходит к нему и проверяет, есть ли очередь в машинный зал. Если таковой нет, то он ищет в последнем свободное место, а если очередь есть, то становится в ее конец. Затем, либо входит в машинный зал, либо создает очередь, состоящую из одного человека (его самого). После этого ждет в течение 15±2 мин. Если за это время место в зале не освобождается, студент уходит, в противном же случае, он покидает очередь и попадает в машинный зал. Работа студента в машинном зале происходит следующим образом. Студент определяет, приступить ли ему к работе УПД, а затем на одной из ЭВМ (по условию задачи, число таких студентов составляет треть от общего числа посетителей) или пройти сразу к ЭВМ (все остальные). После работы на ЭВМ каждый студент может либо покинуть машинный зал, либо приступить к повторной работе (20%), теперь уже точно на УПД и ЭВМ. Схема решения в терминах GPSS. Переменные и параметры.
В качестве студентов в рамках данной модели будут рассматриваться транзакты. VB1 – значение максимально возможного времени ожидания студента в очереди; вычисляется для каждого транзакта в отдельности. X1 – счетчик системного времени в минутах. P1 – параметр транзакта, определяющий его время вхождения в очередь. P2 – параметр, изображающий характеристику “нетерпеливости” студента как максимальное время пребывания транзакта в очереди. P3 – время пребывания студента в очереди: меняется в процессе движения транзакта внутри очереди. X2 – используется для промежуточных вычислений. X3 – количество транзактов, пребывающих в очереди. Устройства, очереди и накопители.
OZD – очередь в машинный зал. CCL – накопитель емкостью в четыре транзакта, изображающий машинный зал. UPD – устройство, изображающее УПД. COM – накопитель емкостью в два транзакта, изображающий пару мини-ЭВМ. MWT – таблица распределения общего времени работы студента в машинном зале. Комментарии к программе.
Подробные комментарии приведены в тексте программы в конце данного документа. Однако стоит отметить, что в рамках модели, минимальной (и основной) единицей времени является минута; а также то, что транзакт не попадает в очередь, если она отсутствует и есть место в машинном зале. Результаты.
Получены следующие результаты: Загрузка УПД – 55,2% Загрузка ЭВМ – 96,5% Максимальная длина очереди – 4 чел. Среднее время ожидания в очереди – 9,02 мин. Количество ушедших студентов – 78 Распределение общего времени работы студентов в машинном зале приведено в таблице 2.1. Таблица 2.1 Интервалы времени | Число студентов | Суммарная вероятность | 0 – 15 | 36 | 12.59 | 15 – 30 | 106 | 49,65 | 30 – 45 | 78 | 76,92 | 45 – 60 | 15 | 82,72 | 60 – 75 | 23 | 90,21 | 75 – 90 | 16 | 95,80 | 90 – 105 | 7 | 98,25 | 105 – 120 | 3 | 99,30 | 120 - 135 | 2 | 100,00 |
Исследование адекватности модели. Метод исследования.
Рассмотренный далее метод не претендует на абсолютную точность, но, тем не менее, позволяет примерно оценить соответствие модели реальной ситуации. Метод заключается в использовании внесения изменений в начальные данные. При этом анализируются изменения получаемых результатов. Применение метода к поставленной задаче.
Вся информация по измененным входным данным и полученным результатам представлена в таблице 3.1 Знаком “|” отделяются значения для исходной задачи от значений для задачи, получаемой в результате внесения изменений. Таблица 3.1 Параметр | Загрузка УПД, % | Загрузка ЭВМ, % | Максимальная длина очереди, чел. | Среднее время ожидания, мин. | Число ушедших студентов, чел. | Время работы системы 48 | 100 часов |
55,2 | 53,7 |
96,5 | 97,4 |
4 | 4 |
9,02 | 8,81 |
78 | 152
| Число мини-ЭВМ 2 | 1 шт. |
55,2 | 29,7 |
96,5 | 99,6 |
4 | 4 |
9,02 | 11,87 |
78 | 203 | Число человек в зале 4 | 2 |
55,2 | 41,2 |
96,5 | 74,0 |
4 | 4 |
9,02 | 9,83 |
78 | 116 | Интервал между приходами студентов 8±3 | 1 |
55,2 | 56,2 |
96,5 | 99,3 |
4 | 19 |
9,02 | 15,10 |
78 | 2545 | Число желающих использовать УПД и ЭВМ 33 | 50 % |
55,2 | 66,6 |
96,5 | 95,8 |
4 | 4 |
9,02 | 8,30 |
78 | 56 |
Приведенные здесь результаты показывают, что полученная модель с достаточной точностью отображает реальную ситуацию в рамках поставленной задачи. 10 SIMULATE 20 GENERATE 8,3 генерация транзактов, изображающих студентов 30 VB1 VARIABLE RN1/200+13 вычисление максимально возможного времени пребывания студента в ; очереди 40 ASSIGN 3,0 разница между временем встраивания студента в очередь и текущим ; моментом 50 ASSIGN 2,V$VB1 запись максимального времени 60 ASSIGN 1,X1 время вхождения студента в очередь 70 TEST NE X3,0,ENR если очередь пуста, перейти к проверке занятости машинного зала 80 ENO QUEUE OZD регистрация в очереди 90 SAVEVALUE 3+,1 увеличение размера очереди 100 ADC ADVANCE 1 задержка студента в ожидании свободного места в машинном зале 110 GATE SF CCL,DPT если в машинном зале есть место, покинуть очередь 120 SAVEVALUE 2,X1 запись текущего времени 130 SAVEVALUE 2-,P1 вычисление разницы между текущим временем и временем вхождения 140 ASSIGN 3,X2 и запись разницы 150 TEST LE P3,P2,DPT если разница превысила время ожидания, покинуть очередь, 160 TRANSFER ,ADC в противном случае, снова ждать одну минуту 170 DPT SAVEVALUE 3-,1 уменьшение числа студентов в очереди 180 DEPART OZD студент покидает очередь 190 TEST G P3,P2,EN1 если разница не превышает времени ожидания, занять место в зале, 200 TERMINATE в противном случае, покинуть машинный зал 210 ENR GATE SNF CCL,ENO если в машинном зале нет мест, встать в очередь, 220 EN1 ENTER CCL в противном случае, занять свободное место 230 MARK отметка начала работы студента в машинном зале 240 TRANSFER .333,CP1,UP1 треть студентов выполняет работу на УПД и ЭВМ, остальные толь- ; ко на ЭВМ 250 UP1 SEIZE UPD студент занимает место на УПД 260 ADVANCE 9,4 и работает некоторое время, 270 RELEASE UPD затем покидает УПД и 280 CP1 ENTER COM занимает место за одной из двух ЭВМ, 290 ADVANCE 15,10 работает в течении нескольких минут и 300 LEAVE COM покидает ЭВМ 310 TRANSFER .200,LVE,UP1 20% студентов возвращаются для повторного использования УПД и ; ЭВМ 320 LVE LEAVE CCL студент покидает машинный зал 330 TABULATE MWT фиксация времени пребывания студента в машинном зале 340 TERMINATE студент уходит 350 GENERATE 1 моделирование времени работы системы 360 SAVEVALUE 1+,1 счетчик времени (в минутах) 370 TRM TERMINATE 1 одна минута системного времени прошла 380 CCL STORAGE 4 вместительность машинного зала 390 COM STORAGE 2 количество ЭВМ 400 MWT TABLE M1,15,15,15 описание таблицы распределения общего времени работы студента ; в машинном зале 410 START 2880 работа системы в течении 48 часов (60*48=2880 часов) |