Технологические этапы создания и использования моделей

Вне зависимости от типа моделей (непрерывные и дискретные, детерминированные и стохастические и т.д.) имитационное моделирование включает в себя ряд основных этапов, представленных на рис. 3.1 и является сложным итеративным процессом:

Рис. 3.1. Технологические этапы имитационного моделирования

1. Формулировка проблемы и определение целей имитационного исследования. Документированным результатом на этом этапе является составленное содержательное описание объекта моделирования;

2. Разработка концептуального описания. Результатом деятельности системного аналитика на этом этапе является концептуальная модель и выбор способа формализации для заданного объекта моделирования.

3. Формализация имитационной модели. Составляется формальное описание объекта моделирования.

4. Программирование имитационной модели (разработка программы-имитатора). Осуществляется выбор средств автоматизации моделирования, алгоритмизация, программирование и отладка имитационной модели.

5. Испытание и исследование модели, проверка модели. Проводится верификация модели, оценка адекватности, исследование свойств имитационной модели и другие процедуры комплексного тестирования разработанной модели.

6. Планирование и проведение имитационного эксперимента. Осуществляется стратегическое и тактическое планирование имитационного эксперимента. Результатом являются: составленный и реализованный план эксперимента, заданные условия имитационного прогона для выбранного плана.

7. Анализ результатов моделирования. Исследователь проводит интерпретацию результатов моделирования и их использование, собственно принятие решений.

    Формулировка проблемы и определение целей имитационного исследования. На первом этапе формулируется проблема, стоящая перед исследователем и принимается решение о целесообразности применения метода имитационного моделирования. Затем определяются цели, которые должны быть достигнуты в результате имитации. От формулировки целей в значительной мере зависит выбор типа имитационной модели и характер дальнейшего имитационного исследования на имитационной модели. На этом этапе определяется и детально изучается объект моделирования, те стороны его функционирования, которые представляют интерес для исследования. Результатом работ на данном этапе является содержательное описание объекта моделирования с указанием целей имитации и тех аспектов функционирования объекта моделирования, которые необходимо изучить на имитационной модели. Содержательное описание составляется в терминологии реальной системы, на языке предметной области, понятном заказчику.

    В ходе составления содержательного описания объекта моделирова­ния устанавливаются границы изучения моделируемого объекта, дается описание внешней среды, с которой он взаимодействует. Формулируются основные критерии эффективности, по которым предполагается проводить сравнение на модели различных вариантов решений, проводится генерация и описание рассматриваемых альтернатив. Общего рецепта составления содержательного описания не сущест­вует. Успех зависит от интуиции разработчика и знания реальной системы. Общая технология или последовательность действий на этом этапе следующая: сбор данных об объекте моделирования и составление содержательного описания объекта моделирования; далее следует: изучение проблемной ситуации – определение диагноза и постановка задачи; уточнение целей моделирования; обосновывается необходимость моделирования и осуществляется выбор метода моделирования. На этом этапе четко и конкретно формулируются цели моделирования.

    Цели моделирования определяют общий замысел модели и пронизывают все последующие этапы имитационного моделирования. Далее осуществляется формирование концептуальной модели исследуемого объекта.

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

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

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

    Основное смысловое содержание системного подхода к решению проблем демонстрируется на рис. 3.2.

    Системный подход к решению проблем предполагает:

    • системное рассмотрение сущности проблемы:
    1. обоснование сущности и места исследуемой проблемы;
    2. формирование общей структуры исследуемой системы;
    3. выявление полного множества значащих факторов;
    4. определение функциональных зависимостей между факторами;
    • построение единой концепции решения проблемы:
    1. исследование объективных условий решения проблемы;
    2. обоснование целей, задач, необходимых для решения проблемы;
    3. структуризация задач, формализация целей;
    4. разработка средств и методов решения проблемы: описание альтернатив, сценариев, решающих правил и управляющих воздействий для отработки в дальнейшем на модели процедур принятия решений;
    • системное использование методов моделирования:
    1. системная классификация (структуризация) задач моделирования;
    2. системный анализ возможностей методов моделирования;
    3. выбор эффективных методов моделирования. 

     

    Рис. 3.2. Содержание системного подхода к решению проблем 

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

    Какие подводные камни поджидают начинающего системного аналитика? То, что для одного уровня является целью, для  другого уровня является средством, и часто происходит смешение целей. Для сложной системы с большим количеством подсистем цели могут быть противоречивыми. Цель редко бывает единственной, при множестве целей существует опасность неверного ранжирова­ния.

    Сформулированные и структурированные на первом этапе цели моделирования пронизывают весь ход дальнейшего имитационного исследования.

    Рассмотрим наиболее употребляемые категории целей в имитационном исследовании: оценка, прогнозирование, оптимизация, сравнение альтернатив и др.

    Эксперименты по моделированию проводятся с весьма разнообразны­ми целями, в числе которых могут быть:

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

    Формирование критериев. Исключительно важно четкое и однозначное определение критериев. Это влияет на процесс создания и экспериментирования модели, кроме того, неправильное определение критерия ведет к неправильным выводам. Различают критерии, с помощью которых оценивается степень достижения цели системой, и критерии по которым оценивается способ движения к цели (или эффективность средства достижения целей). Для многокритериальных моделируемых систем формируется набор критериев, их необходимо структурировать по подсистемам или ранжировать по важности. 

     

    Рис. 3.3. Переход от реальной системы к логической схеме её функционирования 

    Разработка концептуальной модели объекта моделирования. Концептуальная модель – есть логико-математическое описание моделируемой системы в соответствии с формулировкой проблемы.

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

    (схематично общее содержание этого технологического перехода демонстрируется на рис.3.3). Здесь приводится описание объекта в терминах математических понятий и алгоритмизация функционирования ее компонент. Концептуальное описание представляет собой упрощенное алгоритмическое отображение реальной системы.

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

    Результат работы на этом этапе – документированное концептуаль­ное описание и выбранный способ формализации моделируемой системы. При создании небольших моделей этот этап совмещается с этапом составления содержательного описания моделируемой системы. На этом этапе уточняется методика имитационного эксперимента.

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

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

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

    При обсуждении уровня детализации модели важно понимать, что в основании всякой декомпозиции лежат два противоречивых принципа: полнота и простота. Обычно на начальных этапах составления модели наблюдается тенденция к учету чрезмерно большого числа компонентов и переменных. Однако хорошая модель – простая. Известно, что степень понимания явления обратно пропорциональна числу переменных, фигурирующих в его описании. Модель, перегруженная деталями, может стать сложной и трудно реализуемой.

    Компромисс между этими двумя полюсами, состоит в том, что в модель включаются только существенные (или релевантные) компоненты – существенные по отношению к цели анализа.

    Итак, сначала должна присутствовать “элементарность” – составляет­ся самое простое дерево целей, упрощенная структура модели. Далее осуществляется постепенная детализация модели. Надо стремиться делать простые модели, затем их усложнять. Необходимо следовать принципу итеративного построения модели, когда по мере изучения системы по модели, в ходе разработки, модель изменяется путем добавления новых или исключения некоторых ее элементов и/или взаимосвязей между ними.

    Как же перейти от реальной системы к ее упрощенному описанию? Упрощение, абстракция – основные приемы любого моделирования. Выбранный уровень детализации должен позволять абстрагироваться от неточно определенных, из-за недостатка информации, аспектов функционирования реальной системы.

    Под упрощением понимается пренебрежение несущественными деталями или принятие предположений о более простых соотношениях (например, предположение о линейной зависимости между перемен­ными). При моделировании выдвигаются гипотезы, предположения, относящиеся к взаимосвязи между компонентами и переменными системы.

    Другим аспектом анализа реальной системы является абстракция. Абстракция содержит в себе существенные качества поведения объекта, но не обязательно в той же форме и столь детально, как это имеет место в реальной системе.

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

    Системное исследование построено на сочетание операций анализа и синтеза. На практике реализуются итеративные процедуры анализа и синтеза. Лишь после этого мы можем пытаться объяснить целое – систему, через его составляющие –  подсистемы, в виде общей структуры целого.

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

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

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

    Параметрами являются величины, которые исследователь может выбирать произвольно, в отличие от переменных модели, которые могут принимать значения, определяемые видом заданной функции. В модели будем различать переменные двух видов: экзогенные и эндогенные. Экзогенные переменные называются также входными. Это означает, что они порождаются вне системы или являются результатом взаимодействия внешних причин. Эндогенными переменными называются переменные, возникающие в системе в результате воздействия внутренних причин. В тех случаях, когда эндогенные переменные характеризуют состояние или условия, имеющие место в системе, назовем их переменными состояния. Когда же необходимо описать входы и выходы системы, то имеем дело с входными и выходными переменными.

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

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

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

    Формализация имитационной модели. На третьем этапе имитационного исследования осуществляется формализация объекта моделирования. Процесс формализации сложной системы включает:

    • выбор способа формализации;
    • составление формального описания системы.

    В процессе построения модели можно выделить три уровня ее представления:

    • неформализованный (этап 2) – концептуальная модель;
    • формализованный (этап 3) – формальная модель;
    • программный (этап 4) – имитационная модель.

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

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

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

    Затем формализованное описание преобразуется в программу – имитатор в соответствии с некоторой методикой (технологией программирования).

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

    Основная задача этапа формализации – дать формальное описание сложной системы, свободное от второстепенной информации, имеющейся в содержательном описании, алгоритмическое представление объекта моделирования. Цель формализации – получить формальное представление логико-математической модели, т.е. алгоритмов поведения компонентов сложной системы и отразить на уровне моделирующего алгоритма взаимодействие между компонентами.

    Может оказаться, что информации, имеющейся в содержательном описании недостаточно для формализации объекта моделирования. В этом случае  необходимо вернуться к этапу составления содержательного описания и дополнить его данными, необходимость в которых обнаружилась при формализации объекта моделирования. На практике таких возвратов может быть несколько. Формализация полезна в определенных пределах и для простых моделей неоправданна.

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

    Для дискретных моделей, например, могут применяться процессно-ориентированные системы (process description), системы, основанные на сетевых парадигмах (network paradigms), для непрерывных – потоковые диаграммы моделей системной динамики.

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

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

    В основе построения имитационных моделей лежат современные методы структуризации сложных систем и описания их динамики. Широко используются в практике анализа сложных систем следующие модели и методы:

    • сети кусочно-линейных агрегатов, моделирующие дискретные и непрерывно-дискретные системы;
    • сети Петри (сети событий, Е-сети, КОМБИ-сети и др. расширения), применяемые при структуризации причинных связей и моделировании систем с параллельными процессами, служащие для стратификации и алгоритмизации динамики дискретных и дискретно-непрерывных систем;
    • потоковые диаграммы и конечно-разностные уравнения системной динамики, являющиеся моделями непрерывных систем.

    Программирование имитационной модели. Концептуальное или формальное описание модели сложной системы преобразуется в программу – имитатор в соответствии с некоторой методикой программирования и с применением языков и систем моделирования. Важным моментом является корректный выбор инструментального средства для реализации имитационной модели. 

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

    Здесь перед разработчиком имитационной модели встают два вопроса:

    •  где и каким образом получить и собрать исходную информацию;
    • как обработать собранные данные о реальной системе.

    Основные методы получения исходных данных:

    • из существующей документации на систему (данные отчетов, статистические сборники,  например, для социально-экономических систем, финансовая и техническая документация для производственных систем и др.);
    • физическое экспериментирование. Иногда для задания исходной информации необходимо провести натурные эксперименты на моделируемой системе или ее прототипах;
    • предварительный, априорный синтез данных. Иногда исходные данные могут не существовать, а моделируемая система исключает возможность физического экспериментиро­вания. В этом случае пред­лагают различные приемы предварительного синтеза данных. Например, при моделировании информационных систем, продолжительность выполнения информационного требования оценивается на основании трудоемкости реализуемых на ЭВМ алгоритмов. К этим методам относят различные процедуры, основанные на общем анализе проблематики, анкетировании, интервьюировании, широком применении методов экспертного оценивания.

    Второй вопрос связан с проблемой идентификации входных данных для стохастических систем. Ранее отмечалось, что имитационное моделирование является эффективным аппаратом исследования стохастических систем, т.е. таких систем, динамика которых зависит от случайных факторов. Входные (и выходные) переменные стохастической модели, как правило, случайные величины, векторы, функции, случайные процессы. Поэтому возникают дополнительные трудности, связанные с синтезом уравнений относительно неизвестных законов распределения и определением вероятностных характеристик (математических ожиданий, дисперсий, корреляционных функций и т.п.) для анализируемых процессов и их параметров. Необходимость статистического анализа при сборе и анализе входных данных связана с задачами определения вида функциональных зависимостей, описывающих входные данные, оценкой конкретных значений параметров этих зависимостей, а также проверкой значимости параметров. Для подбора теоретических распределений случайных величин применяют известные методы математической статистики, основанные на определении параметров эмпирических распределений и проверке статистических гипотез, с использованием критериев согласия, о том, согласуются ли эмпирические данные с известными законами распределения. 

    Испытание и исследование свойств имитационной модели. После реализации  имитационной модели на ЭВМ, необходимо провести испытания для  оценки достоверности модели. На этапе испытания и исследования разработанной имитационной модели организуется комплексное тестирование модели (testing) – планируемый итеративный процесс, направленный на поддержку процедур верификации и валидации имитационных моделей и данных. 

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

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