Модель системы массового обслуживания на Симуле

I. Постановка задачи.

В студенческом машинном зале расположены две мини-ЭВМ и одно устройство подготовки данных (УПД). Студенты приходят с интервалом 8±3 мин. и треть из них хочет испытать УПД и ЭВМ, а остальные только ЭВМ. Допустимое количество студентов в машинном зале 4 чел., включая работающего на УПД.
Работа на УПД занимает 9±4 мин. Работа на ЭВМ - 15±10 мин.; 20% работавших на ЭВМ возвращаются для повторного использования УПД и ЭВМ и остаются при этом в машинном зале.
Если студент пришел в машинный зал, а там уже есть 4 чел., то он ждет не более 15±2 мин. в очереди в машинный зал и, если нет возможности в течение этого времени начать работать, то он уходит.
Смоделировать работу в машинном зале в течение 48 часов.
Определить:
- загрузку УПД и обеих ЭВМ,
- максимальную длину очереди в машинный зал,
- среднее время ожидания в очереди в машинный зал,
- распределение общего времени работы студента в машинном зале,
- количество студентов, которые не дождались возможности поработать и ушли.

II. Решение задачи.

2.1 Текст программы.

Текст программы полностью приведен в конце данного документа.

2.2 Схема решения в терминах предметной области.

Собираясь приступить к работе в машинном зале, студент подходит к нему и проверяет, есть ли очередь в машинный зал. Если таковой нет, то он ищет в последнем свободное место, а если очередь есть, то становится в ее конец. Затем, либо входит в машинный зал, либо создает очередь, состоящую из одного человека (его самого). После этого ждет в течение 15±2 мин. Если за это время место в зале не освобождается, студент уходит, в противном же случае, он покидает очередь и попадает в машинный зал.
Работа студента в машинном зале происходит следующим образом. Студент определяет, приступить ли ему к работе УПД, а затем на одной из ЭВМ (по условию задачи, число таких студентов составляет треть от общего числа посетителей) или пройти сразу к ЭВМ (все остальные). После работы на ЭВМ каждый студент может либо покинуть машинный зал, либо приступить к повторной работе (20%), теперь уже точно на УПД и ЭВМ.

2.3 Схема решения задачи в терминах языка Симула.
2.3.1 Глобальные переменные и массивы.

M,U,C,P – целые числа, служащие для создания в программе четырех различных потоков независимых величин;
I – счетчик цикла FOR (используется для вывода таблицы);
MZCap – целое число, обозначающее число мест в машинном зале;
Num – число студентов, покинувших очередь;
Nmb – число студентов, дождавшихся обслуживания;
MAX – максимальная длина очереди;
Toz – суммарное время ожидания в очереди;
Pupd – время простоя УПД;
Pcomp – время простоя обеих ЭВМ;
QUEUE – очередь в машинный зал;
QUPD – очередь на УПД;
QCOMP – очередь на ЭВМ;
UPD1 – ссылка на УПД;
COMP1 – ссылка на пару ЭВМ;
Std – массив действительных чисел из 10 элементов, в которые помещаются данные о числе студентов, проделавших работу за i-й интервал времени [Ti-1,Ti];
Tim – массив действительных чисел, в котором хранятся границы временных интервалов Ti.

2.3.2 Процессы.

GENER – процесс, имитирующий появление студента у машинного зала;
STUDENT – процесс, описывающий действия студента;
COMP – процесс, изображающий работу двух мини-ЭВМ;
UPD – процесс, изображающий работу УПД;

2.3.3 Получение результатов.

Для получения результатов используются перечисленные в пункте 2.3.1 глобальные переменные и следующие соотношения:

Загрузка УПД = 1 - ;
Загрузка ЭВМ = 1 - ;
Число ушедших студентов = Num;
Максимальная длина очереди = MAX;
Среднее время ожидания в очереди = .

Распределение общего времени работы студента в машинном зале получено в виде массивов std и tim.

2.3.4 Комментарии к программе.

Подробные комментарии приведены в тексте программы в конце данного документа.

2.3.5 Результаты.

Загрузка УПД = 33,8%;
Загрузка ЭВМ = 82,1%;
Число ушедших студентов = 109;
Максимальная длина очереди = 3;
Среднее время ожидания в очереди = 9,79 мин.
Распределение общего времени работы студентов в машинном зале приведено в таблице 2.1.
Таблица 2.1
Число студентов Интервалы времени
14 0 – 15
86 15 – 30
56 30 – 45
20 45 – 60
19 60 – 75
24 75 – 90
12 90 – 105
9 105 – 120
8 120 – 135

III. Исследование адекватности модели.

3.1 Метод исследования.

Рассмотренный далее метод не претендует на абсолютную точность, но, тем не менее, позволяет примерно оценить соответствие модели реальной ситуации.
Метод заключается в использовании внесения изменений в начальные данные. При этом анализируются изменения получаемых результатов.

3.2 Применение метода к поставленной задаче.

Вся информация по измененным входным данным и полученным результатам представлена в таблице 3.1 Знаком “|” отделяются значения для исходной задачи от значений для задачи, получаемой в результате внесения изменений.
Таблица 3.1
Параметр Загрузка УПД, % Загрузка ЭВМ, % Максимальная длина очереди, чел. Среднее время ожидания, мин. Число ушедших студентов, чел.
Время работы системы 48 | 100 часов 33,8 | 32,0 81,2 | 83,1 3 | 3 9,79 | 9,72 109 | 324
Число мини-ЭВМ 2 | 1 шт. 33,8 | 21,4 81,2 | 81,0 3 | 3 9,79 | 12,12 109 | 229
Число человек в зале 4 | 2 33,8 | 31,8 81,2 | 83,6 3 | 3 9,79 | 9,76 109 | 149
Интервал между приходами студентов 8±3 | 1 33,8 | 34,0 81,2 | 83,2 3 | 18 9,79 | 14,36 109 | 2650
Число желающих использовать УПД и ЭВМ 33 | 66 % 33,8 | 47,1 81,2 | 76,6 3 | 3 9,79 | 11,17 109 | 192

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

IV. Сравнительный анализ моделей.

В приведенной ниже таблице даны искомые значения, полученные при помощи двух моделей: в реализации на GPSS и в реализации на языке Симула.
Таблица 4.1
Величина GPSS Симула
Загрузка УПД 55,2 33,8
Загрузка ЭВМ 96,5 81,2
Число ушедших студентов 78 109
Максимальная длина очереди 4 3
Среднее время ожидания 9,02 9,79

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