- •А.А. Бочкарев
- •Санкт-Петербург
- •Введение
- •Раздел 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. Методы повышения валидации и доверия к модели
- •Контрольные вопросы
2.2. Этапы исследования систем с помощью имитационного моделирования
Имитационное моделирование состоит из двух больших этапов: создания модели и анализа построенной модели с целью принятия решения. Но это только верхняя часть айсберга. Исследование сложной системы посредством моделирования требует большой работы, включающей следующие этапы, представленные на рис. 2.3. Исследование посредством моделирования – это не простой последовательный процесс, он предполагает необходимость часто возвращаться назад к предыдущему этапу.
Рис. 2.3. Этапы исследования систем с помощью моделирования
Рассмотрим более подробно содержание отдельных этапов исследования систем с помощью моделирования.
Формулировка задачи и планирование исследования системы.
1.1. Постановка задачи руководителем.
1.2. Проведение ряда встреч с руководителем проекта, аналитиками имитационного моделирования и экспертами по изучаемой тематике с целью исследования системы. Рассмотрение следующих вопросов:
глобальная цель исследования;
специальные вопросы, на которые должно ответить исследование;
критерии качества работы, используемые в будущем для оценки эффективности различных конфигураций системы;
масштаб модели;
моделируемые конфигурации системы;
применяемое программное обеспечение;
временной интервал для исследования и необходимые ресурсы.
Сбор данных и определение модели.
2.1. Сбор информации о конфигурации системы и способах эксплуатации, которая сводится к тому, что:
одного специалиста в данном случае недостаточно;
необходимо привлечь экспертов по изучаемой тематике, владеющих достоверной информацией;
способы эксплуатации нельзя формализовать.
2.2. Сбор данных (если это возможно) для определения параметров модели и входных распределений вероятностей.
2.3. Схематическое изображение данных в «описании допущений», представляющем собой концептуальную модель.
2.4. Сбор данных (по возможности) о рабочих характеристиках существующей системы (с целью осуществления проверки на этапе 6).
2.5. Выбор уровня детальности модели в зависимости от перечисленных ниже факторов:
целей проекта;
критериев качества работ;
доступности данных;
интересов достоверности;
компьютерных возможностей;
мнений экспертов по изучаемой тематике;
ограничений, связанных со временем и финансированием.
2.6. Установление между каждым элементом модели и соответствующим ему элементом системы взаимно-однозначного соответствия.
2.7. Регулярное взаимодействие с руководителем и другими ведущими специалистами проекта.
Определение адекватности концептуальной модели.
3.1. Выполнение структурного анализа концептуальной модели с предоставлением описания допущений на рассмотрение аудитории, которая состоит из руководителей, аналитиков, а также экспертов по изучаемой тематике, принимая во внимание, что:
анализ помогает убедиться, что допущения, приняты е для модели, верны и ничего не упущено;
анализ обеспечивает право собственности на модель;
анализ выполняется до начала программирования, чтобы в дальнейшем избежать перепрограммирования модели.
Создание компьютерной программы и ее проверка.
4.1. Создание моделирующей компьютерной программы на языке программирования (например, VBA, Turbo Pascal, С++, Java и др.) или с помощью программного обеспечения для моделирования (в частности, Arena, AnyLogic, Extend, MATLAB+Simulink и др.). Преимущество использования языков программирования заключается в том, что у них относительно невысокая закупочная стоимость, и созданная с их помощью модель требует меньше времени для выполнения. Использование программного обеспечения для моделирования уменьшает время программирования, поэтому в итоге дает меньшую стоимость всего проекта.
4.2. Проверка моделирующей компьютерной программы, а также ее отладка.
Выполнение предварительных прогонов.
5.1. Выполнение предварительных прогонов с целью осуществления проверки на этапе 6.
Проверка соответствия программной модели.
6.1. Если есть существующая система - сравнение критериев качества работы и существующей системы (этап 2).
6.2. Независимо от наличия существующей системы - просмотр аналитиками и экспертами по изучаемой теме результатов прогонов модели с целью определения их правильности.
6.3. Использование анализа чувствительности для определения факторов модели, имеющих существенное влияние на критерии качества работы системы, так как их следует моделировать очень точно.
Планирование экспериментов.
7.1. Детальное изложение того, что является важным для каждой системной конфигурации:
длительность каждого прогона;
длительность переходного периода (если он необходим);
количество независимых прогонов имитационной модели с использованием различных случайных чисел, что потребуется при построении доверительных интервалов.
Выполнение рабочих прогонов.
8.1. Выполнение рабочих прогонов для получения результатов, которые понадобятся на этапе 9.
Анализ выходных данных.
9.1. Обработка выходных данных с целью:
определения среднестатистических характеристик модели для известной конфигурации моделируемой системы;
проведения относительного сравнения альтернативных конфигураций системы.
Документальное представление и использование результатов.
10.1. Документальное оформление допущений (см. этап 2) компьютерной программы и результатов исследования для использования в текущем и будущих проектах.
10.2. Представление результатов исследования:
использование анимации для объяснения модели руководителям и другим людям, которым не известны все ее подробности;
обсуждение процесса создания модели и ее достоверности, чтобы повысить уровень доверия к ней.
10.3. Использование результатов в процессе принятия решений, если они действительны и достоверны.
