Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147), страница 18
Текст из файла (страница 18)
Векторный тип в Апу(.од1с определяется как "матрица", и он наиболее удобен при работе с прямоугольными матрицами. Апу(.оя(с предоставляет средства для операций нал матрицал1и. Кроме таких простых операций, как сложение и умножение, с перел1енными этого типа также возможны и многочисленные специальные операции линейной алгебры: обращение, транспонирование, Ш-декомпозиция, выделение и операции на подматрицах и т. и. Переменные типа Массив используются для прелставления многомерных массивов вещественных значений.
5.3.3. Формулы„системы алгебраических и дифференциальных уравнений Непрерывное изменение во времени значений переменных в Апу(.огас люжно описывать с помощью формул, дифференциальных и алгебраических уравнений. Уравнения можно задавать как для скалярных переменных, так и для матриц. Уравнения и формулы могут быть связаны с активным объектом и с любым состоянием стейтчарта. Дифференциальные уравнения задаются в форл~е Коши, т.
е. в виде д(х)/бт = Г(х, у, т, ). Здесь Г(х, у, т, ...)— арифметическое выражение, в которое может входить специальный символ т, обозначающий модельное время. Алгебраические уравнения задаются в форме О = Г(х, у, т,), где х — переменная типа стось1е или матричного типа. Для каждой системы алгебраиче- Часть!I. Средства Апу оус дпя имитационного моделирования систем ских уравнений должны быть явно определены неизвестные переменные с помощью следующего оператора: гъпа)х, у, . ).
Имя переменной или вызов функции можно вставить в уравнение с помощью мастера автоматического ввода, который представляет собой список, содержаший переменные (значок Ф), параметры (значок О) и функции (значок чв), отсортированные по алфавиту. Вы можете просто выбрать имя из списка, и оно будет автоматически вставлено в выражение.
Для вызова мастера необходимо шелкнугь по кнопке ) Я, после чего двойной щелчок мыши на выбранном имени позволит вставить соответствуюший элемент из списка мастера в поле, в котором записывается выражение. Мы используем эту возможность в главе 13. Алгебраические и дифференциальные уравнения в Апу1 оя)с решаются численно. Апу( оя)с использует современную библиотеку численных методов решения систем обыкновенных дифференциальных уравнений (как линейных, так и нелинейных), алгебраических уравнений (связывающих вешественные переменные) и любых их комбинаций, решения как жестких, так и нежестких систем. При проведении компьютерных экспериментов (изменяя настройки окна свойств эксперимента) пользователь может самостоятельно выбрать численный метод из данной библиотеки либо доверить это исполнительной системе, которая автоматически выберет наилучший из них.
Используя установки эксперимента, пользователь может задать требуемые ему точность решения систем (временную, относительную и абсолютную) и шаг по времени. Разработчик модели может также подключить и использовать свои численные методы. 5.3.4. Параметры В отличие от переменных, параметр — это характеристика объекта, то, что может изменяться вне объекта. Как правило, сам объект свои параметры не изменяет. Параметры модели часто называют "факторами", оии являются для объекта статическими величинами, которые различаются у разных экземпляров одного и того же класса, тем самым позволяя иметь в модели различные представления одного и того же шаблона. Параметры одного объекта могут быть изменены в различных прогонах модели, или же пользователь может их изменять интерактивно при выполнении модели в текущем эксперименте с помошью слайдеров, окон редактирования или непосредственно в дереве корневого объекта тосе.
Параметр может быть простым и динамическим. Простой ппрпяетпр — это константа. Предполагается, что значение простого параметра не изменяется при выполнении модели, но различные прогоны модели могут выполняться при различных значениях простого параметра. Динамичеслайпораметр имеет совершенно другую природу. Обращение к нему при выполнении модели вызывает выполнение некоторого кода (функции). Иными словами, каждый Глава б, Разработка гростых моделей непрерывных систем раз при использовании такого параметра (при доступе к нему) его значение перевычисляется. В качестве значения динамического параметра может стоять вызов функции или любое выражение, возвращавшие значение соответствующего типа.
При определении класса активного объекта значения его параметров могут не задаваться, их тогда следует определить для экземпляров этого класса. 5.3.5.Визуализация исполнения модели Визуализация изменения значений переменных, зависящих от времени, а также фазовые диаграммы легко строятся простым введением нового графика и включением в него интересующих исследователя переменных простым перетаскиванием их из дерева переменных и параметров проекта (из окна объекта тоос). Масштабирование на графиках выполняется автоматически. Пользователь может выбирать цвет графиков, представить несколько графиков в одном окне, на одном графике иметь несколько переменных и т. и. Разработчик модели может построить компьютерную анимацию поведения модели, определив графические элементы, представляющие процесс (например, стрелки, кружки, изображения машин или животных), и связав с динамическими значениями характеристик этих элементов переменные, которые изменяются в модели (например, координаты их положения в физическом пространстве).
Изменение переменных будет отображаться в изменении координат положения и размеров соответствующих графических элементов, их ориентации, цвета, видимости и других характеристиках. Создание объектов в поле анимации выполняется с помощью следующих кнопок панели инструментов, которые становятся активными при активном окне анимации: () ОС)М', Т-;4".:ИВз1 Е ЙН ИИ г е.Ич,' Первые пять кнопок — это кнопки построения геометрических фигур (двух видов прямоугольников, овала и, следовательно, окружностей, ломаной и отрезка прямой), далее идут четыре вспомогательные кнопки (начиная с кнопки текста), две кнопки индикаторов, кнопка диаграммы Щ (которая может быть представлена в разных формах, в частности, в виде графика) и шесть кнопок для создания в окне анимации кнопок управления лля взаимодействия пользователя с люделью в процессе выполнения модели.
При работающей модели пале анимации можно двигать, нажав на нем правой кнопкой мыши„если оно не помещается целиком на экране, а также изменять его масштаб. Графические образы могут создаваться для каждого класса активных объектов. В окно анимации того класса активного объекта, Честь й. Средства Алу~од(с для имитационного модели еения систем Вв который включает несколько экземпляров другого активного объекта, анимационные образы этих экземпляров включаются автоматически.
Для создания детальных изображений при разработке модели можно увеличить масштаб окна анимации. 5.3.6. Эксперименты с моделью Пользователь может определить произвольное число компьютерных экспериментов с моделью и затем выполнить любой из них. Эксперименты могут быть разных типов (простой имитационный эксперимент, оптимизационный эксперимент, эксперимент по анализу чувствительности модели и т. и.). В каждом компьютерном эксперименте пользователь может установить свои параметры (факторы) всех объектов модели, от которых зависит ее поведение, установить специфические условия останова выполнения модели и проведения эксперимента, менять установки при выборе численных методов и требований к точности решения и т.
и. Глава 6 Разработка моделей дискретно-событийных систем Системы называются дискретно-собывийнылт (или просто дискретными), если изменения переменных состояния в них происходят только в явно определенные моменты времени или под влиянием явно определенных событий.
Находясь в некотором состоянии, дискретная система сохраняет его (не изменяет своих характеристик) до наступления очередного события, под воздействием которого переменные системы (и, следовательно, ее состояние) изменяются скачком. Например, при построении модели банка состояние системы может быть представлено количеством клиентов в помещении банка и числом занятых кассиров. Состояние системы изменяется, если только новый клиент входит в банк или когда освобождается кассир, а это на некотором уровне абстракции можно считать мгновенными событиями, сопровождаемыми изменением состояния системы.
и данной главе мы рассмотрим примеры дискретно-событийных моделей и средства Апу(.оя(с, позволяющие такие модели разрабатывать, 6.1. Порты и сообщения. Дискретная модель счетчика Разработанная в предыдущей главе модель сеееь зссиаеее не является удовлетворительной. Действительно, при работе этого счетчика переменные генератора и разрядов растут бесконечно, что не соответствует реальной работе счетчика. В реальном счетчике генератор посылает счетчику не значение общего числа сигналов.
а только сам сигнал ("тик"). Каждый разрял десятичного счетчика считает число пришедших на его вход "'тиков" по модулю 1О и передает на свой выход сигнал переполнения после прихода на его вход каждого десятого сигнала. При построении модели такого счетчика нужно использовать новые средства, характерные для моделей дискретно-событийных систем. Здесь нам достаточно трех таких средств: (статического) таймера, порта и передаваемых Часть Ф.