AnyLogic
Развернуть
Размер шрифта

Моделирование динамических систем

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

Так же как и в случае с системной динамикой, дискретно-событийным (процессным) и агентным моделированием, AnyLogic предоставляет удобные инструменты и для тех, кто моделирует динамические системы:

  • AnyLogic предоставляет специальные элементы — динамические переменные для задания дифференциальных и алгебраических уравнений: Накопитель - для дифференциальных уравнений.
    Динамическая переменная - для формул.
  • AnyLogic поддерживает несколько численных методов для решения дифференциальных, алгебраических и смешанных систем уравнений. Численный метод автоматически выбирается исполняющим модулем AnyLogic в соответствии с поведением моделируемой системы. При решении дифференциальных уравнений первого порядка вначале используется метод Рунге-Кутта с фиксированным шагом. В случае систем алгебраических и смешанных уравнений AnyLogic использует метод Ньютона, варьирующий шаг интеграции для достижения необходимой точности.
  • AnyLogic поддерживает моделирование физических систем с помощью Метода конечных элементов. Описание этого метода вы можете найти здесь: http://ru.wikipedia.org/wiki/Метод_конечных_элементов). В этом случае обычно используются массивы и размерности типа диапазон и вы можете ссылаться в уравнениях на следующий и предыдущий элемент.

    Демонстрационная модель: Vibrating String

  • Более того, AnyLogic является единственным инструментом, язык моделирования которого не задает исключительно непрерывное или дискретное поведения, а может задавать модели с гибридным поведением. Вы можете сделать вашу модель гибридной, добавив дискретные события, которые будут влиять на непрерывное поведение моделируемой системы, например, вы можете добавить событие, отслеживающее значение непрерывно изменяющихся переменных и выполняющее некоторые действия при достижении значением переменной какого-то определенного порога; или событие, которое изменяет параметр уравнения и тем самым влияет на моделируемую динамическую систему.
  • Вы можете вынести переменные на интерфейс агента и связать их с интерфейсными переменными других агентов. Связанные переменные будут всегда иметь одинаковые значения, тем самым обеспечивая непрерывное взаимодействие агентов. Этот механизм позволяет вам создавать объекты, аналогичные блокам, обычно используемым в блочных диаграммах — стандартном графическом языке моделирования, используемом инженерами.

    Демонстрационная модель: Population

Как мы можем улучшить эту статью?