SIMULATE
* Генераторы покупателей для маленькой, средней и большой покупок
GENERATE 14,5 ; Генерация покупателя для маленькой покупки
TRANSFER ,START_MALL_SMALL
GENERATE 47,14 ; Генерация покупателя для средней покупки
TRANSFER ,START_MALL_MEDIUM
GENERATE 76,29 ; Генерация покупателя для большой покупки
TRANSFER ,START_MALL_LARGE
* Начало процесса для покупателей с маленькой покупкой
START_MALL_SMALL:
ADVANCE 4,2 ; Время на выбор маленькой покупки
TEST L Q$CASH_SMALL,2,LEAVE_STORE_SMALL ; Проверка длины очереди
ENTER CASH_SMALL,1 ; Встать в очередь на кассу для маленькой покупки
ADVANCE 5,2 ; Время обслуживания
LEAVE CASH_SMALL
TERMINATE 1
LEAVE_STORE_SMALL:
TERMINATE 1 ; Покупатель уходит из магазина
* Начало процесса для покупателей со средней покупкой
START_MALL_MEDIUM:
ADVANCE 21,8 ; Время на выбор средней покупки
TEST L Q$CASH_MEDIUM,3,LEAVE_STORE_MEDIUM ; Проверка длины очереди
ENTER CASH_MEDIUM,1 ; Встать в очередь на кассу для средней покупки
ADVANCE 13,7 ; Время обслуживания
LEAVE CASH_MEDIUM
TERMINATE 1
LEAVE_STORE_MEDIUM:
TERMINATE 1 ; Покупатель уходит из магазина
* Начало процесса для покупателей с большой покупкой
START_MALL_LARGE:
ADVANCE 49,13 ; Время на выбор большой покупки
TEST L Q$CASH_LARGE,5,LEAVE_STORE_LARGE ; Проверка длины очереди
ENTER CASH_LARGE,1 ; Встать в очередь на кассу для большой покупки
ADVANCE 29,11 ; Время обслуживания
LEAVE CASH_LARGE
TERMINATE 1
LEAVE_STORE_LARGE:
TERMINATE 1 ; Покупатель уходит из магазина
* Описание кассовых очередей
CASH_SMALL STORAGE 2
CASH_MEDIUM STORAGE 4
CASH_LARGE STORAGE 7
* Окончание моделирования
END
Пояснение к программе:
GENERATE 14,5 — генерирует покупателей с маленькими покупками каждые 14±5 минут.
ADVANCE 4,2 — имитирует время на выбор товара (4±2 минуты для маленькой покупки).
TEST L Q$CASH_SMALL,2,LEAVE_STORE_SMALL — проверяет длину очереди перед кассой. Если больше 2 человек, покупатель уходит.
ENTER CASH_SMALL,1 — покупатель занимает место в очереди на кассе.
ADVANCE 5,2 — имитирует время обслуживания (5±2 минуты для маленькой покупки).
LEAVE CASH_SMALL — покупатель уходит после обслуживания.
Моделирование на 1 день и на 1 неделю:
Для моделирования на 1 день: нужно установить продолжительность симуляции на 24 часа (1440 минут).
Для моделирования на 1 неделю: нужно установить продолжительность симуляции на 7 дней (10080 минут).
В GPSS это можно сделать с помощью команды START:
START 1440 ; Моделирование на 1 день
START 10080 ; Моделирование на 1 неделю