АЛГОРИТМИЗАЦИЯ МОДЕЛИ И ЕЕ МАШИННАЯ РЕАЛИЗАЦИЯ




 

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

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

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

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

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

При рассмотрении процессов функционирования некоторых сис­тем можно обнаружить, что для них характерны два типа состоя­ний:

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

2) неособые, в которых процесс находится все остальное время.

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

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

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

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

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

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

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

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

Логическая схема алгоритма и схема программы могут быть выполнены как в укрупненной, так и в детальной форме. Для на­чертания этих схем используется набор символов, определяемых ГОСТ «Единая система программной документации. Схемы алгоритмов и программ. Обозначения условные графичес­кие». Некоторые наиболее употребительные в практике моделиро­вания символы показаны на рис. 3, где а - процесс - выполнение операции или группы операций, в результате которых изменяется значение, форма представления или расположение данных; б - решение - выбор направления выполнения алгоритма или програм­мы в зависимости от некоторых переменных условий; в - модифи­кация - выполнение операций, меняющих команды или группу команд, изменяющих программу; г - предопределенный процесс - использование ранее созданных и отдельно описанных алгоритмов или программ; д - ввод-вывод - преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод); е - соединитель - указание связи между пре­рванными линиями потока, связывающими символы; ж - пуск-ос­танов - начало, конец, прерывание процесса обработки данных или выполнения программы.

 

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

 

Пример изображения схемы моделирующего алгоритма показан на рис. 3, з. Выполнение схемы регламентируется ГОСТ «Единая система программной документации. Схемы алгорит­мов и программ. Правила выполнения».

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

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

.

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

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

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

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

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

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

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

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

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

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

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

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

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

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



Поделиться:




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

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-16 Нарушение авторских прав и Нарушение персональных данных


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