logo
моделирование-шпора

30 Алгоритмы имитационного моделирования для пошагового управления модельным временем

-Алгоритм простой итерации -Алгоритм Зейделя

-Ранжирование уравнений -Событийный алгоритм

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

Алгоритм простой итерации состоит в выполнении итераций по следующей формуле: Vi= (Vi-1, X),

где Vi - значение вектора базисных переменных V на i-й итерации. Если Vi=Vi-1, то решение найдено; если ViVi-1, то выполняется новая итерация; если итерационный процесс не сходится, то это свидетельствует об ошибках моделирования или реального объекта, вызывающих неустойчивость состояния. Практически считается, что процесс не сходится, если условие Vi=Vi-1 не достигается на заранее заданном количестве итераций.

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

Уменьшить количество вычислений удается при построении итерационного процесса с использованием алгоритма Зейделя, в котором при вычислении очередного из элементов вектора Vi в правую часть уравнений системы там, где это возможно, подставляются не элементы вектора Vi-1, а те элементы вектора Vi, которые уже вычислены к данному моменту, т. е. итерации выполняются по формуле: Vi= (Vi,Vi-1, X).

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

Ранжирование уравнений производится следующим образом: уравнение модели (элемент СМО) получает ранг j, если все аргументы этого уравнения (входы элемента) ранжированы и максимальный среди рангов аргументов (входов) равен j-1. Переменная модели получает ранг j, если она является левой частью уравнения (является выходом элемента), имеющего ранг j. Выполнение алгоритма начинается с того, что всем входным переменным присваивается ранг j=0. Если в схеме имеются контуры ОС, одна из цепей каждого контура должна быть предварительно разорвана и части разорванных цепей, подключенные к входам элементов, получают ранг j=0. Затем определяют уравнения первого ранга, переменные первого ранга, элементы второго ранга и т. д. В итоге уравнения располагаются в порядке возрастания рангов.

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