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

Процесс функционирования системы S можно рассматривать как последовательную смену ее состояний в k-мерном пространстве. Задачей моделирования процесса функционирования исследуемой системы S является построение функций z, на основе которых можно провести вычисление интересующих характеристик процесса функционирования системы. Для этого необходимы соотношения, связывающие функции z с переменными, параметрами и временем, а также начальные условиями в момент времени t=t 0 .

Существуют два типа состояний системы:

  • 1) особые, присущие процессу функционирования системы только в некоторые моменты времени;
  • 2) неособые, в которых процесс находится все остальное время. В этом случае функция состояния z i (t) могут изменяться скачкообразно, а между особыми - плавно.

Моделирующие алгоритмы могут быть построены по «принципу особых состояний». Обозначим скачкообразное (релейное) изменение состояния z как z, а «принцип особых состояний» -- как принцип z.

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

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

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

Детальная схема моделирующего алгоритма содержит уточнения, отсутствующие в обобщенной схеме.

Логическая схема моделирующего алгоритма представляет собо логическую структуру модели процесса функционирования систем S .

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

Этапы алгоритмизации модели и ее машинной реализации:

  • 1. Построение логической схемы модели.
  • 2. Получение математических соотношении.
  • 3. Проверка достоверности модели системы.
  • 4. Выбор инструментальных средств для моделирования.
  • 5. Составление плана выполнения работ по программированию.
  • 6. Спецификация и построение схемы программы.
  • 7. Верификация и проверка достоверности схемы программы.
  • 8. Проведение программирования модели.
  • 9. Проверка достоверности программы.
  • 10. Составление технической документации по второму этапу.
МОСКОВСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ
Компьютерное моделирование
Бужинский В.А. ктн
доцент

Москва
2014

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

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

Тема № 1. Основные понятия компьютерного моделирования.
Тема № 2. Построение моделирующих алгоритмов: формализация и
алгоритмизация процессов.
Тема № 3. Универсальность математических моделей.
Тема № 4. Математические модели сложных систем.
Тема № 5. Непрерывно-детерминированные, дискретнодетерминированные, дискретно-вероятностные и непрерывновероятностные модели.

Вебинар № 2
Построение моделирующих алгоритмов:
формализация и алгоритмизация процессов
1. Формализация модели
2. Алгоритмизация процесса

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

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

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

Первым этапом любого исследования является постановка задачи, которая
определяется заданной целью.
Задача формулируется на обычном языке. По характеру постановки все
задачи можно разделить на две основные группы. К первой группе можно
отнести задачи, в которых требуется исследовать, как изменятся
характеристики объекта при некотором воздействии на него, «что будет,
если?…». Вторая группа задач: какое надо произвести воздействие на
объект, чтобы его параметры удовлетворяли некоторому заданному
условию, «как сделать, чтобы?..».
Второй этап - анализ объекта. Результат анализа объекта – выявление его
составляющих (элементарных объектов) и определения связей между ними.
Третий этап – разработка информационной модели объекта. Построение
модели должно быть связано с целью моделирования. Каждый объект имеет
большое количество различных свойств. В процессе построения модели
выделяются главные, наиболее существенные, свойства, которые
соответствуют цели
Все то, о чем говорилось выше – это формализация, т. е замена
реального объекта или процесса его формальным описанием, т.е. его
информационной моделью.

10.

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

11.

12.

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

13.

Последовательность команд по управлению объектом,
выполнение которых приводит к достижению заранее поставленной
цели, называется алгоритмом управления.
Происхождение понятия «алгоритм».
Слово «алгоритм» происходит от имени математика
средневекового Востока Мухаммеда аль-Хорезми (787-850). Им были
предложены приемы выполнения арифметических вычислений с
многозначными числами. Позже в Европе эти приемы назвали
алгоритмами, от латинского написания имени аль-Хорезми. В наше время
понятие алгоритма не ограничивается только арифметическими
вычислениями.

14.

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

15.

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

16.

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

17.

В процессе алгоритмизации исходный алгоритм разбивается на отдельные
связанные части, называемые шагами, или частными алгоритмами.
Различают четыре основных типа частных алгоритмов:
линейный алгоритм;
алгоритм с ветвлением;
циклический алгоритм;
вспомогательный, или подчиненный, алгоритм.
Линейный алгоритм - набор инструкций, выполняемых
последовательно во времени друг за другом.
Алгоритм с ветвлением - алгоритм, содержащий хотя бы одно
условие, в результате проверки которого ЭВМ обеспечивает переход на
один из двух возможных шагов.
Циклический алгоритм - алгоритм, предусматривающий повторения
одного и того же действия над новыми исходными данными. Необходимо
заметить, что циклический алгоритм легко реализуется посредством двух
ранее рассмотренных типов алгоритмов.
Вспомогательный, или подчиненный, алгоритм - алгоритм, ранее
разработанный и целиком используемый при алгоритмизации конкретной
задачи.

18.

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

19.

Способы описания алгоритмов
Выбор средств и методов для записи алгоритма
зависит прежде всего от назначения (природы) самого
алгоритма, а также от того, кто (что) будет
исполнителем алгоритма.
Алгоритмы записываются в виде:
словесных правил,
блок-схем,
программ.

20.

Словесный способ описания алгоритмов - это, по существу, обычный язык, но
с тщательным отбором слов и фраз, не допускающих лишних слов,
двусмысленностей и повторений. Дополняется язык обычными математическими
обозначениями и некоторыми специальными соглашениями.
Алгоритм описывается в виде последовательности шагов. На каждом шаге
определяется состав выполняемых действий и направление дальнейших
вычислений. При этом если на текущем шаге не указывается, какой шаг должен
выполняться следующим, то осуществляется переход к следующему шагу.
Пример. Составить алгоритм нахождения наибольшего числа из трех заданных
чисел a, b, c.
Сравнить a и b. Если a>b,то в качестве максимума t принять a, иначе (a<=b) в
качестве максимума принять b.
Сравнить t и c. Если t>c, то перейти к шагу 3. Иначе (t максимума c (t=c).
Принять t в качестве результата.
Недостатки словесного способа описания алгоритмов:
отсутствие наглядности,
недостаточная точность.

21.

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

22.

Описание алгоритмов с помощью программ - алгоритм, записанный на
языке программирования, называется программой.
Словесная и графическая формы записи алгоритма предназначены для
человека. Алгоритм, предназначенный для исполнения на компьютере,
записывается на языке программирования (языке, понятном ЭВМ). Сейчас
известно несколько сот языков программирования. Наиболее популярные:
Си, Паскаль, Бейсик и т. д.
Пример. Составить алгоритм нахождения наибольшего числа из трех
заданных чисел a, b, c.
program MaxFromThree;
var
a, b, c, result: Real;
begin
Write ("Введите a, b, c");
ReadLn (a, b, c);
if a>b then result:= a else result:= b;
if c>result then result:= c;
WriteLn (" Максимальное из трех чисел равно:", result:9:2)
end.
(?)

23.

Пример 1
Дан одномерный массив, вычислите среднее арифметическое. (?)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Решение задачи
Program test;
Var i,summ:Integer;
massiv: array of Integer;
Begin
summ:=0;
for i:=1 to 5 do
begin
Write("Введите элемент массива: ");
ReadLn (massiv[i]);
summ:=summ+massiv[i];
end;
Write("среднее арифметическое массива равно: ", summ/5);
WriteLn;
End.
(?)

24.

Пример 2
Построить алгоритм процесса бросания тела под углом к горизонту
(?)

25.

В.В. Васильев, Л.А. Симак, А.М. Рыбникова. Математическое и
компьютерное моделирование процессов и систем в среде
MATLAB/SIMULINK. Учебное пособие для студентов и аспирантов. 2008
год. 91 стр.
Компьютерное моделирование физических задач в
Microsoft Visual Basic. Учебник Author: Алексеев Д.В.
СОЛОН-ПРЕСС, 2009 г
Автор: Орлова И.В., Половников В.А.
Издательство: Вузовский учебник
Год: 2008

26.

Анфилатов, В. С. Системный анализ в управлении [Текст]: учеб.пособие / В. С.
Анфилатов, А. А. Емельянов, А. А. Кукушкин; под ред. А. А. Емельянова. – М.:
Финансы и статистика, 2002. – 368 с.
Веников, В.А.. Теория подобия и моделирования [Текст] / В. А. Веников, Г. В.
Веников.- М.: Высш.шк., 1984. – 439 с.
Евсюков, В. Н. Анализ автоматических систем [Текст]: учебно-методическое
пособие для выполнения практических заданий / В. Н. Евсюков, А. М. Черноусова. –
2-е изд., исп. – Оренбург: ИПК ГОУ ОГУ, 2007. - 179 с.
Зарубин, В. С. Математическое моделирование в технике [Текст]: учеб. для вузов /
Под ред. В. С.Зарубина, А. П. Крищенко. - М.: Изд-во МГТУ им.Н.Э.Баумана, 2001. –
496 с.
Колесов, Ю. Б. Моделирование систем. Динамические и гибридные системы [Текст]:
уч. пособие / Ю.Б. Колесов, Ю.Б. Сениченков. - СПб. : БХВ-Петербург, 2006. - 224 с.
Колесов, Ю.Б. Моделирование систем. Объектно-ориентированный подход [Текст] :
Уч. пособие / Ю.Б. Колесов, Ю.Б. Сениченков. - СПб. : БХВ-Петербург, 2006. - 192 с.
Норенков, И. П. Основы автоматизированного проектирования [Текст]: учеб.для
вузов / И. П. Норенков. – М.: Изд-во МГТУ им. Н.Э.Баумана, 2000. – 360 с.
Скурихин, В.И. Математическое моделирование [Текст] / В. И. Скурихин, В. В.
Шифрин, В. В. Дубровский. - К.: Техника, 1983. – 270 с.
Черноусова, А. М. Программное обеспечение автоматизированных систем
проектирования и управления: учебное пособие [Текст] / А. М. Черноусова, В.
Н. Шерстобитова. - Оренбург: ОГУ, 2006. - 301 с.

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

Принципы построения моделирующих алгоритмов.

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

Рассмотрим процесс функционирования некоторой детерминированной системы в которой отсутствуют случайные факторы, т. е. вектор состояний такой системы можно определить из (2.3) как . Тогда состояние процесса в момент времени

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

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

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

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

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

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

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

Формы представления моделирующих алгоритмов.

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

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

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

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

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

Логическая схема алгоритма и схема программы могут быть выполнены как в укрупненной, так и в детальной форме. Для начертания этих схем используется набор символов, определяемых ГОСТ 19.701 - 90 (ИСО 5807 - 85) «Единая система программной документации.

Схемы алгоритмов, программ, данных и систем.

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

Рис. 3.3. Символы и схемы моделирующих алгоритмов

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

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

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

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

Подэтапы второго этапа моделирования.

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

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

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

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

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

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

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

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

2.4. Выбор инструментальных средств для моделирования. На этом подэтапе необходимо окончательно решить вопрос о том, какую вычислительную машину (ЭВМ, АВМ, ГВК) и какое программное обеспечение целесообразно использовать для реализации модели системы S. Вообще, выбор вычислительных средств может быть проведен и на предыдущих подэтапах, но рассматриваемый подэтап является последним, когда этот выбор должен быть сделан окончательно, так как в противном случае возникнут трудности в проведении дальнейших работ по реализации модели. Вопрос о выборе ЭВМ сводится к обеспечению следующих требований:

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

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

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

б) особенности программирования модели; в) проведение необходимых изменений; г) возможности тестирования программы; д) оценку затрат машинного времени; е) форму представления входных и выходных данных.

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

назначения или языка моделирования (например, SIMULA, SIMSCRIPT, GPSS).

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

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

2.9. Проверка достоверности программы. Эта последняя проверка на этапе машинной реализации модели, которую необходимо проводить: а) обратным переводом программы в исходную схему; б) проверкой отдельных частей программы при решении различных тестовых задач; в) объединением всех частей программы и проверкой ее в целом на контрольном примере моделирования варианта системы S.

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

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

Таким образом, на этом этапе разрабатывается схема модели системы S, проводится ее алгоритмизация и программирование

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