Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
АМУРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
(ФГБОУ ВО «АмГУ»)
Факультет математики и информатики
Кафедра математического анализа и моделирования
Направление подготовки 01.04.02 – «Прикладная математика и информатика»
Направленность (профиль) образовательной программы «Математическое и
программное обеспечение вычислительных систем»
ДОПУСТИТЬ К ЗАЩИТЕ
И.о. зав. кафедрой
_____________ Н.Н. Максимова
«______»_______________ 2020 г.
МАГИСТЕРСКАЯ ДИССЕРТАЦИЯ
на тему: Имитационное моделирование работы супермаркета цифровой и
бытовой техники в программном пакете Anylogic
Исполнитель
студент группы 852ом
_______________
С.Ю. Тето
(подпись, дата)
Руководитель
доцент, канд. физ.-мат. наук
_______________
Н.Н. Максимова
(подпись, дата)
Руководитель научного
содержания программы
магистратуры
профессор, д-р физ.-мат. наук _______________
А.Г. Масловская
(подпись, дата)
Нормоконтроль
старший преподаватель
_______________
Л.И. Мороз
(подпись, дата)
Рецензент
доцент, канд. пед. наук
_______________
(подпись, дата)
Благовещенск 2020
Т.А. Юрьева
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
АМУРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
(ФГБОУ ВО «АмГУ»)
Факультет математики и информатики
Кафедра математического анализа и моделирования
УТВЕРЖДАЮ
И.о. зав. кафедрой
_____________ Н.Н. Максимова
«______»_______________2020 г.
ЗАДАНИЕ
К магистерской диссертации студента Тето Светлана Юрьевны
1. Тема магистерской диссертации: Имитационное моделирование работы
супермаркета цифровой и бытовой техники в программном пакете Anylogic
(утверждена приказом от 10.02.2020 № 283-уч)
2. Срок сдачи студентом законченной работы: 26.06.2020 г.
3. Исходные данные к магистерской диссертации: отчет по преддипломной
практике, средства автоматизации вычислений – ППП Matlab, средства
имитационного моделирования – пакет Anylogic, статистические сведения о
деятельности магазина
4. Содержание магистерской диссертации (перечень подлежащих разработке
вопросов): обзор теории систем массового обслуживания, обзор теории
имитационного моделирования, обзор средств имитационного моделирования,
постановка задачи моделирования работы супермаркета, математическая модель
упрощенной модели и расчет характеристик, блок-схема имитационной модели,
имитационная модель супермаркета
5. Перечень материалов приложения: использование результатов магистерской
диссертации в педагогической деятельности (разработка лабораторной работы
«Вычисление
предельных
характеристик
работы
супермаркета
с
использованием пакета ППП Matlab», разработка лабораторной работы
«Имитационное моделирование работы супермаркета в пакете Anylogic»),
листинг вычислительной программы «Исследование математической модели
работы
супермаркета
с
ограниченной
очередью
и
переменными
интенсивностями».
6. Консультанты по магистерской диссертации: рецензент – Юрьева Т.А.,
доцент, заведующий кафедрой общей математики и информатики, ФГБОУ ВО
«АмГУ», канд. пед. наук, доцент; нормоконтроль – Мороз Л.И., старший
преподаватель.
7. Дата выдачи задания: 20.02.2020 г.
Руководитель магистерской диссертации: Максимова Надежда Николаевна,
доцент, канд. физ.-мат. наук.
Задание принял к исполнению (20.02.2020): ______________ Тето С.Ю.
РЕФЕРАТ
Магистерская диссертация содержит 89 с., 42 рисунка, 2 таблицы, 4
приложения, 41 источник.
СИСТЕМА
МАССОВОГО
ОБСЛУЖИВАНИЯ,
ИМИТАЦИОННОЕ
МОДЕЛИРОВАНИЕ, ANYLOGIC, СРЕДНЕЕ ВРЕМЯ ОБСЛУЖИВАНИЯ,
СРЕДНЯЯ ДЛИННА ОЧЕРЕДИ, КАНАЛЫ, ЗАЯВКИ, ВРЕМЕННОЙ ГРАФИК,
ИНТЕНСИВНОСТЬ ПРИБЫТИЯ, МОДЕЛЬНОЕ ВРЕМЯ, БЛОК-СХЕМА
Объектом исследования выбрана система массового обслуживания.
Целью работы является построение имитационной модели работы
супермаркета цифровой и бытовой техники с учетом всех взаимодействий между
группами сотрудников.
Для достижения цели необходимо выполнить ряд поставленных задач:
-изучение основ теории систем массового обслуживания;
-ознакомление с понятиями имитационного моделирования систем
массового обслуживания, с прикладным пакетом Anylogic;
-построение имитационной модели работы супермаркета цифровой и
бытовой техники, вычисление основных характеристик и анализ результатов
работы имитационной модели.
Результаты работы докладывались и обсуждались на XXVIII научной
конференции «День науки АмГУ», на XX региональной научно-практической
конференции «Молодежь ХХI века: шаг в будущее», на II и III всероссийской
национальной научной конференции студентов, аспирантов и молодых ученых
«Молодежь и наука: Актуальные проблемы фундаментальных и прикладных
исследований».
По теме магистерской диссертации опубликовано пять работ в различных
изданиях.
СОДЕРЖАНИЕ
Введение
8
1 Основные понятия теории систем массового обслуживания
13
1.1 Основные понятия и определения
13
1.1.1 Поток событий. Марковский случайный процесс
15
1.1.2 Уравнения Колмогорова. Предельные вероятности состояний
16
1.1.3 Процессы гибели и размножения
19
1.2 Классификация систем массового обслуживания
20
1.3 Характеристики работы систем массового обслуживания
22
2 Имитационное моделирование систем массового обслуживания
32
2.1 Общие положения имитационного моделирования систем
32
массового обслуживания
2.2 Программы имитационного моделирования систем массового
34
Обслуживания
2.3 Возможности пакета Anylogic. Описание интерфейса Anylogic
36
2.4 Пример построения модели работы касс супермаркета
40
3 Моделирование работы супермаркета цифровой и бытовой техники
49
3.1 Постановка задачи
49
3.2 Построение и исследование математическое модели упрощенной
50
Задачи
3.3 Логическая схема имитационной модели
58
3.4 Построение имитационной модели супермаркета в Anylogic
62
3.5 Анализ результатов работы имитационной модели
65
Заключение
72
Библиографический список
75
Приложение А Использование результатов магистерской диссертации
80
в педагогической деятельности. Разработка лабораторной
работы «Вычисление предельных характеристик работы
супермаркета с использованием пакета ППП Matlab»
Приложение Б Использование результатов магистерской диссертации
83
в педагогической деятельности. Разработка лабораторной
работы
«Имитационное
моделирование
работы
супермаркета в пакете Anylogic»
Приложение В Листинг вычислительной программы
«Исследование
математической
85
модели
работы
супермаркета с ограниченной очередью и переменными
интенсивностями»
Приложение Г Изображения расписаний работы сотрудников
88
ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЕ, СОКРАЩЕНИЯ
ППП – пакет прикладных программ;
СМО – система массового обслуживания;
ТМО – теория массового обслуживания.
ВВЕДЕНИЕ
Во многих областях практической деятельности человек сталкивается с
необходимостью пребывания в состоянии ожидания. Подобные ситуации
возникают в очередях в билетных кассах, автозаправочных и телефонных
станциях, поликлиниках и т.д. Такие системы носят название систем массового
обслуживания,
их
изучением
занимается
теория
систем
массового
обслуживания. Предметом исследования теории массового обслуживания
являются вероятностные модели реальных систем обслуживания на основе
изучения потоков требований на обслуживание, которые поступают в систему и
выходят из неё, длительности ожидания и длины очередей [1]. В теории
массового обслуживания используются методы теории вероятностей и
математической статистики.
Каждая система массового обслуживания состоит из какого-либо числа
обслуживающих единиц, не всегда способных немедленно удовлетворить все
заявки. Образовывается очередь. Поэтому появляется задача – установить
взаимную зависимость между числом обслуживающих единиц и качеством
обслуживания. Качество обслуживания определяется различными параметрами:
это процент обслуженных заявок или заявок, получивших отказ, среднее число
занятых каналов, среднее время обслуживания, вероятность того, что число
заявок в очереди превысит какое-то значение [2].
Математическое моделирование СМО предполагает создание системы
дифференциальных уравнений для вычисления предельных вероятностей
нахождения системы в различных состояниях. Однако при создании моделей
сложных систем возникают трудности при учете всех возможных параметров,
влияющих на характеристики системы. Получаемые системы могут быть весьма
громоздкими. В этом случае применяют метод имитационного моделирования.
Моделируя реальные процессы, можно прогнозировать качество работы
системы. Изменяя параметры системы, пользователь может проследить, как
изменяется
эффективность
работы.
После
проведения
вычислительных
экспериментов можно сделать выводы о значениях параметров, при которых
система будет работать максимально эффективно [3].
Имитационное моделирование широко применяется в настоящее время для
решения множества задач. Оно широко используется в научной и учебной
деятельности, проектировании, в исследовании социальных и экономических
процессов, медицине, в космонавтике и авиации для моделирование обучающих
полётов, бизнес процессах и во многих других областях человеческой жизни.
Компьютерное моделирование нашло широкое применение в 60-г
прошлого века с появлением компьютеров. Это моделирование значительно
упростило проведение экспериментов, когда не существует возможности
провести данный эксперимент в реальном режиме из-за экономических аспектов,
длительности или опасности для жизни экспериментаторов.
В настоящее время существует довольно много программ, сред и платформ
для проведения имитационного моделирования. Они отличаются методами
моделирования, поставленными задачами, стоимостью, производителем. В
работе
используется
отечественного
прикладной
производства,
пакет
позволяет
Anylogic
–
это
инструмент
и
исследовать
разрабатывать
имитационные модели. Содержит три метода моделирования (агентное,
дискретно-событийное и системная динамика) и несколько библиотек для
построения моделей из различных областей [4-6].
В
данной
магистерской
диссертации
представлено
имитационное
моделирование работы супермаркета цифровой и бытовой техники.
Объектом диссертации является система массового обслуживания,
предметом – методы исследования таких систем.
Научная гипотеза – супермаркет представляет собой сложную СМО, для
ее исследования можно построить имитационную модель и по данной модели
вычислить характеристики функционирования при различных параметрах.
Целью работы является построение имитационной модели работы
супермаркета цифровой и бытовой техники с учетом всех взаимодействий между
группами сотрудников.
Для достижения цели необходимо выполнить ряд поставленных задач:
-изучение основных понятия систем массового обслуживания (поток
событий, заявки, каналы обслуживания, дисциплина очереди и т.д.),
классификаций систем массового обслуживания по типам и классам;
-представление основных показателей систем в зависимости от типа
систем;
-ознакомление с основами имитационного моделирования систем;
-исследование
возможностей
ряда
программ
имитационного
моделирования, в частности прикладного пакета Anylogic;
-построение
упрощенной
имитационной
модели
работы
касс
супермаркета, вычисление основных характеристик работы; сравнение с
математическими расчетами;
-построение имитационной модели работы супермаркета цифровой и
бытовой техники, вычисление основных характеристик;
-анализ результатов работы имитационной модели.
Новизна
магистерской
диссертации
заключается
в
построении
упрощённой математической модели работы супермаркета при непостоянных
интенсивностях
прихода
покупателей
и
случайных
интенсивностях
обслуживания, а также в построении имитационной модели реального
супермаркета с известными параметрами и характеристиками.
Методологической
базой
работы
являются
математическое
и
имитационное моделирование СМО.
Построенную имитационную модель можно применять на практике при
анализе
работы
супермаркета.
Использовать
статистические
данные
интенсивности прихода покупателей, время обслуживания клиентов за
прошедший период для вывода отчетов по эффективности обслуживания. Либо
ввести
такие
данные,
которые
спрогнозировали
более
улучшенную
эффективность обслуживания, и затем внедрить эти данные в работу.
Результаты работы докладывались и обсуждались на XXVIII научной
конференции «День науки АмГУ» (Благовещенск, 2019 г.), на XX региональной
научно-практической конференции «Молодежь ХХI века: шаг в будущее»
(Благовещенск, 2019
г.), на
II
всероссийской национальной научной
конференции студентов, аспирантов и молодых ученых «Молодежь и наука:
Актуальные проблемы фундаментальных и прикладных исследований»
(Комсомольск-на-Амуре, 2019 г.), на III всероссийской национальной научной
конференции молодых ученых «Молодежь и наука: Актуальные проблемы
фундаментальных и прикладных исследований» (Комсомольск-на-Амуре,
2020 г.), на научно-методических семинарах кафедры математического анализа
и моделирования ФГБОУ ВО «Амурский государственный университет» (20182020 гг.).
По теме магистерской диссертации опубликовано пять работ [7-11] в
различных изданиях:
-Информатика и системы управления (включен в перечень рецензируемых
научных изданий, в которых должны быть опубликованы основные научные
результаты диссертаций на соискание ученой степени кандидата наук, на
соискание ученой степени доктора наук по специальностям 05.13.17 –
Теоретические
основы
информатики
(технические
науки),
05.13.18
–
Математическое моделирование численные методы и комплексы программ
(технические науки), по состоянию на 24.03.2020 г.);
-Вестник Амурского государственного университета;
-материалы
XX
региональной
научно-практической
конференции
«Молодёжь XXI века: шаг в будущее»;
-материалы II всероссийской национальной научной конференции
студентов, аспирантов и молодых ученых «Молодежь и наука: Актуальные
проблемы фундаментальных и прикладных исследований»;
-материалы III всероссийской национальной научной конференции
молодых ученых «Молодежь и наука: Актуальные проблемы фундаментальных
и прикладных исследований».
Результаты магистерской диссертации могут быть использованы в
образовательном
процессе
при
изучении
дисциплин
«Математическое
моделирование» (специальность 09.02.03 Программирование в компьютерных
системах), «Теория игр и исследование операций», «Математическое и
компьютерное моделирование» (направление подготовки 01.03.02 Прикладная
математика и информатика) в рамках проведения лекционных, практических и
лабораторных занятий.
Магистерская диссертация состоит из введения, трех глав, заключения,
библиографического списка и трех приложений.
Первая
глава
посвящена
основным
понятиям
теории
массового
обслуживания, рассмотрены классификации систем массового обслуживания,
перечислены характеристики работы систем в зависимости от типа СМО. Вторая
глава посвящена имитационному моделированию. В первом пункте даны общие
положения имитационного моделирования системы массового обслуживания.
Во втором пункте представлены различные программы имитационного
моделирования, их возможности. В третьем пункте второй главы подробно
рассказывается
о
программе
имитационного
моделирования
Anylogic.
Заканчивается вторая глава примером построения имитационной модели работы
касс супермаркета. В третьей главе представлено построение имитационной
модели работы супермаркета цифровой и бытовой техники. В первом пункте –
постановка задачи. Во втором пункте – построение и математические расчеты
упрощенной модели в пакете Matlab. В третьем пункте строится логическая
блок-схема. В четвертом и пятом пунктах представлены сама модель в пакете
Anylogic и анализ работы системы. В Приложениях А и Б представлено
использование результатов магистерской диссертации в педагогической
деятельности в виде лабораторных работ по темам «Вычисление предельных
характеристик работы супермаркета с использованием пакета ППП Matlab»,
«Имитационное моделирование работы супермаркета в пакете Anylogic». В
Приложении В приведены листинги вычислительных программ, в Приложении
Г – изображения расписания работы сотрудников.
1 ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ СИСТЕМ МАССОВОГО
ОБСЛУЖИВАНИЯ
1.1 Основные понятия и определения
Система массового обслуживания зародилась из теории случайных
процессов. В ней используются методы теории вероятностей и математической
статистики.
Определение потока однородный событий, которая легла в основу
массового обслуживания, разработал советский математик А.Я. Хинчин.
Первые задачи теории массового обслуживания (ТМО) были рассмотрены
сотрудником Копенгагенской телефонной компании, ученым Агнером Эрлангом
в период 1908 и 1922 годами. Необходимо было упорядочить работу телефонной
станции и заранее рассчитать качество обслуживания потребителей в
зависимости от числа используемых устройств [12].
Каждая СМО состоит из обслуживающих единиц, не всегда способных
немедленно удовлетворить все заявки. Возникает очередь из заявок на
обслуживание.
Основной
задачей
при
моделировании
СМО
является
установление взаимной зависимости между числом обслуживающих единиц, их
параметрами и качеством обслуживания заявок. Качество обслуживания
определяется различными параметрами, которые характеризуют насколько
эффективно работает система. Этими параметрами могут выступать процент
обслуженных заявок или процент необслуженных заявок, среднее число занятых
каналов, среднее время нахождения в системе (время нахождения в очереди и
время обслуживания), вероятность того, что число заявок в очереди превысит
какое-то значение [2]. Обслуживающие единицы называются каналами. Под
каналами в реальных СМО можно понимать кассиров, линии связи, какие-либо
обслуживающие приборы и т.п. СМО по количеству каналов разделяют на
одноканальные или многоканальные. А любые объекты, которые поступают в
систему для обслуживания, называются требование (заявкой).
Заявки имеют свойства и признаки тех объектов, моделями которых они
являются. Они могут быть различных типов и отличаться друг от друга по
одному или нескольким параметрам. В процессе обслуживания заявки могут
изменять свой тип, объединяться с другими заявками или разбиваться на
несколько заявок нового типа.
Под случайным процессом понимается соответствие, при котором
каждому моменту из промежутка времени ставится в соответствии случайная
величина, называемая состояние СМО.
Принято считать, что переход системы из одного состояния в другое
(изменение числа занятых каналов, изменение числя заявок в очереди и т.п.)
происходит мгновенно.
Введем в рассмотрение случайную величину X cо счетным множеством
состояний x1, x2 ,..., xn ,...
В любой момент времени t система X может быть в одном из этих
состояний. Обозначим через pk (t ) , (k 1,2,..., n,...) вероятность того, что в
момент t система будет находиться в состоянии xk .Тогда, для любого t
pk (t ) 1.
k
Выделяют случайные процессы двух типов: с дискретным или
непрерывным временем. В первом случае переход из состояния в состояние
происходит
только
в
строго
определенные,
разделенные
конечными
интервалами моменты времени t1 , t 2 , … В случае процессов с непрерывным
временем переход осуществляется в любой момент времени t .
Рассмотрим одноканальную СМО, например, звонок на телефонную
линию. Если заявка застала канал занятым, то она покидает систему не
обслуженной (получает отказ). Это – дискретная система с непрерывным
временем и двумя возможными состояниями:
x0 – канал свободен,
x1 – канал занят.
Переходы из состояния в состояние обратимы. Граф состояний показан на
рисунке 1 [12].
Рисунок 1 – Граф состояний
1.1.1 Поток событий. Марковский случайный процесс
Одним из важных определений теории массового обслуживания является
понятие
потока
событий.
Под
потоком
событий
понимается
последовательность однородных событий, следующих одно за одним с
случайные моменты времени (поток автомобилей на перекрестке, поток
покупателей, и т.п.).
Одной из характеристик потока является его интенсивность , которая
носит название частоты появления событий или средним числом событий,
поступающих в СМО в единицу времени. Поток событий называется
регулярным, если события происходят один за дним через определенные равные
промежутки времени.
Поток событий называется стационарным, если его вероятностные
характеристики не завистя от времени. Т.е интенсивность стационарного потока
будет величиной постоянной: (t ) .
Поток событий считается однородным, если все заявки в потоке одного
типа. Соответственно в неоднородном потоке заявки различного типа или
обладают различными свойствами.
Поток событий называется потоком без последействия, если для любых
двух непересекающихся участков времени 1 и 2 число событий, попадающих
на один из них, не зависит от числа событий попавших на другой.
Поток, в котором интервалы между событиями независимы друг от друга,
называется потоком с ограниченным последействием.
Поток событий называется ординарным, если вероятность попадания на
довольно малый участок времени t двух и более событий пренебрежимо мала
по сравнению с вероятностью попадания одного события.
Если поток одновременно обладает всеми выше перечисленными
свойствами: поток стационарен, ординарен и не имеет последействия, то он
называется простейшим или стационарным пуассоновским. При этом число
событий, попадающих на любой фиксированный интервал времени, будет
распределено
по
закону
Пуассона.
Система
массового
обслуживания
обладающая простейшим потоком имеет наиболее простое математическое
описание [13].
Случайный процесс, протекающий в некоторой системе S , называется
марковским (или процессом без последействия), если он обладает данным
свойством: для каждого момента времени вероятность любого состояния
системы в будущем (при t0 t ) зависит только от ее состояния в настоящем (при
t0 t ) и не зависит от того, когда и каким образом система перешла в это
состояние, т.е. не зависит от ее поведения в прошлом (при t0 t ). График
марковского случайного процесса представлен на рисунке 2. На практике
марковские случайные процессы встречаются крайне редко в чистом виде.
0
Настоящее
Рисунок 2 – Марковский случайный процесс
1.1.2 Уравнения Колмогорова. Предельные вероятности состояний
Для ознакомления с марковским случайным процессом рассмотрим
некоторую задачу. Данный случайный процесс будет находиться в дискретном
состоянии и с непрерывным временем.
Дана некоторая система S , состоящая из двух узлов. В любой момент
времени одни из узлов системы может выйти из стоя, сразу же начинается его
ремонт произвольной длительностью.
Существует несколько состояний этой системы: S 0 – оба узла системы
работают, S1 – первый узел на ремонте, второй работает, S 2 – второй узел на
ремонте, первый работает, S 3 – оба узла на ремонте.
Система будет переходить из состояния S i в состояние S j при
воздействии простейших потоков событий с различными интенсивностями
ij (i, j 0,1,2,3) .
Граф состояния системы представлен на рисунке 3. Такой граф называется
размеченный.
Рисунок 3 – Граф состояний системы
Величина pi (t ) – называется вероятностью i -го состояния. Это означает
что система в момент времени t будет находиться в Si состоянии. Тогда для
любого t
3
pi (t ) 1.
i 0
Можно составить систему дифференциальных уравнений Колмогорова для
описания данной системы:
p0' 10 p1 20 p2 ( 01 02 ) p0 ,
'
p1 01 p0 31 p3 (10 13 ) p1 ,
'
p2 02 p0 32 p3 ( 20 23 ) p2 ,
'
p3 13 p1 23 p2 ( 31 32 ) p3 .
Чтобы
решить
такую
систему
(1)
необходимое,
так
называемое,
нормировочное уравнение:
3
pi (t ) 1
i 0
(2)
Еще необходимы начальные условия, когда система находится в
начальном моменте времени t 0 . Логично в данной задаче за начальное
условие взять момент, когда все узлы исправны, т.е. состояние S 0 . Запишем его
в виде: p0 (0) 1, p1 (0) p2 (0) p3 (0) 0 .
Такие системы дифференциальных уравнений решает вручную. Но в
случае, если количество уравнений превышает трех, то на помощь приходят
численные методы.
Особый интерес представляют вероятности системы pi (t ) в предельном
состоянии при t . Такие состояния называют предельными (финальными)
вероятностями состояний.
Смысл предельных состояний системы Si состоит в том, что она
показывает среднее относительное время пребывания системы в этом
состоянии.
Чтобы найти предельные состояние системы необходимо в уравнении
Колмогорова (1) приравнять производные к нулю. Получается система
алгебраических уравнений, которая описывает стационарный режим. Для
задачи, описанной выше, получаем следующую систему уравнений:
( 01 02 ) p0 10 p1 20 p2 ,
( ) p p p ,
10
13 1
01 0
31 3
( 20 23 ) p2 02 p0 32 p3 ,
( 31 32 ) p3 13 p1 23 p2 .
(3)
Данную систему можно записать и другим способом прямо по графу
состояния, используя правило: слева предельная вероятность pi умножена на
сумму интенсивностей, ведущих из данного состояния, справа – сумма
произведений интенсивностей входящих в i -е состояние, на вероятности тех
состояний, из которых эти потоки исходят [14].
Для решения системы (3) заменяем любое уравнение нормировочным
уравнением (2).
1.1.3 Процессы гибели и размножения
В теории массового обслуживания выделяют особый класс случайных
процессов – процессы гибели и размножения. Название этих процессов связано
с рядом биологических задач, а именно с математической моделью изменения
численности населения популяции [15].
Граф состояний процесса гибели и размножения имеет вид, показанный на
рисунке 4.
…
…
Рисунок 4 – Граф состояний гибели и размножения
Рассмотрим некоторое упорядоченное множество состояний системы
S0 , S1,..., Sn . Переходы могут осуществляться из любого состояния только в
состояния с соседними номерами, т.е. из состояния S k возможны переходы либо
в состояние S k 1 , либо в состояние S k 1 .
Потоки, переводящие эту систему по стрелкам простейшие и имеют
интенсивности k , k 1 или k 1, k .
По графу, представленному на рисунке
4, составим и решим
алгебраические уравнения для предельных вероятностей состояний. По правилу
составления уравнений Колмогорова получаем:
01 p0 10 p1 ,
p p ,
21 2
12 1
..................
k 1, k pk 1 k , k 1 pk ,
..................
n 1, n pn 1 n, n 1 pn ,
(4)
к которой добавляется нормировочное условие
p0 p1 ... pn 1
(5)
Решая эту систему, получаем:
pk
k 1, k ...12 01
k , k 1... 2110
(6)
p0
В числителях представлены произведения всех интенсивностей, стоящих у
стрелок, ведущих слева направо (от начала и до данного состояния S k ); в
знаменателях – произведения всех интенсивностей, стоящих у стрелок, ведущих
справа налево (из состояния S k и до начала).
Таким образом, все вероятности состояний p0 , p1, p2 ,..., pn выражены
через одну из них ( p0 ) . Подставим эти выражения в нормировочное условие (5)
и выразим p0 :
1
...
p0 1 01 12 01 ... n 1, n 12 01 .
n, n 1... 2110
10 2110
(7)
Из уравнения (7) видно, что слагаемые в правой части представляют собой
не что иное, как последовательные коэффициенты при p0 в формулах для
вероятностей p1, p2 ,..., pn .
1.2 Классификация систем массового обслуживания
Все системы массового обслуживания делятся на типы или классы по
определённым признакам: количество каналов обслуживания, расположение
каналов, возможность образования очереди, дисциплина очереди, количество
заявок.
По числу обслуживающих каналов СМО делятся на одноканальные, когда
имеется один канал обслуживания; и многоканальные, или n -канальные, когда
число каналов n 2 .
В зависимости от расположения каналов системы можно поделить на два
типа:
-с параллельным расположением каналов (обслуживание производит
любой свободный канал, например, кассы в гипермаркете);
-с
последовательным
расположение
каналов.
В
таких
системах
обслуживают заявки несколько каналов. Однако каждый последующий канал
может
приступить
к
обслуживанию
после
завершения
обслуживания
предыдущего. Например, обращение в поликлинику: сначала нужно взять талон
в регистратуре, потом прийти на прием к врачу, сдать анализы, повторный прием
врача [16].
По дисциплине обслуживания СМО делятся на СМО с отказами, СМО с
очередью и СМО смешанного типа.
В СМО с отказами заявка, поступившая в момент, когда все каналы
заняты, покидает систему не обслуженной, и в дальнейшем процессе больше не
участвует.
В СМО с ожиданием (неограниченное ожидание) необслуженная заявка
систему не покидает, а становится в очередь.
В СМО смешанного типа на заявки в очереди накладываются
определенные ограничения. Ограничения могут касаться как длины очереди, т.е.
максимальное количество заявок, находящихся в очереди. Так и времени
ожидания в этой очереди, по истечению которого заявка покидает систему.
По дисциплине обслуживания СМО делятся на несколько типов:
-обслуживание «с приоритетом»;
-обслуживание «по правилам».
И приоритет, и правила бывают несколько типов. Приоритет может быть
абсолютным, когда заявка с более высоким приоритетом «вытесняет» из-под
обслуживания заявку с низшим; относительным приоритетом, когда начатое
обслуживание доводится до конца, а заявка с более высоким приоритетом идет
следующая по очереди; приоритет со специальными правилами (например,
обслуживание ветеранов ВОВ).
Правил так же несколько: «первый прибыл – первый обслужен» (FIFO,
«First In, First Out»), согласно которой заявки обслуживаются в порядке их
прибытия; либо в обратном порядке – «последним прибыл − первым «обслужен»
(LIFO, «Last In, First Out»). Обслуживание так же может быть случайным.
По ограничению потока заявок СМО делятся на замкнутые и открытые.
СМО называются замкнутыми, если заявки, обслуженные в этой системе, снова
поступают в нее на обслуживание. В открытых СМО обслуженные заявки
покидают систему навсегда.
По колличеству этапов обслуживания выделяют СМО однофазные и
многофазные. В однофазной СМО все каналы однородны и выполняют одну и
ту же оперцию обслуживания. В многофазной СМО заяки проходят несколько
фаз обслуживания.
1.3 Характеристики работы систем массового обслуживания
При изучении систем массового обслуживания важное значение имеют
характеристики
системы,
которые
определяют
эффективность
производственного процесса. Основными показателями, характеризующие
работу СМО являются следующие [16]:
- P0 – вероятность простоя системы;
- Pотк – вероятность отказа в обслуживании;
- Pобсл – вероятность обслуживания;
- Lоч – длина очереди;
- Tоч – среднее время ожидания в очереди;
- Pоч – вероятность образования очереди;
- Tсмо – среднее время пребывания заявки в системе;
- A – абсолютная пропускная способность системы;
- Q – относительная пропускная способность системы;
- t пр – среднее время простоя канала;
- nз – среднее число занятых каналов;
- nсв – среднее число свободных каналов;
- tобсл – среднее время обслуживания.
Рассмотрим характеристики для каждого типа систем.
а) одноканальная СМО с отказом.
Простейшим примеров такой системы является звонок на телефонную
линию с одним аппаратом. Основные характеристики системы можно составить,
используя
уравнение
Колмогорова.
Граф
состояния
данной
системы,
представленный на рисунке 5, где и – интенсивность потока заявок и
интенсивность обслуживания соответственно.
Рисунок 5 – Граф состояний СМО с отказом
Для
системы
можно
определить
абсолютную
и
относительную
пропускную способность, по следующим формулам:
Q
P0
P0 ,
где Q – относительная пропускная способность.
A
Q ,
где A – абсолютная пропускная способность.
б) одноканальная СМО с ограниченной очередью.
В данных системах длина очереди (m) ограничена, и если заявка пришла в
момент, когда все места в очереди заняты, она покидает систему без
обслуживания. Пример такой системы может быть билетная касса кинотеатра:
кассир не может продать билет, если все места в зале заняты.
Граф состояния одноканальной СМО представлен на рисунке 6.
Рисунок 6 – Граф состояния одноканальной СМО с ограниченной очередью
Состояния системы будут следующими:
S 0 – канал обслуживания свободен;
S1 – канал обслуживания занят, но очереди нет;
S 2 – канал обслуживания занят, в очереди одна заявка;
Sk 1 – канал обслуживания занят, в очереди k заявок;
Sm 1 – канал обслуживания занят, в очереди нет мест.
Характеристики такой системы будут следующие:
-вероятность отказа
Pотк Pm 1 m 1 P0 ;
-относительная пропускная способность
Q 1 Pотк 1 m 1 P0 ;
-абсолютная пропускная способность
A Q.
Остальные показатели зависят от нагрузки системы () . Можно выделить
два случая: при 1 и при 1.
1) 1 или частный случай:
-вероятность простоя системы
P0 1 /(m 2) ;
-среднее число заявок в очереди
Lоч
m (m 1)
P 0 ;
2
-среднее время ожидания обслуживания
/;
Tоч Lоч
-среднее время пребывания в системе (складывается из среднего времени
ожидания в очереди и времени обслуживания)
Tсмо
m 1
.
2
2) 1 или общий случай:
-вероятность простоя системы
P
(1 )
;
(1 m 2 )
-среднее число заявок в очереди
Lоч
2 1
m
(m m 1)
P0 ;
(1 )2
-среднее время ожидания обслуживания
Tоч Lоч / ;
-среднее время пребывания в системе
Tсмо ( Lоч / Lоб / )
Lсмо
,
где Lоб – среднее количество обслуживаемых заявок;
Lоб m 1 / m 2 , Lсмо Lоб Lоч ,
где Lсмо – среднее число заявок, находящихся в системе.
в) одноканальная СМО с неограниченной очередью.
В одноканальной системе с неограниченной очередью очередь может
расти до бесконечности. Например, очередь в магазинчик с домашней
эксклюзивной выпечкой.
Граф состояния изображен на рисунке 7.
Рисунок 7 – Граф состояний одноканальной системы с неограниченной
очередью
Состояния системы будут следующими:
S 0 – канал обслуживания свободен;
S1 – канал обслуживания занят, но очереди нет;
S 2 – канал обслуживания занят, в очереди одна заявка;
Sk 1 – канал обслуживания занят, в очереди k заявок.
Характеристики данной системы можно получить из характеристик
одноканальной СМО с ограниченной очередью, если положить что m :
-относительная пропускная способность
Q Pобсл 1 ,
так как очередь бесконечна, и любая заявка будет обслужена;
-вероятность отказа в данном случае невозможна
Pотк 0 ;
-абсолютная пропускная способность
A Q ;
-вероятность пребывания в очереди k заявок
Pk k (1 ) ;
-среднее число заявок в очереди среднее число заявок в системе
2
2
Lоч
, Lсмо Lоч
;
1
1
1
-среднее время ожидания обслуживания в очереди
Tоч
L
2
оч
(1 ) (1 )
;
-среднее время пребывания заявки в системе
Tсмо Tоч tобсл
Lсмо
.
г) многоканальная СМО с отказами.
Примерами многоканальных СМО являются кассы банка, супермаркета,
автозаправки с несколькими колонками и т.д. Граф состояния изображен на
рисунке 8.
Рисунок 8 – Граф состояния многоканальной СМО с отказами
Возможные состояния системы будут следующие:
S 0 – система свободна;
S1 – занят один канал обслуживания;
S 2 – занято два канала обслуживания;
S k – занято k каналов обслуживания;
S n – все каналы системы заняты.
Случайный процесс в системе описывается системой дифференциальных
уравнений Эрланга, с помощью которых можно найти предельные вероятности
системы. Эти формулы являются формулами Эрланга [17]
1
n n
.
P0
n
!
n 0
Характеристиками системы будут следующими:
-вероятность отказа
Pотк
n
Pn P0 ;
n!
-относительная пропускная способность
Q Pобсл 1 Pотк 1 Pn или Q Pобсл
nз
;
-абсолютная пропускная способность
A Pобсл ;
-число каналов, занятых обслуживание и коэффициент занятости каналов
nз Pобсл
n
A
, k з з Pобсл ;
n n
-среднее время пребывание в системе
Tсмо
nз
.
д) многоканальная СМО с ограниченной очередью.
Пусть в данной системе имеются n каналов обслуживания заявок,
поступающих в систему с интенсивностью . Интенсивность обслуживания
каждой заявки будет составлять , а максимальная длина очереди m . Тогда граф
состояния системы будет как на рисунке 9.
Рисунок 9 – Граф состояния многоканальной системы
с ограниченной очередью
Возможные состояния системы будут следующие:
S 0 – система свободна;
S1 – занят один канал обслуживания;
S 2 – занято два канала обслуживания;
S n – все каналы системы заняты;
Sn 1 – все каналы системы заняты, одна заявка в очереди;
S n 2 – все каналы системы заняты, две заявки в очереди;
S m – все каналы системы заняты, все m мест в очереди заняты.
Так же, как и в одноканальной СМО с очередью, в таких системах
существуют два случая в зависимости от нагрузки системы.
1) / n 1
-вероятность простоя системы
1
2
n m n 1
;
P0 1 ...
1
!
2
!
n
!
n
n
!
-вероятность нахождения заявок в системе
n
2
P1 P0 , P2 P0 , Pn P0 ;
n!
2!
1!
-вероятность образования очереди
n 1 ( / n) m
Pоч
P0 ;
n! 1 / n
-вероятность отказа в обслуживании
Pотк
n m
Pn m m P0 ;
n n!
-относительная и абсолютная пропускная способность
Q Pобсл 1 Pотк , A Q ;
-среднее число занятых и среднее число простаивающих каналов
nз A / Q , nпр n nз ;
-среднее число заявок в очереди (в зависимости от величины / n )
n 1 m (m 1)
Lоч
P0 ;
n n!
2
-среднее время ожидания в очереди (в зависимости от величины / n )
Lоч
;
-среднее время пребывания в системе
Tоч
Tсмо
Lоч Q
;
-коэффициенты занятости и простоя каналов
K з nз / n , K пр 1 K з .
2) / n 1
-вероятность простоя системы
1
n1
n k
m
P0
1 ;
k 0 k! n!(n ) n
-среднее число заявок в очереди (длина очереди)
n 1 1 ( / n) m (m 1 m / n)
Lоч
P 0 ;
n n!
(1 / n) 2
-среднее время ожидания обслуживания
Tоч Lоч / .
Все остальные параметры системы рассчитываются по тем же формулам,
что и для частного случая, так как не зависят от нагрузки на систему.
е) многоканальная СМО с неограниченной очередью.
В таких системах полагается, что очередь растет бесконечно, поэтому
вероятность отказа нулевая. Граф состояния представлен на рисунке 10.
Возможные состояния системы будут следующие:
S 0 – система свободна;
S1 – занят один канал обслуживания;
S 2 – занято два канала обслуживания;
S n – все каналы системы заняты;
Sn 1 – все каналы системы заняты, одна заявка в очереди;
...... – бесконечная очередь.
Рисунок 10 – Граф состояния многоканальной СМО с
неограниченной очередью
Основные характеристики этой системы получаются из характеристик
многоканальной системы с очередью при переходе к пределу при m :
1
2
n
n 1
;
-вероятность простоя системы P0 1 ...
1
!
2
!
n
!
n
!
(
n
)
n 1
P0 ;
-вероятность образования очереди Pоч
n!(n )
-средняя длина очереди Lоч
n
P0 ;
n
-среднее время ожидания в очереди и среднее время пребывания в системе
Tоч
Lоч
, Tсмо Tоч tобсл .
2 ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ СИСТЕМ МАССОВОГО
ОБСЛУЖИВАНИЯ
2.1
Общие
положения
имитационного
моделирования
систем
массового обслуживания
Имитационное моделирование применяют, когда объект исследования
настолько сложен, что описать его поведение математическими уравнениями
очень сложно или практически невозможно.
Термин
«имитация»
(от
лат.
Imitation
–
подражание)
означает
воспроизведение определенным образом объекты, явления, события, действия и
т.п. Это синоним понятия «модель» (от лат. modulus − образец), которая
определяется как материальный или нематериальный образ (схема, описание,
представитель
и
т.п.).
Тогда
словосочетание
«имитационная
модель»
некорректно, но в середине XX в. оно было введено в практику моделирования
математических и физических объектов [18].
Так как имитационные модели воспроизводят сложные объекты, они
должны обеспечивать наибольшее сходство модели к моделируемому объекту,
чем при применении аналитического метода. Это сходство получается в
результате воспроизведения свойств объекта, воздействия на него в той форме,
которая понятна более широкому кругу людей, занятых в различных сферах.
Этот круг экспертов может обеспечить большую реалистичность имитационной
модели.
Построение имитационной модели ненамного сложнее, чем применение
математических схем.
Основная
суть
имитационного
моделирования
заключается
в
максимальном воспроизведении моделируемого объекта, его свойств и
динамики. Нужно как можно меньше деформировать структуру объекта, по
возможности отображать все части объекта как можно реальнее.
Процесс моделирования происходит поэтапно: от простого к сложному.
Сначала создается самая простая модель, в которой учитываются основные
составляющие моделируемой системы. Если результат не приводит к
достижению поставленной цели, то модель усложняют.
Имитационное моделирование включает в себя следующие этапы [19]:
1. Постановка задачи, формирование цели, подробное описание объекта.
2. Построение структуры модели, определение целевых функций и
критерий достижения цели, формализация задачи.
3. Подбор методов моделирования для конкретной моделируемой системы
4. Построение модели, разработка алгоритма и проверка на конкретном
примере, корректировка по необходимости.
5. Моделирование системы: задание входных данных, различных помех и
воздействий на систему и ее части, вычисление характеристик.
6. Анализ
результатов
моделируемой
системы,
выбор
наиболее
эффективного варианта при оптимальных входных данных и помех.
7. Подготовка отчета.
При выполнении предыдущих этапов целесообразно использовать
системный подход. Суть его заключается в следующих действиях [20]:
-изучить и определить главные черты объекта;
-расположить их в определенной последовательности;
-показать их взаимосвязи и свойства этих связей;
-четко формулировать цель моделирования;
-определить показатели достижения цели;
-выделить основные свойства объекта, которые нужно учитывать при
моделировании для достижения поставленной цели;
-разработать методы и средства достижения цели;
-определить необходимые для этого ресурсы;
-построить план для достижения цели;
-осуществить моделирование.
Применение данного системного подхода дает больше шансов на
построение эффективной модели.
Имитационное моделирование обладает следующими преимуществами:
1) С помощью имитационных моделей можно проанализировать систему и
найти решение даже в том случае, когда линейное программирование и
аналитические методы не справляются с задачей.
2) Процесс создания имитационной модели является пошаговым и
модульным, благодаря выбору уровня абстракции.
3) Структура
имитационной
модели
очень
схожа
со
структурой
моделируемой системы.
4) В имитационной модели можно отслеживать объекты системы при
изменении параметров, проводить анализ, добавлять элементы и параметры.
5) Одним из основных преимуществ имитационного моделирование
является возможность отслеживать изменения процессов моделирования с
течением времени и создания анимации, которая наглядно демонстрирует эти
процессы.
6) Имитационное
моделирование
имеет
рад
преимуществ
перед
электронными таблицами.
Имитационное моделирование нашло широкое применение в различных
областях в зависимости от уровня абстракции (низкий, средний, высокий).
Моделирование движение транспорта и пешеходов, компьютерной аппаратуры,
производства,
военных
действий,
движения
поездов
и
самолетов,
распространения инфекций, бизнес-процессов, управления персоналом и
проектами, экономики и социальных систем [21].
2.2 Программы имитационного моделирования систем массового
обслуживания
Для имитационного моделирования, в том числе и систем массового
обслуживания, существует огромное количество прикладных пакетов, сред и
систем. В зависимости от поставленной задачи, необходимо выбрать наиболее
подходящий продукт. Они отличаются по области применения, технологии
моделирования, способу визуализации [22].
Список некоторых программ, их возможностей представлены в таблице 1.
Таблица 1 – Программные продукты для имитационного моделирования
Программный продукт
Actor Pilgrim, система
Описание
Система имитационного моделирования временной,
пространственной и финансовой динамики экономических
процессов (Россия)
AGNES, система
Система имитационного моделирования больших систем с
дискретными событиями (Россия)
Extendsim, система
Инструмент имитационного моделирования (США)
GPSS World, система
Среда моделирования общего назначения, охватывает
области как дискретного, так и непрерывного
моделирования (Россия)
MTSS, система
Система имитационного моделирования для задач
проектирования, разработки, оптимизации технических
систем и технологических процессов, информационных и
управляющих систем в различных прикладных областях
(Россия)
Powersim, среда
Система Powersim обладает различные типы инструментов
моделирования
моделирования, которые покрывают все потребности в
выполнении моделирования, управления исследованиями
или распределенными решениями (Норвегия)
PTV Viswalk,
Программное решение, которое предназначено для
программный комплекс
моделирования поведения пешеходов (Россия)
Vensim, среда
Используется для того, чтобы создавать и анализировать
моделирования
высококачественные динамические модели обратной
связи (США)
VisSim, среда
Визуальный язык блок-схем для нелинейного
моделирования
динамического моделирования (США)
Сириус, система
Приложение для автоматизированной генерации
имитационных моделей, их хранения и проведения
экспериментов (Россия)
СМО, среда для
Визуальная среда для моделирования систем массового
моделирования
обслуживания (Россия)
Для создания имитационной модели системы массового обслуживания в
рамках данной магистерской диссертации используется программный продукт
отечественного производства Anylogic.
2.3 Возможности пакета Anylogic. Описание интерфейса Anylogic
Пакет Anylogic – профессиональный инструмент нового поколения,
который предназначен для разработки и исследования имитационных моделей.
Разработчик продукта – компания «Экс Джей Текнолоджис» (XJ Technologies),
г. Санкт-Петербург. Программа располагает графической средой пользователя и
дает возможность пользоваться языком программирования Java для создания
моделей [23].
Продукт Anylogic поддерживает три известных метода имитационного
моделирования: дискретно-событийного моделирования, системной динамики,
агентного моделирования [24].
Системная динамика позволяет моделировать системы с высоким уровнем
абстракции, не принимая во внимание мелкие детали, такие как индивидуальные
свойства объектов, предметов, людей. Такие модели дают общее представление
о системы и подходят для стратегического планирования. Например, при
разработке мобильного оператора маркетинговой компании, не нужно
учитывать поведение каждого абонента.
Дискретно-событийное
описать
какой-либо
моделирование
бизнес-процесс
как
применяется,
когда
последовательность
нужно
отдельных
дискретных событий. Например, движение поезда из точки А в точку Б
представляется как два события: отправка и прибытие. А непосредственно
движение поезда рассматривается как задержка между этими двумя событиями.
При использовании дискретно-событийном метода система моделируется на
среднем уровне абстракции. Этот метод широко применяется в производстве,
здравоохранении, логистики.
В отличие от абстрактных методов системной динамики и дискретнособытийного моделирования агентное моделирование сосредоточено на
индивидуальных участниках системы. При таком моделировании сначала
устанавливаются параметры активных объектов – агентов, и определяется их
поведение. Под агентами подразумевается всю что угодно, что необходимо
системе: это люди, продукты, компании. Между ними устанавливаются связи,
задается окружающая среда и запускается моделирование. Действия каждого из
агентов образуют глобальное поведение всей моделируемой системы.
Пакет Anylogic позволяет комбинировать все три метода. Это можно
сделать с помощью агентного моделирования. Доступность всех методов даст
гибкость, необходимую для решения любой поставленной задачи.
Графическая среда моделирования Anylogic включает в себя элементы
-Диаграмма потоков и накопителей;
-Карты состояний;
-Блок-схемы;
-Процессные диаграммы;
Среда моделирования включает в себя низкоуровневые конструкции
моделирования, формы представления, элементы анализа, стандартные картинки
и формы экспериментов.
Так же в среде Anylogic можно проектировать, разрабатывать и
документировать модели, выполнять различные эксперименты над моделью, и
проводить
анализы:
от
анализа
чувствительности
до
оптимизации
параметров [25].
Anylogic включает в себя набор стандартных библиотек.
Библиотека моделирования процессов – это эффективный инструмент,
позволяющий детально моделировать бизнес-процессы в различных сферах.
Библиотека упрощает создание моделей и позволяет отследить общую динамику
процесса и выявить взаимосвязи между отдельными его компонентами. С ее
помощью можно легко и быстро визуализировать любой бизнес-процесс и
проверить результаты моделирования, используя анимацию. Библиотека
моделирования процессов предназначена для типовых производственных и
бизнес-процессов.
Библиотека моделирования потоков используется для моделирования
процессов транспортировки насыпных и жидких грузов в таких областях как
горная промышленность, добыча нефти и газа.
Производственно-складская библиотека разработана для моделирования
процессов на заводах и распределительных центрах. Процессы определены в
форме блочной диаграммы.
Пешеходная библиотека создана для моделирования пешеходных потоков
в «физической» окружающей среде. Возможности данной библиотеки позволяет
создавать модели с большим количеством пешеходного трафика (аэропорты,
супермаркеты, пешеходные улицы и т.д.). В моделях можно вести учет
статистики плотности движения пешеходы, созданные библиотекой, двигаются
непрерывно, реагируют на препятствия, реагируют друг с другом, как реальные
пешеходы.
Железнодорожная
библиотека
поддерживает
моделирование
железнодорожных перевозок, терминалов и сортировочных станций.
Библиотека дорожного движения позволяет проектировать дороги и
автомагистрали, размещение светофоров и их фаз, анализировать пропускную
способность дорог, интегрировать объекты и здания в дорожную сеть [26].
Рассмотрим интерфейс программы Anylogic. На официальном сайте
(https://www.anylogic.ru) можно скачать, заполнив несложную информационную
форму, бесплатную студенческую версию. Однако данная версия имеет ряд
ограничений: невозможно создать более 10 агентов, ограничения в некоторых
отраслевых библиотеках, оптимизационных экспериментах, ограничено время
работы модели 1 час. Однако для построения несложных моделей при
использовании модельного времени этой версии достаточно.
При первом запуске появляется начальная страница. Здесь представлены
ссылки на учебные пособия, готовые модели, тренинги. Изображение начальной
страницы представлено на рисунке 11.
Рисунок 11 – Начальная страница ППП Anylogic
При закрытии начальной страницы открывается интерфейс программы.
Условно интерфейс можно разбить на 4 зоны.
В первой зоне расположено меню и панель инструментов. Разбитие
интерфейса ППП представлено на рисунке 12.
Во второй зоне представлены проекты и палитра. Во вкладке Проекты
представлены все действующие проекты. При двойном щелчке на название
проекта можно его открыть. Во вкладке Палитра представлены инструменты для
работы, разбитые на группы по библиотекам и функционалу.
Зона три – это рабочее поле для создания модели. Данное поле имеет
начало координат, все элементы должны быть в ограниченном пространстве. Для
создания модели необходимо перетащить нужный элемент из палитры на
рабочее поле.
У каждого элемента существуют свойства. Эти свойства отображаются в
зоне 4. В зависимости от желаний пользователя эту зону можно перемещать:
ниже, выше, справа рабочего поля. Свойства элемента открываются при нажатии
на этот элемент.
Рисунок 12 – Интерфейс ППП Anylogic, разбитый на зоны
Для создания модели необходимо составить логическую блок-схему
модели из элементов палитры, задать определенные свойства каждого элемента,
соблюдая при этом правила связей между элементами. Эти правила можно
увидеть при наведении на элемент курсором или при вызове справки. После того
как модель готова, нужно ее запустить, нажав кнопку запуска модели. Она
расположена на панели инструментов в зоне один. Если модель корректна,
запуститься окно выполнения модели. Если есть ошибки, то они отобразятся в
строке состояния. Необходимо будет их исправить.
2.4 Пример построения модели работы касс супермаркета
В качестве примера работы в пакете Anylogic создадим имитационную
модель работы касс магазина [8].
Администрация
любого
магазина,
банка,
почтового
отделения
сталкивается с проблемой определения нужного количества сотрудников
(кассиров, операционистов). Нужно точно определить, необходимое их число,
для того чтобы не создавались огромные очереди при недостатке сотрудников, и
не простаивали кассы без работы при переизбытке, тем более при этом магазин
несет лишние расходы. Главная задача оптимизации – это определение
оптимального
количества
сотрудников,
которое
будет
зависеть
от
интенсивности потока клиентов, среднего времени обслуживания и других
параметров [27].
Эту задачу можно решить математическим методом, решив систему
дифференциальных уравнений. Однако если учитывать все параметры и связи,
получим довольно громоздкие вычисления.
Реализовать данную задачу более рационально с помощью компьютерного
моделирования. Для этого необходимо задать параметры, входные данные и
правильно истолковать полученные данные. Рассмотрим пример решения
данной задачи в программе Anylogic [8-9].
После запуска программы создаем новую модель. Далее используем
элементы из «Основной библиотеки моделирования»:
source − источник заявок − посетители магазина;
delay – задержка заявок – посетителям необходимо время для выбора
товара;
service – обслуживание на кассе;
resourcePool – элемент отвечает за количество кассиров;
sink – уничтожает заявки.
Перетаскиваем из блока «Палитра» необходимые элементы на рабочую
область и соединяем линиями ка показано на рисунке 13. Для создания этой
модели используем дискретно-событийный метод [24].
Рисунок 13 – Элементы модели
Далее необходимо задать элементах необходимые для моделирования
параметры.
Элемент source переименуем в enter, так как он отвечает за появление
посетителей в магазине. Для простоты эксперимента будем считать, что число
посетителей 2 человека в минуту. Хотя в реальности поток клиентов зависит от
времени суток и дней недели. Свойства элемента source представлены на
рисунке 14.
Рисунок 14 – Свойства элемента source
Элемент delay переименуем в shopping, так как этот элемент отвечает за
время совершения покупки клиентом магазина. Для выставления этого времени
используем функцию треугольного распределения triangular. Укажем минимум
времени – 5 минут, максимум – 1 час, а наиболее вероятным – 20 минут. Будем
считать, что наш магазин может вместить сколь угодное количество
покупателей, поэтому в поле максимальная вместимость поставим галочку.
Свойства элемента delay представлены на рисунке 15 [27].
Рисунок 15 – Свойства элемента delay
Элемент service переименуем в queue – очередь. В поле количество
ресурсов ставим 1, так как на обслуживание одного покупателя требуется один
кассир – ресурс. Время задержки, т.е. время обслуживания одного покупателя,
также укажем с помощью triangular(0.5, 1, 5) с соответствующими параметрами.
В поле максимальная вместимость так же ставим галочку, потому что
предполагаем, что при определенных условиях очередь может оказаться очень
длинной.
Свойства элемента service представлены на рисунке 16.
Рисунок 16 – Свойства элемента service
Элемент resourcePool переименуем cashiers (кассиры). В поле количество
ресурсов укажем 4. В дальнейшем это число заменим на параметр, меняющийся
в зависимости от интенсивности потока покупателей.
Элемент sink переименуем в exit.
Вернемся к элементу service, и в поле тип ресурса выберем ресурс cashiers.
Свойства элемента cashiers и элемент exit представлены на рисунке 17.
Рисунок 17 – Свойства элемента cashiers
Запустим модель. Цифры возле соответствующих элементов показывают,
сколько человек вошло в магазин (enter −38), сколько человек выбирают покупку
(shopping − 31), сколько стоит в очереди (queue − 7), сколько кассиров занято
обслуживанием (cashiers −2) и сколько уже вышло из магазина с покупками (exit
−5). Эти данные изображены на рисунке 18.
Рисунок 18 – Результаты эксперимента
Эти показатели не вполне информативны. Гораздо более интересует не
длина очереди в данные момент, а ее усредненное по времени значение. Для
этого нужно в рабочее окно добавить элемент Статистика, переименовать ее в
queueSize. В поле значение запишем формулу queue.queueSize()/4, где цифра 4
означает количество кассиров. Т.е. одну большую очередь делим на 4 равные по
величине очереди. В свойствах элемента queue разрешаем сбор статистики,
поставив соответствующую галочку [28].
Наглядно размер очереди можно представить при помощи столбиковой
диаграммы. Для этого необходимо перетащить соответствующий элемент из
Палитры в рабочее окно. В свойствах диаграммы нажимаем на кнопку добавить
элемент данных, в заданном поле пишем формулу queueSize.mean().
Перезапустив модель, видно по диаграмме, что за заданное время 720
минут (12 часов) очередь постепенно растет и достигаем максимума 12 человек.
Возрастание очереди изображено на рисунке 19.
Рисунок 19 – Размер очереди при интенсивности 2 человека в минуту
Если в эксперименте изменить интенсивность потока покупателей с 2
человек в минуту до 1, то видно, что очередь не образуется. Это значит, что для
данного
магазин
4
кассира
это
много.
Соответствующие
показатели
представлены на рисунке 20.
Рисунок 20 − Размер очереди при интенсивности 1 человека в минуту
Данная модель работы магазина не ограничена по времени. Но как правило
в реальности магазины работают по графику с 10 часов утра до 10 часов вечера.
Ограничим модель по времени. Для этого в свойствах объекта Simulation во
вкладке Модельное время установим заданный режим работы магазина.
Еще один важный показатель работы магазина – это интенсивность
покупателей [29]. В модели эта величина постоянная. Однако в реальности поток
клиентов зависит от времени дня (вечером поток больше, чем утром) и от дня
недели (естественно в выходные число покупателей больше, чем в будние дни).
Зададим эти уточнения в модели. Для этого перетащим элемент
Расписание на рабочую область. Зададим в его свойствах соответствующие
данные. И в элементе enter необходимо указать интенсивность по расписанию
[8-9]. Свойства элемента Расписание представлено на рисунке 21.
Рисунок 21 – свойства элемента Расписание
Для того что бы выяснить, какое оптимальное число кассиров должно быть
в магазине, чтобы не образовывались огромные очереди или не простаивали
кассы без работы, необходимо провести Оптимизационный эксперимент,
встроенный в программу Anylogic [30].
Основная цель – проведя огромное количество прогонов модели
определить статистически оптимальное значение нужного показателя. Сами
прогоны не показываются в отличие от экспериментов. Важен только конечный
результат.
Сначала добавим в рабочее окно параметр из палитры Основная.
Переименуем его в numberOfCashiers. Зададим целочисленный тип (int) и
значение по умолчанию, равное 4. В свойствах объекта cashiers в поле
количество ресурсов поменяем число 4 на numberOfCashiers.
Для создания эксперимента необходимо правой кнопкой мышки кликнуть
на название эксперимента в левой части программы и выбрать Создать –
Эксперимент – Оптимизация.
Перед начало эксперимента необходимо указать функцию, которую нужно
минимизировать или максимизировать. В данном эксперименте будем
минимизировать параметр numberOfCashiers. Поэтому во вкладке Основное
свойств
эксперимента
укажем
в
поле
Целевая
функция
параметр
root.numberOfCashiers. Во вкладке Параметры зададим тип дискретный с
изменением значения от 1 до 100 с шагом 1. Это означает, что эксперимент будет
выполняться снова и снова, при этом количество кассиров будет менятся от
одного до двадцати, и для каждого значения параметра numberOfCashiers будет
измеряться
среднее
значение
очереди.
Свойства
оптимизационного
эксперимента представлены на рисунке 22.
Суть эксперимента заключается в том, что нужно определить то
минимальное количество сотрудников, при котором чисто клиентов в очереди не
превышает заданного параметра [31]. Однако важно знать какой длины очередь
приемлема для конкретного магазина. Допустим в элитном бутике вряд ли
обеспеченный клиент будет стоять в очереди. Или же очередь возле кассы будет
препятствовать другим клиентам выбирать товар. Для определенности
предположим, что длинна очереди не превышала 5. Во вкладке Ограничения
потребуем, чтобы значение параметра root.queueSize.mean() в процессе
эксперимента не превышало 5. Также укажем во вкладке Модельное время режим
работы 720 минут (12 часов). Далее нажимаем кнопку Создать интерфейс.
Запускаем эксперимент. Результаты эксперимента представлены на рисунке 23.
Рисунок 22 – Свойства оптимизационного эксперимента
Рисунок 23 – Результат оптимизационного эксперимента
На
графике
изображена
зависимость
значений
оптимизируемого
параметра от номера итерации. Итерация – это выполнение одного эксперимента
при определенных значениях параметра numberOfCashiers [32]. Красным цветом
отображено
лучшее
недопустимое
значение,
т.е.
значение
без
учета
ограничений. Синим цветом показано лучшее допустимое значение. Получаем,
что при увеличении количества итераций значение оптимизируемого параметра
стремится к 2. Это же видно в таблице. Следовательно, при заданных условиях
эксперимента оптимальное число кассиров магазина равно 2.
3 МОДЕЛИРОВАНИЕ РАБОТЫ СУПЕРМАРКЕТА ЦИФРОВОЙ
И БЫТОВОЙ ТЕХНИКИ
3.1 Постановка задачи
Промоделировать работу супермаркета цифровой и бытовой техники.
Время работы магазина 10:00 – 22:00. Интенсивность покупателей зависит
от времени суток и дней недели. Расписание интенсивности посетителей
представлено ниже:
Будние дни:
10:00–12:00 – 179 человек;
13:00–19:00 – 876 человек;
16:00–22:00 – 100 человек.
Выходные дни:
10:00–12:00 – 255 человек;
13:00–19:00 – 1640 человек;
16:00–22:00 – 132 человек.
Однако только 20% посетителей являются покупателями.
Покупатели могут выбрать одну из трех фаз обслуживания:
1. Быстрая продажа – самостоятельно выбрать товар без помощи
консультанта и оплатить на кассе;
2. Работа с консультантом – обратиться за помощью к консультанту для
выбора и проверки товара;
3. Оформить кредит (сначала покупатель обращается к консультанту за
помощью в выборе товара, затем идет на оформление кредита).
Время выбора покупки варьируется от 2 до 15 минут, в среднем 5 минут.
В супермаркете три кассы, в будние дни кассы обслуживают два кассира,
в выходные – три. Время обслуживания на кассе от 30 секунд до 75 секунды, в
среднем 55 секунд.
В торговом зале постоянно находятся консультанты. Количество зависит
от дня недели:
-В будни – 12 человек в смену;
-В выходные дни – 17 человек в смену.
Время работы консультанта с покупателем от 2 до 30 минут, в среднем –
10 минут.
Кредиты оформляют 5 специалистов, четверо работают до 21:00, один
продолжает работать до закрытия магазин 22:00. Время оформления кредита от
15 до 45 минут, в среднем – 20 минут.
После работы с консультантом или с кредитных специалистом, покупатели
направляются в кассу для оплаты или регистрации кредита.
Если время ожидания консультанта или кредитного специалиста
превышает 20 минут, то клиент выходит из супермаркета без покупки.
Необходимо с помощью библиотеки моделирования процессов составить
блок-схему
работы
супермаркета
используя
начальные
данные,
проанализировать выходные данные: среднее время обслуживания, среднюю
длину очереди, количество занятого персонала на всех трех фазах обслуживания.
3.2 Построение и исследование математическое модели упрощенной
задачи
Построим упрощенную математическую модель задачи.
Будем считать, что в магазине имеется m касс, которые работают
постоянно, в каждой из которых время обслуживания tобс является случайной
величиной, распределенной на промежутке [5; 10] минут.
Интенсивность прихода покупателей является величиной переменной и
зависит
от
времени.
Согласно
имеющимся
статистическим
данным
интенсивность можно описать формулой (в будние дни и выходные дни):
179 / 2 0.2 посетит./час, если t [10 : 00, 12 : 00],
(t ) 876 / 8 0.2 посетит./час, если t [12 : 00, 20 : 00],
100 / 8 0.2 посетит./час, если t [20 : 00, 22 : 00].
(8)
Далее пусть очередь является ограниченной, в ней может находится
максимально N человек. Таким образов имеем многоканальную СМО с
ограниченной очередью.
Представим данную систему массового обслуживания в виде графа,
представленного на рисунке 24.
Рисунок 24 – Граф состояния системы
На рисунке 25 приняты обозначения: Si (i 0,...m) – занято i касс, очередь
нулевая; Sm j ( j 1,...N ) – все кассы заняты, в очереди j человек.
Обозначим через Pk (t ) (k 0,...m N ) – вероятность нахождения системы в
состоянии S k .
Составим систему дифференциальных уравнений для определения
вероятностей Pk (t ) :
dp0
dt p0 p1 ,
dpi p (i ) p (i 1)p , i 1, m 1,
i 1
i
i 1
dt
dp m 1 j p
2 j ( m ) pm 1 j mpm j , j 1, N ,
dt
dp
m N pm 1 N mpm N .
dt
(9)
Для решения системы необходимо задать начальные условия – значения
вероятностей в начальный момент времени.
Так как период наблюдения составляет от 10:00 до 22:00, то определим:
p0 (0) 1, pk (0) 0 , k 1, m N , что соответствует ситуации, когда все кассы
свободны и очереди нет.
Для решения системы применим классический метод Рунге-Кутта 4-го
порядка, суть которого состоит в следующем: дано дифференциальное
уравнение
y ' f ( x, y ) ,
с начальным условием y ( x0 ) y0 .
Классический метод Рунге-Кутта 4-го порядка описывается системой пяти
равенств ( h – шаг вычислений):
h
yi 1 ym (k1 2k2 2k2 k4 ) ,
6
где
k1 f ( x, y) ,
h
hk
k2 f ( xi , yi 1 ) ,
2
2
(10)
h
hk
k3 f ( xi , yi 2 ) ,
2
2
k2 f ( xi h, yi hk3 ) .
Существует не один, а группа методов Рунге-Кутта, отличающихся друг от
друга порядком, т.е. количеством параметров k j . В данном случае мы имеем
метод 4-го порядка, который является одним из наиболее применяемых на
практике, так как обеспечивает высокую точность и в то же время отличается
сравнительной простотой. Поэтому в большинстве случаев он упоминается
просто как «метод Рунге-Кутта» без указания его порядка [17].
Положим
шаг
аппроксимации
t 5 с.,
все
время
наблюдений
T 12 60 60 43200 с.
Найдя численные значения вероятностей можно определить основные
характеристики:
-Среднее число занятых касс
m
N
i 0
j 1
K (t ) ipi (t ) mpm j (t ) ;
(11)
-Средняя длина очереди
N
L(t ) jpm j (t ) ;
j 1
(12)
-Вероятность отказа
pотк (t ) pm N (t ) ;
(13)
-Вероятность немедленного обслуживания
m 1
pнемедл (t ) pi (t ) .
i 0
(14)
Для математического моделирования работы супермаркета в прикладном
пакете Matlab необходимо создать дополнительные модули [33].
Для начала реализуем программу для вычисления правых частей
уравнения Рунге – Кутта по формулам (9).
Создадим файл func.m, где описываем следующие параметры:
-Время обслуживание в секундах
t _ obsl (5 ramd 5) 60 ;
-Интенсивность обслуживания (посетителей/с.)
mu 1/ t _ obsl ;
-Интенсивность прихода посетителей (посетителей/с.)
lam lambda(t ) .
Отдельным уравнением описывается случай, когда обслуживается один
покупатель:
f (1,1) lam P(1) mu p(2) .
Это необходимо для подсчета вероятности немедленного обслуживания.
Коэффициенты сдвинуты на единицу, так как пакет не воспринимает нулевой
параметр.
Далее задаются циклы при обслуживании покупателей без очереди:
f (i,1) lam P(i 1) ((i 1) mu lam) P(i) i mu P(i 1) ;
с очередью:
f (m j,1) lam P(m 1 j) (m mu lam) P(m j) m mu P(m 1 j) .
Так как по постановке задачи, интенсивность прихода покупателей зависит
от времени работы магазина, то для функции l lambda(t ) создадим программу
подсчета интенсивности в различные периоды времени:
-Первые часы работы (10:00 – 12:00)
(t 0) & (t 260 60)
l 179 0.2 /(2 60 60)
-Часы пик (12:00 – 20:00)
(t 2 60 60) & (t 10 60 60)
l 876 0.2 /(8 60 60)
-Последние часы работы (20:00 – 22:00)
(t 10 60 60) & (t 12 60 60)
l 100 0.2 /(2 60 60)
Произведем расчеты характеристик системы: среднее число занятых касс,
средняя длина очереди, вероятность отказа и вероятность немедленного
обслуживания для различных значений количества касс m . Установим
ограничение очереди N 15 человек, время моделирование 12 часов или
T 12 60 60 , шаг аппроксимации 10 секунд. Решаем систему ОДУ методом
Рунге – Кутта по формулам (12):
K1 func(t ( j ), P(:, j ), N , m);
K 2 func(t ( j ) dt / 2, P(:, j ) dt K1 / 2, N , m);
K 3 func(t ( j ) dt / 2, P(:, j ) dt K 2 / 2, N , m);
K 4 func(t ( j ) dt , P(:, j ) dt K 3, N , m);
P(:, j 1) P(:, j ) dt / 6 ( K1 2 K 2 2 K 3 K 4).
Листинги программ представлен в приложении В.
а) Покупателей обслуживает четыре кассы.
Графики с результатами представлены на рисунке 25.
Получаем следующие усредненные результаты:
-Среднее число касс: 2,2999
-Средняя длина очереди: 0,4899
-Вероятность отказа: 1,3766е-04
-Вероятность немедленного обслуживания: 0,8227
Анализируя полученные результаты видим, что заняты только три кассы,
одна простаивает без работы. Очередь не создается, клиенты обслуживаются
немедленно, что показывает и следующие параметры: вероятность отказа и
вероятность немедленного обслуживания.
а
б
г
в
Рисунок 25 – Характеристики работы системы при m=4
а – изменение числа занятых касс, б – изменение средней длины очереди,
в – изменение вероятности отказа, г – изменение вероятности немедленного
обслуживания
б) Покупателей обслуживает три кассы. Получаем данные:
-Среднее число касс: 2,2817
-Средняя длина очереди: 2,4850
-Вероятность отказа: 0,0081
-Вероятность немедленного обслуживания: 0,5083
В случае, когда работают три кассы, ни одна из касс не простаивает.
Очередь образуется и достигает в среднем трех человек, это количество
укладывается в заданное ограничение. Вероятность отказа близка к нулю.
Вероятность немедленного обслуживания примерно 50%.
Исходя
из полученных
данных, можно
предположить,
что
это
оптимальный вариант для заданной системы.
Графики вычислений при работе трех касс изображены на рисунке 26.
в) Покупателей обслуживает две кассы.
-Среднее число касс: 1,8974
-Средняя длина очереди: 8,9441
-Вероятность отказа: 0,1463
-Вероятность немедленного обслуживания: 0,1123
На рисунке 27 изображены графики параметров системы при работе двух
касс.
В случае работы только двух касс, по графику видно, что они работают на
пределе почти все наблюдаемое время. Очередь составляет 9 человек,
приближаясь к максимально допустимому. Соответственно вероятность отказа
увеличивается, а вероятность немедленного обслуживания практически равна
нулю.
Нет смысла рассматривать систему с одной кассой, показатели превысят
все ограничения.
Из выше сказанного можно сделать вывод, что три кассы является
оптимальным количеством для данного магазина с заданными исходными
данными. То есть работодатель не несет ущерб в связи с оплатой труда кассира,
касса которого не востребована; не существует негативного отношения со
стороны клиентов, они обслуживаются за короткий срок.
а
б
г
в
Рисунок 26 – Характеристики работы системы при m=3
а – изменение числа занятых касс, б – изменение средней длины очереди,
в – изменение вероятности отказа, г – изменение вероятности немедленного
обслуживания
а
б
в
г
Рисунок 27 – Характеристики работы системы при m=2
а – изменение числа занятых касс, б – изменение средней длины очереди,
в – изменение вероятности отказа, г – изменение вероятности немедленного
обслуживания
3.3 Логическая схема имитационной модели
Разработку схемы работы имитационной модели будем вести при
следующих условиях и входных данных.
1. Заданы функции распределения:
A(t ) – функция распределения для интервалов поступления заявок;
согласно статистическим данным интервал времени между соседними
«заявками» зависит от дня недели и от времени суток. Тем самым, случайная
величина «интервал поступления заявок» задается в виде кусочно-постоянной
функции вида
120 / N morn , t [10 : 00, 12 : 00],
A(t ) 480 / N day , t [12 : 00, 20 : 00],
120 / N even , t [20 : 00, 22 : 00],
где N morn , N day , Neven – количество посетителей в утренние, дневные и вечерние
часы соответственно;
B(t ) – функция распределения для интервалов времени, в течение
которого покупатель самостоятельно выбирает товар; задается треугольным
распределением по формуле [34]
2(t tmin )
,
(t
t
)(
t
t
)
max min mod min
2(tmax t )
f (t )
,
(
t
t
)(
t
t
)
max
min
max
mod
0,
tmin t tmod ;
tmod t tmax ;
t tmin , tmax ,
где tmin 2 (мин), tmax 15 (мин), tmod 5 (мин);
C (t ) – функция распределения для длительностей обслуживания у
консультанта; так же задается треугольным распределением с параметрами
tmin 2 (мин), tmax 30 (мин), tmod 10 (мин);
D(t ) – функция распределения для длительностей обслуживания у
кредитного специалиста; задается треугольным распределением с параметрами
tmin 15 (мин), tmax 45 (мин), tmod 20 (мин);
E (t ) – функция распределения для длительностей обслуживания на кассе;
задается треугольным распределением с параметрами tmin 30 (с.), tmax 75
(с.), tmod 55 (с.);
2. Задано количество:
-консультантов в торговом зале, mконс (12 человек в будние дни, 17 – в
выходные);
-количество кредитных экспертов, mкр (4 человека с 10:00 до 21:00, 1
человек с 10:00 до 22:00);
-количество работающих касс, mкасс (2 человека в будние дни, 3 – в
выходные).
3. Заданы вероятности того, что:
-пришедший посетитель будет или не будет клиентом ( pкл 0.2 ,
qкл 0.8 );
-клиенту понадобится или не понадобится помощь консультанта
( pконс 0.7 , qконс 0.3 );
-клиенту для покупки необходим кредит или нет ( pкр 0.3 , qкр 0.7 ).
4. Задано время моделирования: T 720 мин.
5. Задано максимальное время нахождения в очереди к консультантам,
кредитным экспертам и к кассам: Tout 20 мин.
6. Дисциплина обслуживание у консультантов, кредитных специалистов и
на кассе – FIFO (англ. «first in, first out», «первым пришёл – первым ушёл»).
7. В начале моделирования система свободна.
Тем самым, СМО полностью формализована. Блок-схема имитационной
модели представлена на рисунке 28.
В результате моделирования определяем следующие характеристики:
-среднее время нахождения в системе, tобщ (отсчет начинается с момента
прихода клиента в торговый зал и прекращается в блоке «Конец (выход
обслуженного клиента)»);
-среднее время обслуживания у консультанта, tконс (подсчет производится
при прохождении блока «Обслуживание у консультанта»);
Рисунок 28 – Логическая схема имитационной модели
-среднее время обслуживания у кредитного специалиста, tкр (подсчет
производится при прохождении блока «Обслуживание у кредитного эксперта»);
-среднее время обслуживания на каждой из касс, t1касс , t2касс , t3касс
(подсчет производится при прохождении блока «Обслуживание на кассе» для
каждой из касс отдельно);
-средняя длина очереди к консультанту, lконс (подсчет производится в
блоке «Очередь к консультанту»);
-средняя длина очереди к кредитному специалисту, lкр
(подсчет
производится в блоке «Очередь к кредитному эксперту»);
-средняя длина очереди на каждой из касс, l1касс , l2касс , l3касс (подсчет
производится в блоке «Очередь к кассам» для каждой из касс отдельно);
-среднее число занятых консультантов, nконс (подсчет производится в
блоке «Обслуживание у консультанта»);
-среднее число занятых кредитных экспертов, nкр (подсчет производится в
блоке «Обслуживание у кредитных экспертов»).
3.4 Построение имитационной модели супермаркета в Anylogic
При построение данной модели супермаркета используются те же
элементы Библиотеки моделирования процессов, но используется больше
сервисов, разветвлений для выбора фазы обслуживания и специальные блоки для
подсчета времени. Готовая схема модели изображена на рисунке 29.
Рисунок 29 – Блок-схема супермаркета
В блоке Enter задано расписание прихода покупателей согласно
постановке задачи. Расписание представлено на рисунке 30.
Сказано, что 20% посетителей совершают покупки. Для разделения
покупателей и посетителей используется блок Select Output, который направляет
покупателей дальше по системе, а посетителей к уничтожающему блоку Sink –
NotBuyers.
Далее начинаются фазы обслуживания. Первая фаза – так называемая
Быстрая продажа: покупатель самостоятельно выбирает товар из группы
самообслуживания или паллетной выкладки, без помощи консультантов и
отправляется к кассам для расчета. Эта фаза реализована блоками Shopping,
Select Output5, блоками обслуживания cashier1, cashier2 и cashier3, т.е. кассы, и
уничтожающий блок ExitWithBuy [35].
Рисунок 30 – Расписание интенсивности покупателей
В блоке Shopping задано время выбора товара triangular( 2, 5, 15 ), первый
блок Select Output5 отправляет 30% покупателей к кассам для быстрой продажи,
остальным 70 % необходима помощь консультанта. Второй блок Select Output5 с
равной вероятностью отправляет на обслуживание к одной из трех касс с
наименьшей очередью [37-38].
Втора фаза – помощь консультанта. Она заключается в консультации по
характеристикам товара, проверке работоспособности и целостность, упаковке.
Если клиент готов оплатить товар наличными денежными средствами или
банковской картой, то консультант сопровождает его в кассовую зону. Эта фаза
реализована блоками Consultant, Select Output, Select Output5, блоками
обслуживания cashier1, cashier2 и cashier3 и ExitWithBuy. В сервисе Consultant
задано время работы консультанта с клиентом triangular(2, 10, 30).
В случае, если клиент желает приобрести товар в кредит, то начинается
третья фаза – оформление кредита у кредитного специалиста. После оформления
покупатель должен подойти на кассу для регистрации кредита и забрать товар.
Используются блоки Credit (с параметром triangular(15, 20, 45 ) – временем
подачи заявки), Select Output5, блоки обслуживания cashier1, cashier2, cashier3 и
ExitWithBuy [39].
Блоки – сервисы Consultant, Credit, cashier1, cashier2 и cashier3
используют для работы блоки – ресурсы consultant, sredit_spec и cashiers
соответственно. Количество и время работы сотрудников задано согласно
расписаниям, представленным в Приложении Г.
В случае задержки в обслуживании более 20 минут, в этих блоках
установлен таймаут. Т.е. клиент покидает систему на одной из трех фаз
необслуженным. Для этих целей реализован блок ExitWithoutBuy [40].
В результате реализовано три варианта выхода посетителей из
супермаркета: с покупкой ExitWithBuy, не дождавшиеся обслуживания
ExitWithoutBuy и не покупатели NotBuyers.
Для сбора статистических данных этих трех вариантов используется
элемент статистики – круговая диаграмма. Изображение результата сбора
статистики в будние дни представлено на рисунке 31.
Рисунок 31 – Круговая диаграмма выхода посетителей
Прикладной пакет Anylogic позволяет графически изобразить модель в
виде 2d и 3d анимации. Есть возможность загрузить готовую схему в виде
картинки и на нее наносить элементы Разметки пространства, размещать агентов
[41]. Схематически магазин представлен на рисунке 32.
Рисунок 32 – Схема магазина
Изображены в виде зеленых многоугольников кредитная и кассовые зоны,
прилавки в виде стен, складская зона (выделена серым) недоступна для
посетителей. Аттракторами отмечены точки появления и направления
покупателей и сотрудников при работе системы, места образования очередей.
Особую наглядность и привлекательность представляет 3d изображение
работы системы. На рисунке 33 изображены скриншоты кассовой и кредитной
зоны.
Выделены
различными
цветами
одежда
клиентов
и
униформа
сотрудников, представлен интерьер и рабочие места.
3.5 Анализ результатов работы имитационной модели
Перейдем к сбору статистических данных. Для сбора среднего времени
обслуживания используем блоки Time Measure Start и Time Measure End
Библиотеки моделирования процессов [36]. Эти блоки – счетчики фиксируют
время при прохождении агентов через начальный и конечный счетчики.
Свойства конечного счетчика представлено на рисунке 34.
а
б
Рисунок 33 – 3d изображение супермаркета:
а – кредитная зона, б – кассовая зона
В системе использованы шесть пар счетчиков: для подсчета общего
времени в системе, времени работы с консультантом, времени оформления
кредита и обслуживания на трех кассах.
Рисунок 34 – Свойства счетчика Time Measure End
Условно работу супермаркета можно разбить на несколько частей по
времени суток и дня недели:
-час пик: 12:00 – 20:00;
-начало рабочего дня 10:00 – 12:00;
-работа в будние дни (Понедельник – Пятница);
-работа в выходные дни (Суббота – Воскресенье).
В зависимости от режима показатели будут отличаться.
Снимем показатели счетчиков в эти периоды. Результаты занесем в
таблицу 2 для наглядности. Проанализируем полученные результаты. Первые
часы рабочего дня отличаются низкими показателями на всех этапах, это
объясняется низкой интенсивностью, отсутствием очередей. В будние дни
третья касса не работает, поэтому показатели нулевые. В часы пик повышение
показателей работы с консультантами, кредитными экспертами, обслуживанием
на кассе объясняется, наличием очереди. Так как датчики фиксируют не время
обслуживание персоналом, а время нахождения клиента на фазе обслуживания,
т.е. время в очереди плюс время обслуживания.
Таблица 2 – Характеристики работы системы
Общее время
Работа с
Оформление
Касса 1
в системе
консультантом
кредита
Будние дни
Начало рабочего дня
16,83
14,02
27,66
0,88
Час пик
26,19
30,56
38,25
1,02
Выходные дни
Начало рабочего дня
21,08
13,96
34,28
0,91
Час пик
24,24
31,08
41
1,52
Касса 2 Касса 3
0,85
0
1,01
0
0,92
1,06
1,4
2,35
Графически данные показатели проиллюстрированы временным графиком
и гистограммой на рисунке 35 на конец работы системы.
а
б
в
Рисунок 35 – Временные показатели системы:
а – общее время в системе, б – время работы с консультантом и кредитным
специалистом, в – время обслуживание на кассе
Еще одними важными показателями системы являются средняя длина
очереди на фазах обслуживания и количество занятых специалистов [7].
Так как количество кассиров два в будние дни и три в выходные, и они
разделены на отдельные сервисы, то будем считать, что эти сотрудники
задействованы в полном объеме в течении рабочего дня. Вычислим только
среднюю длину очереди к кассам с помощью элемента Статистика и временного
графика [39]. Показатели представлены на рисунке 36.
Расчет выполнен в будний день, когда касса не работает, поэтому
показатель третье кассы нулевой. А на первой и второй кассе очередь не
создается. В выходной день показатели на первой кассе составляет 0,397, на
второй – 0,306, на третьей – 0,904. Т.е. тоже очереди практически нет. Кассы
справляются с нагрузкой.
Рисунок 36 – Величина очереди на кассах
Рассмотрим
количество
занятых
консультантов
и
кредитных
специалистов. Статистика и график представлены на рисунке 37.
Из статистики видно, что среднее количество консультантов 10 из 12
заняты в течении дня, максимальное число задействовано в час пик работы.
Кредитные специалисты задействованы все. В выходные дня заняты в среднем
14 из 17 консультантов.
Рисунок 37 – Количество занятых специалистов
Рассмотри очередь, образующуюся к специалистам. И к консультантам, и
к кредитным специалистам образуется очередь в среднем 2 человека. Судя по
параметрам на рисунке 38, в течении дня достигает 5 – 7 человек. В выходные
дни очередь к консультантам составляет 3 человека, к кредитным специалистам
5 человек. Что является не допустимым. Необходимо создать такие условия,
чтобы очередь к специалисту сводилась к нулю.
Рисунок 38 – Длина очереди к специалистам
Основной задачей оптимизации торговля, является улучшение качества
обслуживания. На примере данного супермаркета, необходимо улучшить работу
консультантов и кредитных специалистов. Этого можно достичь различными
способами. Увеличение количества сотрудников не рационально, т.к. в течении
дня нехватка их ощущается только в определенный период. Необходимо
проводить различные тренинги, беседы для увеличения профессионализма
сотрудников. Это способствует более быстрому и квалифицированному
обслуживанию. Дать возможность консультантам оформлять кредиты, в случае
загруженности кредитных специалистов. Оборудовать удобные места для
проверки качества товара, оказания услуг. Ввести различные приложения для
оптимизации работы сотрудников. Приобщать клиентов к покупкам через
интернет приложения. Установить терминалы самообслуживания. С помощью
этих терминалов клиент сможет не только выбрать и ознакомиться с
характеристиками товара, но и изучить отзывы по нему, оформить документы на
кредитование, оплатить по карте, выписать счет на оплату по безналичному
расчету. Привлечение и увеличения числа промоутеров, которые дадут
квалифицированную консультацию по определенной группе товаров. Это снизит
нагрузку с консультантов, и они смогут оказать помощь тем, кто в ней нуждается
более всего.
ЗАКЛЮЧЕНИЕ
В данной работе была построена имитационная модель работы
супермаркета цифровой и бытовой техники с учетом всех взаимодействий между
группами сотрудников.
Выполнению этой цели предшествовал ряд следующих задач. Были
изучены определение и основные понятия системы массового обслуживания. По
определенным
признаками
выделены
основные
типы
СМО
(системы
однофазные и многофазные, открытые и закрытие т.д.). При определении
эффективности работы системы важное значение имеет расчет основных
характеристик. В работе представлены формулы для расчета основных
характеристик СМО в зависимости от типа.
Описания свойств сложных объектов возможно при использовании
имитационного моделирования. Его суть заключается в максимальном
воспроизведении моделируемого объекта, его свойств и динамики. Рассмотрены
основные этапы построения имитационной модели. Для моделирования
существует
огромное
количество
прикладных
программ.
С
целью
осуществления основной задачи магистерской работы был выбран прикладной
пакет Anylogic, поддерживающий три метода моделирования: агентный,
дискретно-событийный и системная динамика.
В представленном пакете решена задача по моделированию работы кассы
супермаркета
цифровой
и
бытовой
техники,
вычисление
основных
характеристик. Проведен анализ работы упрощённой системы.
На основании полученных результатов работы модели системы были даны
рекомендации по оптимизации:
-Проведение
профессионализма
различных
сотрудников.
тренингов,
Это
бесед
способствует
для
более
увеличения
быстрому
и
квалифицированному обслуживанию.
-Дать возможность консультантам оформлять кредиты, в случае
загруженности кредитных специалистов.
-Оборудование удобных мест для проверки качества товара, оказания
услуг.
-Введение различных приложения для оптимизации работы сотрудников.
-Приобщение клиентов к покупкам через интернет приложения.
-Установка терминалы самообслуживания. С помощью этих терминалов
клиент сможет не только выбрать и ознакомиться с характеристиками товара, но
и изучить отзывы по нему, оформить документы на кредитование, оплатить по
карте, выписать счет на оплату по безналичному расчету.
и
-Привлечение
увеличения
числа
промоутеров,
которые
дадут
квалифицированную консультацию по определенной группе товаров.
Данные рекомендации помогут снизать нагрузку с сотрудников в
загруженные часы работы магазина, что позволит обслужить большее число
клиентов.
Апробация результатов работы была проведена посредством:
1. Выступления на XXVIII научной конференции «День науки АмГУ»
(2019 г.).
2. Участия в XX региональной научно-практической конференции
«Молодежь ХХI века: шаг в будущее» (Благовещенск, 2019 г.).
3. Заочного участия на II и III Всероссийской национальной конференции
студентов, аспирантов и молодых ученых «Молодежь и наука: актуальные
проблемы фундаментальных и прикладных исследований», г. Комсомольск-наАмуре, (2019-2020гг.)
4. Публикации научных статей, материалов и тезисов в различных
изданиях:
Информатика
государственного
и
системы
университета,
управления,
материалы
XX
Вестник
Амурского
региональной
научно-
практической конференции «Молодёжь XXI века: шаг в будущее», материалы II
и III всероссийской национальной научной конференции студентов, аспирантов
и
молодых
ученых
«Молодежь
и
наука:
Актуальные
проблемы
семинарах
кафедры
фундаментальных и прикладных исследований».
5. Выступления
на
научно-методических
математического анализа и моделирования Амурского государственного
университета.
Результаты магистерской диссертации могут быть использованы в
образовательном
процессе
при
изучении
дисциплин
«Математическое
моделирование» (специальность 09.02.03 Программирование в компьютерных
системах), «Теория игр и исследование операций», «Математическое и
компьютерное моделирование» (направление подготовки 01.03.02 Прикладная
математика и информатика) в рамках проведения лекционных, практических и
лабораторных занятий.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1 Шапкин, А.С. Математические методы и модели исследования операций
[Электронный ресурс]: учебник / А.С. Шапкин, В.А. Шапкин. – Электрон.
текстовые данные. − Москва: Дашков и К, 2019. − 398 с.
2 Вентцель,
Е.С.
Исследование
операций.
Задачи,
принципы,
методология: учебное пособие для вузов / Е.С. Вентцель. – М.: Дрофа, 2006. –
206 с.
3 Зариковская,
Н.В.
Математическое
моделирование
систем
[Электронный ресурс]: учебное пособие / Н.В. Зариковская. – Томск: ТУСУР,
2014. – 168 c.
4 Григорьев, И. Anylogic за три дня: практическое пособие по
имитационному моделированию / И. Григорьев. – 2017. – 202 с.
5 Лимановская, О.В. Имитационное моделирование в Anylogic 7. В 2 ч., ч.
1: учебное пособие / О.В Лимановская. – Екатеринбург: Изд-во Урал. ун-та, 2017.
– 156 с.
6 Лимановская, О.В. Имитационное моделирование в Anylogic 7. В 2 ч., ч.
2: лабораторный практикум / О.В. Лимановская. – Екатеринбург: Изд-во Урал.
ун-та, 2017. – 108 с.
7 Максимова, Н.Н. Построение и исследование модели супермаркета в
программе имитационного моделирования Anylogic / Н.Н. Максимова,
С.Ю. Тето // Молодежь и наука: актуальные проблемы фундаментальных и
прикладных исследований: материалы II Всерос. нац. науч. конф. студентов,
аспирантов и молодых ученых, Комсомольск-на-Амуре, 08 – 12 апреля 2019 г.: в
4 ч. / редкол.: Э. А. Дмитриев (отв. ред.) [и др.]. – Комсомольск-на-Амуре:
ФГБОУ ВО «КнАГУ», 2019. – Ч. 2. – С. 452-454.
8 Максимова, Н.Н. Математическое и имитационное моделирование
работы кассы супермаркета / Н.Н. Максимова, С.Ю. Тето // Вестник Амурского
государственного университета. – 2019. – № 85. – С. 22-29.
9 Тето, С.Ю. Имитационное моделирование работы касс супермаркета в
программе Anylogic / С.Ю. Тето // Молодежь ХХI века: шаг в будущее:
материалы XX региональной научно-практической конференции (23 мая 2019 г.,
Благовещенск): в 3 томах. – Благовещенск: Изд-во Амурского гос. ун-та, 2019. –
Т. 3. – С. 179-181.
10 Максимова, Н.Н. Имитационное моделирование работы супермаркета
цифровой и бытовой техники / Н.Н. Максимова, С.Ю. Тето // Информатика и
системы управления. – 2020. – №1(63). – С. 3-16.
11 Максимова, Н.Н. Математическое моделирование многоканальной
системы массового обслуживания с отказами и с переменными интенсивностями
/ Н.Н. Максимова, С.Ю. Тето // Молодежь и наука: актуальные проблемы
фундаментальных и прикладных исследований: материалы III Всерос. нац. науч.
конф. молодых ученых, Комсомольск-на-Амуре, 08 – 12 апреля 2020 г.
12 Таташев, А.Г. Системы массового обслуживания со специальными
дисциплинами: автореферат диссертации на соискание ученой степени доктора
физико-математических наук: 05.13.01 / А.Г. Таташев. – М.: Российская
академия наук, 2000. – 33 с.
13 Киреева, Н.В. Исследование методов аппроксимации функции
распределения вероятностей в системах массового обслуживания [Электронный
ресурс]: методические указания по выполнению курсовых работ / Н.В. Киреева,
Л.Р. Чупахина. Электрон. текстовые данные.
– Самара: Поволжский
государственный университет телекоммуникаций и информатики, 2015. – 27 c.
14 Самусевич,
Г.А.
Основы
теории
массового
обслуживания
[Электронный ресурс]: практикум / Г.А. Самусевич. − Электрон. текстовые
данные. Екатеринбург: Уральский федеральный университет, ЭБС АСВ, 2014. −
44 c.
15 Климов, Г.П. Теория массового обслуживания [Электронный ресурс]:
учебное пособие / Г.П. Климов. − Электрон. текстовые данные. − М.:
Московский государственный университет имени М.В. Ломоносова, 2011. –
312 c.
16 Карташевский, В.Г. Основы теории массового обслуживания: учебное
пособие для вузов. – М.: Горячая линия-Телеком, 2013. – 130 с.
17 Солнышкина, И.В. Теория систем массового обслуживания: учебное
пособие / И.В. Солнышкина. – Комсомольск-на-Амуре: ФГБОУ ВПО
«КнАГТУ», 2015. – 76 с.
18 Саакян, Г.Р. Теория массового обслуживания: Лекции / Г.Р. Саакян:
Южно-российский государственный университет экономики и сервиса. –
Шахты: Изд-во Южно-российского государственного университета экономики и
сервиса, 2006. – 28 с.
19 Кобелев, Н.Б. Основы имитационного моделирования сложных
экономических систем: учебное пособие / Н.Б. Кобелев – М.: Дело, 2003. –
336 с.
20 Ослин, Б.Г. Моделирование. Имитационное моделирование СМО:
учебное пособие / Б.Г. Ослин; Томский политехнический университет. – Томск:
Изд-во Томского политехнического университета, 2010. – 128 с.
21 Афонин, В.В. Моделирование систем: учебная литература для вузов /
В.В. Афонин, С.А. Федосин. – М.: Интернет-Университет Информационных
Технологий (ИНТУИТ), 2016. – 232 с.
22 Куприяшкин, А.Г. Основы моделирования систем: учеб. пособие / А.Г.
Куприяшкин; Норильский индустр. ин-т. – Норильск: НИИ, 2015. – 135 с.
23 Киселева, М.В. Имитационное моделирование систем в среде Anylogic:
учебно-методическое пособие / М.В. Киселёва. – Екатеринбург: УГТУ – УПИ,
2009. – 88 с.
24 Боев, В.Д. Компьютерное моделирование: Пособие для практических
занятий, курсового и дипломного проектирования в Anylogic7 / В.Д. Боев. –
СПб.: ВАС, 2014. – 432 с
25 Липенков, А.В. О практическом опыте моделирования нового сервиса
в крупном торгово-развлекательном центре / А.В. Липенков, С.П. Усов, С.В.
Масягин, М.В. Толстогузов // ИММОД. – 2017. – № 3. – С. 452-455.
26 Мезенцев, К.Н. Моделирование систем в среде Anylogic 6.4.1: учебное
пособие». Часть 2 / К.Н. Мезенцев, под редакцией Заслуженного деятеля науки
РФ, д.т.н., профессора А.Б. Николаева. МАДИ. – М.: 2011. – 103 с.
27 Боев, В.Д. Концептуальное проектирование систем в Anylogic и GPSS
World / В.Д. Боев. − 2-е изд. − Электрон. текстовые данные. − М.: ИнтернетУниверситет Информационных Технологий (ИНТУИТ), 2016. – 542 c.
28 Кораблина, Н.А. Использование «ППП Anylogic» в системах массового
обслуживания для построения имитационных моделей процессов/ Н.А.
Кораблина,
С.В.
Стоякин,
М.В.
Путенко
Вестник
//
Воронежского
государственного аграрного – 2012. – № 2 (33) – С. 184 – 186
29 Мутовкина,
Н.Ю.
Исследование
и
оптимизация
поведения
потребителей на рынке в программной среде Anylogic // Системы управления и
информационные технологии. – 2018. – № 4(74). – С. 39-43.
30 Димов, Э.М. Имитационное моделирование деятельности отдела
менеджмента качества на базе платформы Anylogic / Э.М Димов, О.Н. Маслов,
С.В. Сухова // Информационные технологии. – 2017. – Т. 23, № 3. – С. 172-177.
31 Калугин, А.И. Оптимизационный эксперимент в среде Anylogic / А.И.
Калугин // Наука и школа. – 2015. − № 4. – С. 168−173.
32 Arash Mahdavi. The Art of Process-Centric Modelingwith Anylogic (2020).
Available
at:
https://www.anylogic.ru/resources/books/the-art-of-process-centric-
modeling-with-anylogic (accessed 29 February 2020).
33 Кирпичников, А.П. Анализ динамической модели регистрации в
аэропорту с использованием средств Anylogic / А.П. Кирпичников, В.Д.
Васильев, Р.А. Нитшаев // Вестник Технологического университета. – 2019. – т.
22, № 7. – С. 101-109.
34 Введение в математический пакет Matlab: учебно-методическое
пособие/ составители Т.И. Семенова [и др.]. — Москва: Московский
технический университет связи и информатики, 2016. — 88 c.
35 Акопов, А.С. Компьютерное моделирование: учебник и практикум для
СПО / А.С. Акопов. – М.: Издательство Юрайт, 2019. – 389 с.
36 Ефромеева, Е.В. Имитационное моделирование: основы практического
применения в среде Anylogic [Электронный ресурс]: учебное пособие /
Ефромеева Е.В., Ефромеев Н.М.— Электрон. текстовые данные. – Саратов:
Вузовское образование, 2020. – 120 c.
37 Шамлицкий, Я.И. Моделирование транспортной инфраструктуры на
основе программного продукта Anylogic / Я.И. Шамлицкий, Н.В. Ковбаса, С.Н.
Мироненко, Д.С. Шарапиев // Естественные и технические науки. – 2018. – №
12(126). – С. 435-437.
38 Шамлицкий, Я.И. Моделирование транспортных потоков в среде
Anylogic / Я.И. Шамлицкий, А.С. Охота, С.Н. Мироненко // Программные
продукты и системы. – 2018. – № 3. – С. 632-635.
39 Муршед, Ф.А., Исследование поллинговых систем на основе
имитационных моделей с использованием программного комплекса Anylogic /
Ф.А. Муршед, Е.А. Печеный, Н.К. Нуриев // Вестник Технологического
университета. – 2018. – Т. 21, № 2. – С. 109-114.
40 Баран, В.И. Прогнозирование надежности элементов информационных
систем с помощью инструментальных средств Anylogic 7 / В.И. Баран, Е.П. Баран
// Вестник Российского университета кооперации. – 2016. – № 1(23). – С. 8-10.
41 Ivanov, D. Operations and supply chain simulation with Anylogic: decisionoriented introductory notes for master students / D. Ivanov. – 2nd Edition. – ETextbook. – Berlin School of Economics and Law (preprint), 2017. – 97 p.
ПРИЛОЖЕНИЕ А
Использование результатов магистерской диссертации в педагогической
деятельности. Разработка лабораторной работы «Вычисление предельных
характеристик работы супермаркета с использованием пакета ППП Matlab».
Рассмотрим супермаркет как многоканальную
систему массового
обслуживания и предположим, что очередь может неограниченно расти.
Пусть имеется n касс. Введем обозначения состояний: S 0 – все кассы
свободны, S1 – занята одна касса, …, S n – заняты все n касс, S n1 – заняты все n
касс и один человек в очереди, S n 2 – заняты все n касс и два человека в очереди
и т.д.
Обозначим параметры системы: – интенсивность прибытия покупателей
(человек в минуту), t об – время обслуживания одного покупателя (минут),
1 / t об – интенсивность обслуживания (человек в минуту).
Будем считать, что / n 1 , где
; в противном случае система не
является устойчивой (очередь неограниченно растет).
Будем рассчитывать характеристики состояния системы по следующим
известным формулам:
предельные вероятности состояний
1
2
n
n1
,
p0 1
...
2
!
n
!
n
!
(
n
)
pk
k
k!
p0 (k 1, ..., n) , p ni
n i
n n!
i
p0 (i 1, 2, ...) ;
вероятность отказа Pотк 0 ;
относительная пропускная способность (вероятность обслуживания)
Q 1 Pотк 1 ;
Продолжение Приложения А
абсолютная пропускная способность A Q ;
среднее число занятых касс k
среднее
Lоч
n 1 p 0
n n!
число
1
1
n
среднее
T оч
Lоч
2
;
покупателей
в
очереди
(длина
очереди)
;
время
n p0
n n!
A
ожидания
1
1
n
2
покупателя
в
очереди
.
Положим следующие значения параметров системы: интенсивность
прибытия покупателей – 1 , 1,5 и 2 человека в минуту, время
обслуживания одного покупателя – t об 1 минута, откуда интенсивность
обслуживания 1 / t об 1 человек в минуту.
Задания для самостоятельной работы.
В пакете Matlab необходимо рассчитать основные характеристики работы
системы: среднее число занятых касс k , среднее число покупателей в очереди
Lоч , среднее время ожидания покупателя в очереди T оч , используя начальные
данные согласно варианту. Проанализируйте работу системы.
Вариант 1.
Интенсивность прибытия покупателей 1 человека в минуту, время
обслуживания одного покупателя – tоб 30 секунд, число касс n 4 .
Вариант 2.
Интенсивность прибытия покупателей 0.5 человека в минуту, время
обслуживания одного покупателя – tоб 45 секунд, число касс n 2 .
Продолжение Приложения А
Вариант 3.
Интенсивность прибытия покупателей 2 человека в минуту, время
обслуживания одного покупателя – tоб 60 секунд, число касс n 3 .
Вариант 4.
Интенсивность прибытия покупателей 1.5 человека в минуту, время
обслуживания одного покупателя – tоб 75 секунд, число касс n 4 .
Вариант 5.
Интенсивность прибытия покупателей 1 человека в минуту, время
обслуживания одного покупателя – tоб 25 секунд, число касс n 4 .
Вариант 6.
Интенсивность прибытия покупателей 1 человека в минуту, время
обслуживания одного покупателя – tоб 30 секунд, число касс n 2 .
Вариант 7.
Интенсивность прибытия покупателей 3 человека в минуту, время
обслуживания одного покупателя – tоб 50 секунд, число касс n 5 .
Вариант 8.
Интенсивность прибытия покупателей 0.5 человека в минуту, время
обслуживания одного покупателя – tоб 60 секунд, число касс n 4 .
Вариант 9.
Интенсивность прибытия покупателей 1.5 человека в минуту, время
обслуживания одного покупателя – tоб 25 секунд, число касс n 3 .
Вариант 10.
Интенсивность прибытия покупателей 2 человека в минуту, время
обслуживания одного покупателя – tоб 75 секунд, число касс n 4 .
ПРИЛОЖЕНИЕ Б
Использование результатов магистерской диссертации в педагогической
деятельности. Разработка лабораторной работы «Имитационное моделирование
работы супермаркета в пакете Anylogic».
Задания для самостоятельной работы.
В супермаркете имеется m касс. Покупатели посещают магазин с
интенсивностью человек в минуту, затрачивая время на совершение покупки
от tmin до tmax в среднем tmod . Время обслуживания покупателей кассирами от
min до max в среднем mod .
В прикладном пакете Anylogic постройте блок–схему работы касс
супермаркета используя основные элементы Библиотеки моделирования
процессов: sourсe, delay, service, resourcePool, sink с параметрами согласно
варианту. Проанализируйте работу системы с помощью элементов Статистики:
временного графика, гистограммы.
Вариант 1. Интенсивность прибытия посетителей 1,5 чел/мин; количество
касс равно 3; время совершения покупки от 2 мин до 15 мин, в среднем 10 мин;
время обслуживания от 0,3 мин до 4 мин, в среднем 2 мин.
Вариант 2. Интенсивность прибытия посетителей 1 чел/мин; количество
касс равно 4; время совершения покупки от 5 мин до 60 мин, в среднем 20 мин;
время обслуживания от 0,5 мин до 10 мин, в среднем 5 мин.
Вариант 3. Интенсивность прибытия посетителей 2 чел/мин; количество
касс равно 2; время совершения покупки от 2 мин до 20 мин, в среднем 12 мин;
время обслуживания от 0,5 мин до 5 мин, в среднем 2 мин.
Вариант 4. Интенсивность прибытия посетителей 2 чел/мин; количество
касс равно 4; время совершения покупки от 5 мин до 60 мин, в среднем 15 мин;
время обслуживания от 0,3 мин до 5 мин, в среднем 3 мин.
Продолжение Приложения Б
Вариант 5. Интенсивность прибытия посетителей 1 чел/мин; количество
касс равно 2; время совершения покупки от 2 мин до 25 мин, в среднем 15 мин;
время обслуживания от 0,5 мин до 3 мин, в среднем 1,5 мин.
Вариант 6. Интенсивность прибытия посетителей 1,5 чел/мин; количество
касс равно 2; время совершения покупки от 2 мин до 60 мин, в среднем 20 мин;
время обслуживания от 0,6 мин до 7 мин, в среднем 2,5 мин.
Вариант 7. Интенсивность прибытия посетителей 2 чел/мин; количество
касс равно 3; время совершения покупки от 5 мин до 60 мин, в среднем 30 мин;
время обслуживания от 0,25 мин до 1 мин, в среднем 0,5 мин.
Вариант 8. Интенсивность прибытия посетителей 0,5 чел/мин; количество
касс равно 1; время совершения покупки от 2 мин до 30 мин, в среднем 15 мин;
время обслуживания от 0,3 мин до 1 мин, в среднем 0,5 мин.
Вариант 9. Интенсивность прибытия посетителей 3 чел/мин; количество
касс равно 4; время совершения покупки от 2 мин до 15 мин, в среднем 10 мин;
время обслуживания от 0,5 мин до 5 мин, в среднем 2 мин.
Вариант 10. Интенсивность прибытия посетителей 1 чел/мин; количество
касс равно 1; время совершения покупки от 5 мин до 60 мин, в среднем 25 мин;
время обслуживания от 0,25 мин до 1 мин, в среднем 0,5 мин.
ПРИЛОЖЕНИЕ В
Листинг вычислительной программы «Исследование математической
модели работы супермаркета с ограниченной очередью и переменными
интенсивностями»
а) Задание функций правых частей системы ОДУ
function f=func(t, P, N, m) %функции правых частей системы
ОДУ
t_obsl=(5*rand+5)*60; %время обслуживания, с.
mu=1/t_obsl; %интенсивность обслуживания, посетителей/с.
lam=lambda(t); %интенсивность прихода покупателей,
посетителей/с.
f(1,1)=-lam*P(1)+mu*P(2);
for i=2:m
f(i,1)=lam*P(i-1)-((i-1)*mu+lam)*P(i)+i*mu*P(i+1);
end;
for j=1:N
f(m+j,1)=lam*P(m-1+j)-(m*mu+lam)*P(m+j)+m*mu*P(m+1+j);
end;
f(m+1+N,1)=lam*P(m+j)-m*mu*P(m+1+j);
б) Задание функции интенсивности прихода покупателей.
function l=lambda(t) %функция интенсивности прихода
покупателей, посетителей/с.
if (t>=0)&(t<2*60*60)
l=179*0.2/(2*60*60);
end;
if (t>=2*60*60)&(t<10*60*60)
l=876*0.2/(8*60*60);
end;
if (t>=10*60*60)&(t<=12*60*60)
l=100*0.2/(2*60*60);
end;
в) Вычисления предельных характеристик.
function Solver
clc; clear all;
%входные данные
N=15; m=4;
количество касс
T=12*60*60;
22:00, с.
dt=10;
t=0:dt:T;
%ограничение на длину очереди и
%время моделирования с 10:00 до
%шаг аппроксимации, с.
%разбиение сетки
Продолжение Приложения В
p=size(t);
%размерность вектора t
P=zeros(m+1+N, p(2));
%пустой массив будущих значений
вероятностей
P(1,1)=1; P(2:(m+1+N),1)=0; %начальные значения вероятностей
%решение системы ОДУ методом Рунге-Кутта
for j=1:(p(2)-1)
K1=func(t(j), P(:, j), N, m);
K2=func(t(j)+dt/2, P(:, j)+dt*K1/2, N, m);
K3=func(t(j)+dt/2, P(:, j)+dt*K2/2, N, m);
K4=func(t(j)+dt, P(:, j)+dt*K3, N, m);
P(:, j+1)=P(:, j)+dt/6*(K1+2*K2+2*K3+K4);
end;
%среднее число занятых касс
k1=0; k2=0;
for i=1:(m+1)
k1=k1+(i-1)*P(i, :);
end;
for j=1:N
k2=k2+P(m+1+j, :);
end;
K=k1+m*k2;
KK=mean(K)
figure(1)
plot(t, K, 'r.-')
grid on
xlabel('Время, с.')
ylabel('Среднее число занятых касс')
title('Изменение числа занятых касс')
%средняя длина очереди
k3=0;
for j=1:N
k3=k3+j*P(m+1+j, :);
end;
L=k3;
LL=mean(L)
figure(2)
plot(t, L, 'b.-')
grid on
xlabel('Время, с.')
ylabel('Средняя длина очереди, чел')
title('Изменение средней длины очереди')
%вероятность отказа
P_otk=P(m+1+N, :);
PP_otk=mean(P_otk)
figure(3)
plot(t, P_otk, 'g.-')
grid on
Продолжение Приложения В
xlabel('Время, с.')
ylabel('Вероятность отказа')
title('Изменение вероятности отказа')
%вероятность немедленного обслуживания
P_obsl=sum(P(1:(m+1), :));
PP_obsl=mean(P_obsl)
figure(4)
plot(t, P_obsl, 'm.-')
grid on
xlabel('Время, с.')
ylabel('Вероятность немедленного обслуживания')
title('Изменение вероятности немедленного обслуживания')
ПРИЛОЖЕНИЕ Г
Изображения расписаний работы сотрудников
Рисунок Г.1 – Расписание работы кредитных специалистов
Рисунок Г.2 – Расписание работы консультантов
Продолжение Приложения Г
Рисунок Г.3 – Расписание работы кассиров в будние дни
Рисунок Г.4 – Расписание работы кассиров в выходные дни
Отзывы:
Авторизуйтесь, чтобы оставить отзыви хорошего настроения
удачи
успехов в конкурсе
Наверное было затрачено много времени и труда на работу
Продолжай свое исследование
Админам респект
Красиво написанная работа
Так держать
Молодец
Интересная работа!