Научная статья на тему 'Имитационное моделирование в науке и бизнесе: подходы, инструменты, применение'

Имитационное моделирование в науке и бизнесе: подходы, инструменты, применение Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY-NC-ND
2607
367
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ / АГЕНТНЫЙ ПОДХОД / IMITATION MODELING / DISCRETE-EVENT AND AGENT MODELING / AGENT-BASED APPROACH

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

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

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

IMITATION MODELING IN SCIENCE AND BUSINESS: APPROACHES, TOOLS AND APPLICATION

The article is an overview of existing approaches and development tools in simulation modeling. All the three paradigms system dynamics, discrete-event and agent modeling are depicted. An agent-based approach is considered in more details as it is comparatively seldom used in Russia but is known as an efficient tool for developing decision support systems in business. The article has its aim to give first acquaintance with simulation modeling and to describe that circle of problems in business where its use could be efficient.

Текст научной работы на тему «Имитационное моделирование в науке и бизнесе: подходы, инструменты, применение»

ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ В НАУКЕ И БИЗНЕСЕ: ПОДХОДЫ, ИНСТРУМЕНТЫ, ПРИМЕНЕНИЕ

В.Н. Сидоренко,

кандидат физико-математических наук, кандидат экономических наук, кандидат юридических наук, доцент кафедры «Экономика природопользования» экономического факультета МГУ, доцент кафедры прикладной математики Московского городского университета управления Правительства Москвы,

Адрес: 119991, Москва, Ленинские горы, 2-ой гуманитарный корпус, экономический факультет, комн. 592, Сидоренко В.Н. Тел: 8-916-650-9304. E-mail: v_sidorenko@mail.ru А.В. Красносельский,

аспирант кафедры «Экономика природопользования» экономического факультета МГУ, a-krasnoselskiy@yandex.ru

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

^ *

Ключевые слова: Имитационное моделирование, дискретно-событийное и агентное моделирование, агентный подход.

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

Имитационное моделирование

Имитационное моделирование представляет собой процесс построения обобщенной компьютерной модели системы с алгоритмическим описанием основных правил ее поведения и процессов. Имитационная модель, как правило, создается для ответа на вопросы «что, если...», т.е. для исследования возможных сценариев развития системы при вариации определенных параметров. После создания модели с ней проводят многочисленные компьютерные симуляции — имитационные эксперименты. В ходе них идет итерационный процесс уточнения или отбрасывания гипотез, использовавшихся для описания системы. Такой подход позволяет

получить аналог эксперимента в экономике, социологии, экологии, при решении задач оптимизации и планирования в бизнесе.

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

В имитационном моделировании к настоящему моменту сложились три самостоятельные парадигмы — системная динамика, дискретно-событийное и агентное моделирование. Они соответствуют разным уровням абстракции при создании модели, что обуславливает применение того или иного подхода. Принято различать три уровня абстракции: высокий (стратегический), средний (тактический) и низкий (оперативный) (1). При низком уровне моделируется поведение отдельных объектов, но, в отличие от физического моделирования, используются не точные траектории и времена, а их усредненные или стохастические значения. На этом уровне принято решать задачи, связанные с пешеходным движением, транспортом, компьютерными системами. На среднем уровне абстракции обычно оперируют с расписаниями, задержками, мощностями и емкостями, физическое перемещение при этом не анализируется. Здесь абстрагируются от индивидуальных свойств объектов моделирования (людей, машин, товаров) и в основном рассматривают их потоки. Характерными задачами этого уровня являются систе-

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

Дискретно-событийное моделирование

Подходом, соответствующим низкому и среднему уровню абстракции, является дискретно-событийное (далее ДС) моделирование. Его концепцию предложил в 60-х годах прошлого века Джефри Гордон, разработав популярное и сегодня программное средство GPSS. В работе (2) он предложил использовать концепции заявок (entities), ресурсов и потоковых диаграмм (flowcharts). На рис.1 изображена типичная потоковая диаграмма, согласно которой моделируется работа call-центра. Заявки, в данном случае звонки, представляют собой некие пассивные объекты, которые перемещаются, захватывают и освобождают ресурсы согласно потоковым диаграммам — схемам, описывающим изучаемый процесс. Заявки могут представлять собой людей, товары, детали, документы, сообщения. ДС моделирование является дискретным — каждому событию соответствует определенный дискретный момент времени. Характерной чертой данного подхода является «обезличенность» заявки, от ее индивидуальных свойств абстрагируются. Считается, что все заявки обладают универсальной логикой поведения и обрабатываются по единому, заранее известному алгоритму. Ядро модели отвечает за генерацию, обработку и уничтожение заявок.

Рис. 1 Пример потоковой диаграммы «обработка звонков в call-центре»

Инструменты дискретно-событийного моделирования. Существует достаточно много программных продуктов, поддерживающих ДС подход. Среди всех средств, предназначенных для имитационного моделирования, этот класс наиболее представительный. Например, в отчёте (3) приводятся характеристики 65 различных инструментов. Это объясняется большой популярностью дискретно-событийного моделирования в таких областях как системы массового обслуживания, бизнес-процессы, производство, логистика, медицина, транспорт и других. Часть программных продуктов являются достаточно универсальными (Arena, Extend, GPSS, Witness), другие заточены под более узкий класс задач и содержат абстрактные элементы, взятые из предметной области исследования (AutoMod — транспорт, логистика, производство; MedModel — моделирование и оптимизация систем в здравоохранении; Comnet — телекоммуникации).

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

Системная динамика

Высокому уровню абстракции в имитационном моделировании соответствует подход системной динамики (далее СД), предложенный в 50-х годах прошлого века американским ученым Джемом Форрестером. При данном подходе не рассматриваются индивидуальные объекты, а лишь их количества и агрегированные показатели. Системная динамика применяется тогда, когда нет необходимости или возможности исследовать влияние отдельных объектов, а достаточно изучить поведение системы на уровне агрегированных величин. Форрестер предложил использовать для этого понятия «накопители», stocks, и «потоки» между ними, flows (4). Накопители могут относиться к различным материальным объектам, например, к людям в демографических моделях, товарам, деньгам при моделировании баланса на рынке, природным ресурсам в задачах экологии. На рис. 2 приведена системнодинамическая диаграмма из модели распространения продукта на рынке. В ней три объекта-накопи-

теля: «потенциальные пользователи», люди, формирующие спрос и люди, являющиеся реальными пользователями. Такие факторы как реклама, частота контактов определяют потоки, в соответствие с которыми накопители «перетекают» друг в друга. С формальной точки зрения системно-динамическая модель представляет собой систему дифференциальных (в частном случае алгебраических) уравнений, определяющую потоки между накопителями. Отличительной чертой СД является неразличимость объектов, находящихся в одном накопителе. Их невозможно индивидуализировать, приписав различные свойства, логику поведения или процесс обработки. Все взаимосвязи задаются на уровне накопителей, то есть между агрегированными величинами.

Системно-динамические модели обычно применяются при стратегическом анализе и долгосрочном планировании. Интересные примеры их использования можно найти как монографиях по системной динамике, например в (5) и (6), так и в многочисленных статьях по конкретным системно-динамическим моделям, созданным за более чем полвека развития данной парадигмы.

Рис. 2. Пример системно-динамической диаграммы «Проникновение продукта на рынке»

Инструменты системной динамики. Число программных продуктов, предназначенных для использования системно-динамического подхода, относительно невелико по сравнению с ДС моделированием. Наиболее распространены инструменты Vensim компании High Performance Systems (www.hps-inc.com), Powersim компании Powersim, SA (www.powersim.com), IThink компании Ventana Systems (www.vensim.com). Vensim является из них наиболее простым и недорогим, обладая при этом такими характеристиками как поддержка графического создания потоковых диаграмм, встроенные логические операторы и генераторы случайных чисел, средства для связи с базами данных, для генерации отчетов, анимации и анализа чувствительности.

Важной характеристикой инструментов Powersim и 1ТЫпк являются встроенные алгоритмы частичной поддержки дискретного моделирования. Это позволяет создавать модели с разными уровнями абстракции для отдельных блоков. Более подробную информацию о характеристиках данных инструментов можно найти на сайтах компаний-разработчиков и в руководстве по Powersim (7).

Агентное моделирование

Третьей парадигмой в имитационном моделировании является агентное моделирование (далее АМ). Агент представляет собой индивидуализированный активный объект, который может обозначать человека, транспортное устройство, компанию, населенный пункт. В зависимости от того, какой объект представляет собой агент, модель может соответствовать высокому уровню абстракции (агент — компания, страна), среднему (агент — транспортная единица), низкому (агент — отдельный человек) или сочетать несколько уровней. Таким образом, данная парадигма является наиболее универсальной. Основным отличием агентного подхода от первых двух является построение модели по принципу снизу-вверх. Зависимости между агрегированными величинами не задаются исходя из знаний о реальном мире, а получаются в процессе моделирования индивидуального поведения десятков, сотен или тысяч агентов, их взаимодействия друг с другом и с объектами, моделирующими окружающую среду. Например, исследование рынка будет происходить не в понятиях совокупного спроса и предложений, а в модели будут заложены возможные реакции отдельного человека на изменение цены, его потребительские характеристики. У агентов появляется возможность «общаться» между собой, обмениваться информацией, предпочтениями, влияя, тем самым, на поведение друг друга. Модель может учитывать пространственные характеристики, взаиморасположение агентов по отношению друг к другу и объектам окружающей среды.

К преимуществам агентного подхода следует отнести: отсутствие предопределенности в поведении системы на глобальном уровне, что может привести к появлению новых гипотез о ее функционировании в ходе симуляции модели; реализм и гибкость в описании системы, возможность моделировать самые сложные нелинейные обратные связи, использовать любой необходимый уровень детализации и абстракции. В АМ отсутствуют ог-

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

Инструменты агентного моделирования. Агентный подход возник в 90-х годах прошлого века изначально в университетской среде США. В связи с этим большинство инструментов предназначалось для академических и учебных целей, многие до сих пор не являются коммерческими продуктами в полной мере. Одной из наиболее популярных разработок такого типа является среда Swarm (www.swarm.org) — коллекция библиотек под язык C, созданная в институте Санта-Фе. Наиболее известными коммерческими инструментами являются среды Ascape, RePast, AnyLogic. Последний из них является разработкой российской компании XJTeknologies (www.xjtek.ru). Его конкурентным преимуществом является поддержка всех трех парадигм имитационного моделирования и возможность использования их в рамках одной модели. Также AnyLogic отличает мощное производительное ядро, позволяющее симулировать поведение миллионов агентов; богатые возможности для анимации и графического описания модели; поддержка разнообразных типов экспериментов, включая анализ чувствительности, метод Монте-Карло, встроенный оптимизатор OptQuest; возможности интеграции с базами данных, ERP — , CRM-системами; набор библиотечных объектов из областей логистики, бизнес-процессов, пешеходной динамики. Информацию по другим инструментам агентного моделирования можно найти на электронном ресурсе (9).

Применение агентного моделирования

Агентный подход является наиболее молодым и потому наименее знакомым российским специалистам. Рассмотрим примеры успешного применения агентного моделирования в науке и бизнесе. К области научного применения относятся, например, задачи эпидемиологии. Простейший пример диаграммы, согласно которой моделируется распространение заболевания, изображен на рис. 3. Одному объекту при этом может соответствовать несколько диаграмм состояний или блок-схем. Из рисунка видно, что при агентном подходе предметом моделирования является поведение отдельного объекта, а глобальное состояние системы является следствием. В эпидемиологии агентный подход позволяет моделировать сложные социальные сети, в том числе с учетом пространственного фактора, контакты между людьми, разную восприимчивость людей и степень их иммунитета. Это позволяет добиваться хороших результатов при прогнозировании скорости и характера распространения заболевания (10).

Местонахождение

т

( Дома )

О

Ход болезни

(Восприимчивый)

С Заражённый Ин^рЦ“Й

( Симптомы X 1Пр0Д<сД|Н0СТЬ т

(ЛІ) Выздоровление

Рис. 3. Пример диаграммы состояний агента из модели «распространение гриппа»

Бизнес-проблематику, где успешно применяется агентный подход, можно разделить на 4 класса (11). К первому относятся задачи с различного рода потоками. Они могут состоять из людей (проблемы пропускной способности помещений, эвакуации), единиц транспорта (моделирование городского трафика, планировки аэропортов, вокзалов). Часто для этого применяется дискретно-событийный подход. Если же объекты моделирования слишком разнородны или необходимо учесть их пространственное взаиморасположение, то использование агентного подхода предпочтительнее.

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

Примером задачи первого класса служит моделирование эвакуации при давках в местах массового скопления граждан. Поведение людей в таких ситуациях часто становится иррациональным и не поддается моделированию традиционными методами. Агентный подход зарекомендовал себя для отыскания оптимальных методов эвакуации и минимизации возможных рисков (12). Агентное моделирование часто применяется западными компаниями при проектировании парков развлечений, супермаркетов. В таких задачах оптимизируется геометрическое расположение элементов системы относительно друг друга (например, аттракционов и кафе, или касс и полок с продуктами). Целью может служить увеличение пропускной способности, сокращение времени стояния в очередях, оптимальное расположение рекламных материалов. Наглядным примером является оптимизированная модель супермаркета Sainsbury’s в западном Лондоне, разработанная компанией SimStore в 1999 году (13). Собрав статистику о предпочтениях посетителей и характерных для них путях следования в магазине, разработчики использовали агентный подход в сочетании с генетическими алгоритмами для улучшения расположения элементов супермаркета. Отметим, что решать подобные задачи аналитическими или статистическими методами крайне затруднительно, и агентное моделирование является одним из немногих возможных средств поддержки принятия решений. Агентный подход хорошо применим для моделирования функционирования бирж. Результаты торгов зависят от поведения множества независимых людей с различными целевыми функциями, и их поведение логично моделировать в рамках агентного подхода. Подтверждением этому служит, например, модель Bios Group фондовой биржи NASDAQ (14). Модель измерения и минимизации операционных рисков управления активами банка Societe Generale (15) служит примером применения АМ в финансовых институтах и банках.

Выводы

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

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

Литература

1. Борщёв А. От системной динамики и традиционного ИМ — к практическим агентным моделям: причины, технология, инструменты. — Электрон. Дан. — Режим доступа: www.gpss.ru/paper/borshevarc.pdf, с. 3.

2. Gordon G. A General Purpose Systems Simulation Program. // McMillan NY, Proceedings of EJCC, Washington D.C., 1961, p. 87-104.

3. OR/MS Today. Simulation Software Survey. — Электрон. Дан. — Режим доступа: www.lionhrtpub.com/orms/surveys/ Simulation/Simulation.html.

4. Forrester J. Industrial Dynamics: A Major Breakthrough for Decision Makers. Harvard Business Review, 1958, vol. 36, №. 4, p. 37—66.

5. Медоуз Д.Л. Системное поведение, «мания»-структура и загрязнение окружающей среды. Свердловск: изд-во Уральского университета, 1990.

6. Сидоренко В.Н. Системная динамика. М.: ТЕИС, 1998.

7. Сидоренко В.Н. Системно-динамическое моделирование в среде POWERSIM: Справочник по интерфейсу и функциям. М.: Макс-Пресс, 2001.

8. Jager W., Janssen M.A., De Vries H.J.M., De Greef J., Vlek C.A.J. Behaviour in commons dilemmas: Homo Economicus and Homo Psychologicus in an ecological-economic model. // Ecological Economics, 2000, vol. 35, p. 357—380.

9. General software and toolkits. Agent-Based Computational Economics (ACE) and Complex Adaptive Systems (CAS). — Электрон. Дан. — Режим доступа: www.econ.iastate.edu/tesfatsi/acecode.htm.

10. Dunham J.B. An Agent-Based Spatially Explicit Epidemiological Model in MASON. // Journal of Artificial Societies and Social Simulation, 2005, vol. 9, no. 1.

11. Bonabeau E. Agent-based Modeling: Methods and Techniques for Simulating Human Systems. // Proceedings of the National Academy of Sciences of the United States of America, 1999(suppl.3), p.7280—7287.

12. Helbing D., Farkas I., Vicsek T // Nature (London) 2000, p. 407, 487—490.

13. Venables M., Bilge U. Complex adaptive modelling at J Sainsbury: the SimStore supermarket supply chain experiment. — Электрон. Дан. — Режим доступа: www.psych.lse.ac.uk/complexity/Seminars/1998/report98mar.htm.

14. NASDAQ Stock Market. — Электрон. Дан. — Режим доступа: www.worldscibooks.com/economics/6217.html.

15. Bonabeau E. Application of Simulation to Social Sciences. // Paris: Herme's Sciences, 2000, p. 451—461.

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