
- •Моделирование систем Литература
- •Введение. Математическое моделирование
- •Современное состояние проблемы моделирования систем
- •Использование моделирования при исследовании и проектировании сложных систем
- •Определение коэффициентов уравнения регрессии.
- •Метод дробного факторного эксперимента.
- •Оптимизация объекта (системы) на базе его (ее) математической модели.
- •Методы оптимизации:
- •Феноменологические модели (фм)
- •Геометрическое подобие объектов.
- •Основные положения теории подобия.
- •Аналитические методы моделирования
- •Имитационные методы моделирования
- •Проблемы применения имитационного моделирования
- •4. Статистическое моделирование
- •Значения обратных функций для получения дискретного распределения
- •5. Инструментальные средства моделирования
- •Основные функции моделирующей системы:
- •Событийный подход
- •Общие понятия сетей Петри
- •2. Анализ сетей Петри
Имитационные методы моделирования
С развитием вычислительной техники широкое применение получили имитационные методы моделирования для анализа систем, преобладающими в которых являются стохастические воздействия. Известный американский ученый Роберт Шеннон дает следующее определение: "Имитационное моделирование есть процесс конструирования модели реальной системы и постановки экспериментов на этой модели с целью либо понять поведение системы, либо оценить (в рамках ограничений, накладываемых некоторым критерием или совокупностью критериев) различные стратегии, обеспечивающие функционирование данной системы." Все имитационные модели используют принцип черного ящика. Это означает, что они выдают выходной сигнал системы при поступлении в нее некоторого входного сигнала. Поэтому в отличие от аналитических моделей для получения необходимой информации или результатов необходимо осуществлять "прогон" имитационных моделей, т. е. подачу некоторой последовательности сигналов, объектов или данных на вход модели и фиксацию выходной информации, а не "решать" их. Происходит своего рода "выборка" состояний объекта моделирования (состояния - свойства системы в конкретные моменты времени) из пространства (множества) состояний (совокупность всех возможных значений состояний). Насколько репрезентативной окажется эта выборка, настолько результаты моделирования будут соответствовать действительности. Этот вывод показывает важность статистических методов оценки результатов имитации. Таким образом, имитационные модели не формируют свое собственное решение в том виде, в каком это имеет место в аналитических моделях, а могут лишь служить в качестве средства для анализа поведения системы в условиях, которые определяются экспериментатором.
Проблемы применения имитационного моделирования
Применение имитационного моделирования целесообразно при наличии определенного условия. Эти условия определил Р. Шеннон:
Не существует законченной математической постановки данной задачи, либо еще не разработаны аналитические методы решения сформулированной математической модели. К этой категории относятся многие модели массового обслуживания, связанные с рассмотрением очередей.
Аналитические методы имеются, но математические процедуры столь сложны и трудоемки, что имитационное моделирование дает более простой способ решения задачи.
Кроме оценки определенных параметров, желательно осуществить на имитационной модели наблюдение за ходом процесса в течение определенного периода.
Дополнительным преимуществом имитационного моделирования можно считать широчайшие возможности его применения в сфере образования и профессиональной подготовки. Разработка и использование имитационной модели позволяет экспериментатору видеть и "разыгрывать" на модели реальные процессы и ситуации.
Необходимо обозначить ряд проблем, возникающих в процессе моделирования систем. Исследователь должен акцентировать на них внимание и попытаться их разрешить, дабы избежать получения недостоверных сведений об изучаемой системе.
Первая проблема, которая касается и аналитических методов моделирования, состоит в нахождении "золотой середины" между упрощением и сложностью системы. По мнению Шеннона искусство моделирования в основном состоит в умении находить и отбрасывать факторы, не влияющие или незначительно влияющие на исследуемые характеристики системы. Нахождение этого "компромисса" во многом зависит от опыта, квалификации и интуиции исследователя. Если модель слишком упрощена и в ней не учтены некоторые существенные факторы, то высока вероятность получить по этой модели ошибочные данные, с другой стороны, если модель сложная и в нее включены факторы, имеющие незначительное влияние на изучаемую систему, то резко повышаются затраты на создание такой модели и возрастает риск ошибки в логической структуре модели. Поэтому перед созданием модели необходимо проделать большой объем работы по анализу структуры системы и взаимосвязей между ее элементами, изучению совокупности входных воздействий, тщательной обработке имеющихся статистических данных об исследуемой системе.
Вторая проблема заключается в искусственном воспроизводстве случайных воздействий окружающей среды. Этот вопрос очень важен, так как большинство динамических производственных систем являются стохастическими, и при их моделировании необходимо качественное несмещенное воспроизведение случайности, в противном случае, результаты, полученные на модели, могут быть смещенными и не соответствовать действительности. Существует два основных направления разрешения этой проблемы: аппаратная и программная (псевдослучайная) генерация случайных последовательностей. При аппаратном способе генерации случайные числа вырабатываются специальным устройством. В качестве физического эффекта, лежащего в основе таких генераторов чисел, чаще всего используются шумы в электронных и полупроводниковых приборах, явления распада радиоактивных элементов и т.д. Недостатками аппаратного способа получения случайных чисел является отсутствие возможности проверки (а значит гарантии) качества последовательности во время моделирования, а также невозможности получения одинаковых последовательностей случайных чисел. Программный способ основан на формировании случайных чисел с помощью специальных алгоритмов. Этот способ наиболее распространен, так как не требует специальных устройств и дает возможность многократного воспроизведения одинаковых последовательностей. Его недостатками являются погрешность в моделировании распределений случайных чисел, вносимую по причине того, что ЭВМ оперирует с n-разрядными числами (т.е. дискретными), и периодичность последовательностей, возникающую в силу их алгоритмического получения. Таким образом, необходима разработка методов улучшения и критериев проверки качества генераторов псевдослучайных последовательностей.
Третьей наиболее сложной проблемой является оценка качество модели и полученных с ее помощью результатов (этап проблема актуальна и для аналитических методов). Адекватность моделей может быть оценена методом экспертных оценок, сравнением с другими моделями (уже подтвердившими свою достоверность), по полученным результатам. В свою очередь, для проверки полученных результатов часть из них сравнивается с уже имеющимися данными.
Математические модели систем
Важным этапом моделирования является создание математической модели исследуемой системы. На базе математической модели происходит анализ характеристик системы, при компьютерном моделирования на основе математической модели создается алгоритм программ для получения информации о поведении системы. Формальное описание объекта исследование необходимо также для взаимопонимания между специалистами разных областей, объединенных для решения какой-либо глобальной задачи.
В общем случае математическую модель любой динамической системы можно представить в следующем виде:
,
где
-
совокупность входных воздействий на
систему,
-
совокупность внутренних параметров
системы,
-
совокупность выходных характеристик
системы,
F - закон функционирования системы.
Процесс
функционирования системы можно
рассматривать как последовательную
смену состояний
:
,
где
-
совокупность начальных состояний.
Таким образом, общую математическую модель системы можно также представить следующим образом:
.
При построении математических моделей процессов функционирования систем можно выделить следующие основные подходы: непрерывно-детерминированный, дискретно-детерминированный, дискретно-стохастический, непрерывно-стохастический, сетевой, обобщенный (или универсальный). Соответственно этим подходам были разработаны типовые математические схемы создания моделей.
1. Непрерывно-детерминированный подход использует в качестве математических моделей системы дифференциальных уравнений (см. выше).
Простейшую систему автоматического управления можно представить в следующем виде:
x(t)
h'(t) y(t)
Разность между заданными yзад(t) и действительным y(t) законами изменения управляемой величины есть ошибка управления h'(t)=yзад(t)-y(t). Если предписанный закон изменния управляемой величины соответствует закону изменения входного (задающего) воздействия, т.е. x(t)=y(t), то h'(t)=x(t)-y(t).Принцип обратной связи (основной принцип систем автоматического управления): приведение в соответствие выходной переменной y(t) ее заданному значению используется информация об отклонении h'(t) между ними. Задачей системы автоматического управления является изменение выходных сигналов согласно заданному закону с определенной точностью (с допустимой ошибкой).
2.
Дискретно-детерминированный подход
реализуется с помощью математического
аппарата теории автоматов. Система
представляется в виде автомата,
перерабатывающего дискретную информацию
и меняющего свои внутренние состояния
лишь в допустимые моменты времени.
Математической моделью при этом подходе
является конечный автомат, характеризующийся
конечным множеством X
входных сигналов, конечным множеством
Y
выходных сигналов, конечным множеством
Z
внутренних состояний, начальным
состоянием Z0
Z;
функцией переходов g(z,x);
функцией выходов v(z,x).
Автомат функционирует в дискретном
автоматном времени, моментами которого
являются такты (примыкающие друг к другу
равные интервалы времени, каждому из
которых соответствуют постоянные
значения входного и выходного сигналов
и внутренние состояния).
Работа конечного автомата происходит по следующей схеме: в каждом t-м такте на вход автомата, находящегося в состоянии z(t), подается некоторый сигнал x(t), на который он реагирует переходом в (t+1)-м такте в новое состояние z(t+1) и выдачей некоторого выходного сигнала. Например, автомат первого рода (автомат Мили) описывается следующим образом:
z(t+1)=g[z(t),x(t)], t=0,1,2,...;
y(t)=v[z(t),x(t)], t=0,1,2,...;
для автомата второго рода:
z(t+1)=g[z(t),x(t)], t=0,1,2,...;
y(t)=v[z(t),x(t-1)], t=1,2,3...;
Автомат, для которого функция выходов не зависит от входной переменной x(t), называется автоматом Мура:
y(t)=v[z(t)], t=0,1,2,...
Различают автоматы с памятью (имеют более одного состояния) и автоматы без памяти (обладают одним состоянием), синхронные ("считывает" входные сигналы в моменты времени, которые определяются синхронизирующими сигналами) и асинхронные (считывают входной сигнал непрерывно) автоматы.
Существует несколько способов задания работы F-автоматов, но наиболее часто используются табличный, графический и матричный.
Простейший табличный способ задания конечного автомата основан на использовании таблиц переходов и выходов, строки которых соответствуют входным сигналам автомата, а столбцы - его состояниям. При этом обычно первый слева столбец соответствует начальному состоянию z0. На пересечении i-й строки и k-го столбца таблицы переходов помещается соответствующее значение g (zk, xi) функции переходов, а в таблице выходов - соответствующее значение v (zk, xi) функции выходов. Для конечного автомата Мура обе таблицы можно совместить, получив так называемую отмеченную таблицу переходов, в которой над каждым состоянием zk автомата, обозначающим столбец таблицы, стоит соответствующий этому состоянию, согласно, выходной сигнал v (zi).
Описание работы конечного автомата Мили таблицами переходов g и выходов v иллюстрируется табл. 1., а описание конечного автомата Мура - таблицей переходов (табл. 2).
Таблица 1
xi
|
zk |
|||
z0 |
z1 |
... |
zk |
|
Переходы |
||||
x1 |
g(z0,x1) |
g(z1,x1) |
... |
g(zk,x1) |
x2 |
g(z0,x2) |
g(z1,x2) |
... |
g(zk,x2) |
... |
... |
... |
... |
... |
xk |
g(z0,xk) |
g(z1,xk) |
... |
g(zk,xk) |
|
Выходы |
|||
x1 |
v(z0,x1) |
v(z1,x1) |
... |
v(zk,x1) |
x2 |
v(z0,x2) |
v(z1,x2) |
... |
v(zk,x2) |
... |
... |
... |
... |
... |
xk |
v(z0,xk) |
v(z1,xk) |
... |
v(zk,xk) |
Таблица 2
xi
|
v(zk) |
|||
v(z0) |
v(z1) |
... |
v(zk) |
|
z0 |
z1 |
... |
zk |
|
Переходы |
||||
x1 |
g(z0,x1) |
g(z1,x1) |
... |
g(zk,x1) |
x2 |
g(z0,x2) |
g(z1,x2) |
... |
g(zk,x2) |
... |
... |
... |
... |
... |
xk |
g(z0,xk) |
g(z1,xk) |
... |
g(zk,xk) |
Примеры табличного способа задания конечного автомата Мили приведены в табл. 3, а для автомата Мура в табл. 4.
Таблица 1
xi
|
zk |
||
z0 |
z1 |
z2 |
|
Переходы |
|||
x1 |
z2 |
z0 |
z0 |
x2 |
z0 |
z2 |
z1 |
|
Выходы |
||
x1 |
y1 |
y1 |
y2 |
x2 |
y1 |
y2 |
y1 |
Таблица 2
xi
|
y |
||||
y1 |
y1 |
y3 |
y2 |
Y3 |
|
z0 |
z1 |
z2 |
z3 |
Z4 |
|
x1 |
z1 |
z4 |
z4 |
z2 |
Z2 |
x2 |
z3 |
z1 |
z1 |
z0 |
Z0 |
При другом способе задания конечного автомата используется понятие направленного графа. Граф автомата представляет собой набор вершин, соответствующих различным состояниям автомата и соединяющих вершин дуг графа, соответствующих тем или иным переходам автомата. Если входной сигнал xk вызывает переход из состояния zi в состояние zj, то на графе автомата дуга, соединяющая вершину zi с вершиной zj обозначается xk. Для того, чтобы задать функцию переходов, дуги графа необходимо отметить соответствующими выходными сигналами. Для автоматов Мили эта разметка производиться так: если входной сигнал xk действует на состояние zi, то согласно сказанному получается дуга, исходящая из zi и помеченная xk; эту дугу дополнительно отмечают выходным сигналом y=(zi, xk). Для автомата Мура аналогичная разметка графа такова: если входной сигнал xk, действуя на некоторое состояние автомата, вызывает переход в состояние zj, то дугу, направленную в zj и помеченную xk, дополнительно отмечают выходным сигналом y=(zj, xk). На рис. 1 приведены заданные ранее таблицами F- автоматы Мили F1 и Мура F2 соответственно.
Рис. 1. Графы автоматов Мили (а) и Мура (б).
При решении задач моделирования часто более удобной формой является матричное задание конечного автомата. При этом матрица соединений автомата есть квадратная матрица С=|| cij ||, строки которой соответствуют исходным состояниям, а столбцы - состояниям перехода. Элемент cij=xk/yS в случае автомата Мили соответствует входному сигналу xk, вызывающему переход из состояния zi в состояние zj и выходному сигналу yS, выдаваемому при этом переходе. Для автомата Мили F1, рассмотренного выше, матрица соединений имеет вид:
Если переход из состояния zi в состояние zj происходит под действием нескольких сигналов, элемент матрицы cij представляет собой множество пар "вход/выход" для этого перехода, соединённых знаком дизъюнкции.
Для F- автомата Мура элемент cij равен множеству входных сигналов на переходе (zizj), а выход описывается вектором выходов:
i-ая
компонента которого выходной сигнал,
отмечающий состояние zi
Пример. Для рассмотренного ранее автомата Мура F2 запишем матрицу состояний и вектор выходов:
;
Для детерминированных автоматов переходы однозначны. Применительно к графическому способу задания F- автомата это означает, что в графе F- автомата из любой вершины не могут выходить 2 и более ребра, отмеченные одним и тем же входным сигналом. Аналогично этому в матрице соединений автомата С в каждой строке любой входной сигнал не должен встречаться более одного раза.
Рассмотрим вид таблицы переходов и графа асинхронного конечного автомата. Для F- автомата состояние zk называется устойчивым, если для любого входа xiX, для которого (zk,xi)=zk имеет место (zkxi)=yk. Т.о. F- автомат называется асинхронным, если каждое его состояние zkZ устойчиво.
На практике всегда автоматы являются асинхронными, а устойчивость их состояний обеспечивается тем или иным способом, например, введением сигналов синхронизации. На уровне абстрактной теории удобно часто оперировать с синхронными конечными автоматами.
Пример. Рассмотрим асинхронный F- автомат Мура, который описан в табл. 5 и приведён на рис. 2.
Таблица 5
-
y
xi
y1
y2
y3
z0
z1
z2
x1
z1
z1
z1
x2
z2
z1
z2
x3
z0
z0
z2
Рис. 2.Граф асинхронного автомата Мура.
Если в таблице переходов асинхронного автомата некоторое состояние zk стоит на пересечении строки xS и столбца zS(Sk), то это состояние zk обязательно должно встретиться в этой же строке в столбце zk.
С помощью F-схем описываются узлы и элементы ЭВМ, устройства контроля, регулирования и управления, системы временной и пространственной коммутации в технике обмена информацией (например, телефонные станции). Широта применения F-схем не означает их универсальность. Этот подход непригоден для описания процессов принятия решений, процессов в динамических системах с наличием переходных процессов и стохастических элементов.
3. Дискретно-стохастический подход использует в качестве математического аппарата вероятностные автоматы, которые можно определить как дискретные потактные преобразователи информации с памятью, функционирование которого в каждом такте зависит только от состояния памяти в нем и может быть описано статистически. Для такого автомата характерно задание таблицы вероятностей перехода автомата в некоторое состояние и появления некоторого выходного сигнала в зависимости от текущего состояния и входного сигнала.
Исследование автомата может проводиться как аналитическими, так и имитационными (например, методом статистического моделирования) методами. Этот подход применим для изучения эксплуатационных характеристик производственных объектов (например, надежности, ремонтопригодности, отказоустойчивости и т.п.).
4. Непрерывно-стохастический подход применяется для формализации процессов обслуживания. Этот подход наиболее известен ввиду того, что большинство производственных (и не только производственных - экономических, технических и т.д.) систем по своей сути являются системами массового обслуживания. Типовой математической схемой моделирования таких систем являются Q-схемы ( англ. queuing system – система организации очереди). В обслуживании можно выделить две элементарные составляющие: ожидание обслуживания и собственно обслуживание, а в любой системе массового обслуживания можно выделить элементарный прибор. Соответственно в этом приборе выделяют накопитель (Н) заявок, ожидающих обслуживания, некоторой емкостью; канал обслуживания (К); потоки событий (последовательность событий, происходящих одно за другим в какие-то случайные моменты времени): поток заявок на обслуживание wi, характеризующийся моментами времени поступления и атрибутами (признаками) заявок (например, приоритетами), и поток обслуживания ui, характеризующийся моментами начала и окончания обслуживания заявок.
ui
yi
wi
П
Различают потоки однородных и неоднородных событий. Поток событий называется однородным, если он характеризуется только моментами поступления этих событий и задается последовательностью {tn }={0<= t1<= t2 ... <= tn <=...}, где tn - момент наступления n-го события (неотрицательное вещественное число).
Потоком неоднородных событий называется последовательность {tn,fn }, где fn - набор признаков события (приоритет, принадлежность к какому-либо источнику и т.д.)
Рассмотрим поток, в котором события разделены интервалами времени, которые являются случайными величинами. Пусть интервалы независимы между собой. Тогда поток событий называется потоком с ограниченным последействием.
Поток
событий называется ординарным, если
вероятность того, что на малый интервал
времени
,
примыкающий к моменту времени t,
попадает больше одного события P>1(t,
)
пренебрежительно мала по сравнению с
вероятностью того, что на этот же интервал
времени
попадает ровно одно событие P1(t,
).
Для любого интервала
верно следующее:
P0(t, )+ P1(t, )+ P>1(t, )=1
Как сумма вероятностей событий, образующих полную группу и несовместных. Тогда для ординарного потока событий справедливо следующее:
P0(t, )+ P1(t, )=1, P>1(t, )=0( ).
Стационарным потоком событий называется поток, для которого вероятность появления того или иного числа событий на интервале времени зависит лишь от длины этого интервала и не зависит от того, где на оси времени взят этот интервал.
Рассмотрим на оси времени ординарный поток событий и найдем среднее число событий, наступающих на интервале времени :
0·P0(t, )+1·P1(t, )= P1(t, )
Тогда среднее число событий ординарного потока в единицу времени (интенсивность потока):
Для стационарного потока интенсивность постоянна.
Процесс
функционирования прибора П можно
представить как процесс изменения
состояний его элементов во времени
z(t).
Переход в новое состояние для прибора
означает изменение количества заявок,
которые в нем находятся. Таким образом,
вектор состояний для прибора имеет вид
,
где zн
- состояние накопителя, zк
- состояние
канала.
Если каналы различных приборов обслуживания соединены параллельно, то имеет место многоканальное обслуживание (многоканальное Q-схема), а если приборы и их параллельные композиции соединены последовательно, то имеет место многофазное обслуживание (многофазная Q-схема). В зависимости от емкости накопителя разделяют системы с потерями (емкость накопителя равна нулю), системы с ожиданием (емкость накопителя неограниченна) и системы смешанного типа (емкость накопителя ограничена).
Неоднородность заявок, отражающая процесс в той или иной реальной системе, учитывается с помощью введения классов приоритетов. Различают статические и динамические приоритеты. Статические приоритеты назначаются заранее и не зависят от состояний Q-схемы. Динамические приоритеты возникают при моделировании в зависимости от возникающих ситуаций. Исходя из правил выбора заявок из накопителя на обслуживание каналом можно выделить относительные и абсолютные приоритеты. Относительный приоритет означает, что заявка с более высоким приоритетом, поступившая в накопитель, ожидает окончания обслуживания предшествующей заявки каналом и только после этого занимает канал. Абсолютный приоритет означает, что заявка с более высоким приоритетом, поступившая в накопитель, прерывает обслуживание каналом заявки с более низким приоритетом и сама занимает канал.
При рассмотрении алгоритмов функционирования приборов обслуживания необходимо задать также набор правил, по которым заявки покидают накопители и каналы, например: блокировки по входу и выходу, маршрутизация заявок.
Аналитически модели систем массового обслуживания исследуются с помощью систем дифференциальных уравнений. Переменными в этих уравнениях являются вероятности переходов между состояниями (состояния, в свою очередь, определяются количеством и местонахождением заявок в системе).
Допустим процесс обслуживания начнется при отсутствии заявок в накопителе. Тогда состояния системы массового обслуживания описываются следующей системой уравнений:
где
-
вероятность нахождения системы в
состоянии zn(t)
Z
в момент времени t,
т.е. когда в ней имеется n
заявок.
Эти
уравнения следуют из того, что вероятность
нахождения в системе n
заявок в момент времени (t+t)
равна вероятности нахождения в системе
n
заявок в момент t,
умноженной на вероятность того, что за
время t
в систему не поступит ни одной заявки
и ни одна заявка не будет обслужена,
плюс вероятность нахождения в системе
(n-1)
заявок в момент времени t,
умноженная на вероятность того, что за
время t
поступит одна заявка и ни одна заявка
обслужена не будет, плюс вероятность
нахождения в системе (n+1)
заявок в момент t,
умноженная на вероятность того, что за
время t
одна заявак покинет систему и не поступит
ни одной заявки. Вероятность того, что
за время t
не поступит ни одной заявки и ни одна
заявка не покинет систему, равна
.
Член, содержащий (t)2,
при составлении дифференциального
уравнения опускается. Следовательно,
можно записать
.
Относительно
остальных двух членов первого уравнения
заметим, что
Перенеся влево и устремив t к нулю, получим систему дифференциальных уравнений
найдем выражение для математического ожидания числа заявок, находящихся в накопителе, и среднего времени ожидания заявок в накопителе для стационарного состояния =/<1. Приравняв нулю производные по времени и исключив, таким образом, t из уравнений, получим систему алгебраических уравнений
Пусть
в первом уравнении n=1.
Тогда (1+)p1=
p2+p0
. Подставив
сюда значение p1
из второго
уравнения, находим p2=2p0.
Повторяя эти операции, получаем pn=np0
, причем
так как это сумма вероятностей того,
что в системе нет ни одной заявки, имеется
одна заявка, две заявки и т.д. Сумма этих
вероятностей должна быть равна единице,
так как рассматриваются все возможные
состояния системы. Поэтому
Или
,
откуда
.
Следовательно,
Математическое ожидание числа заявок, находящихся в системе (приборе),
.
Колебания числа заявок, ожидающих обслуживания, что можно оценить с помощью дисперсии:
.
При этом
.
Следовательно,
.
Математическое ожидание числа заявок, находящихся в накопителе,
.
Среднее время ожидания заявок в накопителе
.
Наиболее часто для анализа Q-схем используют имитационные методы. В этом случае формализованное описание системы массового обслуживания представляет собой графическое отображение (с соответствующими комментариями) элементарных приборов, клапанов, отражающих наличие управляющих воздействий, и связей между ними. На данный момент существует много программных средств, специализирующихся на создание имитационных моделей на основе Q-схем. Примерами для прикладного применения непрерывно-стохастического подхода могут служить исследования потоков поставок продукции некоторому предприятию, потоков деталей и комплектующих изделий на сборочном конвейере цеха и т.п.