Этапы и принципы моделирования объектов и систем на ЭВМ


Моделирование с использованием ЭВМ (имитационное моделирование) является эффективным средством исследования сложных объектов и систем.

Разработка имитационной модели реальных объектов на ЭВМ и ее исследование осуществляется поэтапно в определенной последовательности. Традиционно такой процесс включает следующие этапы:

1) определение цели и постановка задачи исследования;

2) формализация объекта (системы) с целью построения его математической модели;

3) построение математической модели объекта;

4) разработка и составление моделирующего алгоритма;

5) построение машинной (имитационной) модели объекта (перевод математической модели объекта и моделирующего алгоритма в моделирующую программу и перенесение ее на машинные носители);

6) планирование имитационных экспериментов;

7) имитационные эксперименты с моделью объекта;

8) обработка и анализ результатов имитационных экспериментов;

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

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

Рис. 4.13

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

В зависимости от степени формализации исследуемой системы различают:

- моделирование с применением численных методов;

- вероятностное (статистическое) моделирование с использованием специальных алгоритмических языков программирования.

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

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

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

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

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

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

Как правило, моделирующие алгоритмы представляются в графической форме или в виде операторной схемы. Графической формой представления моделирующих алгоритмов являются структурные схемы.

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

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

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

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

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

Для изображения операторных схем алгоритмов удобно пользоваться операторами следующих типов:

1. Вычислительные операторы ( ). Они описывают сколь угодно сложную вычислительную процедуру и должны удовлетворять следующим требованиям:

— управление от операторов после выполнения предусмотренных им операций должно передаваться только одному оператору независимо от результатов;

— все исходные данные. получаемые от других операторов алгоритма, к моменту начала их работы должны быть известны.

2. Операторы формирования реализаций случайных процессов ( ). Они предназначены для имитации различных случайных факторов ( случайных событий, величин, векторов, функций ), сопровождающих исследуемый процесс. Исходным материалом для формирования реализаций случайных объектов на ЭВМ служат случайные числа, равномерно распределенные в интервале (0,1). Преобразование этих чисел в реализации случайных объектов с заданными свойствами осуществляет оператор .

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

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

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

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

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

Раскроем смысловое содержание операторов, используя примеры:

— арифметический ( вычислительный ) оператор № 15;

— логический оператор № 9;

— оператор после выполнения своей операции передает управление оператору с номером 10;

— оператор получает управление от оператора № 4, выполняет операцию и передает управление оператору № 30;

— оператору управление передается от операторов № 5 и № 9;

— оператор передает управление оператору № 10, если условие выполнено, или же оператору № 12, если оно не выполнено, получает управление от оператора № 5.

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

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

(4.54)

Для того, чтобы показать структуру моделирующего алгоритма, соответствующего математической модели (1.54), рассмотрим следующие операторы:

— формирование очередного значения независимой переменной ( — шаг табуляции ), подстановка ;

— проверка условия ;

— проверка условия ;

— вычисление ;

— вычисление ;

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

— конец вычислений и выдача результатов.

Имея необходимый набор операторов, можно записать операторную схему моделирующего алгоритма в следующем виде:

.

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

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

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

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

Рис. 4.14

 

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

Рис. 4.15.

 

 



Дата добавления: 2016-06-22; просмотров: 5682;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.014 сек.