Главная » Статьи » Студентам » Имитационное моделирование

4.2 Реализация метода системной динамики в пакете PowerSim (окончание)
Начало

Для определения переменных используется диалоговое окно Define Variable (рис. 4.3), вызываемое двойным щелчком мышки на объекте. Ниже приведено описание основных элементов этого окна.


Рис. 4.3. Диалоговое окно Define Variable

 
Переменная (Variable). Данный элемент содержит список всех переменных модели. Вы можете использовать этот список для последовательного определения всех переменных без закрытия диалогового окна Define Variable и повторного его открытия для определения новой переменной. Если вы произвели изменения в окне, а затем выбрали из списка другую переменную, Powersim предложит сохранить последние изменения перед переходом к новой переменной.
Единица измерения (Unit of Measure). Список Unit of Measure содержит все единицы измерения, которые были определены для вашей модели. Определение единиц измерения является важным процессом, так как позволяет произвести проверку правильности уравнений модели. 
Определение (Definition). Текстовое поле Definition содержит числовое значение или алгебраическое выражение, которое определяет переменную. Если в данное поле введено определение перемененной, то после закрытия диалогового окна знак вопроса на значке переменной исчезает. Модель не может быть запущена, если хотя бы одна переменная не определена.
В текстовом поле Definition могут содержаться комментарии. Они не влияют на поведение модели во время ее работы. Написание комментария необходимо начинать с ввода двойных кавычек " или левой скобки «{». Любой текст, который следует после этих символов является комментарием, пока не будут введены двойные кавычки или правая скобка «}». Комментарий, помещенный в кавычки, может быть размещен между элементами выражения.

"Пример комментария заключенного в кавычки"

"Пример комментария, оканчивающегося концом строки

{Пример комментария заключенного в скобки}

Связанные переменные (Linked variables). Список Linked variables используется на этапе определения переменной. Каждая переменная из этого списка должна быть использована для определения переменной. Список переменных генерируется автоматически программой, в соответствии со связями, помещенными в модель. Все переменные, которые связаны с текущей переменной (с помощью связи направленной от других переменных к определяемой) появляются в списке связанных переменных. Двойной щелчок на имени любой переменной приводит к ее появлению в поле Definition.
Функции(Functions). Powersim содержит перечень встроенных функций, включая финансовые функции, статистические функции, функции массивов, стандартные математические функции и т.д. Если список функций не показан в диалоговом окне Определение Переменной, необходимо нажать на кнопку More в нижнем правом углу окна. Для доступа к функции два раза щелкните на ней в списке. Функция появится в поле Definition со своим синтаксисом. Для завершения работы с функцией необходимо добавить переменные в соответствующие места.
Как уже говорилось, для запуска модели необходимо, чтобы все переменные в модели были определены. Это значит, что не должно быть переменных со знаками вопросов. Более того, не должно быть динамических объектов, типа ползунковых регуляторов, которые не присоединены к вспомогательным переменным. Powersim выдаст сообщение об ошибке, если какое-либо из обязательных условий для процесса имитации не выполнено.
Важным аспектом моделирования является проблема выбора временного горизонта для модели. Изменить начальное и конечное время имитации можно в диалоговом окне Simulation Setup в меню Simulate (рис. 4.4).

Рис. 4.4. Диалоговое окно Simulation Setup

 

При построении модели необходимо определиться с единицей измерения времени. Единица измерения времени, которую вы определите, зависит от того, какая проблема моделируется. То, какая единица измерения времени будет избрана, не влияет на результаты имитации. Однако, установка этого параметра является признаком хорошего стиля моделирования, тем более, что определенная вами единица измерения времени будет появляться на временной оси построенных графиков. Определить единицу измерения времени можно в диалоговом окне Simulation Setup в поле Единица Time Unit.

Стандартными методами интегрирования является интегрирование Эйлера и методы Рунге-Кутта второго, третьего и четвёртого порядков – последний допускает использование как фиксированной, так и переменной величины шага.

Метод Рунге-Кутта имеет два преимущества. Во-первых, он легко позволяет динамически изменять шаг во время моделирования, что особенно важно при использовании комбинированных моделей, в которых события не одинаково «растянуты» во времени. Во-вторых, интегрирование по методу Рунге-Кутта являющееся самостартующим. Таким образом, не происходит потери качества моделирования при перезапуске модели с события, что также чрезвычайно важно при использовании комбинированных моделей. Впрочем, по умолчанию в Powersim используется метод Эйлера, который удовлетворяет запросам не очень сложных некомбинированных моделей. Однако, если исследуемая модель является колеблющейся, то неточности интегрирования метода Эйлера могут вызвать расхождение амплитуды колебания, обусловленное не структурой модели, а неточным интегрированием. Уменьшить количество ошибок, возникающих при использовании метода Эйлера, можно сокращая шаг времени.
Приближённое вычисление методом Эйлера даёт результат, стремящийся к точному при стремлении величины интервала моделирования к нулю. Однако, одновременно с уменьшением величины интервала увеличивается количество пересчётов и, соответственно, накапливается большее число ошибок округления. При выборе величины шага также необходимо увязывать его величины с величинами используемых в модели задержек. Дж. Форрестер указывал, что оптимальным является значение величины временного интервала приблизительно в шесть раз меньшее, чем самая минимальная задержка.
В целом, при выборе метода интегрирования необходимо найти компромисс между скоростью и точностью вычислений.

Временной шаг (Time Step) вы должны выбрать такой, чтобы он оказался достаточно маленьким для просмотра всех интересующих вас подробностей функционирования модели. Чем меньше выбранный интервал времени, тем более точные результаты будут получены. С другой стороны уменьшение интервала времени приводит к снижает скорость имитации. Существует следующее эмпирическое правило: шаг времени должен быть меньше 1/2 и больше 1/5 размера самого короткого замедления первого порядка, имеющегося в модели.

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

Проведение непрерывного имитирования:

Нажмите на кнопку Run    или выберете Simulate – Run.

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

Для проведения пошаговой имитации необходимо нажать на кнопку . Повторное нажатие на данной кнопке приводит к пересчету модели для одного дополнительного шага времени.

Категория: Имитационное моделирование | Добавил: kvn2us (03.07.2009) | Автор: Беленко Д.В., Кравченко В.Н.
Просмотров: 5722 | Теги: системная динамика, PowerSim, Имитационное моделирование
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]