Научная статья на тему 'Методы имитационного моделирования'

Методы имитационного моделирования Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Текст научной работы на тему «Методы имитационного моделирования»

УДК 519.876.5

Белов А.Г., Моисеев С.А., Григорьев А.В.

ФГБОУ ВПО «Пензенский государственный университет», Пенза, Россия

МЕТОДЫ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ

Имитационное моделирование - это метод исследования, заключающийся в имитации на ЭВМ (с помощью комплекса программ) процесса функционирования системы или отдельных ее частей и элементов. Сущность метода имитационного моделирования заключается в разработке таких алгоритмов и программ, которые имитируют поведение системы, ее свойства и характеристики в необходимом для исследования системы составе, объеме и области изменения ее параметров [1,2] .

При имитационном моделировании реализующий модель алгоритм воспроизводит процесс функционирования системы во времени, причем имитируются явления, составляющие процесс, с сохранением их логической структуры и последовательности протекания во времени, что позволяет по исходным данным получить сведения о состояниях процесса в определенные моменты времени, дающие возможность оценить характеристики системы [3].

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

В настоящее время имитационное моделирование широко применяется в мире для исследования сложных систем. Этому способствуют преимущества, присущие этому методу, а именно [4]:

Большинство сложных реальных систем с вероятностными параметрами нельзя точно описать с использованием математических моделей.

Путем моделирования можно разработать ряд альтернативных вариантов моделей системы и затем определить, какой из них наиболее соответствует исходным требованиям.

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

Моделирование позволяет изучить длительный интервал функционирования системы в сжатые сроки или, наоборот, изучить более подробно работу системы в развернутый интервал времени [5].

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

Моделирование позволяет оценить некоторые эксплуатационные показатели системы при различных условиях эксплуатации.

Можно выделить 3 вида имитационного моделирования (рис.1.):

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

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

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

Рис. 1. 3 вида имитационного моделирования

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

Агентное моделирование - метод имитационного моделирования, позволяющий исследовать нетривиальное поведение сложных систем и принимать на основе построенной модели взвешенные и обоснованные управленческие решения. Цель агентного моделирования - исследование децентрализованных систем, динамика функционирования которых определяется не глобальными правилами и законами, а наоборот, эти глобальные правила и законы являются результатом индивидуальной активности членов управленческих популяций. В то время, как традиционные подходы компьютерной имитации (системная динамика, дискретно-событийное моделирование) не предназначены для решения подобных задач, мультиагентные модели достаточно успешно с ними справляются. Прежде всего, учитывается поведение отдельно взятых "особей" системы, в результате чего становится возможным выявлять достаточно тонкие особенности коллективного поведения элементов системы, учитывать взаимодействия их друг с другом и с окружающей средой [б, 7].

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

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

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

Многоагентные (или просто агентные) модели используются для исследования децентрализованных систем, динамика функционирования которых определяется не глобальными правилами и законами, а наоборот, эти глобальные правила и законы являются результатом индивидуальной активности членов группы. Например, в области экономики, в которой весь организм формируется «снизу вверх», не совсем адекватны модели и описания установившихся равновесных режимов. Гораздо интереснее и адекватнее анализ моделей, позволяющих выполнить анализ формирования правил и тенденций глобального поведения как интегральных характеристик поведений многих составляющих активных игроков.

Обычные, традиционные объекты можно считать пассивными, поскольку они ожидают сообщения прежде, чем выполнить операцию. После того, как объекты инициированы [8] , они выполняют свои функции

и «засыпают» до получения следующего задания. Активные объекты, которые реагируют на события своей среды, а также предпринимают определенные действия, не дожидаясь прямого обращения к себе, естественно моделировать с помощью агентов [9].

Очевидно, что применение этого подхода к моделированию наиболее удобно в случаях, когда нас интересуют характеристики поведения всей системы, которые определяются как интегральные характеристики всей совокупности агентов. Одну и ту же систему в зависимости от поставленной цели моделирования можно в рамках различных парадигм [10].

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

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

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

Кроме переменных [11], определяющих состояние системы, и логики, определяющей, что произойдет в ответ на какое-то событие, система дискретно-событийного моделирования содержит следующие компоненты :

Часы - основной компонент системы, синхронизирующий изменения системы, т.е. возникновение событий .

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

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

Основные данные, которые собираются в системах дискретно-событийного моделирования:

средняя занятость (доступность) ресурсов;

среднее количество клиентов в очереди;

среднее время ожидания в очереди.

Термин "дискретно-событийное моделирование" исторически закрепился за моделированием систем обслуживания потоков объектов некоторой природы: клиентов банка, автомобилей на заправочной станции, телефонных вызовов, пациентов в поликлиниках и т.п. Именно такие системы называются системами массового обслуживания.

Вышеперечисленные простые системы не исчерпывают всего многообразия систем массового обслуживания. К примеру, конвейерные системы для поточного производства и сборки изделий также могут рассматриваться как системы массового обслуживания, но они требуют при анализе учет характеристик самих конвейеров (к примеру, их формы, скорости) и алгоритмов [12] сборки. Кроме того, большой класс систем включает такие процессы обслуживания, которые требуют для отдельных операций выполнения специфических условий, например, наличие ресурсов конкретного типа.

В основе данного вида моделирования лежит концепция заявок (транзактов, entities), ресурсов и потоковых диаграмм (flowcharts), определяющих потоки заявок и использование ресурсов. Этот подход восходит к Джеффри Гордону, который в 1960х придумал и развил GPSS и реализовал её, работая в IBM. Заявки (транзакты в GPSS) - это пассивные объекты, представляющие людей, детали, документы, задачи, сообщения и т.п. Они путешествуют через flowchart, стоя в очередях, обрабатываясь, захватывая и освобождая ресурсы, разделяясь, соединяясь и т. д. Существует около сотни коммерческих инструментов, так или иначе поддерживающих подобный стиль моделирования; некоторые общего назначения, большинство нацелено на определённые ниши: обслуживание, бизнес-процессы, производство,

логистика и т.д. Их пользовательские интерфейсы могут существенно различаться из-за специализации, но за ними непременно стоит более или менее одинаковый дискретно-событийный "движок" (engine), который "гоняет" заявки через блоки.

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

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

Системная динамика — направление в изучении сложных систем, исследующее их поведение во времени и в зависимости от структуры элементов системы и взаимодействия между ними.

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

Как правило, наиболее важные модели, отвечающие запросам управления, включают от 30 до 3000 переменных. Нижний предел близок к тому минимуму, который отражает основные типы поведения системы, интересующие тех, кто принимает решения. Верхний предел ограничивается нашими возможностями восприятия системы и всех ее взаимосвязей [14].

Следует уделять особое внимание таким аспектам исследуемой системы, как:

временные зависимости,

усиление,

искажение информации.

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

«Структура (системы) диктует поведение», - утверждают специалисты по системной динамики: на-

пример, экспоненциальный рост, осцилляцию, превышение с последующим коллапсом и т.п. Под структурой понимается комбинация взимосвязанных потоков [15] и накопителей. Системная динамика фокусируется на моделировании макроуровня - системы в целом. Однако это не означает, что системная динамика может применяться исключительно к моделированию макроэкономики или глобальных социальноэкономических процессов. Под понятием «макро» в данном случае имеется ввиду агрегирование моделируемых данных: например, в широко известной модели диффузии инноваций Фрэнка Басса, Потенциальные Клиенты и Клиенты представлены в обобщенном виде - в виде накопителей, пополняемых или истощаемых потоками [16].

В системно-динамическом моделировании структура модели определена изначально и не может быть изменена в ходе имитационного эксперимента, т.к. структура модели фиксирована. Как отмечают Н. Шериз и П. Миллинг, тем не менее системно-динамические модели могут адаптироваться, если под адаптацией понимать не изменение структуры модели, а изменение в доминирования петель обратной связи [17].

В системной динамике источником нелинейности поведения системы является концепция аккумулирования, которая находит отражение в потоках и накопителях, ответственных за возникновение эффектов запаздывания.

ЛИТЕРАТУРА

1. Щепетова С. Е. Динамическое моделирование функционирования предприятия и формирование стратегии его поведения в конкурентной среде: автореф. дис. на соискание ученой степени к. э. н. - М.:

Финансовая академия при Правительстве РФ, 2001.

2. Юрков Н. К. Имитационное моделирование технологических систем: Учебное пособие / Н. К. Юрков. - Пенза, Пензен. политехн. ин-т, 1989г. - 71 с.

3. Лоу А. М., Кельтон В. Д. Имитационное моделирование. Классика CS. - 3-е изд. - СПб.: Питер; Киев: Издательская группа BHV, 2004. -847 с.: ил.

4. Замятина О. М. Моделирование систем: Учебное пособие. - Томск: Изд-во ТПУ, 2009. - 204 с.

5. Карпов Ю. Имитационное моделирование систем. Введение в моделирование с AnyLogic 5. - СПб.: БХВ-Петербург, 2005. - 400 с.: ил.

6. Borshchev A., Filippov A. From System Dynamics and Discrete Event to Practical Agent Based

Modeling: Reasons, Techniques, Tools. The 22nd International Conference of the System Dynamics

Society, July 25 - 29, 2004, Oxford, England.

7. http://mas.exponenta.ru/files/npo/texts/karpov.pdf

8. Борщев А. В. Практическое агентное моделирование и его место в арсенале аналитика //

Exponenta Pro, N 3-4, 2004. (См. также http://www.gpss.ru/index-h.html)

9. http://www.empatika.com/blog/agent-modelling.

10. Лысенко А.В. Краткий обзор методов имитационного моделирования / А.В. Лысенко, Н.В. Горячев, И.Д. Граб, Б.К. Кемалов, Н.К. Юрков // Современные информационные технологии. 2011. № 14. С. 171-176.

11. Бростилов С.А. Математическое моделирование процессов отражения и распространения электромагнитных волн в тонкой градиентной диэлектрической пластине / Бростилов С.А., Кучумов Е.В. //

Труды международного симпозиума Надежность и качество. 2011. Т. 1. С. 281-283.

12. Сивагина Ю.А. Обзор современных симплексных ретрансляторов радиосигналов/ Ю.А. Сивагина, И.Д. Граб, Н.В. Горячев, Н.К. Юрков //Труды международного симпозиума Надежность и качество. 2012. Т. 1. С. 74-76.

13. Трифоненко И.М. Обзор систем сквозного проектирования печатных плат радиоэлектронных средств / И.М. Трифоненко, Н.В. Горячев, И.И. Кочегаров, Н.К. Юрков // Труды международного симпозиума Надежность и качество. 2012. Т. 1. С. 396-399.

14. Петрянин Д.Л. Анализ систем защиты информации в базах данных / Д.Л. Петрянин, Н.В. Горячев, Н.К. Юрков // Труды международного симпозиума Надежность и качество. 2013. Т. 1. С. 115-122.

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