logo search
Имитационное моделирование

Принципы построения имитационных моделей

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

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

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

Исторически первым из таких способов является запись алгоритмов при помощи операторных схем. Затем появились языки программирования, пакеты прикладных программ и специальные языки моделирования.

Среди важнейших операторов моделирующих алгоритмов выделим следующие.

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

2.  Операторы формирования реализаций случайных чисел, величин, событий и процессов.

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

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

3. Операторы формирования неслучайных величин. Они нужны при моделировании детерминированных математических моделей для реализации различных констант и неслучайных функций времени.

В большинстве имитационных моделей имитируется поведение системы на некотором отрезке времени. Согласно [7], процесс функционирования любой сложной динамической системы можно рассматривать как смену ее состояний, описываемых ее фазовыми переменными Z1(t), Z2(t), … Zn(t) в n – мерном пространстве. Задачей имитационного моделирования является получение траектории движения рассматриваемой системы в n – мерном пространстве (Z1, Z2, … Zn), а также вычисление некоторых показателей, зависящих от выходных сигналов системы и характеризующих ее свойства. В данном случае «движение» системы понимается в общем смысле – как любое изменение, происходящее в ней.

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

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

Существует два основных метода задания времени: с помощью фиксированных и переменных интервалов времени. Их иногда еще называют метод фиксированного шага Δt и шага до следующего события. По методу фиксированного временного шага отсчет системного времени ведется через заранее определенные временные интервалы. При использовании метода переменного шага состояние моделируемой системы обновляется с появлением следующего события.

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

Рассмотрим этот принцип сначала для детерминированных систем. Предположим, что начальное состояние системы соответствует значениям Z1(t0), Z2(t0), … Zn(t0). Принцип Δt предполагает преобразование модели системы к такому виду, чтобы значения Z1, Z2, … Zn в момент времени t1=t0+Δt можно было вычислить через начальные значения, а в момент t2=t1+Δt через значения на предшествующем шаге и так для каждого i-ого шага (Δt =const, i=1÷M).

Для систем, где случайность является определяющим фактором, принцип Δt заключается в следующем:

  1. Определяется условное распределение вероятности на первом шаге (t1= t0+Δt) для случайного вектора, обозначим его (Z1, Z2, … Zn). Условие состоит в том, что начальное состояние системы соответствует точке траектории (Z01, Z02, … Z0n).

  2. Вычисляются значения координат точки траектории движения системы (t1=t0+Δt), как значения координат случайного вектора, заданного распределением, найденным на предыдущем шаге.

  3. Отыскиваются условное распределение вектора (Z21, Z22, … Z2n) на втором шаге (t2=t1+Δt), при условии получения соответствующих значений Z11(i=1÷n) на первом шаге и т.д., пока ti= t0+i*Δt не примет значения (tМ= t0+М*Δt).

Принцип Δt является универсальным, применим для широкого класса систем. Его недостатком является неэкономичность с точки зрения затрат машинного времени.

При рассмотрении некоторых видов систем можно выделить два вида состояний:

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

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

Для таких систем применение принципа Δt является нерациональным, так как при этом возможны пропуски особых состояний и необходимы методы их обнаружения.

В системах массового обслуживания при моделировании процессов обработки заявок иногда удобно строить моделирующие алгоритмы по принципу воспроизведения истории отдельных заявок в порядке поступления их в систему [6]. Алгоритм обращается к сведениям о других заявках лишь в том случае, если это необходимо для решения вопроса о дальнейшем порядке обслуживания данной заявки. Такие алгоритмы весьма экономны, однако они требуют весьма сложную логическую структуру. При моделировании систем массового обслуживания и дискретных производственных процессов, как правило используют этот принцип, называемый иногда «принцип последовательной проводки заявок». Данный принцип, иногда в сочетании с принципом Δt , лежит в основе почти всех языков моделирования.

В практике использования имитационного моделирования описанные выше принципы при необходимости комбинируют.

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