SIMULATE
* Модель банка с 4 кабинетами и 3 очередями
* Определение очередей
QUEUE Q1 * Очередь 1
QUEUE Q2 * Очередь 2
QUEUE Q3 * Очередь 3
* Определение кабинетов (4 кабинета)
STORAGE S1,4 * 4 единицы ресурса (кабинеты)
* Таблицы для сбора статистики
QTABLES Q1,20,1,20 * Таблица для очереди 1 (макс 20 клиентов)
QTABLES Q2,20,1,20 * Таблица для очереди 2
QTABLES Q3,20,1,20 * Таблица для очереди 3
GENERATE 10.5,2.5 * Клиенты приходят в среднем каждые 10.5±2.5 минут (8-13)
*
* Распределение клиентов по очередям (33% - Q1, 33% - Q2, 34% - Q3)
*
TRANSFER 0.333,Q1LINE,,Q2LINE
Q1LINE QUEUE Q1 * Вход в очередь 1
TABLE Q1TIME,0,5,20 * Таблица времени в очереди 1
MARK TIME1 * Начало отсчета времени в очереди
SEIZE S1 * Захват свободного кабинета
DEPART Q1 * Выход из очереди 1
TABULATE Q1TIME * Фиксация времени в очереди 1
ADVANCE 14,4 * Обслуживание 14±4 минут (10-18)
RELEASE S1 * Освобождение кабинета
TERMINATE * Клиент уходит
Q2LINE QUEUE Q2 * Вход в очередь 2
TABLE Q2TIME,0,5,20 * Таблица времени в очереди 2
MARK TIME2 * Начало отсчета времени в очереди
SEIZE S1 * Захват свободного кабинета
DEPART Q2 * Выход из очереди 2
TABULATE Q2TIME * Фиксация времени в очереди 2
ADVANCE 14,4 * Обслуживание 14±4 минут (10-18)
RELEASE S1 * Освобождение кабинета
TERMINATE * Клиент уходит
Q3LINE QUEUE Q3 * Вход в очередь 3
TABLE Q3TIME,0,5,20 * Таблица времени в очереди 3
MARK TIME3 * Начало отсчета времени в очереди
SEIZE S1 * Захват свободного кабинета
DEPART Q3 * Выход из очереди 3
TABULATE Q3TIME * Фиксация времени в очереди 3
ADVANCE 14,4 * Обслуживание 14±4 минут (10-18)
RELEASE S1 * Освобождение кабинета
TERMINATE * Клиент уходит
* Запуск симуляции на 1000 минут
START 1000
* Вывод статистики
PRINT 'Средняя длина очереди Q1:',Q1$AVERAGE
PRINT 'Максимальная длина очереди Q1:',Q1$MAXIMUM
PRINT 'Среднее время в очереди Q1:',Q1TIME$AVERAGE
PRINT 'Максимальное время в очереди Q1:',Q1TIME$MAXIMUM
PRINT 'Средняя длина очереди Q2:',Q2$AVERAGE
PRINT 'Максимальная длина очереди Q2:',Q2$MAXIMUM
PRINT 'Среднее время в очереди Q2:',Q2TIME$AVERAGE
PRINT 'Максимальное время в очереди Q2:',Q2TIME$MAXIMUM
PRINT 'Средняя длина очереди Q3:',Q3$AVERAGE
PRINT 'Максимальная длина очереди Q3:',Q3$MAXIMUM
PRINT 'Среднее время в очереди Q3:',Q3TIME$AVERAGE
PRINT 'Максимальное время в очереди Q3:',Q3TIME$MAXIMUM
END