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