Моделирование работы двух кассиров в банке
Международный университет природы, общества и человека «Дубна»
Кафедра системного анализа и управления
Курсовая работа
по моделированию экономических процессов и систем
на тему:
Моделирование работы двух кассиров в банке
Руководитель: Тятюшкина О.Ю
Выполнила:
« » 2004 г. Распопова Т. А.
Проверила:
« » " 2004 г. Тятюшкина О.Ю.
Оглавление
Введение 3
Постановка задачи 3
Теоретическая часть 4
Логико-математическое описание модели 8
Выбор средств моделирования 9
Анализ работы модели 9
Заключение 10
Приложение 1
Введение
В современном мире мы повсюду сталкиваемся с системами массового обслуживания. Это могут быть билетные кассы, станки на производстве или даже экзамены. Как часто прибегая в кассу мы слышали, что рабочий день уже окончен, хотя на часах есть еще пять минут. Обидно, но интересно узнать, почему это происходит. Неужели только из-за нерадивости работников! И как определить руководителю предприятия, сколько станков нужно, чтобы справиться с работой, при минимуме простоев? Это и есть задача имитационного моделирования СМО.
Цели проведения имитационных экспериментов могут быть самыми различными - от выявления свойств и закономерностей исследуемой системы, до решения конкретных практических задач. С развитием средств вычислительной техники и программного обеспечения, спектр применения имитации существенно расширился в сфере экономики. В настоящее время ее используют как для решения задач внутрифирменного управления, так и для моделирования управления на макроэкономическом уровне.
Работа двух кассиров в банке - типичная задача имитационного моделирования, поэтому я и решила ее исследовать.
Постановка задачи
Цель. Необходимо на основе заданных параметров построить и проанализировать модель, имитирующую работу двух кассиров в банке.
Представление о модели. Имеются два кассира. Для каждого из них задано время обслуживания одного клиента. Также задано максимальное количество входящих в единицу времени людей в банк и длина рабочего дня, в течение которого кассиры обслуживают приходящих людей.
Исходные данные. ИД являются значения входных параметров (время обслуживания одного клиента каждым кассиром, максимальное количество входящих в единицу времени людей в банк и длина рабочего дня), которые по желанию можно менять.
Результат. Результатом работы модели должны быть величины, характеризующие количество обслуженных людей каждым из кассиров, а также графики, отражающие состояние кассиров и очередей к их кассам в каждый момент времени в течение рабочего дня.
Критерий оценки результата. Модель должна правдоподобно отражать события реального мира, т.е. работу двух кассиров в банке.
Теоретическая часть
В общем случае, под имитацией (simulation) понимают процесс проведения на ЭВМ экспериментов с математическими моделями сложных систем реального мира.
Целью имитационного моделирования является конструирование ИМ объекта и проведение имитационного эксперимента (ИЭ) над ним для изучения закона функционирования и поведения с учетом заданных ограничений и целевых функций в условиях имитации и взаимодействия с внешней средой.
В общем случае, проведение ИЭ можно разбить на следующие этапы.
Установить взаимосвязи между исходными и выходными показателями в виде математического уравнения или неравенства.
Задать законы распределения вероятностей для ключевых параметров модели.
Провести компьютерную имитацию значений ключевых параметров модели.
Рассчитать основные характеристики распределений исходных и выходных показателей.
5. Провести анализ полученных результатов и принять решение.
Результаты имитационного эксперимента могут быть дополнены статистическим анализом, а также использоваться для построения прогнозных моделей и сценариев.
Принципы и методы построения имитационных моделей.
Процесс функционирования сложной системы можно рассматривать как смену ее состояний, описываемых ее фазовыми переменными Z>x>(t), Z>2>(f),... Z„(t) в n-мерном пространстве.
Задачей имитационного моделирования является получение траектории движения рассматриваемой системы в и-мерном пространстве (Z>b> Z>2>, ... Z„), а также вычисление некоторых показателей, зависящих от выходных сигналов системы и характеризующих ее свойства.
В данном случае сдвижение» системы понимается в общем смысле - как любое изменение, происходящее в ней.
Известны два принципа построения модели процесса функционирования систем:
1. Принцип At. Рассмотрим этот принцип сначала для детерминированных систем. Предположим, что начальное состояние системы соответствует значениям Zi(t>0>), Z>2>(to), ... Z„(t>0>). Принцип At предполагает преобразование модели системы к такому виду, чтобы значения Z>b> Z>2>, ... Z„ в момент времени t>x> = t>0> + At можно было вьлислить через начальные значения, а в момент t>2> = t>x> + At через значения на предшествующем шаге и так для каждого г'-ого шага (At = const, i=\+ M).
Для систем, где случайность является определяющим фактором, принцип А? заключается в следующем:
Определяется условное распределение вероятности на первом шаге (^ = t>0> + At) для случайного вектора, обозначим его (Z>b> Z>2>, ... Z„). Условие состоит в том, что начальное состояние системы соответствует точке траектории (Z\, Z>2>°,...Z°).
Вычисляются значения координат точки траектории движения системы (t>x> = t>0> + At), как значения координат случайного вектора, заданного распределением, найденным на предыдущем шаге.
Отыскиваются условное распределение вектора {Z\,Z\,...Z2>n>) на втором шаге
(t>2>= h+ At), при условии получения соответствующих значений Z) (/ = 1-^-я) на первом
шаге и т.д., пока t>t> = t>0>+i At не примет значения (t>M> = t>0>+ MAt).
Принцип At является универсальным, применим для широкого класса систем. Его недостатком является неэкономичность с точки зрения затрат машинного времени.
2. Принцип особых состояний (принцип az). При рассмотрении некоторых видов систем можно выделить два вида состояний:
обычное, в котором система находится большую часть времени, при этом Zi(t), (i = l+п) изменяются плавно;
особое, характерное для системы в некоторые моменты времени, причем состояние системы изменяется в эти моменты скачком.
Принцип особых состояний отличается от принципа At тем, что шаг по времени в этом случае не постоянен, является величиной случайной и вычисляется в соответствии с информацией о предыдущем особом состоянии.
Примерами систем, имеющих особые состояния, являются системы массового обслуживания. Особые состояния появляются в моменты поступления заявок, в моменты освобождения каналов и т.д.
Для таких систем применение принципа At является нерациональным, так как при этом возможны пропуски особых состояний и необходимы методы их обнаружения.
В практике использования имитационного моделирования описанные выше принципы при необходимости комбинируют.
Основными методами имитационного моделирования являются: аналитический метод, метод статического моделирования и комбинированный метод (аналитико-статистический) метод.
Аналитический метод применяется для имитации процессов в основном для малых и простых систем, где отсутствует фактор случайности. Например, когда процесс их функционирования описан дифференциальными или интегро-дифференциальными уравнениями. Метод назван условно, так как он объединяет возможности имитации процесса, модель которого получена в виде аналитически замкнутого решения, или решения полученного методами вычислительной математики.
Метод статистического моделирования первоначально развивался как метод статистических испытаний (Монте-Карло). Это - численный метод, состоящий в получении оценок вероятностных характеристик, совпадающих с решением аналитических задач (например, с решением уравнений и вычислением определенного интеграла). В последствии этот метод стал применяться для имитации процессов, происходящих в системах, внутри которых есть источник случайности или которые подвержены случайным воздействиям. Он получил название метода статистического моделирования.
Комбинированный метод (аналитико-статистический) позволяет объединить достоинства аналитического и статистического методов моделирования. Он применяется в случае разработки модели, состоящей из различных модулей, представляющих набор как статистических, так и аналитических моделей, которые взаимодействуют как единое целое. Причем в набор модулей могут входить не только модули соответствующие динамическим моделям, но и модули соответствующие статическим математическим моделям.
В математических моделях сложных объектов, представленных в виде систем массового обслуживания (СМО), фигурируют средства обслуживания, называемые обслуживающими аппаратами (ОА) или каналами, и обслуживаемые заявки, называемые транзактами.
Состояние СМО характеризуется состояниями ОА, транзактов и очередей к ОА. Состояние ОА описывается двоичной переменной, которая может принимать значения «занят» или «свободен». Переменная, характеризующая состояние транзакта, может иметь значения «обслуживания» или «ожидания». Состояние очереди характеризуется количеством находящихся в ней транзактов.
Потоком событий называется последовательность однородных событий, следующих одно за другим в случайные моменты времени. Важной характеристикой потока событий является его интенсивность Я— среднее число событий, приходящееся на единицу времени. Интенсивность потока может быть как постоянной {Л = const), так и переменной, зависящей от времени t. Поток событий называется регулярным, если события следуют одно за другим через определенные, равные промежутки времени. На практике чаще встречаются потоки нерегулярные, со случайными интервалами.
Поток событий называется стационарным, если его вероятностные характеристики не зависят от времени. Поток событий называется потоком без последействия, если для любых двух непересекающихся интервалов времени t>x> и t>2 >число событий, попадающих на один из них, не зависит от того, сколько событий попало на другой. Это означает, что заявки попадают в систему независимо друг от друга.
Поток событий называется ординарным, если события в нем появляются поодиночке, а не группами по нескольку сразу. Если поток событий ординарен, то вероятностью попадания на малый интервал времени t двух или более событий можно пренебречь.
Поток событий называется простейшим (или стационарным пуассоновским), если он обладает сразу тремя свойствами: стационарен, ординарен и не имеет последействия. Название «простейший» связано с тем, что процессы, связанные с простейшими потоками, имеют наиболее простое математическое описание. Самый простой, на первый взгляд, регулярный поток не является «простейшим», так как обладает последействием: моменты появления событий в таком потоке связаны жесткой функциональной зависимостью.
СМО могут быть одноканальными и многоканальными.
Процесс работы СМО представляет собой случайный процесс с дискретными состояниями и непрерывным временем; состояние СМО меняется скачком в моменты появления каких-то событий (прихода новой заявки, окончания обслуживания, момента, когда заявка, которой «надоело ждать», покидает очередь).
Предмет теории массового обслуживания - построение математических моделей, связывающих заданные условия работы СМО (число каналов, их производительность, правила работы, характер потока заявок) с интересующими нас характеристиками - показателями эффективности СМО, описывающими, с той или другой точки зрения, ее способность справляться с потоком заявок. В качестве таких показателей (в зависимости от обстановки и целей исследования) могут применяться разные величины, например: среднее число заявок, обслуживаемых СМО в единицу времени; среднее число занятых каналов; среднее число заявок в очереди и среднее время ожидания обслуживания; вероятность того, что число заявок в очереди превысит какое-то значение, простои, и т. д.
Системы массового обслуживания делятся на типы (или классы) по ряду признаков. Первое деление: СМО с отказами и СМО с очередью. В СМО с отказами заявка, поступившая в момент, когда все каналы заняты, получает отказ, покидает СМО и в дальнейшем процессе обслуживания не участвует. В СМО с очередью заявка, пришедшая в момент, когда все каналы заняты, не уходит, а становится в очередь и ожидает возможности быть обслуженной. На практике чаще встречаются (и имеют большее значение) СМО с очередью. СМО с очередью подразделяются на разные виды, в зависимости от того, как организована очередь - ограничена она или не ограничена. Ограничения могут касаться как длины очереди, так и времени ожидания (так называемые «СМО с нетерпеливыми заявками»). При анализе СМО должна учитываться также и «дисциплина обслуживания» - заявки могут обслуживаться либо в порядке поступления (раньше пришла, раньше обслуживается), либо в случайном порядке. Величина, характеризующее право на первоочередное обслуживание, называется приоритетом. При освобождении канала на обслуживание принимается заявка из непустой очереди с наиболее высоким приоритетом. Существуют СМО с так называемым многофазовым обслуживанием, состоящим из нескольких последовательных этапов или «фаз».
Кроме этих признаков, СМО делятся на два класса: «открытые» и «замкнутые». В открытой СМО характеристики потока заявок не зависят от того, в каком состоянии находится сама СМО (сколько каналов занято). В замкнутой СМО - зависят.
Логико-математическое описание модели
Модель работает по следующим правилам.
Все величины могут быть только целыми неотрицательными числами. Время обслуживания каждым кассиром одного клиента должно быть > 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.
Список используемой литературы
Варфоломеев В.И. Алгоритмическое моделирование элементов экономических систем. - М.: Финансы и статистика, 2000.
Кобелев Б.Н. Основы имитационного моделирования сложных экономических систем. -М.: Дело, 2003.
Афанасьев М.Ю., Суворов Б.П. Исследование операций в конкретных ситуациях. - М.: Изд-во МГУ, 1999.