Модель работает по следующим правилам.
Все величины могут быть только целыми неотрицательными числами. Время обслуживания каждым кассиром одного клиента должно быть > 0. Кассир может принимать состояние «свободен» («0») или «занят» («1»). Состояние очереди, длина рабочего дня, максимальный поток людей в единицу времени {max enter) и количество обслуженных клиентов может быть > 0.
Значения входных параметров задаются перед началом работы модели.
В начальный момент времени кассиры свободны, очереди и количество обслуженных клиентов = 0.
Распределение потока людей происходит по правилу выравнивания очереди, т.е. каждый из вошедших оценивает длину обеих очередей и встает в ту, которая короче. В случае равных очередей предпочтение отдается первому кассиру.
Далее во время каждого такта (от единицы до длины рабочего дня) с помощью функции random, имеющей равномерное распределение, получаем случайное число вошедших людей от 0 до maxenter и происходит распределение их в очереди по правилу, указанному вьппе. Далее для каждого кассира проверяются условия, если он свободен, есть очередь и кассир успевает обслужить еще хотя бы одного клиента, то очередь становится на единицу меньше, кассир принимает состояние «занят» на время, которое необходимо ему, чтобы обслужить клиента, а количество обслуженных им людей становится больше на единицу. Если хотя бы одно из условий не выполняется, состояние модели на этом такте остается неизменным.
Выбор средств моделирования
Существуют специальные языки и системы моделирования, например GPSS и Arena. Но на изучение хотя бы одного из этих средств ушло бы слишком много времени. Из известных мне средств выбор стоял между электронными таблицами Excel и средой программирования Delphi6. Но реализация моего алгоритма в Excel состояла бы из очень громоздких и сложных логических выражений, тогда как в Delphi6 тот же самый алгоритм выглядит достаточно просто. А также среда Delphi6 очень удобна в плане отладки алгоритма и визуализации результатов. Следовательно, оптимальным выбором является Delphi6.
|
Анализ работы модели
Проанализируем работу модели, задавая разные входные параметры.
Для начала посмотрим ситуацию, когда длина рабочего дня равна нулю (рис. 1). Этот рисунок отражает состояние модели в начальный момент времени.
Далее (рис. 2) показана ситуация, когда в банк никто не приходил за все время его работы. Поэтому состояние кассиров всегда «свободен», длины очередей весь день = 0, а, следовательно, и количество обслуженных клиентов = 0. В этом случае стоит проверить, не заперты ли двери. Или лучше разрекламировать этот банк, а то так недолго и разориться.
В следующих случаях в качестве длины рабочего дня были выбраны числа 10 и 12, т.к. при таких параметрах на графике хорошо виден результат - точки не сливаются, и т.к. 12 кратно 2*3 = 6 (2 иЗ- время работы кассиров с одним клиентом), а 10 кратно 1*1 = 1 (аналогично).
На рис. 3 заметен приоритет распределения очереди. Поток людей небольшой, поэтому очереди к обоим кассирам часто = 0, а по приоритету вошедшие идут к первому кассиру, поэтому второй весь день отдыхает. Здесь же видна ситуация с отказом. В конце дня ко второму кассиру все-таки пришел один человек, но он отказался его обслужить, т.к. на это ему нужно 3 единицы времени, а осталось всего 2. В этой ситуации руководителю банка стоит задуматься о сокращении штата кассиров. И сократить следует второго, т.к. он работает медленнее. Рассчитаем количество людей, обслуженных первым кассиром: длина рабочего дня = 12 единицам, из них 2 первый кассир отдыхал, а т.к. на обслуживание одного клиента он тратит две единицы времени, то за день он обслужил (12-2)/2 = 5 клиентов.
|
На рис. 4 кассиры отлично справляются со своими обязанностями, несмотря на то, что максимальное количество заявок равно четырем, потому что скорость обслуживания довольно высокая - на одного клиента каждый кассир тратит всего по одной единице времени. Следовательно, т.к. они не отдыхали, то каждый из них обслужил по 10 человек, потому что 10 - это длина рабочего дня. В этой ситуации кассиры в состоянии обслужить всех клиентов без отказов.
На рис. 5 показан очень напряженный рабочий день. Интенсивность потока людей увеличилась всего на одну единицу по сравнению с предыдущей ситуацией, и рабочий день увеличился на 2 единицы, но очереди при этом достигают длины 10 человек, несмотря на то, что кассиры добросовестно трудятся весь день. В этом случае руководству банка рекомендуется нанять на работу еще хотя бы одного кассира, т.к. двое не справляются с таким объемом заявок. Рассчитаем количество обслуженных людей: оба кассира трудились не покладая рук, поэтому первый обслужил 12 / 2 = 6 клиентов, а второй 12/3 = 4 клиентов (2 и 3 - время на обслуживание одного клиента соответственно первым и вторым кассирами, 12 - длина рабочего дня).
Из рассмотренных ситуаций, можно сделать вывод, что модель работает правильно. При этом кассиры во время работы не отвлекаются на посторонние дела и добросовестно относятся к своим обязанностям.
|
Заключение
В данной курсовой работе была построена и проанализирована модель работы двух кассиров банке. А также были получены величины, характеризующие количество обслуженных людей каждым из кассиров, и графики, отражающие состояние кассиров и очередей к их кассам в каждый момент времени в течение рабочего дня. На основе проведенного анализа можно утверждать, что модель правдоподобно отражает работу двух кассиров в банке.
Приложение
Рис. 1.
Рис. 2.
Рис. 3.
Рис.4.
Рис.5.
Список используемой литературы
1. Варфоломеев В.И. Алгоритмическое моделирование элементов экономических систем. - М.: Финансы и статистика, 2000.
2. Кобелев Б.Н. Основы имитационного моделирования сложных экономических систем. -М.: Дело, 2003.
3. Афанасьев М.Ю., Суворов Б.П. Исследование операций в конкретных ситуациях. - М.: Изд-во МГУ, 1999.