Концептуальные модели фундамент математических моделей

Обновлено: 23.04.2024

Как указано в [ NBG01 ], концептуальное моделирование данных - это первоначальный этап разработки проекта постоянных данных и хранилища постоянных данных для системы. Во многих случаях постоянные данные для системы управляются системой управления реляционной базой данных (RDBMS). Бизнес сущности и системные сущности, определенные на концептуальном уровне в бизнес моделях и системных требованиях будут развиты с помощью задач анализа вариантов использования, проекта вариантов использования и проекта базы данных в детальный проект физических таблиц, которые будут применены в системе управления реляционной базой данных. Обратите внимание, что концептуальная модель данных, обсуждаемая в этом документе - это не отдельный рабочий продукт. Она состоит из смешанных представлений информации, содержащейся в рабочих продуктах Бизнес моделирование, Требования и Дисциплины анализа и проекта, которые связаны с Моделью данных.

Развитие Модели данных обычно включает три общие этапа.

  • Концептуальный - этот этап подразумевает идентификацию ключевых бизнес сущностей и системных сущностей и их взаимосвязей, которые определяют границы задач, решаемых системой. Эти ключевые бизнес сущности и системные сущности определяются с помощью элементов моделирования профайла UML для бизнес моделирования, включенного в модель бизнес анализа и элементов модели Класс анализа в модели анализа.
  • Логический - этот этап подразумевает детализацию ключевых бизнес сущностей и системных сущностей в более детальные логические сущности. Эти логические сущности и их взаимосвязи могут быть дополнительно определены в логической модели данных с помощью элементов моделирования профайла UML для проекта базы данных, как описано в руководстве Модель данных. Эта дополнительная Логическая модель является частью рабочего продукта Модель данных и не является отдельным рабочим продуктом.
  • Физический - этот этап подразумевает преобразование проектов логических классов в детальные и оптимизированные проекты физических таблиц баз данных. Физическая этап также включает размещение проектов таблиц баз данных в табличном пространстве и в компоненте базы данных в проекте хранилища базы данных.

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

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

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

Элементы концептуального моделирования данных

Бизнес модели

Бизнес модели вариантов использования

Бизнес модели вариантов использования состоят из бизнес субъектов и бизнес вариантов использования. Бизнес варианты использования представляют ключевые бизнес-процессы, используемые для определения контекста для разрабатываемой системы. Бизнес-субъекты представляют ключевые внешние сущности, которые взаимодействуют с бизнесом посредством Бизнес вариантов использования. Изображение ниже показывает простой пример бизнес модели вариантов использования для приложения онлайнового аукциона.

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

Модель анализа бизнеса

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

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

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

Модель Требования и Модель анализа

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

Системная модель вариантов использования

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

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

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

Модель анализа

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

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

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


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

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

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

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

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

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

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

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

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




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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Средствами формализованного описания процессов функционирования систем с программным принципом управления служат определенные языки и системы имитационного моделирования.

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

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

Полнота моделирования регулируется, в основном, выбором границ «Система S – среда E».

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

- совокупность входных воздействий на S ;

- совокупность воздействий внешней среды ;

- совокупность внутренних (собственных) параметров системы ;

- совокупность выходных характеристик системы .

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

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

Соотношение (3.1) является математическим описанием поведения объекта S моделирования во времени t, т.е. отражает его динамические свойства. (3.1) – это динамическая модель системы S. Для статических условий ММ есть отображения X, V, H в Y:

Соотношения (3.1), (3.2) могут быть заданы формулами, таблицами и т.д. Также соотношения в ряде случаев могут быть получены через свойства системы в конкретные моменты времени, называемые состояниями.

Состояния системы S характеризуются векторами:

и , где в момент ; в момент и т.д., k = 1, …, nZ.

Z1(t), Z2(t), …, Zk(t) – это координаты точки в k-мерном фазовом пространстве. Каждой реализации процесса будет соответствовать некоторая фазовая траектория.

Совокупность всех возможных значений состояний называется пространством состояний объекта моделирования Z, причём zk Î Z.




Время в модели S может рассматриваться на интервале моделирования (t0, T) как непрерывное, так и дискретное, т.е. квантованное на отрезке длиной Dt.

Таким образом, под ММ объекта понимаем конечное множество переменных вместе с математическими связями между ними и характеристиками .

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

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

В стохастических моделях (при учёте случайного фактора) для представления систем с дискретным временем используются вероятностные автоматы, а для представления систем с непрерывным временем – системы массового обслуживания (СМО). Большое практическое значение при исследовании сложных индивидуальных управленческих систем, к которым относятся АСУ, имеют так называемые агрегативные модели.

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

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

Когнитивные и содержательные модели

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

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

По функциональному признаку и целям содержательные модели подразделяются на описательные, объяснительные и прогностические:

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

Концептуальные модели

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

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

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

Формальные модели

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

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

Математическое моделирование — это идеальное научное знаковое формальное моделирование, при котором описание объекта осуществляется на языке математики, а исследование модели проводится с использованием тех или иных математических методов.

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

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

Преимущества математического моделирования в сравнении с натурным экспериментом:

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

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

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

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

Процесс построения любой математической модели можно представить последовательностью этапов:

  1. Обследование объекта моделирования и формулировка технического задания на разработку модели (содержательная постановка задачи);
  2. Концептуальная и математическая постановка задачи;
  3. Качественный анализ и проверка корректности модели;
  4. Выбор и обоснование выбора методов решения задачи;
  5. Поиск решения;
  6. Разработка алгоритма решения и исследование его свойств, реализация алгоритма в виде программ;
  7. Проверка адекватности модели;
  8. Практическое использование построенной модели.

Обследование объекта моделирования

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

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

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

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

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

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

Концептуальная постановка задачи моделирования

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

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

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

Математическая постановка задачи

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

Математическая постановка задачи моделирования — это совокупность математических соотношений, описывающих поведение и свойства объекта моделирования.

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

Выбор и обоснование выбора решения задачи

Все методы решения задач, составляющих «ядро» математических моделей, можно подразделить на аналитические и алгоритмические.

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

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

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

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

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

Естественным требованием для конкретного вычислительного алгоритма является согласованность в порядках величин перечисленных трех видов погрешностей.

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

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

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

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

Реализация математической модели в виде компьютерной программы

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

Процесс создания программного обеспечения можно разбить на несколько этапов:

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

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

Большинство программ, реализующих математические модели, состоят из трех основных частей:

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

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

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

Проверка адекватности модели

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

Проверка адекватности модели преследует две цели:

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

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

Решение вопроса о точности моделирования зависит от требований, предъявляемых к модели, и ее назначения. При этом должна учитываться точность получения экспериментальных результатов или особенности постановок тестовых задач. В моделях, предназначенных для выполнения оценочных и прикидочных расчетов, удовлетворительной считается точность 10-15%. В моделях, используемых в управляющих и контролирующих системах, требуемая точность может быть 1-2% и даже более.

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

Практическое использование модели и анализ результатов моделирования

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

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

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

Независимо от области применения созданной модели группа разработчиков обязана провести качественный и количественный анализ результатов моделирования.

Работая с моделью, разработчики становятся специалистами в области, связанной с объектом моделирования. Они достаточно хорошо представляют свойства объекта, могут предсказать и объяснить его поведение.

Читайте также: