ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ В НАУКЕ И БИЗНЕСЕ: ПОДХОДЫ, ИНСТРУМЕНТЫ, ПРИМЕНЕНИЕ
В.Н. Сидоренко,
кандидат физико-математических наук, кандидат экономических наук, кандидат юридических наук, доцент кафедры «Экономика природопользования» экономического факультета МГУ, доцент кафедры прикладной математики Московского городского университета управления Правительства Москвы,
Адрес: 119991, Москва, Ленинские горы, 2-ой гуманитарный корпус, экономический факультет, комн. 592, Сидоренко В.Н. Тел: 8-916-650-9304. E-mail: [email protected] А.В. Красносельский,
аспирант кафедры «Экономика природопользования» экономического факультета МГУ, [email protected]
Статья является обзором существующих подходов и программных средств в имитационном моделировании. Приводятся три общепринятые парадигмы системной динамики, дискретно-событийного и агентного моделирования. Более подробно рассматривается агентный подход, сравнительно редко используемый в России, но являющийся основой для создания эффективных систем поддержки принятия решений в бизнесе. Статья предназначена для первоначального знакомства с имитационным моделированием и описания того круга бизнес задач, где его применение может оказаться эффективным.
^ *
Ключевые слова: Имитационное моделирование, дискретно-событийное и агентное моделирование, агентный подход.
Неотъемлемой чертой любого бизнес-решения является риск, который берет на себя ответственное лицо. Если требуется принять решение, выходящее за стандартные процедуры, и которое потенциально несет в себе риски критичные для компании, возникает естественное желание узнать последствия, просчитав тот или иной сценарий развития событий. Если обычного 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.