Модель системы массового обслуживания на Симуле
I. Постановка задачи.
В студенческом машинном зале расположены две мини-ЭВМ и одно
устройство подготовки данных (УПД). Студенты приходят с интервалом 8±3 мин.
и треть из них хочет испытать УПД и ЭВМ, а остальные только ЭВМ. Допустимое
количество студентов в машинном зале 4 чел., включая работающего на УПД.
Работа на УПД занимает 9±4 мин. Работа на ЭВМ - 15±10 мин.; 20%
работавших на ЭВМ возвращаются для повторного использования УПД и ЭВМ и
остаются при этом в машинном зале.
Если студент пришел в машинный зал, а там уже есть 4 чел., то он ждет
не более 15±2 мин. в очереди в машинный зал и, если нет возможности в
течение этого времени начать работать, то он уходит.
Смоделировать работу в машинном зале в течение 48 часов.
Определить:
- загрузку УПД и обеих ЭВМ,
- максимальную длину очереди в машинный зал,
- среднее время ожидания в очереди в машинный зал,
- распределение общего времени работы студента в машинном зале,
- количество студентов, которые не дождались возможности поработать и
ушли.
II. Решение задачи.
1. Текст программы.
Текст программы полностью приведен в конце данного документа.
2. Схема решения в терминах предметной области.
Собираясь приступить к работе в машинном зале, студент подходит к нему
и проверяет, есть ли очередь в машинный зал. Если таковой нет, то он ищет в
последнем свободное место, а если очередь есть, то становится в ее конец.
Затем, либо входит в машинный зал, либо создает очередь, состоящую из
одного человека (его самого). После этого ждет в течение 15±2 мин. Если за
это время место в зале не освобождается, студент уходит, в противном же
случае, он покидает очередь и попадает в машинный зал.
Работа студента в машинном зале происходит следующим образом. Студент
определяет, приступить ли ему к работе УПД, а затем на одной из ЭВМ (по
условию задачи, число таких студентов составляет треть от общего числа
посетителей) или пройти сразу к ЭВМ (все остальные). После работы на ЭВМ
каждый студент может либо покинуть машинный зал, либо приступить к
повторной работе (20%), теперь уже точно на УПД и ЭВМ.
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. Процессы.
GENER – процесс, имитирующий появление студента у машинного зала;
STUDENT – процесс, описывающий действия студента;
COMP – процесс, изображающий работу двух мини-ЭВМ;
UPD – процесс, изображающий работу УПД;
3. Получение результатов.
Для получения результатов используются перечисленные в пункте 2.3.1
глобальные переменные и следующие соотношения:
Загрузка УПД = 1 - ;
Загрузка ЭВМ = 1 - ;
Число ушедших студентов = Num;
Максимальная длина очереди = MAX;
Среднее время ожидания в очереди = .
Распределение общего времени работы студента в машинном зале получено
в виде массивов std и tim.
4. Комментарии к программе.
Подробные комментарии приведены в тексте программы в конце данного
документа.
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. Исследование адекватности модели.
1. Метод исследования.
Рассмотренный далее метод не претендует на абсолютную точность, но,
тем не менее, позволяет примерно оценить соответствие модели реальной
ситуации.
Метод заключается в использовании внесения изменений в начальные
данные. При этом анализируются изменения получаемых результатов.
2. Применение метода к поставленной задаче.
Вся информация по измененным входным данным и полученным результатам
представлена в таблице 3.1 Знаком “|” отделяются значения для исходной
задачи от значений для задачи, получаемой в результате внесения изменений.
Таблица 3.1
|Параметр |Загрузка |Загрузка |Максима|Среднее |Число |
| |УПД, % |ЭВМ, % |льная |время |ушедших |
| | | |длина |ожидания, |студентов, |
| | | |очереди|мин. |чел. |
| | | |, чел. | | |
|Время | | | | | |
|работы | | | | | |
|системы |33,8 | |81,2 | |3 | 3 |9,79 | 9,72|109 | 324 |
|48 | 100 |32,0 |83,1 | | | |
|часов | | | | | |
|Число | | | | | |
|мини-ЭВМ |33,8 | |81,2 | |3 | 3 |9,79 | |109 | 229 |
|2 | 1 |21,4 |81,0 | |12,12 | |
|шт. | | | | | |
|Число | | | | | |
|человек в|33,8 | |81,2 | |3 | 3 |9,79 | 9,76|109 | 149 |
|зале |31,8 |83,6 | | | |
|4 | 2 | | | | | |
|Интервал | | | | | |
|между | | | | | |
|приходами|33,8 | |81,2 | |3 | 18 |9,79 | |109 | 2650 |
|студентов|34,0 |83,2 | |14,36 | |
| | | | | | |
|8±3 | 1 | | | | | |
|Число | | | | | |
|желающих | | | | | |
|использов|33,8 | |81,2 | |3 | 3 |9,79 | |109 | 192 |
|ать УПД и|47,1 |76,6 | |11,17 | |
|ЭВМ | | | | | |
|33 | 66 | | | | | |
|% | | | | | |
Приведенные здесь результаты показывают, что полученная модель с
достаточной точностью отображает реальную ситуацию в рамках поставленной
задачи.
IV. Сравнительный анализ моделей.
В приведенной ниже таблице даны искомые значения, полученные при
помощи двух моделей: в реализации на GPSS и в реализации на языке Симула.
Таблица 4.1
|Величина |GPSS |Симула |
|Загрузка УПД |55,2 |33,8 |
|Загрузка ЭВМ |96,5 |81,2 |
|Число ушедших |78 |109 |
|студентов | | |
|Максимальная длина |4 |3 |
|очереди | | |
|Среднее время |9,02 |9,79 |
|ожидания | | |
Как видно, приведенные величины отличаются друг от друга
несущественно. Это означает, что обе модели с достаточной точностью можно
считать адекватными друг другу .