Научная статья на тему 'Реализация имитационной модели работы банковского отделения средствами инструментальной среды AnyLogic'

Реализация имитационной модели работы банковского отделения средствами инструментальной среды AnyLogic Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1183
173
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИМИТАЦИОННАЯ МОДЕЛЬ / ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ / ANYLOGIC / БАНКОВСКОЕ ОТДЕЛЕНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бороненко Татьяна Алексеевна, Федотова Вера Сергеевна

В статье рассмотрены особенности имитационного моделирования как современного способа анализа сложных систем. Продемонстрированы возможности инструментальной среды AnyLogic в моделировании систем массового обслуживания на примере построения имитационной модели работы банковского отделения. Представлено последовательное усложнение модели за счет включения в ее содержание дополнительных элементов. Охарактеризованы способы динамичного управления пользователем параметрами модели в ходе ее эксплуатации. Уделено внимание организации автоматизированного сбора статистики для оценки результатов моделирования средствами AnyLogic.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Реализация имитационной модели работы банковского отделения средствами инструментальной среды AnyLogic»

УДК 004.94

Бороненко Татьяна Алексеевна

доктор педагогических наук, профессор kafivm@lengu.ru

Федотова Вера Сергеевна

кандидат педагогических наук, доцент vera1983@yandex.ru

Реализация

имитационной модели работы банковского отделения средствами инструментальной среды anylogic

Аннотация. В статье рассмотрены особенности имитационного моделирования как современного способа анализа сложных систем. Продемонстрированы возможности инструментальной среды AnyLogic в моделировании систем массового обслуживания на примере построения имитационной модели работы банковского отделения. Представлено последовательное усложнение модели за счет включения в ее содержание дополнительных элементов. Охарактеризованы способы динамичного управления пользователем параметрами модели в ходе ее эксплуатации. Уделено внимание организации автоматизированного сбора статистики для оценки результатов моделирования средствами AnyLogic.

Ключевые слова: имитационная модель, имитационное моделирование, AnyLogic, банковское отделение.

Tatyana A. Boronenko

D-r Sci (Ed.), Professor kafivm@lengu.ru

Vera S. Fedotova

Cand. Sci (Ed.) vera1983@yandex.ru

Implementation of

the simulation model of the banking branch using the anylogic tool environment

Annotation. The authors consider the features of simulation modeling as a modern way of analyzing complex systems. The authors demonstrate the capabilities of the AnyLogic tool environment in modeling queuing systems using the example of building a simulation model for the banking branch. The authors present a consistent complication of the model by including additional elements in its content. The authors characterize the methods of dynamic user management by the parameters of the model during its operation. The authors pay attention to the organization of automated collection of statistics to evaluate the results of modeling using AnyLogic.

Keywords: imitation model, simulation modeling, AnyLogic, banking department.

В

ведение

Имитационное моделирование является эффективным методом исследования сложных систем, методом научного исследования, инструментом моделирования [1]. Основными объектами имитационного моделирования, прежде всего, становятся модели массового обслуживания, ярким примером которых является банковское отделение. Повышение качества обслуживания в банковском секторе имеет важное значение для удовлетворенности клиентов. Лица, принимающие решения, особенно обеспокоены временем ожидания клиентов до получения их услуг. Чтобы оставаться конкурентоспособными,они должны постоянно улучшать качество своих услуг, измеряемых с точки зрения подходящих показателей эффективности. Исследователи фокусируют свое внимание на мо-

делировании и анализе банковских систем массового обслуживания. Так, в работе банковского отделения анализу подвергаются процессы обслуживания клиентов с точки зрения анализа поступления заявок в систему, интенсивности их обслуживания, определения оптимального количества обслуживающих устройств, таких как кассы, специалисты по различным операциям. Математическая модель системы массового обслуживания включает такие элементы как «входящий поток требований, который поступает на обслуживание; очередь, которая состоит из требований, ожидающих обслуживание; система обслуживания; выходные потоки обслуженных, утраченных требований и требований, которые поступают на повторное обслуживание; характеристика качественного состава системы; порядок обслуживания» [2, с. 25.]. В математической модели системы массового обслуживания важными

оказываются характеристики создаваемой очереди обслуживаемых заявок. «Очередь - самое распространенное явление в повседневной работе и жизни людей. Очереди имеют много форм, включая First Come First Service, Last Come First Service и Random Service и так далее. First Come First Service - наиболее распространенная форма очереди, соответствующая ожиданию автобусов или оплате в супермаркетах» [3, с. 164].

Для построения имитационных моделей и интерпретации результатов вычислительного эксперимента сегодня имеются современные системы моделирования, которые отличает развитая графическая оболочка, мультимедийные средства, удобный интерфейс, богатые анимационные возможностимоделирования в виртуальном и реальном масштабе времени, объектно-ориентированное программирование, диагностика ошибок, встроенные языкипрограммирова-ния для разработки специфических моделей и др.

Постановка задачи

Построим дискретно-событийную имитационную модель системы массового обслуживания на примере работы банковского отделения. Обслуживание клиентов в банковском отделении основывается на работе банкоматов (операции с наличностью) и стоек банковских работников, кассиров (оплата счетов). Рассматриваемая форма очереди - First Come First Service.

В научной литературе имеется ряд исследований, посвященных построению имитационных моделей банковского обслуживания. При этом спектр используемых программных сред достаточно широк с точки зрения их функционала, в том числерассматриваются как общедоступные, так и специальные программные среды «MS Excel, MATLAB Simulink, GPSS World, Arena, i Think, Power Sim и другие» [4, с. 57]. Сегодня, по нашему мнению, наиболее рационально проведение и обработка результатов вычислительного эксперимента средствами прикладной системы имитационного моделирования и организации математических и научных расчетов Any Logic. Данная инструментальная среда используется для разработки имитационных исполняемых моделей и их прогона, предусматривает различные стили моделирования.

Программирование в Any Logic основывается на визуальном представлении графических объектов иерархической структуры и описании поведения активных объектов. Создание имитационной модели Any Logic предполагает организацию классов активных объектов или использование объектов библиотеки Any Logic, задание их взаимосвязи. Основными средствами описания поведения объектов служат переменные (отражают изменяющиеся характеристики объекта), события (наступают с заданным интервалом времени и выполняют заданное действие) и диаграммы состояний (визуально представляют поведение объекта во времени под воздействием событий или условий, они состоят из графи-

ческого изображения состояний и переходов между ними), алгебраические и дифференциальные уравнения (записываются аналитически и отражают взаимосвязи между переменными в модели). Для реализации специальных вычислений и описания логики поведения активных объектов в Any Logic имеется мощный встроенный язык Java.

Имитационная среда моделирования Any Logic предусматривает использование модельного (условного логического времени, в единицах которого определено поведение всех объектов модели) и реального времени. При описании поведения объектов дифференциальными уравнениями модельное время изменяется непрерывно, в противном случае, если в модели присутствуют только дискретные события - дискретно, переключаясь от одного события к другому. Допуская режим модельного и реального времени, Any Logic позволяет пользователю на любом этапе эксплуатации модели свободно внедряться в ее работу, при необходимости изменять параметры модели. Тем самым на единой платформе осуществляется проектирование, разработка, выполнение компьютерного эксперимента, оптимизация параметров модели относительного выбранного критерия.

Создание модели имитационного моделирования Any Logic основано на использовании готового шаблона или разработки в целом новой модели. Первоначальное проектирование модели выполняется в графическом редактореинст-рументальной среды моделирования, который-содержит окно проекта (навигация по элементам проекта), структурную диаграмму (расположение и поведение их активных объектов), окно свойств (параметры каждого элемента), окно палитры (графические объекты, которые могут б ы ть добавлены на структурную диаграмму).

Проектирование имитационной модели банковского обслуживания

Для иллюстрации возможностей инструментальной среды Any Logic последовательно охарактеризуем процесс разработки простейшей модели работы банковского отделения, в последующем усложняя ее содержание.

На основе шаблона дискретно-событийной модели создадим модель работы банковского обслуживания клиентовс использованием банкоматов. Мастер создания модели Any Logic автоматически создает диаграмму процесса как последовательность соединенных блоков элементов основной библиотеки, которые определяют последовательность операций в обработке заявок. Данная модель имеет линейную диаграмму процесса и включает в себя четыре ключевых объекта: Source (источник) в котором происходит создание заявки в системе, т.е. имитация прихода клиента в отделение банка; Queue (очередь) в котором формируется очередь заявок в системе, т.е. имитация очереди клиентов; Delay (задержка) в котором моделируется временная ос-

тановка заявок в системе, т.е. имитируется обслуживание клиента у банкомата; Sink (сток), в котором происходит уничтожение заявок, т.е. имитируется уход клиентов из отделения банка.

Пользователь, осуществляющий имитационное моделирование,принимает участие в выборе объектов основной библиотеки Any Logic, соединении их портами, указании свойств блоков в соответствии с параметрами создаваемой модели. Он характеризует ресурсы создаваемой модели,длину очереди к обслуживающему устройству, анимацию объектов модели, гистограмму-распределения времени пребывания людей.

Первый объект линейной диаграммы - «Source» создает заявки определенного типа, т.е. объекты, которые производятся, обрабатываются, обслуживаются. В модели банковского обслуживания заявками являются посетители банка, а объект «Source» моделирует их поступление в банковское отделение. Заявки создаются через заданный пользователемчерез поле «Интенсивность прибытия» временной интервал. Определим, например, интенсивность прихода клиентов в банковское отделение будет 0,67.

Очередь клиентов, ожидающих освобождения банкомата, будет моделировать объект «Queue». Он задает очередь заявок, которые ожидают своего приема. В создаваемой модели банковского обслуживания он. Пусть максимальная длина очередив поле «Вместимость» будет равна 15. Это означает, что в очереди будут находиться не более 15 человек. Чтобы видеть все промежуточные и конечные результаты моделирования по количеству человек в очереди, установим флажок «Включить сбор» статистики.

Заявки будут задерживаться у банкомата, так как посетитель банковского отделения затрачивает некоторое время на выполнение необходимой ему операции. Смоделируем данный этап банковского обслуживания с помощью объекта «Delay». В предположении, что обслуживание одного клиента распределено по треугольному закону со средним значением 1, минимальным -0,8 и максимальным - 1,3, «время задерж-ки»определим значением функции генерации случайных значений triangular (0.8, 1, 1.3)). Известно, что Any Logic предоставляет функции и других случайных распределений.

Объект «Sink» используется в качестве конечной точки линейной диаграммы для уничтожения поступивших заявок.

Далее в соответствии с набором установок, задаваемым специальным элементом модели -экспериментом, модель запускается на выполнение. Запуск модели открывает пользователю окно презентации, где отображаются результаты проводимого эксперимента. В Any Logic автоматически создается блок-схема с нагляднымпред-ставлением хода процесса. По ней можно в любой момент времени анализировать текущее состояние модели (охарактеризовать длину очереди, количество обслуженных человек и так далее). Кнопки панели инструментов «Замед-

лить» и «Ускорить» позволяют управлять скоростью выполнения модели. Состоянием каждого блока диаграммы процесса во время выполнения модели, оценка значения текущих значений параметров и переменных выполняется в окне инспекта, где отображается базовая информация по выделенному блоку.

В целях повышения наглядности визуализации функционирования модели создадим динамическую анимацию работы банковского отделения, на которой представим схематическую анимацию банкомата и ведущую к нему очереди клиентов. При этом конкретное расположение объектов в пространстве в данном случае не важно. Пользователь наблюдает анимацию модели в том же графическом редакторе, где задана диаграмма процесса. В модели работы банковского отделения первоначально присвоена простейшая анимация - банкомат и ведущую к нему очередь клиентов. При этом цвет фигуры банкомата меняется в соответствии с состоянием обслуживания клиента в данный момент времени. Для создания такой анимации используются элементы «Овал» и «ломаная». Цвет кружка указывается в свойствах овала. На странице «Динамические панели свойств» задаются динамические свойства фигуры. Здесь находится список полей, в которых задаются значения динамических свойств фигуры. Для изменения цвета фигуры в ходе моделирования в поле соответствующего динамического свойства вводится выражение, которое при эксплуатации модели будет постоянно вычисляться заново, например, если банкомат занят, то цвет кружка будет красным (red), в противном случае - белым (white). В поле «Цвет заливки» введено: delay. size () > 0 ?red : white). Команда delay определяет имя моделируемого объекта «Delay». Функция size () возвращает число человек, обслуживаемых в данный момент времени. В режиме виртуального времени допускается максимально быстрое проигрывание модели.

Палитра «Картинки» позволяет задать в качестве фигуры анимации клиента изображение человека. По умолчанию заявка (посетитель банковского отделения) отображается на анимации прямоугольникоми имеет имя «person». Для связи введенной фигуры с моделью сообщим объекту «source» о необходимости использования добавленной фигуры человека в качестве объекта анимации заявки (клиента банка). С этой целью выделим объект «source» в графическом редакторе и в поле «Фигура анимации» заявки введем имя «person». Запуск моделипозволит наблюдать за моделируемым процессом с помощью анимации. Уже поступившие на обслуживание и ожидающие обслуживания в очереди клиенты отображаются в анимации картинками клиентов. При запуске модели пользователь наблюдает на диаграмме процесс анимации очереди клиентов к банкомату и анимацию занятости банкомата.

Для отображения средней занятости банкомата добавим диаграмму для сбора статистики по работе банковского отделения. Элементы сбора данных и статистики, а также диаграммы для

визуализации результатов моделирования: столбиковую диаграмму, диаграмму с накоплением, круговую диаграмму, график и др. содержит палитра «Статистика». Столбиковая диаграмма имеет заполненные поля: «Заголовок» -ATM utilization; «Значение» - delay. stats Utilization. mean (), при этом определяя ATM как имя моделируемого объекта «Delay», функция mean () возвращает среднее из всех измеренных этим набором данных значений. Могут использоваться и другие методы сбора статистики, например, min (), max ().

Аналогичным образом разместим вторую столбиковую диаграммудля сбора статистики о размере очереди объекта «Queue». Зададим следующие свойства «Заголовок» - Queuelength и «Значение» - queue. stats Size. mean (). Запуск модели позволяет понаблюдать за занятостью банкомата и средней длиной очереди.

Таким образом, теперь модель работы банковского отделения уже снабжена элементами сбора статистики использования ресурсов в виде столбиковых диаграмм, отображающих состояние средней занятости банкомата и средней длинны очереди (рис. 1).

Усложним модель, добавив в нее служащих, в роли которых выступают банковские кассиры. Их деятельность смоделируем объектом «Service». В модели этот объект характеризует обслуживание клиента кассиром или каким-то другим служащим банковского отделения. Предположим, что ко всем кассирам ведет одна общая очередь, максимальное количество человек в этой очереди 20, время обслуживания сгенерировано

triangular (2, 5, 6, 11). Добавим объект «Resource Pool» для определения ресурсов. В разрабатываемой модели ими будут банковские клерки. Изменим некоторые свойства созданного объекта. Зададим имя объекта tellers; число кассиров в поле «Количество ресурсов» определим равным 4. Между объектами «Source» и «Queue» заменим соединитель на объект «SelectOutput». Данный объектотвечает за принятие решений: будет ли заявка поступать на первый или второй выходной порт объекта. Определим данный выбор как равновероятным (p = 0,5). Таким образом, к кассирам и банкомату будет приходить примерно одинаковое количество клиентов.

Очередь клиентов, ожидающих обслуживания кассирами (queue Before Tellers), смоделируем ломаной (teller Places). Отметим кассиров в виде двух картинок, характеризующих занятого кассира (busy Teller) и свободного (idle Teller). С помощью бегунка зададим динамическую смену количества клерков, присутствующих в банковском отделении во время моделирования. Он будет изменять количество клерков в модели, демонстрируя, какое количество будет оптимально удовлетворять текущей интенсивности прихода клиентов в банковское отделение. Пусть пользователю предоставляется возможность варьировать количество клерков от 0 до 4. Для этого в свойствах в поле «Максимальное значение» введем значение 4. Наблюдение за изменением количества кассиров во время работы модели, позволяетконстатировать, сколько служащих необходимо для нормальной работы банковского отделения при заданной интенсивности прихода клиентов.

Рисунок 1 - Простейшая модель работы банковского отделения с анимацией и сбором статистики

На данном этапе модель дополнена новым методом обслуживания клиентов. Часть операций теперь выполняют банковские кассиры. Это осуществлено за счет включения в модель новых эле-ментов:Service (обслуживание), моделирующего обслуживание клиента кассиром; Resource Pool (объединение ресурсов), определяющего ресурсы - банковских кассиров. Также модель включает в себя анимацию вновь созданных объ-

ектов: работу кассиров и формирование очереди к ним. Использование гистограмм позволяет визуализировать статистику распределения времени обслуживания клиентов (какое время клиент проводит в банковском отделении и ожидает своей очереди). Запуск модели в режиме виртуального времени позволяет наблюдать, какой вид принимает распределение времени ожидания и пребывания клиента в системе (рис. 2).

Как видно, разработанная усложненная модель работы банковского отделения включает в себя диаграмму процесса (учитывающую работу клиентов с банкоматом и облуживание у клерков), анимацию очередей клиентов, обслуживаемых банкоматом и клерками, анимацию клиентов,

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

Рисунок 2 - Модель работы банковского отделения с отображением статистики ожидания и обслуживания клиентов

Заключение

Таким образом, имитационная модель работы банковского отделения характеризует структуру и визуализирует поведение реальной системы во времени. Такая модель позволяет получать подробную статистику о различных аспектах функционирования системы и в зависимости от входных данных, осуществить вычислительный

эксперимент по организации наиболее эффективной работы банковского отделения. Простота и наглядность интерфейса инструментальной среды Any Logic позволит эксплуатировать построенную модель специалистами различных сфер деятельности, желающих разноаспектно изучить реальное поведение банковской системы в различных условиях.

Литература:

1. Wheat i.D. Teaching endogenous money with systems thinking and simulation tools // International Journal of Pluralism and Economics Education. 2017. V. 8. № 3. Р. 219-243.

2. Короткая Л.И. Имитационное моделирование работы отделения коммерческого банка / Л.И. Короткая, Н.Ю. Науменко // Економiчний вюник ДВНЗ УкраТнський державний хiмiко-тех-нолопчний ушверситет. 2015. № 1. С. 24-27.

Literature:

1. Wheat i.D. Teaching endogenous money with systems thinking and simulation tools // International Journal of Pluralism and Economics Education. 2017. V. 8. № 3. P. 219-243.

2. Short L.I. Imitating modeling of work of office of commercial bank / L.I. Short, N.Yu. Naumenko // The Ekonomichny visnik of DVNZ Ukrainsky of derzhavniya of himiko-tekhnologichniya universitet. 2015. № 1. P. 24-27.

3. Zhiwei N. Simulation of Queuing Systems with Different Queuing Disciplines Based on Anylogic / N. Zhiwei, L. Xiaochun, L. Dongyuan // Electronic Commerce and Business Intelligence, 2009. ECBI 2009. International Conferenceon. IEEE. 2009. P. 164-167. DOI : 10.1109/ECBI.2009.52.

4. Щукина Н.А. Имитационная модель как элемент управления и оценки эффективности работы отделения банка // Иннов. 2017. № 1 (30). С. 57-62.

3. Zhiwei N. Simulation of Queuing Systems with Different Queuing Disciplines Based on Anylogic / N. Zhiwei, L. Xiaochun, L. Dongyuan // Electronic Commerce and Business Intelligence, 2009. ECBI 2009. International Conference on. IEEE. 2009. P. 164-167. DOI: 10.1109/ECBI.2009.52.

4. Schukina N.A. Imitating model as element of management and assessment of overall performance of the branch of the bank // Innov. 2017. № 1 (30). P. 57-62.

i Надоели баннеры? Вы всегда можете отключить рекламу.