- •Имитационное моделирование
- •Оглавление
- •Глава 1. Математическое моделирование 8
- •Глава 2. Имитация случайных процессов 54
- •Глава 3. Имитационное моделирование 70
- •Предисловие
- •Введение
- •Глава 1. Математическое моделирование
- •1.1. Модели и их виды
- •1.2. Моделирование
- •1.3. Модельное время и виды процессов
- •1.4. Построение дискретной (пошаговой) аналитической модели
- •1.4.1. Сущность пошагового моделирования
- •1.4.2. Принципы построения пошаговой модели
- •1.4.3. Примеры моделей
- •1.5. Построение аналоговой (дифференциальной) аналитической модели
- •1.5.1. Сущность дифференциального (функционального) подхода
- •1.5.2. Диаграммы процессов и переход к дифференциальным уравнениям
- •1.5.3. Принципы построения дифференциальной модели
- •1.5.4. Примеры
- •1.6. Упражнения
- •Вопросы к главе
- •Глава 2. Имитация случайных процессов
- •2.1. Базовые сведения о случайных величинах
- •2.1.1. Случайные величины и их распределения
- •2.1.3. Характеристики случайных величин
- •2.1.4. Метод Монте-Карло
- •2.2. Дискретные случайные числа и их имитация
- •2.3. Непрерывные случайные числа и их имитация
- •2.4. Упражнения
- •Вопросы к главе
- •Глава 3. Имитационное моделирование
- •3.1. Постановка задачи имитационного моделирования
- •3.2. Специфика имитационных моделей
- •3.3. Построение дискретной (пошаговой) имитационной модели
- •3.3.1. Построение пошаговой имитационной модели
- •3.3.2. Примеры
- •3.4. Блочное моделирование
- •3.4.1. Преимущества блочного моделирования
- •3.4.2. Принципы блочного подхода к составлению дифференциальной модели
- •3.4.3. Переход от диаграммы процессов к блочной модели
- •3.4.4. Примеры
- •3.5. Стохастическое моделирование
- •3.5.1. Основы теории очередей
- •3.5.2. Принципы построения систем массового обслуживания
- •3.5.3. Текстовое моделирование
- •3.5.4. Примеры
- •3.6. Упражнения
- •3.6. Вопросы к главе
- •Заключение
- •Библиографический список
- •Имитационное моделирование
Вопросы к главе
В чём различие между теоретическим и эмпирическим распределениями?
Каковы основные этапы генерации равномерно распределенных величин методом Монте-Карло?
Что показывает функция плотности/вероятностей распределения случайной величины?
Что показывает функция распределения случайной величины?
Как рассчитать значения функции вероятностей дискретной случайной величины по статистике данных?
Как из функции плотности/вероятностей случайной величины получить функцию распределения?
Опишите основные теоретические распределения.
Какие параметры задают основные теоретические распределения?
Как в программе MS Excel осуществить генерацию ряда псевдослучайных дискретных величин, используя метод обратной функции?
Как в MS Excel провести генерацию ряда псевдослучайных аналоговых величин по аналитическому закону распределения (на примере одного из законов)?
Глава 3. Имитационное моделирование
3.1. Постановка задачи имитационного моделирования
В любой науке, несмотря на наличие отработанных методов и механизмов исследования, имеется ряд трудностей, возникающих при составлении правдоподобных моделей:
– изменчивость, динамичность (разомкнутость);
– отсутствие однозначных показателей (констант);
– наличие сложных, неявных, нелинейных зависимостей с другими объектами внешней среды;
– преобладание числа обратных связей над характерными параметрами;
– отсутствие конечного горизонта существования моделируемого объекта/процесса.
Всё это препятствует однозначной оценке поведения моделируемого объекта и затрудняет выработку оптимального управляющего воздействия на него. С другой стороны, развитие научного подхода способствовало разработке ряда методов, основанных на моделировании, позволяющих приближенно (с определённой погрешностью) оценить многие параметры исследуемой системы. Что же такое имитационное моделирование? Обратимся к определению.
Имитационное моделирование (англ. simulation) – это разновидность экспериментального моделирования, реализуемого с помощью математических методов, компьютерных программ и технологий программирования, позволяющих на аналоге реального объекта (модели) осуществить целенаправленное исследование сложного процесса путём имитации его действия средствами ЭВМ.
Следовательно, модель состоит из тех же элементов, что и при аналитическом подходе, но не все её значения задаются на этапе составления модели, часть их имитируется в процессе выполнения модели. Это усложняет как составление, так и просчёт модели. Несмотря на это, методы имитации в моделировании прочно утвердились при изучении физических, экономических, технических и прочих явлений и процессов. Были даже выработаны специальные методы, о которых пойдёт речь в данной главе.
3.2. Специфика имитационных моделей
Ключевые слова: имитация процесса, имитационное моделирование, стохастичность
Человечество давно использует достижения науки и техники, применяя их в своих интересах. Но с развитием моделирования стали описываться всё более сложные объекты, требующие детального описания. Это привело к появлению проблем описания моделей, а именно:
– необходимости учёта большого количества подсистем и связей (взаимозависимостей) между ними;
– увеличению влияния случайных, частных факторов;
– усложнению выработки управляющих воздействий на моделируемый объект.
Всё это проявляется в снижении эффективности поиска оптимальных параметров управления моделируемым объектом. Поэтому были поставлены следующие задачи:
1) найти способы эффективного приближенного описания сложного объекта для его дальнейшего изучения;
2) проследить развитие изучаемого объекта при различных начальных условиях с учётом случайных факторов;
3) выработать оптимальное управляющее воздействие;
4) осуществить прогноз поведения моделируемого объекта;
5) оценить качество и погрешность полученных результатов.
Над решением этих задач трудились многие поколения учёных, и в результате были выработаны методы, позволяющие на языке математики, логики, теории систем описать объект и создать его модель. Часть их них была названа имитационным моделированием и выделилась в отдельную науку. Её задача – просчитать модель не в виде уравнения, а пошагово, имитируя этапы её работы.
Имитация (лат. Imitation – подражание) – процесс подражания действиям исходного объекта, с целью создать видимость.
Правда, для эффективной имитации требовалось достаточно много сложных вычислений, что вначале препятствовало широкому внедрению данного подхода на практике. Появление вычислительной техники значительно упростило процесс создания, просчёта (прогона) и оценки моделей. Это позволило возобновить исследования и расширить применение компьютерных имитационных моделей.
Первые программные пакеты имитационного моделирования появились в середине 50-х годов ХХ века. Самыми известными стали SIMULA (60-е, Норвегия), DYNAMO (70-е, США), GPSS (70-е, США), Powersim (90-е, США, Норвегия), Ithink (США) и пр. Хотя в принципе имитационное моделирование можно осуществлять и с помощью других программных пакетов: MS Excel, MathCAD, MatLab, среды объектно-ориентированного программирования и CASE-средств: C++, Delphi, Basic и пр. В России собственные системы имитационного моделирования стали разрабатываться достаточно поздно: АЛСИМ-БЭСМ – в 70-е, Pilgrim, РДО, СИМПАС – в 90-е годы и т. д. Следует отметить, что в умелых руках любое из упомянутых средств может использоваться для реализации нужных методов имитационного моделирования.
Подходы к имитационному моделированию можно классифицировать по признаку технологий:
– потоковые диаграммы и дифференциальное моделирование (Excel, MathCAD, GPSS World);
– динамическое, или блочное (CASE) моделирование (MatLab, Pilgrim, Aris);
– дискретно-событийное, или текстовое моделирование (GPSS World, Pilgrim).
На рис. 21 показано, каким образом можно выбирать подход к составлению имитационных моделей в зависимости от особенностей исходной задачи.
Рис. 21. Схема выбора метода имитационного моделирования
Предполагается, что каждый метод имитационного моделирования эффективен только в тех случаях, когда он соответствует исходным данным задачи. Для выбора метода необходимо определить степень случайности исходных данных (от детерминированных условий до стохастичных) и уровень формализации модели. Под высокой степенью детерминизма условия в задаче имитационного моделирования понимается такая постановка задачи, в которой всё задано однозначно, то есть стохастические показатели не учитываются или их мало и они просты11. Другая крайность – высокая неопределённость в описании модели: тогда о самой модели почти ничего не известно, а описать её функционирование можно только по наблюдениям, то есть через частотно-временные характеристики. Аналогичным образом рассматривается шкала формализации, где условие имеет высокий (все этапы удаётся описать в виде математических формул) или низкий (мало данных) вклад математических закономерностей функционирования моделируемой системы. Так, для применения пошаговых моделей необходимо, чтобы задача была достаточно определена (детерминизм) и при это ещё и имела низкую степень формализации. По аналогии (по сочетанию соприкасающихся углов категорий определённость-формализация) с помощью схемы можно выбрать и другие виды имитационного моделирования.
Разделение видов имитационного моделирования с рис. 21 достаточно условно и не претендует на исчерпывающее описание всех классов моделей, хотя будет полезно на начальном этапе изучения имитационного моделирования. Дискретным и аналитическим моделям с малым вкладом случайных процессов посвящены главы 3.3 и 3.4, а предельно стохастическим моделям – глава 3.5.