.: [предыдущая | оглавление | следующая] :.

18.1 Введение

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

Model(X,Y,Param)
где X - вход, Y - выход, Param - множество параметров.

Вход может быть просто переменной, вектором, матрицей и т.д. Аналогично и выход Y может быть переменной, вектором, матрицей. Кроме того, один из блоков такой имитационной модели моделирует среду, которая задает входные воздействия на систему.

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

Алгоритм имитационного моделирования()
  1. Установка параметров (p1, p2, . . . , pk)
  2. Установка начальных значений входов блоков (x1, x2,. . . xm)
  3. Цикл(t)
    Генерация Входа(Параметры, y);
    1. МодельБлока_1 (x1, y1, p1)
    2. МодельБлока_2 (x2, y2, p2)
    . . .
    N. МодельБлока_n (xn, yn, pn);

    Для всех входных переменных выполнить x[i]=y[i];
  4. Конец цикла

Можно выделить следующие этапы имитационного моделирования:

  1. построение модели;
  2. проведение экспериментов в форме численного моделирования
  3. анализ полученных результатов, построение зависимостей и визуализация в форме графиков, распределений и таблиц.
.: [предыдущая | оглавление | следующая] :.