Имитационное моделирование:
уровни абстракции, основные подходы
 

Моделирование можно рассматривать как один из способов решения проблем, возникающих в реальном мире: в технике, производстве, обслуживании, маркетинге, финансах, здравоохранении, транспорте и т.д. Оно применяется в случае, если экспе-рименты с реальными объектами/системами или их прототипирование невозможно или слишком дорого. Моделирование позволяет оптимизировать систему до её реализации. Процесс моделирования включает в себя отображение проблемы из реального мира в мир моделей (процесс абстракции), анализ и оптимизацию модели, нахождение реше-ния и его отображение обратно в реальный мир (рис. 1). Мы различаем аналитическое и имитационное моделирование. Аналитическая модель допускает аналитическое реше-ние, зависимость выхода от входа можно реализовать статически в виде, например, электронных таблиц. Это требует от аналитика владения всего лишь общепринятыми программными средствами, например Excel.Однако, к сожалению, аналитические решения не всегда возможны, а существующие не всегда просто найти. В этом случае аналитики применяют имитационное моделирование (ИМ, английский термин – simulation modeling которое по контрасту можно назвать динамическим. Имитационную модель можно рассматривать как множество правил (дифференциальных уравнений, карт состояний, автоматов, сетей и т.п.), которые определяют в какое состояние система перейдёт в будущем из заданного текущего состояния. Имитация здесь – это процесс “выполнения” модели, проводящий её через изменения (дискретные или непрерывные) состояния во времени. В общем случае для сложных проблем, где время и динамика важны, имитационное моделирование представляет собой более мощное средство анализа.


Уровни абстракции в имитационном моделировании На рис. 2 показан примерный (и, безусловно, неполный) круг практических задач, к которым эффективно применяется имитационное моделирование. Задачи эти расположены на шкале уровня абстракции, который используется в соответствующих моделях.
На самом детальном уровне находится так называемое “физическое” моделирование, где рассматриваются конкретные материальные объекты с их точными размерами, расстояниями, скоростями, ускорениями и временами. Таким образом, внизу нашей шкалы расположены модели систем управления, мехатронных систем, уличное и пешеходное движение, моделируемое на микро-уровне и т.д. Модели производств с конвейерами, станками, операторами расположены выше, поскольку обычно здесь есть возможность абстрагироваться от точных физических траекторий и времён и использовать их усреднённые значения или стохастические модели. То же относится к моделям складской логистики с автопогрузчиками, паллетами, стеллажами и т.п.
Модели бизнес-процессов и систем обслуживания оперируют обычно лишь с временами и расписаниями, хотя физическое перемещение иногда и принимается в расчёт. Например, в здравоохранении при моделировании обычного отделения больни-цы в основном важны количество и график работы персонала, оборудование, поток пациентов и логика работы с ними, в то время как для отделения скорой помощи могут быть учтены также конфигурация здания, длины коридоров и т.д.

При моделировании транспортных и компьютерных сетей важны расписания, задержки, мощности и ёмкости, времена погрузки/разгрузки/обработки. Макро-уровень транспортно-пешеходно-сетевого моделирования абстрагируется от индивидуальных машин, людей и пакетов данных и рассматривает только их количества. Цепочки по-ставок моделируются на самых разных уровнях абстракции, так что их можно было бы расположить в любом месте шкалы от среднего до высокого уровня.
К задачам в верхней части шкалы традиционно применяют понятия влияний, обратных связей, тенденций и т.п. Вместо индивидуальных объектов, таких как клиен-ты, сотрудники, машины, животные, транзакции, товары, рассматривают их агрегаты, количества. Динамика систем на этом уровне описывается утверждениями типа “увеличение количества рабочих мест вызовет увеличение иммиграционного притока”.
Основные подходы в имитационном моделировании – это системная дина-мика (СД), дискретно-событийное моделирование (ДС), под которым здесь понимается любое развитие идей GPSS, агентное моделирование (АМ). СД и ДС – традиционные устоявшиеся подходы, АМ – относительно новый. Область моделирования динамических систем, являясь инженерной дисциплиной, останется в стороне от рассмотрения. Математически, СД и динамические системы оперируют в основном с непрерывными во времени процессами, тогда как ДС и АМ – в основном с дискретными.
Динамические системы по уровню абстракции находятся внизу шкалы (рис. 3). СД, заменяя индивидуальные объекты их агрегатами, наоборот, предполагает наивысший уровень абстракции. ДС-моделирование работает в низком и среднем диапазоне. Что же касается АМ, то оно может применяться практически на любом уровне и в любых масштабах. Агенты могут представлять пешеходов, автомобили или роботов в физическом пространстве, клиента или продавца на среднем уровне, или же конкурирующие компании на высоком.
СД, ДС и динамические системы исторически преподаются совершенно разным категориям студентов: менеджмент, инженеры по организации производства (industrial engineers) и инженеры–разработчики систем управления. В результате возникли три отдельных сообщества, которые практически никак не общаются друг с другом. АМ же до недавнего времени было академической “игрушкой”. Однако растущий спрос на глобальную оптимизацию со стороны бизнеса заставил ведущих аналитиков обратить внимание именно на АМ и его объединение с традиционными подходами с целью по-лучения более полной картины взаимодействия сложных процессов различной приро-ды. Отсюда спрос на программные платформы, позволяющие интегрировать различные подходы.
Системная динамика была разработана и предложена Джеем Форрестером в конце 1950-х годов как “исследование информационных обратных связей в промышленной деятельности с целью показать, как организационная структура, усиления (в политиках) и задержки (в принятии решений и действиях) взаимодейст-вуют, влияя на успешность предприятия” [1, 2]. Приложения СД включают также социальные, урбанистические, экологические системы. Процессы, происходящие в реальном мире, в СД представляются в терминах накопителей – stocks (например, материальных объектов, знаний, людей, денег), потоков между этими накопителями – flows, информации, которая определяет величину этих потоков. СД абстрагируется от отдельных объектов и событий и предполагает “агрегатный” взгляд на процессы, концентрируясь на политиках, этими процессами управляющих. Моделируя в стиле СД, вы представляете структуру и поведение системы как множество взаимодействующих положительных и отрицательных обратных связей и задержек
Модель Bass Diffusion.
В этой классической модели распространения нового продукта, или инновации, взятой из учебника (рис. 4, [3]), потенциальные клиенты (Potential Adopters) становятся клиентами (Adopters) со скоростью диффузии (Adoption Rate), которая зависит от рекламы и “устной рекламы”, т.е. общения клиентов с не-клиентами. Влияние рекламы моделируется следущим образом: некий постоянный процент потенциальных клиентов (Advertising Effectiveness = 0,011 в этой статье) всё время становятся клиентами. Их доля в Adoption Rate равна, соответственно, Potential Adopters * Advertising Effectiveness. Что касается устной рекламы, делается предположение, что в данной группе людей все контактируют со всеми. Количество контактов человека в единицу времени обозначено как Contact Rate (100). В случае, если клиент общался с потенциальным клиентом, последний становится клиентом с вероятностью Adoption Fraction (0,015). Таким образом, в единицу времени все клиенты обратят Adopters * Contact Rate * Adoption Fraction * [Potential Adopters / (Potential Adopters + Adopters)] потенциальных клиентов в клиентов. Выражение в квадратных скобках – вероятность того, что тот, с кем был контакт у клиента, ещё не клиент.

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

Динамические системы моделировались задолго до возникновения СД и являются, собственно, её прообразом. Моделирование ДС используется инженерами в механике, электронике, энергетике, химии как часть стандартного процесса разработки. На рис. 5 показана типичная блок-схема в языке MATLAB Simulink. Такими схемами пользуются при разработке систем управления; для разных областей могут применяться разные визуальные и текстовые нотации. Соответствующая математиче-ская модель, как и в случае СД, состоит из набора переменных состояния и системы алгебро-дифференциальных уравнений над ними. В отличие от СД, здесь переменные состояния имеют прямой “физический” смысл: координата, скорость, давление, кон-центрация и т.д.; они, естественно, непрерывные и не являются агрегатами (количест-вами) дискретных объектов. Математическое разнообразие и сложность в динамиче-ских системах могут быть значительно выше, чем в СД, так что в принципе любая СД-проблема может быть решена инструментами для моделирования динамических сис-тем, и даже с большей точностью (за счёт более совершенных численных методов). Однако такие инструменты, “заточенные” под инженерные нужды, неудобны для СД-аналитиков и не используются ими: можно сказать, они не поддерживают их привыч-ного образа мышления.

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

Дискретно-событийное моделирование. Этим термином обозначим подход, в основе которого лежит концепция заявок (транзактов, entities), ресурсов и потоковых диаграмм (flowcharts), определяющих потоки заявок и использование ресурсов. Этот подход восходит к Джеффри Гордону, который в 1960-х годах придумал и развил
GPSS и реализовал её, работая в IBM[6]. Заявки (транзакты в GPSS) – это пассивные объекты, представляющие людей, детали, документы, задачи, сообщения и т.п. Они путешествуют через flowchart, стоя в очередях, обрабатываясь, захватывая и освобождая ресурсы, разделяясь, соединяя и т.д. Типичная потоковая диаграмма показана на рис. 6 в терминах Arena. Вообще существует около сотни коммерческих инструментов, так или иначе поддерживающих подобный стиль моделирования; некоторые общего назначения, большинство нацелено на определённые ниши: обслуживание, бизнес-процессы, производство, логистика и т.д. Их пользовательские интерфейсы могут существенно различаться из-за специализации, но за ними непременно стоит более или менее одина-ковый дискретно-событийный “движок” (engine), который “гоняет” заявки через блоки. Для целей данного исследования важно отметить, что дискретно-событийную модель можно рассматривать как глобальную схему обработки заявок, обычно со стохастическими элементами.
Агентное моделирование. Под этим названием делается большое количество исследований и разработок в различных областях знания, например, в искусственном интеллекте, теории сложных систем, теории игр и т.д. Общепризнанного определения “что такое агент” не существует; до сих пор спорят о том, какими же качествами должен обладать объект, чтобы “заслужить” называться агентом: инициативность и реактивность, ориентация в пространстве, способность обучаться, общаться, “интеллект” и т.д. [11]. Мы не собираемся предлагать здесь свое определение: агенты, которые реально используются в нашей консалтинговой модельной практике, бывают самые разные. Однако есть нечто, объединяющее все агентные модели: они существен-но децентрализованы. В отличие от системной динамики или дискретно-событийных моделей, здесь нет такого места, где централизованно определялось бы поведение (ди-намика) системы в целом. Вместо этого аналитик определяет поведение на индивиду-альном уровне, а глобальное поведение возникает
(emerges) как результат деятельности многих (десятков, сотен, тысяч, миллионов) агентов, каждый из которых следует своим собственным правилам, живёт в общей среде и взаимодействует со средой и с другими агентами. Поэтому АМ называют ещё моделированием снизу вверх.
Рис. 7 можно условно рассматривать как агентную модель динамики населения страны. В этой модели один из аспектов поведения агента задан картой состояний (statechart, эта полезная конструкция объясняется ниже), а модель среды может вклю-чать жильё, рабочие места, транспортную инфраструктуру и т.д. Далее будет показано, как АМ соотносится с СД и ДС и как и когда оно может практически применяться.
 
назад

вперед