Моделирование очередей Delphi

Источник: codingrus
Kest

Предположим, что вы отвечаете за разработку регистрационного счетчика для
нового терминала авиакомпании и хотите сравнить возможности одной многопо-
точной очеред
и и нескольких обычных очередей. Вам нужны были бы какие-то
модели поведения пассажиров. При рассмотрении этого примера можно исходить
из следующих предположений:
а каждый клиент обслуживается от двух до пяти минут;
а при использовании нескольких однопоточных очередей прибывающие пас-
сажиры встают в самую короткую;
а скорость поступления пассажиров примерно одинакова.
Программа HeadedQ моделирует данную ситуацию. Вы можете изменить не-
которые параметры моделирования, такие как:
число прибывающих в течение часа клиентов;
минимальное и максимальное время, затрачиваемое на обслуживание каж-
дого клиента;
количество свободных служащих;
паузу между шагами программы в миллисекундах.
При выполнении программы модель показывает прошедшее, среднее и макси-
мальное время ожидания пассажирами обслуживания и процент времени, в тече-
ние которого служащие заняты.
Поскольку вы проводите эксперименты с разными параметрами, обратите вни-
мание на несколько любопытных фактов. Во-первых, для многопоточной очереди
среднее и максимальное время ожидания будет меньше. При этом служащие так-
же оказываются немного более загружены, чем в случае однопоточной очереди.
Оба типа очереди имеют некоторый порог, после которого время ожидания пас-
сажиров значительно увеличивается. Предположим, что на обслуживание одного
пассажира требуется от 2 до 10 мин (в среднем 6 мин). Если поток пассажиров со-
ставляет 60 человек в час, то персонал потратит около 6 * 60 = 360 мин в час, чтобы
обслужить всех клиентов. Разделив это значение на 60 мин в часе, получим, что для
обслуживания клиентов в этом случае потребуется 6 клерков.
Если запустить программу HeadedQ, с этими параметрами, то вы обнаружите,
что очереди движутся достаточно быстро. Для многопоточной очереди среднее
время ожидания составит всего несколько минут. Если добавить еще одного слу-
жащего, чтобы их было 7, среднее и максимальное время ожидания значительно
уменьшится. Среднее время ожидания для многопоточной очереди упадет на де-
сятки минут.
С другой стороны, если сократить число служащих до 5, это приведет к боль-
шому увеличению среднего и максимального времени ожидания. Кроме того, вре-
мя ожидания возрастает и с увеличением времени тестирования. Чем дольше вы-
полняется тестирование, тем больше будут задержки.
В табл. 3.1 приведены значения среднего и максимального времени ожидания
для различных типов очередей. Здесь программа выполняла моделирование в те-
чение трех часов, предполагалось, что в час обслуживается 60 пассажиров и на об-
служивание каждого из них уходит от 2 до 10 мин.
Таблица 3.1. Время ожидания в минутах для одно- и многопоточных очередей
Время ожидания в минутах для одно- и многопоточных очередей
Многопоточная очередь также кажется более удобной, чем обычная, посколь-
ку пассажиры обслуживаются в порядке прибытия.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=30214