Рис. 3. Примеры портретов найденных матриц Мерсенна (размер 255x255 пикселей) (а) и Ферма (размер 257x257 пикселей) (б) 255-го и 257-го порядков соответственно
Литература
1. Аршинов М.Н., Садовский Л.Е. Коды и математика - М.: Наука, 1983. - 144 с.
2. Блэйхут Р. Быстрые алгоритмы цифровой обработки сигналов. - М.: Мир, 1989. - 448 с.
3. Сергеев М.Б., Балонин Н.А., Балонин Ю.Н. Программа поиска М-матриц. Свидетельство о государственной регистрации программы для ЭВМ № 2012614356 от 16 мая 2012 г.
4. Балонин Н.А., Сергеев М.Б., Мироновский Л.А. Вычисление матриц Адамара-Мерсенна // Информационно-управляющие системы. - 2012. - № 5. - С. 92-94.
5. Балонин Ю.Н., Сергеев М.Б. М-матрица 22-го порядка // Информационно-управляющие системы. -2011. - № 5. - С. 87-90.
6. Балонин Н.А., Сергеев М.Б., Мироновский Л.А. Вычисление матриц Адамара-Ферма // Информационно-управляющие системы. - 2012. - № 6 (61). - С. 90-93.
7. Балонин Н.А., Сергеев М.Б. О двух способах построения матриц Адамара-Эйлера // Информационно-управляющие системы. - 2013. - № 1 (62). - С. 7-10.
Балонин Юрий Николаевич - Санкт-Петербургский государственный университет аэрокосмического приборостроения (ГУАП), программист, [email protected] Сергеев Михаил Борисович - Санкт-Петербургский государственный университет аэрокосмического приборостроения (ГУАП), доктор технических наук, профессор, зав. кафедрой; НИИ информационно-управляющих систем НИУ ИТМО, директор, [email protected]
УДК 65.012.122
АГЕНТНОЕ ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ БИЗНЕС-ПРОЦЕССОВ
В НОТАЦИИ еЕРС Е.А. Ланцев, М.Г. Доррер
Предложен и разработан теоретико-множественный аппарат описания моделей бизнес-процессов микроэкономической системы в методологии ARIS eEPC, а также агентных имитационных моделей AnyLogic. Разработан метод трансляции модели в нотации eEPC в агентную имитационную модель AnyLogic. На основе разработанного метода проведен эксперимент по трансляции модели в нотации eEPC в агентную имитационную модель AnyLogic. Ключевые слова: агентное имитационное моделирование, eEPC, ARIS, AnyLogic.
Введение
Для анализа бизнес-процессов могут применяться непосредственно программные продукты для имитационного моделирования - Arena, AnyLogic, GPSS и др. Но использование специализированных систем имитационного моделирования для анализа деятельности предприятий и организаций сопряжено со значительной сложностью представления и согласования разработанных моделей с экспертами предметной области - менеджерами, экономистами, технологами. Для них более традиционным является представление деятельности предприятия в виде графических моделей бизнес-процессов в формате IDEF0/IDEF3, BPMN, EPC.
Существующие разработки в области трансляции между формальным описанием бизнес-процессов и его имитационной моделью в основном нацелены на получение в конечном итоге дискретно-событийной имитационной модели. В качестве целевой имитационной модели может использоваться как модель в формате существующей имитационной системы (Arena, GPSS, CPN Tools), так и формат для системы имитационного моделирования собственной разработки. Агентные модели в этой области применяются мало, в качестве имитационной системы используются собственные разработки [1-3].
В отличие от существующих разработок, в настоящей работе реализован более общий подход, теоретически применимый и к другим событийным моделям бизнес-процессов.
Методы и материалы исследования
ARIS eEPC - расширенная нотация описания цепочки процесса, управляемого событиями, которая предназначена для детального описания бизнес-процесса и отражает логику его выполнения [4]. Модель бизнес-процесса представляет собой граф, состоящий из вершин - объектов модели, а также дуг (направленная связь) и ребер (ненаправленная связь) - связей между ними, которые не только соединяют объекты модели, но и служат для определения отношения между ними.
Модель в нотации eEPC (extended Event Driven Process Chain) определим как [5]:
G = {X, V},
где X- непустое множество объектов модели (вершин графа); V- непустое множество дуг Vn и ребер Vr, таких, что V = Vn u Vr.
Объекты модели (вершины графа):
X = {S, F, D, I, P, R},
где S - множество объектов типа «событие»; F - множество объектов типа «функция»; D - множество объектов типа «документ» и «информационный носитель»; I - множество объектов типа «Должность», «Организационная единица»; P - множество объектов типа «Продукт/услуга»; R - множество объектов типа «правило» XOR, OR, AND, задающих логику ветвления/слияния бизнес-процесса.
Множество объектов типа «событие» S состоит из множеств Ss u Sf u Sm . Здесь Ss - непустое множество начальных событий, определяемое как Ss = {s, Is e S: — 3 s, e S: j <,}; Sf - непустое множество конечных событий, определяемое как Sf = {s, I s, e S: —3 Sj e S: j <,}; Sm - множество событий внутри модели, определяемое как Sm = { s, I s, e S: 3 Sj e S: j </'}, где s, - ,-ое событие модели.
Множество правил ветвления R состоит из элементов множества Rxor u Ror u Rand , где Rxor - множество правил ветвления типа «исключающее ИЛИ» (XOR); Ror - множество правил ветвления типа «ИЛИ» (OR); Rand - множество правил ветвления типа «И» (AND).
Множество объектов типа I состоит из элементов Ipos u Iorg, где Ipos - множество объектов типа «Должность»; Iorg - множество объектов типа «Организационная единица».
Множество объектов типа D состоит из элементов Ddoc u Dirf, где Ddoc - множество объектов типа «Документ», D,nf - множество объектов типа «Информационный объект».
Множество дуг Vn определяется как
Vn = { Vsf, Vfs , Vsr , Vrs , Vfr , Vf , Vp , Vpf }, где Vf = {(s,, f) Is, e S, f e F} - множество дуг, имеющих направление от события к функции; Vfs = {(f, s,) If e F, s, e S} - множество дуг, имеющих направление от функции к событию; Vsr = {(s,, rj) I s, e S, г, e R} - множество дуг, имеющих направление от события к объекту типа «правило ветвления»; Vrs = {(г,, s,) I г, e R, sj e S} - множество дуг, имеющих направление от объекта типа «правило ветвления» к событию; Vfr = {(f, г,)If e F, г, e R} - множество дуг, имеющих направление от функции к событию типа «правило ветвления»; Vrf = {(г,,f) I г, e R, f e F} - множество дуг, имеющих направление от объекта типа «правило ветвления» к функции; Vfp = {(f, pj) If e F, p, e P} - множество дуг, имеющих направление от функции к продукту/услуге; Vpf = {(p,, f) I p, e P, f,e F} - множество дуг, имеющих направление от продукта/услуги к функции.
Множество ребер Vr определяется как Vr = { Vfj, Vfd},
где Vf = {(/',,f) I tj e I, fj e F} - множество ребер, соединяющих функции и должности; Vfd = {(f, dj) If eF, dj e D} - множество ребер, соединяющих функции и документы.
Агентная модель в AnyLogic реализуется с помощью базового объекта - активного объекта [6]. В общем виде агентная имитационная модель AnyLogic, основанная на событийных моделях eEPC, состоит из активных объектов (агентов), имеющих каждый свои правила поведения (задаются стейтчартом - диаграммой состояний) и взаимодействующих с внешней средой и друг с другом посредством пересылки сообщений (специальный программный класс на языке Java).Определим агентную модель AnyLogic как
ABM = {E, A},
где E - множество объектов, составляющих окружение агента; A - множество агентов (активных объектов).
Множество объектов E, составляющих окружение агента, определим как
E = {Tm, Var, Ds,Msg},
где Tm - множество таймеров; Var - множество переменных; Ds - множество таблиц для сохранения статистических данных о работе модели и синхронизации; Msg - множество сообщений для взаимодействия агентов со средой и друг другом.
Множество агентов A определим как
A = {Sch, Par, Var, Fn},
где Sch - непустое множество стейтчартов; Par - множество параметров агента; Fn - множество функций (специальный элемент AnyLogic для записи функций на языке Java) агента.
Множество стейтчартов Sch определим как
Sch = {Bc, St, Trn},
где Bc - непустое множество указателей начального состояния; St - непустое множество состояний; Trn -множество переходов.
Перевод графических элементов модели в нотации eEPC в агентную имитационную модель AnyLogic производится согласно табл. 1.
Рассмотрим подробнее метод преобразования модели в нотации eEPC в агентную имитационную модель AnyLogic, в процессе преобразований будем использовать соответствия, приведенные в табл. 1. Агент реализуется с помощью базового объекта AnyLogic - активного объекта. В качестве прототипа для класса агента используются организационные единицы eEPC (должность, организационная единица и другие), т.е. исполнители - ресурсы, необходимые для выполнения бизнес-функции, но не изменяемые ею (например, людские ресурсы, оборудование, и т.п.). В имитационной модели создаются классы активных объектов, и далее в модели используются любое число экземпляров класса.
Коммуникация между агентами осуществляется с помощью особого класса - сообщения (объект «сообщение» реализован через класс на языке Java), с его помощью агенту передается информация о состоянии, в которое ему нужно перейти. Сообщения могут поступать из внешней среды (например, по сигналу таймера) или от других агентов. У каждого из агентов имеется своя очередь из сообщений, которая обрабатывается, когда агент освобождается (дисциплина очереди - FIFO). Начальные события модели eEPC в агентной модели моделируются с помощью таймеров, которые генерируют заявки на обслуживание по заданному расписанию. Также сами агенты генерируют сообщения друг для друга.
Поведение агента задается стейтчартом. Простые состояния стейтчарта соответствуют функциям eEPC. Стейтчарт агента состоит из одного гиперсостояния и нескольких простых состояний. В гиперсостоянии есть только одно состояние - ожидание, в котором агент находится в самом начале моделирования, а также переходит после каждого простого состояния. Из гиперсостояния в какое-либо из простых состояний стейтчарт переходит, следуя последовательности смены состояний, либо по сигналу из внешней среды, либо по сигналу от других агентов.
Вероятностная логика правил ветвления eEPC «ИЛИ» и «исключающего ИЛИ» (OR и XOR) реализуется в методе (под методом здесь подразумевается соответствующий термин объектно-ориентированного программирования) перехода «Action» на языке Java при смене состояний (простого состояния на гиперсостояние). Таким образом, моделируется принятие агентом решения - в какое следующее состояние он должен перейти далее или же он должен перейти в режим ожидания и отправить сообщение другому агенту для обработки.
Параллельное выполнение модели функций eEPC в имитационной модели также реализуется в методе перехода «Action» на языке Java при смене состояний рассылкой сообщений необходимым агентам. Синхронизация правила ветвления «И» (AND) происходит при помощи внутренних таблиц (DataSet), в которые записывается состояние выполненных функций или произошедших событий.
Использование материальных ресурсов (например, количество определенных материалов на складе) и информационных ресурсов (например, количество созданных/обработанных документов) в имитационной модели фиксируется в таблицах (массивах) или же в простых переменных (вещественные, целые) при помощи кода на языке Java.
Получившаяся в результате преобразований по предложенному методу агентная имитационная модель является «заготовкой» для дальнейшего более детального моделирования - сосредоточения непосредственно на агентах, их поведении и коммуникациях.
Эксперимент по трансляции в агентную имитационную модель
Для примера трансляции по предложенному методу рассмотрим модель бизнес-процесса «Формирование заказа на поставку товара» в нотации eEPC (рис. 1).
Вначале строим модель в AnyLogic на основе предложенного метода. В представленной модели eEPC введены три организационные единицы: «Служба безопасности», «Отдел выписки» и «Диспетчер», соответственно они будут являться в имитационной модели агентами. Затем, после получения структуры агентной имитационной модели, определим численные характеристики объектов модели, необходимые
для проведения имитационного моделирования: показатели для функций еЕРС (время выполнения, количество единиц используемых ресурсов); количество исполнителей (организационные единицы) и соответственно экземпляров агентов, вероятности наступления событий в правилах ветвления, в данном случае вероятности для «исключающего ИЛИ» (ХОЯ).
Объект модели eEPC Графическое обозначение Соответствующий элемент AnyLogic Описание элемента AnyLogic
Функция (Function) FeXeG Function Состояние (State) SteScheAeABM stated "1 V J Простое состояние стейтчарта (диаграммы состояний).
Начальное событие (Event) Ss eSeXeG / \ Event Таймер (Timer) TmeEeABM (^timer 1- Наступление начальных событий определяется таймером по заданному аналитиком расписанию.
Событие (Event) Sm, Sf eSeXeG Переход (Transition) TrneScheAeABM Переход из гиперсостояния стейтчарта в простое состояние.
Материальные и информационные ресурсы
Документ, Информационный носитель (Document) DeXeG Document Переменная (Variable) VareEeABM Qvariable Переменные используются для моделирования изменяющихся характеристик и для хранения результатов моделирования. Изменение количественных ресурсов происходит в состояниях стейтчарта, программируется на языке Java.
Продукт/ Услуга (Product/ Service) PeXeG Product/Service
Исполнители - ресурсы, необходимые для выполнения бизнес-функции, но не изменяемые ею
Должность (Position) Ipos eleXeü Position Класс активного объекта (Active Object) AeABM agent" ' —— ' 1 1 1 . Ц Поведение активного объекта описывается с помощью стейтчарта. В имитационной модели создаются классы активных объектов и далее в модели используется любое число экземпляров класса.
Организационная единица (Organizational unit) Iorg eleXeü Organizational unit
Правила ветвления
Правило ИЛИ (OR rule) Ror eReXeG (V) Переход (Transition) TrneScheAeABM При переходе из простого состояния стейтчарта в гиперсостояние, в методе перехода «Action» на языке Java программируется логика принятие агентом решения.
Правило исключающего ИЛИ (XOR rule) Rxor e ReXeG
Правило И (AND rule) R ande ReXeG
Таблица 1. Описание соответствия объектов модели нотации eEPC и элементов агентной имитационной
модели на языке AnyLogic
Рис. 1. Модель бизнес-процесса «Формирование заказа на поставку товара».
СБ - служба безопасности, ДЗ - дебиторская задолженность
Фрагменты созданной агентной имитационной модели AnyLogic на основе модели eEPC представлены на рис. 2, 3. На рис. 2, а, показано дерево объектов модели, на рис. 2, б, отображается состав объектов, вложенных в класс «Main». Среда (окружение) моделируется классом «Main» (переменные, таймер, таблицы), в который вложены активные объекты - агенты (sB_depart, v_depart, dispetcher). Поскольку активные объекты технически являются классами на языке Java, то не представляется возможным давать им имена на русском языке, и для пояснений приходится ограничиваться текстовыми комментариями на самой модели. В данном примере, чтобы не перегружать модель комментариями, не были
сделаны комментарии к переменным (например, переменная «cancelOrders» хранит количество отмененных заказов, переменная «tr_all» хранит количество сообщений, сгенерированных таймером, и т.д.). Далее на рис. 3 представлен пример создания агента «Диспетчер» и его стейтчарта на основе объектов модели eEPC (табл. 1).
Для верификации полученной агентной имитационной модели AnyLogic, проведено сравнение ее выходных данных с выходными данными имитационной модели встроенного в ARIS ToolSet имитатора ARIS Simulation. Сопоставив выходные данные экспериментов по загруженности исполнителей (табл. 2), а также по выполненным/отмененным заказам (табл. 3), полученные для одной и той же исходной модели eEPC, сделали вывод, что имитационная модель ARIS Simulation и агентная имитационная модель AnyLogic показывают сравнимые результаты моделирования при одинаковых исходных данных.
^ Modei - fjfl agHit_testl Б Dispatcher Gd Code •r} UKfe statediart F @ Main
0 Code >1 iSl ertmaBori у DJimelnSystj %'. Dspjj hliiabo
SB_ut)6iatkin V_utih»tiiit E © SB_dep3rt В Code isldle
statecraft E © V_depart
0 Code isldle statechart 3 Transact Experiments Simulation
ФОРМ ИРО BAH V E 3ft КАЗД НА ПОСТАВКУ TO BAPA
Начаг-ьное (о&ыте "Закагма поставку товара передай в отдел выписки" генерируются тагмероп па заданирну расписанию
(^tnitiil Event 1
Qc3nceled0ideii QttnCourfc
Ode Qtr.all
Слуийа безопасности- 2 сотрудника sB^depart1
Отдел еыгиски - 3 сотруднша v_depart"
Qq ueueSB_dep art Qqueue56_d«partLen QqunjeV_depait QqiieuaV.depertLei ^queucDiip'etdw OauiucDispeUhciter
Диспетчер - 1 сотрудник 6 i spetdier"
0^_d epartflusy OS0_departBusy ODispetcherflusy
а б
Рис. 2. Активные объекты (а) и их окружение (б) агентной имитационной модели AnyLogic
Рис. 3. Пример создания стейтчарта (диаграммы состояний) для программирования поведения агента
«Диспетчер»
ARIS Simulation, % AnyLogic, %
Отдел выписки 97,90 98,40
Служба безопасности 88,30 83,80
Диспетчер 55,60 58,40
Таблица 2. Сводные усредненные данные по загруженности исполнителей, %
ARIS Simulation AnyLogic
Выполнено заказов 18 18
Отменено 1 3
Таблица 3. Сводные усредненные данные по выполненным/отмененным заказам
Заключение
Установлена возможность взаимной связи элементов модели в нотации eEPC и агентной модели AnyLogic, разработан метод трансляции. Проведенный эксперимент по трансляции модели из нотации eEPC в агентную имитационную модель показал совпадение выходных данных по ключевым характеристикам исследуемых моделей в системах ARIS Simulation и AnyLogic. Дальнейшим развитием работы является автоматизация получения агентной имитационной модели на основе репозитария моделей в системе ARIS Toolset, что позволит еще больше сократить время проектирования имитационных моделей, а также упростит процесс их дальнейшей эксплуатации.
Литература
1. Тихонов С.В. Моделирование бизнес-процессов с использованием аппарата теории систем массового обслуживания // Сборник трудов II конференции «II школа-семинар молодых ученых «Управление большими системами». - Т. 2. - Воронеж: Научная книга, 2007. - С. 5-59.
2. Валькман Ю.Р., Муцаковская К.В. Определение базиса для построения мультиагентной системы имитационного моделирования бизнес-процессов в нотации BPMN // Збiрник наукових праць. - 1нституту проблем моделювання в енергетищ. - 2012. - № 62. - С. 101-108.
3. Жевнерчук Д.В. Методика построения имитационных моделей с применением больших массивов данных на основе интеграции IDEF3, OLAP, GPSS технологий. - Ижевск, 2006. - 146 с.
4. Шеер А.В. Бизнес-процессы. Основные понятия. Теория. Методы. - М.: Весть-МетаТехнология, 1999. -182 с.
5. Доррер М.Г., Ланцев Е.А., Шаргаева А.И. Событийный анализ бизнес процессов в нотации eEPC // Тр. XV Международной ЭМ конференции по эвентологической математике и смежным вопросам / СФУ, НИИППБ, КГТЭИ. - Красноярск, 2011. - С. 89-96.
6. Карпов Ю.Г. Имитационное моделирование систем. Введение в моделирование с AnyLogic 5. - СПб: БХВ-Петербург, 2006. - 400 с.
Ланцев Евгений Алексеевич - Сибирский государственный технологический университет, аспирант, [email protected] Доррер Михаил Георгиевич - Сибирский государственный технологический университет, кандидат технических наук, доцент, [email protected]
УДК 621.391
МОДЕЛЬ ПЛАНИРОВАНИЯ ЧАСТОТНО-ВРЕМЕННОГО РЕСУРСА В НИСХОДЯЩЕМ КАНАЛЕ СВЯЗИ ТЕХНОЛОГИИ LTE С.В. Гаркуша, Ю.А. Василенко
Приведены результаты разработки математической модели планирования частотно-временного ресурса нисходящего канала связи технологии LTE. Предложенная модель направлена на обеспечение гарантированного качества обслуживания пользователей беспроводной сети путем выделения пользовательским станциям требуемых скоростей передачи. Проведен сравнительный анализ предложенной модели с существующими методами с точки зрения обеспечения общей производительности нисходящего канала связи, степени балансировки пропускной способности, а также вероятности выделения пользовательским станциям требуемой скорости передачи. Показано, что предложенная модель в условиях высоких требований к скорости передачи пользовательских станций, по сравнению с известными методами, позволяет на 5-20% повысить степень балансировки пропускной способности нисходящего канала связи, а также на 40-100% повысить вероятность выделения пользовательским станциям требуемой скорости передачи. Ключевые слова: LTE, частотно-временной ресурс, ресурсный блок, блок планирования, математическая модель, требуемая скорость передачи.
Введение
В технологии LTE (Long-Term Evolution), разработанной 3GPP (3rd Generation Partnership Project), одним из эффективных путей повышения производительности и улучшения основных показателей каче-