
- •А.А. Бочкарев
- •Санкт-Петербург
- •Введение
- •Раздел 1. Общие вопросы имитационного моделирования
- •1. Введение в моделирование. Понятие имитационного моделирования
- •1.1. Понятие модели
- •1.2. Понятие моделирования
- •1.3. Классификация моделей
- •1.4. Цель и задачи моделирования
- •1.5. Особенности имитационного моделирования и его преимущества
- •Контрольные вопросы
- •2. Основы теории и технологии имитационного моделирования систем
- •2.1. Уровни абстракции и основные подходы в имитационном моделировании
- •2.2. Этапы исследования систем с помощью имитационного моделирования
- •2.3. Виды моделирования
- •Контрольные вопросы
- •3. Программное обеспечение имитационного моделирования
- •3.1. Классификация программных средств имитационного моделирования
- •3.2. Возможности программных средств имитационного моделирования
- •Контрольные вопросы
- •4. Основы теории вероятностей и статистики
- •4.1. Понятие случайной величины
- •4.2. Основные законы распределения дискретной случайной величины
- •4.3. Основные законы распределения непрерывной случайной величины
- •Контрольные вопросы
- •5. Проблема создания адекватных и детальных имитационных моделей
- •5.1. Понятия адекватности, верификации и валидации моделей
- •5.2. Выбор оптимального уровня детализации моделей
- •5.3. Верификация моделирующих компьютерных программ
- •5.4. Методы повышения валидации и доверия к модели
- •Контрольные вопросы
Контрольные вопросы
Приведите примеры практических задач, к которым эффективно применяется имитационное моделирование. Как эти задачи расположены на шкале уровня абстракции?
Перечислите и охарактеризуйте каждый из основных подходов в имитационном моделировании.
Перечислите и охарактеризуйте каждый из этапов исследования систем с помощью моделирования.
Охарактеризуйте дискретно-событийное моделирование. Приведите пример дискретно-событийной модели.
Назовите и охарактеризуйте способы продвижения модельного времени в дискретно-событийных моделях.
Охарактеризуйте непрерывное моделирование. Приведите пример непрерывной модели.
Охарактеризуйте комбинированное непрерывно-дискретное моделирование. Приведите пример комбинированной непрерывно-дискретной модели.
В чем отличие события состояния от дискретного события в комбинированной непрерывно-дискретной модели?
Охарактеризуйте моделирование по методу Монте-Карло. Приведите пример имитационной модели, в которой реализуется данный вид моделирования.
3. Программное обеспечение имитационного моделирования
3.1. Классификация программных средств имитационного моделирования
Исторически инструментальные средства имитационного моделирования разделились на два основных типа: языки имитационного моделирования и предметно-ориентированные программы моделирования. Языки имитационного моделирования по своей природе универсальны, разработка модели здесь подразумевает написание кода. В целом они предоставляют достаточно гибкие возможности моделирования, но часто трудны в использовании. Программы моделирования ориентированы на решение определенной задачи, в них модель разрабатывается с использованием графики, диалоговых окон и раскрывающихся меню. Программы моделирования иногда проще изучать и использовать, но при решении некоторых задач они не могут обеспечить достаточную гибкость моделирования.
В последние годы создатели языков имитационного моделирования попытались сделать программное обеспечение более простым в употреблении. Для этого они использовали графический подход к построению моделей. Теперь типичный сценарий может быть снабжен панелью инструментов с пиктограммами для построения модели. Разработчик выбирает пиктограммы с помощью мыши и помещает их в рабочую область. Затем он соединяет пиктограммы, чтобы обозначить именованные потоки в исследуемой системе. Двойным щелчком мышью на пиктограмме можно вывести диалоговое окно, где уточняются параметры для добавляемых пиктограмм. Предположим, пиктограмма представляет устройство обслуживания в какой-либо системе, в этом случае диалоговое окно позволяет уточнить информацию о числе параллельных устройств обслуживания, распределении времени обслуживания для каждого из них, о том, может ли устройство прийти в неисправное состояние (если да, то каким образом). В то же время разработчики предметно-ориентированных программ моделирования сделали свои программные средства более гибкими, обеспечив в некоторых местах модели возможность программировать с использованием внутреннего языка программирования. По крайней мере, в одной программе моделирования сейчас можно изменять существующие моделирующие конструкции и создавать новые. Все это, по мнению Аверилла Лоу и Дэвида Кельтона […], привело к тому, что отличия между языками имитационного моделирования и программами моделирования стали менее заметными.
Таким образом, существует два типа пакетов имитационного моделирования. Универсальные пакеты имитационного моделирования предназначены для различных целей, но они могут иметь специальные функции для решения одного конкретного вида задач (например, моделирования производственных систем, систем связи или модернизации технологий производства). Популярными универсальными пакетами имитационного моделирования являются, например, Arena (разработчик System Modeling Corporation, Севикли, Пенсильвания, США), Extend (разработчик Imagine That., Inc., Сан-Хосе, Калифорния, США), AnyLogic (разработчик XJ Technologies, Санкт-Петербург, Россия) и другие. Предметно-ориентированные пакеты имитационного моделирования служат для решения специальных задач, таких как моделирование работы производственных систем, медицинских учреждений, центров выполнения заказов. Список предметно-ориентированных пакетов имитационного моделирования достаточно обширен, как правило, компании разработчики программных средств имитационного моделирования предлагают на рынок как универсальные, так и предметно-ориентированные пакеты.
Общими тенденциями, реализуемыми при разработке современных инструментальных средств и систем имитационного моделирования сложных динамических систем, являются:
обеспечение визуального конструирования (программирования) моделей с использованием стандартных графических компонентов на основе технологии drag and drop (идеографическое моделирование);
совмещение средств и систем имитационного моделирования с интеллектуальными системами поддержки принятия решений (экспертные системы, САПР и т.п.);
обеспечение возможности анимации при отображении процессов функционирования моделируемых систем;
интеграция с CASE-технологиями, конструирование многоуровневых моделей систем в рамках методологии структурного анализа.
Некоторые достаточно часто используемые современные инструментальные средства имитационного моделирования и их характеристики представлены в табл. 3.1.
Пакеты имитационного моделирования, как правило, включают в себя объекты, свойства, ресурсы и очереди как часть модельной структуры (их примеры приведены в табл. 3.2). Объект создается, перемещается по какой-либо части моделируемой системы, а затем обычно исключается. Объекты отличаются друг от друга свойствами, которые представляют собой блоки информации, хранящиеся вместе с объектом. По мере продвижения объекта в моделируемой системе он запрашивает ресурсы. Если ресурсы, запрошенные объектом, являются не доступными, он помещается в очередь. Объекты в определенной очереди могут обслуживаться в порядке FIFO (First-In, First-Out – «первым пришел – первым обслужен»), LIFO (Last-In, Last-Out – «последним пришел – первым обслужен») или в порядке возрастания или убывания значений какого-либо атрибута.
Таблица 3.1
Современные инструментальные средства ИМ
Наименование |
Разработчик |
Область применения |
Класс реализуемых моделей |
Использование графических компонентов для визуального конструирования |
Поддержка анимации |
Интеграция с CASE-средствами |
ARENA |
System Modeling Corporation |
Пакет моделирования производственных и бизнес-процессов |
Дискретные модели |
Имеется палитра стандартных блоков и процессов |
Да |
Импорт функциональных моделей из AllFusion Process Modeler (BPwin) |
EXTEND |
Imagine That., Inc. |
Пакет моделирования экономических процессов, стратегическое планирование |
Дискретные модели |
Имеется палитра стандартных блоков и процессов |
Да |
Нет |
AnyLogic |
XJ Technologies |
Пакет моделирования систем массового обслуживания, производства, транспорта |
Дискретные и непрерывные модели, агентные модели |
Имеется палитра стандартных блоков и процессов |
Да |
Нет |
MATLAB + Simulink |
MathWorks, Inc. |
Многофункциональная среда моделирования радиоэлектронных, информационных и управляющих систем |
Непрерывные и дискретные модели |
Блоки функциональных преобразований, карты состояний |
Да |
Использование нотаций UML при описании системной динамики |
GPSS WORLD |
Minuteman Corporation |
Язык моделирования систем массового обслуживания, производства, транспорта |
Дискретные модели |
Нет |
Да |
Нет |
Таблица 3.2
Объекты, атрибуты, ресурсы и очереди в некоторых типичных приложениях имитационного моделирования
Тип системы |
Объект |
Атрибуты |
Ресурсы |
Очереди/буфера |
Производство |
Деталь |
Номер детали, срок изготовления |
Станки, рабочие |
Очереди или буфера |
Система связи |
Сообщение |
Пункт назначения, длина сообщения |
Узлы, линии |
Буфера |
Аэропорт |
Самолет |
Номер рейса, масса |
Взлетно-посадочные полосы, выходы |
Очереди |
Страховое агентство |
Заявление, иск |
Имя, номер страхового полиса, сумма страхования |
Агенты, служащие |
Очереди |