logo
Моделирование работы двух кассиров в банке

Логико-математическое описание модели

Модель работает по следующим правилам.

Все величины могут быть только целыми неотрицательными числами. Время обслуживания каждым кассиром одного клиента должно быть > 0. Кассир может принимать состояние «свободен» («0») или «занят» («1»). Состояние очереди, длина рабочего дня, максимальный поток людей в единицу времени {max enter) и количество обслуженных клиентов может быть > 0.

Значения входных параметров задаются перед началом работы модели.

В начальный момент времени кассиры свободны, очереди и количество обслуженных клиентов = 0.

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

Далее во время каждого такта (от единицы до длины рабочего дня) с помощью функции random, имеющей равномерное распределение, получаем случайное число вошедших людей от 0 до maxenter и происходит распределение их в очереди по правилу, указанному вьппе. Далее для каждого кассира проверяются условия, если он свободен, есть очередь и кассир успевает обслужить еще хотя бы одного клиента, то очередь становится на единицу меньше, кассир принимает состояние «занят» на время, которое необходимо ему, чтобы обслужить клиента, а количество обслуженных им людей становится больше на единицу. Если хотя бы одно из условий не выполняется, состояние модели на этом такте остается неизменным.