ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.02.2020
Просмотров: 804
Скачиваний: 4
Основной причиной отмеченных недостатков является «несистемность» схемы, представленной на рис. 2. В частности, та информация о системе, которая получается на этапах создания модели (блоки 1, 2), часто не используется при обработке результатов и планирования экспериментов (блоки 5, 6), если модельрассматривается как «черный ящик».
Кроме этого, существует ряд задач, которые принципиально не могут быть решены в рамках указанной схемы. Например, оценки вероятностей редких событий (отказ высоконадежных систем, перегрузки сетей электроснабжения и т. п.) невозможно получить путем прямой имитации из-за чрезмерных затрат машинного времени. К подобного рода задачам относятся также оценки скоростей вхождения в стационарный режим стохастических систем, чувствительности таких систем к вариациям параметров и т. д. Здесь имеются в виду не эвристические, а строго обоснованные оценки. Отметим также, что чисто аналитические методы здесь мало чем могут помочь из-за сложностей изучаемых моделей.
Процесс построения модели состоит из ряда самостоятельных этапов, среди которых мы выделим два: построение формальной (аналитической и/или алгоритмической) модели на основе знаний о моделируемой системе и формирование машинной модели из построенной формальной. Первый этап является предметом фундаментальных дисциплин. Расширение классов формальных моделей прежде всего связано с успехами этих дисциплин по изучению соответствующих технических, физических, экономических, биологических и других систем. Несмотря на большое разнообразие содержательных моделей, можно указать лишь несколько используемых формальных схем, что обеспечивает возможность классификации математических моделей и применения этой классификации для регламентации работы пользователя по выбору той или иной схемы.
Второй этап — преобразование формальной модели в машинную — является предметом рассмотрения специалистов по моделированию. Основными возникающими при этом проблемами являются задачи упрощения и модификации формальной модели и оценки погрешности, вносимой этими операциями.
Процесс построения моделей должен быть тесно увязан с организацией машинных экспериментов в целях получения дополнительных знаний о системе, которые нельзя получить из натурных экспериментов, так как последние или невозможны, или слишком дороги.
Если моделирование рассматривать как единый процесс построения и исследования модели, имеющий соответствующую программную поддержку, то это приведет к изменению схемы, показанной на рис. 2. Теперь во главу угла ставится понятие математической модели, результаты исследования которой используются как на этапе построения машинной модели для упрощения и повышения эффективности и скорости работы моделирующего алгоритма, так и на этапе проведения вычислительных экспериментов в целях повышения достоверности и точности результатов моделирования. На предлагаемой схеме моделирования (рис. 3) основная цепочка (реальная система — математическая схема — моделирующий алгоритм — машинная модель — имитация — обработка результатов) осталась той же, что и на рис. 2.
Реализация схем моделирования, представленной на рис. 3 ставит новые проблемы перед разработчиками средств моделирования. Эти проблемы условно можно разделить на три группы: математические, программные, технологические.
Первая группа связана с разработкой и адаптацией математических методов, поддерживающих структурные и динамические исследования моделей. Указанных методов требуется определенная универсальность: они должны быть рассчитаны не на отдельные модели, а на достаточно широкие их классы.
Вторая группа проблем вызвана необходимостью создания эффективно работающего программного обеспечения всего процесса моделирования, включающего этапы построения модели, ее преобразования, имитации и исследования.
Технологические проблемы обусловлены необходимостью поддержать переход от представлений пользователя о системе и целях ее исследования к формальным понятиям модели, методам и приемам ее анализа.
Во многом способ решения указанных проблем предопределяется видом используемой математической модели, к которой предъявляются противоречивые требования универсальности, простоты, удобства, эффективности и т. д. Тем не менее, тот факт, что в основе всего процесса моделирования лежит формальная схема, дает возможность развивать регулярные методы поддержки различных этапов моделирования.
3. Классификация математических схем
Для перехода от содержательного описания к функциональному описанию работы системы с учетом внешнего воздействия используются математическиея схемы
Можно выделить следующие типовые схемы:
-
Аналитические
-
Конечные автоматы
-
Вероятностные автоматы
-
Система массового обслуживания
-
Агрегативные системы
В зависимости от использования схем различают следующие подходы к построению модели:
-
Непрерывно-детерминированный (используют аналитические схемы)
-
Дискретно-детерминированный (конечные автоматы)
-
Дискретно-стохастический (вероятностные автоматы)
-
Непрерывно-стохастический (системы массового обслуживания)
-
Обобщенный или универсальный (агрегативные системы)
При непрерывно-детерминированном подходе в качестве модели используются обыкновенные дифференциальные уравнения, дифференциальные уравнения в частных производных, интегральные уравнения. В этих моделях в качестве независимой переменной, от которой зависит искомая функция, рассматривают время.
Построение математических схем при дискретно - детерминированном подходе основано на использовании автоматов. Автомат – устройство, на которое подаются входные сигналы и снимаются выходные сигналы, которое может иметь некоторые внутренние состояния.
Построение математических схем при дискретно - стохастическом подходе основано на использовании вероятностных автоматов (Р-автоматов). Вероятностным автоматом называется дискретный потактовый преобразователь информации с памятью, функционирование которого в каждом такте зависит только от состояния памяти и описывается статистически.
Построение математических схем при непрерывно - стохастическом подходе основано на использовании систем массового обслуживания. Система массового обслуживания – класс математических схем для формализации процесса функционирования систем, которые по сути являются процессами обслуживания.
Обобщенный подход описывает поведение непрерывных и дискретных, детерминированных и стохастических систем, то есть является обобщенным (универсальным) и основан на понятии агрегативной системы (англ. Aggregate system), представляющей собой формальную схему общего вида, которая называется А-схемой.
Рассмотрим подробнее непрерывно-детерминированный подход. Дифференциальные модели являются математической основой методов системной динамики. Модели системной динамики получили широкое распространение в задачах исследования сложных систем из сферы производства и экономики, торговли и городского хозяйства, из области социальных проблем, проблем экологии и охраны окружающей среды. Эти модели были первыми машинными моделями, положившими начало новому направлению в системных исследованиях — так называемому глобальному моделированию, охватывающему проблемы мирового развития. Методы построения и техника проведения вычислительных экспериментов с моделями системной динамики оказали большое влияние на формирование технологии моделирования.
Математической основой методов системной динамики являются дифференциальные модели, в которых используются представления динамических процессов в пространстве состояний. Модели такого вида — это системы дифференциальных уравнений:
(*)
где х = (x1, ..., xm)T — вектор состояний; х1, ..., xm — переменные состояния; u = (u1, ..., up)T — вектор входов; t — символ времени (в дальнейшем для краткости t опускается).
Дифференциальные модели, применяемые в математической теории систем, включают кроме уравнений (*), называемых уравнениями состояния, еще и уравнение
y = Н (х,u),
в котором переменная у = (y1, .... yq)T —вектор выходов моделируемых процессов.
При составлении дифференциальных моделей производится выбор переменных состояния и устанавливаются связи между этими переменными в виде функций правых частей уравнений состояния. Процессы отбора, анализа и формализации различных фактов и предположений экспертов об изучаемой проблеме в значительной степени обусловлены структурой, которой наделяются искомые функциональные зависимости. Как правило, сформулировать такие зависимости только с использованием переменных состояния бывает очень трудно. Более продуктивным оказывается подход, основанный на детальном описании цепочек причинно-следственных связей между факторами, отображаемыми в модели с помощью переменных состояния. Разработка и формальная запись таких цепочек невозможны без включения в модель некоторых дополнительных переменных, специально предназначенных для явного определения в модели структуры причинно-следственных взаимосвязей между переменными состояния. Желательно, чтобы необходимое расширение набора переменных состояния дифференциальных моделей совокупностью дополнительных переменных осуществлялось стандартным «технологичным» способом, обеспечивающим эффективное выполнение процессов структуризации информации о проблеме.
4. Классификация языков и систем моделирования
Для реализации непрерывно-детерминированной схемы необходимо выбрать язык моделирования. Множество языков моделирования можно разделить на две группы:
1) методо-ориентированные языки моделирования, поддерживающие определенный класс формализованных или алгоритмических описаний;
2) языки моделирования конечного пользователя, позволяющие формулировать задачи моделирования непосредственно на концептуальном уровне.
Рассмотрим методо-ориентированные языки. Язык моделирования предоставляется пользователем как часть системы моделирования. Система моделирования — это совокупность языковых и программных средств, которая включает:
-
собственно язык моделирования;
-
язык управления системой моделирования, реализованный на основе языка управления заданиями пакетных операционных систем или на основе языка команд в интерактивных операционных системах;
-
программные средства, обеспечивающие трансляцию модели и другие стандартные функции системы моделирования (продвижение модельного времени, генерацию случайных чисел, сбор статистической информации, вывод результатов и т. д.).
Системы моделирования включают также средства разработки языков конечного пользователя.
Общепризнанными являются следующие преимущества языков и систем моделирования по сравнению с универсальными языками и системами программирования:
-
язык моделирования содержит абстрактные конструкции, непосредственно отражающие понятия, в которых представлена формализованная модель, и близкие концептуальному уровню описания моделируемой системы. Это упрощает программирование имитатора, позволяет автоматизировать выявление многих ошибок в программах;
-
системы моделирования имеют эффективный встроенный механизм продвижения модельного времени (календарь событий, методы интегрирования и др.), средства разрешения временных узлов;
-
языки моделирования, как правило, содержат встроенные датчики случайных чисел, генератор других типовых воздействий;
-
в языках моделирования автоматизирован сбор стандартной статистики и других результатов моделирования. Имеются средства автоматизации выдачи этих результатов в табличной или графической форме;
-
языки моделирования имеют средства, упрощающие программирование имитационных экспериментов, в частности, автоматизирующие установку начального состояния и перезапуск модели.
Рост числа языков моделирования свидетельствует о необходимости использования средств автоматизации моделирования вместе с тем разнообразие языков моделирования обусловлено и другими факторами: существует большое число схем формализации и алгоритмизации моделируемых систем: агрегаты, автоматы, системы массового обслуживания, дифференциальные уравнения и др. Любая из этих схем может служить основой для разработки нового языка моделирования.
Классификация языков и систем моделирования позволяет упорядочить сведения о существующих многочисленных языках моделирования, а также более обоснованно выбирать подходящую систему моделирования. В основу классификации положим класс моделируемых систем и базовую и альтернативные для языка моделирования схемы алгоритмизации.
Принято выделять три класса моделируемых объектов: дискретные, непрерывные, дискретно-непрерывные (комбинированные) (рисунок 4). Соответственно различают три класса языков моделирования. Области применения языков непрерывного и дискретного моделирования практически не пересекаются. Языки комбинированного моделирования используются при работе с моделями объектов и непрерывного, и дискретного класса.
Рисунок 4 – Классификация языков моделирования
Под базовой схемой алгоритмизации подразумевается совокупность понятий, которые используются для алгоритмизации (формализации) моделируемой системы и непосредственно представлены в языке моделирования. В настоящее время используется большое число различных способов алгоритмизации. В языках непрерывного моделирования широко применяются системы дифференциальных и интегродифференциальных уравнений, структурные схемы, графы связей. Среди дискретного моделирования различают: языки событий, языки работ, языки процессов, языки транзактов, языки, основанные на автоматных и сетевых представлениях и др. Языки комбинированного моделирования могут основываться на агрегатах, КОМБИ-сетях, использовать комбинированные схемы алгоритмизации языков непрерывного и дискретного моделирования. Базовая схема алгоритмизации предполагает определенную организацию работы управляющей системы моделирования.
Кроме базовой схемы алгоритмизации при построении имитационной модели могут быть применены альтернативные схемы, близкие к базовой, либо приводимые к ней. Например, язык структурных схем можно использовать для моделирования систем дифференциальных уравнений, дискретные сети можно моделировать на языке транзактов или процессов. Часто проще и целесообразнее разработать методику программирования для выбранной схемы алгоритмизации, чем найти язык, основанный на этой схеме. Таким образом, один и тот же язык моделирования можно применять для реализации различных способов алгоритмизации моделей.
5. Классификация языков программирования
Для программирования задач на ЭВМ применяют искусственные языки, названные языками программирования. Язык программирования - это фиксированная система обозначений и правил для описания алгоритмов и структур данных. Языки программирования имеют как бы два лица. Одно из них обращено к человеку, использующему язык для записи своих программ, а другое адресовано ЭВМ, которая должна понимать команды.