Советов Б.Я., Яковлев С.А. Моделирование систем (3-е изд., 2001) (1186218), страница 23
Текст из файла (страница 23)
АЛГОРИТМИЗАЦИЯ МОДЕЛЕЙ СИСТЕМ И ИХ МАШИННАЯРЕАЛИЗАЦИЯНа втором этапе моделирования — этапе алгоритмизации модели и ее машинной реализации — математическая модель, сформированная на первом этапе, воплощается в конкретную машиннуюмодель. Этот этап представляет собой этап практической деятельности, направленной на реализацию идей и математических схемв виде машинной модели Мм процесса функционирования системыS. Прежде чем рассматривать подэтапы алгоритмизации и машинной реализации модели, остановимся на основных принципах построения моделирующих алгоритмов и формах их представления [4,36, 37, 53].Принципы построения моделирующих алгоритмов.
Процесс функционирования системы S можно рассматривать как последовательную смену ее состояний z=z(z1(t), z2(t), ..., zk(t)) в fc-мерномпространстве. Очевидно, что задачей моделирования процесса фукционирования исследуемой системы S является построение функцийz, на основе которых можно провести вычисление интересующиххарактеристик процесса функционирования системы. Для этогодолжны иметься соотношения, связывающие функции z с переменными, параметрами и временем, а также начальные условияz°=z(zl(t0), z2(t0), ..., zk(t0)) в момент времени t = t0.Рассмотрим процесс функционирования некоторой детерминированной системы SD, в которой отсутствуют случайные факторы,т. е. вектор состояний такой системы можно определить из (2.3) какz = Ф(г°, х, t).
Тогда состояние процесса в момент времени t0+jAt94может быть однозначно определено из соотношений математической модели по известным начальным условиям. Это позволяетстроить моделирующий алгоритм процесса функционирования системы. Для этого преобразуем соотношения модели Z к такомувиду, чтобы сделать удобным вычисление z^t+At), z2(t+At), ...,z/c(t+At) по значениям z,(x), i = l , к, где r<f. Организуем счетчиксистемного времени, который в начальный момент показываетвремя /0. Для этого момента z,(t0)=zf. Прибавим интервал времениА/, тогда счетчик будет показывать t1 = t0+At. Вычислим значенияzt (f0+АО- Затем перейдем к моменту времени t2=f х +At и т. д.
Еслишаг At достаточно мал, то таким путем можно получить приближенные значения z.Рассмотрим процесс функционирования стохастической системыSR, т. е. системы, на которую оказывают воздействия случайныефакторы, т. е. вектор состояний определяется соотношением (2.3).Для такой системы функция состояний процесса z в момент временит < ( и соотношения модели определяют лишь распределение вероятностей для z,(/+A0 в момент времени t+At. В общем случаеи начальные условия z° могут быть случайными, задаваемымисоответствующим распределением вероятностей.
При этом структура моделирующего алгоритма для стохастических систем в основном остается прежней. Только вместо состояния z, (f+AO теперьнеобходимо вычислить распределение вероятностей для возможныхсостояний. Пусть счетчик системного времени показывает время t0.В соответствии с заданным распределением вероятностей выбирается z,°.
Далее, исходя из распределения, получается состояниеz,(( 0 +A0 и т. д., пока не будет построена одна из возможныхреализаций случайного многомерного процесса z,(0 в заданном интервале времени [9, 37].Рассмотренный принцип построения моделирующих алгоритмовназывается принципом At. Это наиболее универсальный принцип,позволяющий определить последовательные состояния процессафункционирования системы S через заданные интервалы времениAt. Но с точки зрения затрат машинного времени он иногда оказывается неэкономичным.При рассмотрении процессов функционирования некоторых систем можно обнаружить, что для них характерны два типа состояний: 1) особые, присущие процессу функционирования системы только в некоторые моменты времени (моменты поступления входныхили управляющих воздействий, возмущений внешней среды и т.
п.);2) неособые, в которых процесс находится все остальное время.Особые состояния характерныеще и тем обстоятельством, чтофункции состояний z,(0 в э т и моменты времени изменяются скачком, а между особыми состояниями изменение координат z,(0происходит плавно и непрерывно или не происходит совсем. Такимобразом, следя при моделировании системы S только за ее особыми95состояниями в те моменты времени, когда эти состояния имеютместо, можно получить информацию, необходимую для построенияфункций zt(t). Очевидно, для описанного типа систем могут бытьпостроены моделирующие алгоритмы по «принципу особых состояний».
Обозначим скачкообразное (релейное) изменение состоянияz как bz, а «принцип особых состояний» — как принцип bz.Например, для системы массового обслуживания (Q-схемы) в качестве особых состояний могут быть выбраны состояния в моментыпоступления заявок на обслуживание в прибор Я и в моментыокончания обслуживания заявок каналами К, когда состояние системы, оцениваемое числом находящихся в ней заявок, меняется скачком.Отметим, что характеристики процесса функционирования такихсистем с особыми состояниями оцениваются по информации обособых состояниях, а неособые состояния при моделировании нерассматриваются. «Принцип bz» дает возможность для ряда системсущественно уменьшить затраты машинного времени на реализацию моделирующих алгоритмов по сравнению с «принципом А;».Логика построения моделирующего алгоритма, реализующего«принцип bz», отличается от рассмотренной для «принципа Дг»только тем, что включает в себя процедуру определения моментавремени tt, соответствующего следующему особому состоянию системы S.
Для исследования процесса функционирования большихсистем рационально использование комбинированного принципапостроения моделирующих алгоритмов, сочетающего в себе преимущества каждого из рассмотренных принципов.Формы представления моделирующих алгоритмов. Удобной формой представления логической структуры моделей процессов функционирования систем и машинных программ является схема. Наразличных этапах моделирования составляются обобщенные и детальные логические схемы моделирующих алгоритмов, а такжесхемы программ.Обобщенная (укрупненная) схема моделирующего алгоритма задает общий порядок действий при моделировании системы безкаких-либо уточняющих деталей.
Обобщенная схема показывает,что необходимо выполнить на очередном шаге моделирования,например обратиться к датчику случайных чисел.Детальная схема моделирующего алгоритма содержит уточнения, отсутствующие в обобщенной схеме. Детальная схема показывает не только, что следует выполнить на очередном шаге моделирования системы, но и как это выполнить.Логическая схема моделирующего алгоритма представляет собойлогическую структуру модели процесса функционирования системыS. Логическая схема указывает упорядоченную во времени последовательность логических операций, связанных с решением задачимоделирования.96Схема программы отображает порядок программной реализации моделирующего алгоритма с использованием конкретного математического обеспечения. Схема программы представляет собойинтерпретацию логической схемы моделирующего алгоритма разработчиком программы на базе конкретного алгоритмическогоязыка. Различие между этими схемами заключается в том, чтологическая схема отражает логическую структуру модели процессафункционирования системы, а схема программы —' логику машинной реализации модели с использованием конкретных программнотехнических средств моделирования.Логическая схема алгоритма и схема программы могут бытьвыполнены как в укрупненной, так и в детальной форме.
Дляначертания этих схем используется набор символов, определяемыхГОСТ 19.701 — 90 (ИСО 5807 — 85) «Единая система программнойдокументации.Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения». Некоторые наиболее употребительные в практике моделирования на ЭВМ символы показаны нарис. 3.3, где изображены основные, специфические и специальныесимволы процесса. К ним относятся: основной символ: а — процесс — символ отображает функцию обработки данных любоговида (выполнение определенной операции или группы операций,приводящее к изменению значения, формы или размещения информации или к определению, по которому из нескольких направленийпотока следует двигаться); специфические символы процесса: б —решение — символ отображает решение или функцию переключательного типа, имеющую один вход и ряд альтернативных выходов,один и только один из которых может быть активизирован послевычисления условий, определенных внутри этого символа (соответствующие результаты вычисления могут быть записаны по соседству с линиями, отображающими эти пути); в — подготовка — символ отображает модификацию команды или группы команд с целью воздействия на некоторую последующую функцию (установкапереключателя, модификация индексного регистра или инициализация программы); г — предопределенный процесс — символ отображает предопределенный процесс, состоящий из одной или нескольких операций или шагов программы, которые определеныв другом месте (в подпрограмме, модуле); д — ручная операция —символ отображает любой процесс, выполняемый человеком; специальные символы: е — соединитель — символ отображает выходв часть схемы и вход из другой части этой схемы и используется дляобрыва линии и продолжения ее в другом месте (соответствующиесимволы-соединители должны содержать одно и то же уникальноеобозначение); ж — терминатор — символ отображает выходво внешнюю среду и вход из внешней среды (начало или конецсхемы алгоритма, внешнее использование или пункт назначенияданных).97а)5)в)г)Оп7ос=>cfbад)е)ж)Рис.