Добавлен: 30.06.2023
Просмотров: 131
Скачиваний: 4
СОДЕРЖАНИЕ
Глава 1. Имитационное моделирование систем
1.1 Классификация методов моделирования
1.3 Качественные методы описания систем
1.4 Количественные методы описания систем
1.5 Высшие уровни описания систем
1.6 Низшие уровни описания систем
Глава 2. Программное обеспечение имитационного моделирования
2.3 Программа SyAn (Анализ систем)
Глава 3. Разработка имитационной модели
3.1 Описание задачи моделирования
3.2 Применение программы имитационного моделирования Anylogic к решению поставленной задачи
При разработке модели можно использовать элементы визуальной графики: диаграммы состояний (стейтчарты), сигналы, события (таймеры), порты и т.д.; синхронное и асинхронное планирование событий; библиотеки активных объектов. Удобный интерфейс и многочисленные средства поддержки разработки моделей в AnyLogic делают не только использование, но и создание компьютерных имитационных моделей в этой среде моделирования доступными даже для начинающих. При разработке модели на AnyLogic можно использовать концепции и средства из нескольких классических областей имитационного моделирования: динамических систем, дискретно-событийного моделирования, системной динамики, агентного моделирования. Кроме того, AnyLogic позволяет интегрировать различные подходы с целью получить более полную картину взаимодействия сложных процессов различной природы. В данном пособии описываются три имитационные модели: дискретно-событийная, системно-динамическая и агентная. Для каждой модели приводится подробная постановка проблемы, разбирается структура модели, описывается процесс построения модели в среде AnyLogic и изучается ее поведение.
AnyLogic используется для разработки имитационных исполняемых моделей и последующего их прогона для анализа. Разработка модели выполняется в графическом редакторе AnyLogic с использованием многочисленных средств поддержки, упрощающих работу. Построенная модель затем компилируется встроенным компилятором AnyLogic и запускается на выполнение. В процессе выполнения модели пользователь может наблюдать ее поведение, изменять параметры модели, выводить результаты моделирования в различных формах и выполнять разного рода компьютерные эксперименты с моделью. Для реализации специальных вычислений и описания логики поведения объектов AnyLogic позволяет использовать мощный современный язык Java. Активные объекты, классы и экземпляры активных объектов. Основными строительными блоками модели AnyLogic являются активные объекты, которые позволяют моделировать любые объекты реального мира. Класс в программировании является мощным средством, позволяющим структурировать сложную систему. Класс определяет шаблон, в соответствии с которым строятся отдельные экземпляры класса. Эти экземпляры могут быть определены как объекты других активных объектов. Активный объект является экземпляром класса активного объекта. Чтобы создать модель AnyLogic, вы должны создать классы активных объектов (или использовать объекты библиотек AnyLogic) и задать их взаимосвязи. AnyLogic интерпретирует создаваемые вами графически классы активных объектов в классы Java, поэтому вы можете пользоваться всеми преимуществами объектно-ориентированного моделирования.
Активные объекты могут содержать вложенные объекты, причем уровень вложенности не ограничен. Это позволяет производить декомпозицию модели на любое количество уровней детализации.
Активные объекты имеют четко определенные интерфейсы взаимодействия – они взаимодействуют со своим окружением только посредством своих интерфейсных элементов. Это облегчает создание систем со сложной структурой, а также делает активные объекты повторно используемыми. Создав класс активного объекта, вы можете создать любое количество объектов – экземпляров данного класса. Каждый активный объект имеет структуру (совокупность включенных в него активных объектов и их связи), а также поведение, определяемое совокупностью переменных, параметров, стейтчартов и т.п. Каждый экземпляр активного объекта в работающей модели имеет свое собственное поведение, он может иметь свои значения параметров, функционирует независимо от других объектов, взаимодействуя с ними и с внешней средой. Визуальная разработка модели. При построении модели используются средства визуальной разработки (введения состояний и переходов стейтчарта, введения пиктограмм переменных и т.п.), задания численных значений параметров, аналитических записей соотношений переменных и аналитических записей условий наступления событий. Основной технологией программирования в AnyLogic является визуальное программирование – построение с помощью графических объектов и пиктограмм иерархий структуры и поведения активных объектов. Встроенный язык Java. AnyLogic является надстройкой над языком Ja-va – одним из самых мощных и в то же время самых простых современных объектно-ориентированных языков. Все объекты, определенные пользователем при разработке модели с помощью графического редактора, компилируются в конструкции языка Java, а затем происходит компиляция всей собранной программы на Java, задающей модель, в исполняемый код. Хотя программирование сведено к минимуму, разработчику модели необходимо иметь некоторое представление об этом языке (например, знать синтаксически правильные конструкции).
Средства описания поведения объектов. Основными средствами описания поведения объектов являются переменные, события и диаграммы состояний. Переменные отражают изменяющиеся характеристики объекта. События могут наступать с заданным интервалом времени и выполнять заданное действие. Диаграммы состояний (или стейтчарты) позволяют визуально представить поведение объекта во времени под воздействием событий или условий, они состоят из графического изображения состояний и переходов между ними (т.е. по сути это конечный автомат). Любая сложная логика поведения объектов модели может быть выражена с помощью комбинации стейтчартов, дифференциальных и алгебраических уравнений, переменных, таймеров и программного кода на Java. Алгебраические и дифференциальные уравнения записываются аналитически. Интерпретация любого числа параллельно протекающих процессов в модели AnyLogic скрыта от пользователя. Никаких усилий разработчика модели для организации квазипараллелизма интерпретации не требуется; отслеживание всех событий выполняется системой автоматически. Модельное и реальное время. Понятие модельного времени является базовым в системах имитационного моделирования. Модельное время – это условное логическое время, в единицах которого определено поведение всех объектов модели. В моделях AnyLogic модельное время может изменяться либо непрерывно, если поведение объектов описывается дифференциальными уравнениями, либо дискретно, переключаясь от момента наступления одного события к моменту наступления следующего события, если в модели присутствуют только дискретные события. Моменты наступления всех планируемых событий в дискретной модели исполнительная система хранит в так называемом календаре событий, выбирая оттуда наиболее раннее событие для выполнения связанных с ним действий. Значение текущего времени в моделях AnyLogic может быть получено с помощью функции time().
Единицу модельного времени разработчик модели может интерпретировать как любой отрезок времени: секунду, минуту, час или год. Важно только, чтобы все процессы, зависящие от времени, были выражены в одних и тех же единицах. При моделировании физических процессов все параметры и уравнения должны быть выражены в одних и тех же единицах измерения физических величин. Интерпретация модели выполняется на компьютере. Физическое время, затрачиваемое процессором на имитацию действий, которые должны выполняться в модели в течение одной единицы модельного времени, зависит от многих факторов. Поэтому единица физического времени и единица модельного времени не совпадают. В AnyLogic приняты два режима выполнения моделей: режим виртуального времени и режим реального времени. В режиме виртуального времени процессор работает с максимальной скоростью без привязки к физическому времени. Данный режим используется для факторного анализа модели, набора статистики, оптимизации параметров модели и т.д. Поскольку анимация и другие окна наблюдения за поведением модели обычно существенно замедляют скорость интерпретации модели на компьютере, для повышения скорости выполнения эти окна нужно закрыть. В режиме реального времени пользователь задает связь модельного времени с физическим временем, т.е. устанавливает ограничение на скорость процессора при интерпретации модели. В этом режиме задается количество единиц модельного времени, которые должны интерпретироваться процессором в одну секунду. Обычно данный режим включается для того, чтобы визуально представить функционирование системы в реальном темпе наступления событий, проникнуть в суть процессов, происходящих в модели. Соотношение физического и модельного времени при работе модели можно понять на таком примере. При коэффициенте ускорения 4, если процессор успевает выполнить менее чем за 1 с все операции, которые в модели определены в течение 4-х единиц модельного времени, то он будет ждать до конца секунды. Если же процессор не успевает выполнить все операции, то у него не будет интервала ожидания, и коэффициент ускорения будет меньше того, который установлен пользователем.
Анимация поведения модели. AnyLogic имеет удобные средства представления функционирования моделируемой системы в живой форме динамической анимации, что позволяет «увидеть» поведение сложной системы. Визуализация процесса функционирования моделируемой системы позволяет проверить адекватность модели, выявить ошибки при задании логики. Средства анимации позволяют пользователю легко создавать виртуальный мир (совокупность графических образов, ожившую мнемосхему), управляемый динамическими параметрами модели по законам, определенным пользователем с помощью уравнений и логики моделируемых объектов. Графические элементы, добавленные на анимацию, называются динамическими, поскольку все их параметры: видимость, цвет и т.п. – можно сделать зависимыми от переменных и параметров модели, которые меняются со временем при выполнении модели. С помощью совершенной технологии визуализации работающих моделей AnyLogic можно создавать интерактивные анимации произвольной сложности, связывая графические объекты (в т.ч. импортированные чертежи) во встроенном редакторе с объектами модели. Как и модель, анимация имеет иерархическую структуру, которая может динамически изменяться. Возможно создание нескольких точек зрения или нескольких уровней детальности в пре-делах одной анимации. Элементы управления и развитая бизнес-графика превращают анимацию модели в настоящую панель управления для оценки эффективности решений. В AnyLogic поддерживается как двумерная, так и трёхмерная анимация. Интерактивный анализ модели. Многие системы моделирования позволяют менять параметры модели только до запуска модели на выполнение. AnyLogic позволяет пользователю вмешиваться в работу модели, изменяя параметры модели в процессе её функционирования. Примером таких средств являются слайдеры, которые могут быть введены в окно анимации.
2.3 Программа SyAn (Анализ систем)
Программный комплекс «Анализ систем» предназначен для моделирования и анализа произвольных систем автоматического управления.
Структурная схема, моделируемой САУ, может быть произвольной и собирается из элементов, входящих в библиотеку блоков.
Библиотека блоков насчитывает около 40 различных блоков. Все блоки классифицированы и представлены в программном комплексе в виде многостраничной палитры, в которой они объединены в следующие классы:
- генераторы входных воздействий (генератор постоянного сигнала, генераторы сигналов различной формы, генератор шума, генератор сигнала, заданного пользователем в виде графика).
- сумматоры
- линейные звенья (все стандартные простейшие линейные звенья)
- нелинейные звенья (все стандартные виды нелинейностей, а также нелинейность, задаваемая пользователем в виде графика).
- импульсные модуляторы (АИМ, ШИМ, ЧИМ).
- математические блоки (блоки, производящие с входным сигналом одну из математических функций).
- макросы (блоки, для формирования вложенных схем).
- прочие (нечеткий регулятор, нейронная сеть, блок пользователя, блоки для формирования схем с переменной структурой).
Программный комплекс "Анализ систем" обладает следующими возможностями:
- построение переходного процесса в любой точке системы.
- построение фазового портрета в любой точке системы.
- построение ЛАЧХ/ФЧХ любого контура, как замкнутого, так и разомкнутого.
- построение годографа линейной части любого контура, как замкнутого, так и разомкнутого.
- построение обратного инверсного ЭККУ нелинейной части системы.
- исследовать устойчивость контура с помощью критерия Найквиста и методом гармонического баланса.
- исследовать нелинейный контур с помощью критерия В.М. Попова.
- отображать передаточную функцию любого контура системы.
- упрощать структурные схемы.
- синтезировать структуру по введенной передаточной функции.
- синтезировать структуру регулятора для заданного объекта управления (методом обратных задач динамики).
- параметрическая оптимизация (подстройка коэффициентов корректирующих звеньев для наилучшего переходного процесса).
- генерация текста программы на различных языках программирования, рассчитывающей прохождение сигнала через заданный контур.
Программа совместима с пакетами WinFact, MathCad, MathLib. А также возможность экспорта рисунков и графиков через буфер обмена Windows.
Глава 3. Разработка имитационной модели
3.1 Описание задачи моделирования
Разрабатывается имитационная модель производственной линии.
В составе производственного имеется структурное подразделение «Производство» в состав которого входят:
- заготовительный участок (ЗагУ);
- участок сборки и монтажа (УСиМ);
- участок настройки и регулировки (УНиР).
В заданных условия производственный цикл изделия описывается следующим образом.
- Заготовительный участок заготавливает комплектующие. В данном случае таковыми являются детали трёх видов с условными обозначениями A, B и C. Подготовленные детали поступают на участок сборки и монтажа.
- УСиМ производит сборку готового изделия и предоставленных деталей. При этом в состав каждого изделия входят по одной детали видов A и B и две детали вида C. Собранное изделие поступает для настройки и регулировки в УНиР.
- После настройки и регулировки изделие отправляется на склад готовой продукции (СГП).
На предприятии введён пооперационный контроль. Это означает, что после очередной технологической операции (сборки или настройки) изделие подвергается контролю со стороны бюро технического контроля (БТК). В случае несоответствия изделие возвращается на предъявивший его участок для устранения замечаний. После устранения замечаний изделие повторно предъявляется в БТК. Изделие, успешно прошедшее контроль, поступает далее – на следующий участок или на СГП.
3.2 Применение программы имитационного моделирования Anylogic к решению поставленной задачи
Программа Anylogic обладает обширным набором функций и инструментов и позволяет решить задачу моделирования описанного подразделения производственного предприятия с помощью стандартных элементов, присутствующих в палитре программы.