Главная страница

А.Е.Осоргин_-_AnyLogic_6_Лабораторный_практикум. Министерство образования и науки российской федерации федеральное государственное образовательное учреждение среднего профессионального образования Поволжский государственный колледж


Скачать 3.11 Mb.
НазваниеМинистерство образования и науки российской федерации федеральное государственное образовательное учреждение среднего профессионального образования Поволжский государственный колледж
Дата11.11.2022
Размер3.11 Mb.
Формат файлаpdf
Имя файлаА.Е.Осоргин_-_AnyLogic_6_Лабораторный_практикум.pdf
ТипПрактикум
#783062
страница1 из 10
  1   2   3   4   5   6   7   8   9   10

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное образовательное учреждение среднего профессионального образования
«Поволжский государственный колледж»
А.Е.Осоргин
AnyLogic 6
Лабораторный практикум
Самара 2011

2
Печатается по решению редакционно-издательского совета
ФГОУ СПО «Поволжский государственный колледж».
Рецензенты:
Осоргин А.Е.
AnyLogic
6.
Лабораторный практикум/ А.Е.Осоргин. – Самара: ПГК, 2011.
Курс лабораторно-практических работ предназначен для студентов, изучающих дисциплину «Компьютерное моделирование» с использованием программы AnyLogic. Данный курс также может быть полезен преподавателям и аспирантам, желающим повысить свой профессиональный уровень в области имитационного моделирования.
Материал курса изложен в доступной форме, снабжен большим количеством иллюстраций и заданий для самоподготовки. Все лабораторные работы проверены автором на выполнимость и могут быть использован для самостоятельного освоения мощного инструмента имитационного моделирования – AnyLogic.
© ФГОУ СПО «ПГК», 2011
© Осоргин А.Е., 2011

3
ОГЛАВЛЕНИЕ
Стр.
Введение
5
Благодарности
5
Задание 1. Первая модель на AnyLogic
6 1.1. Интерфейс программы
6 1.2. Режим выполнения модели 12 1.3. Контрольные вопросы 16
Задание 2. Доработка модели Balls
17 2.1. Изменение цвета мяча при отскоке 17 2.2. Модель с двумя мячами 19 2.3. Произвольные перемещения мяча 20 2.4. Контрольные задания 22
Задание 3. Построение модели сердца 24 3.1. Постановка задачи 24 3.2. Создание нового проекта 25 3.3. Построение модели 25 3.4. Запуск модели 28 3.5. Графики и диаграммы 29 3.6. Презентация модели 31 3.7. Контрольные вопросы 35
Задание 4. Дискретно-событийная модель счетчика 36 4.1. Дискретная модель счетчика 37 4.2. Постановка задачи 37 4.3. Модель 37 4.4. Контрольные задания 42
Задания 5 – 6. Стейтчарты: модель пешеходного перехода 44 5.1. Описание проблемы 44 5.2. Построение модели 45 5.3. Презентация модели 48 5.4. Срабатывание перехода по сигналу 48 5.5. Срабатывание перехода по условию 51 5.6. Контрольные задания 52
Задание 7. Физический маятник 54 7.1. Содержательная постановка задачи 54 7.2. Концептуальная постановка задачи 55 7.3. Математическая постановка задачи 55 7.4. Описание модели 55 7.5. Презентация 56 7.6. Контрольные задания 57
Задание 8. Маятник с ограничителем 58 8.1. Описание проблемы 58 8.2. Описание модели 59 8.3. Презентация 61 8.4. Контрольные задания 62
Задание 9. Оптимизационная модель полета ядра 64 9.1. Содержательная постановка задачи 64 9.2. Концептуальная постановка задачи 64 9.3. Математическая постановка задачи 65

4 9.4. Описание модели 65 9.5. Запуск модели 69 9.6. Контрольные задания 70
Задания 10 – 11. Агентное моделирование: броуновское движение 72 10.1. Описание проблемы 72 10.2. Описание модели 73 10.3. Презентация 75 10.4. Изменение числа шаров 76 10.5. Изменение модели Billiard_Balls
77
Задание 12. Модель сегрегации Т.Шеллинга 85 12.1. Описание проблемы
85 12.2. Модель 86 12.3. Контрольные задания 90
Задания 13 – 14. Enterprise Library: моделирование транспортных систем 92 13.1. Постановка задачи 92 13.2. Модель 93 13.3. Перекресток 94 13.4. Контрольные задания 98
Литература 100
Интернет-ресурсы 100

5
ВВЕДЕНИЕ
В настоящее время моделирование составляет неотъемлемую часть современной фундаментальной и прикладной науки. Поэтому при изучении данного курса представляется целесообразным использовать пакеты прикладных программ для математических и научных расчетов, ориентированных на широкие круги пользователей.
Одним из таких пакетов является AnyLogic, сочетающий в себе мощный инструмент объектно-ориентированного моделирования с интерфейсом визуального программирования.
Версия 6, на которой базируется данный практикум, существенно переработана, имеет более удобный и логичный интерфейс, значительно повышена устойчивость работы и улучшена диагностика ошибок. К сожалению, модели, разработанные в предыдущей 5 версии практически не совместимы с новой 6 версией AnyLogic, что и послужило одним из побудительных мотивов к написанию данного практикума.
В AnyLogic модели представляются визуально-иерархическими. Простой графический язык моделирования оперирует понятиями объектов и связей между ними. AnyLogic позволяет легко и быстро создавать агентные модели на профессиональном уровне, благодаря языковым конструкциям для задания поведения агентов, их взаимодействия, моделирования среды, а также богатейшим анимационным возможностям.
При разработке учебных моделей, не удается обойтись без написания некоторого объема программного кода. Доля программирования при построении учебных моделей составила менее 10% общих трудозатрат на разработку модели, что позволило студентам не тратить время на базовые функции, а сосредоточиться на логике имитационной модели.
Использование программы AnyLogic позволяет студенту за ограниченное количество учебных часов научиться строить достаточно сложные и интересные компьютерные модели и в конечном итоге глубже изучить курс компьютерного моделирования.
БЛАГОДАРНОСТИ
При написании практикума автор использовал идеи некоторых моделей и их описания, изложенные в книге Юрия Карпова «Имитационное моделирование систем. Введение в моделирование с AnyLogic 5», а также документацию к AnyLogic 6, разработанную сотрудниками фирмы XJ Technologies. Автор приносит искреннюю благодарность за предоставленные материалы и возможности.

6
ЗАДАНИЕ 1
ПЕРВАЯ МОДЕЛЬ НА ANYLOGIC
ЦЕЛИ ЗАНЯТИЯ
ƒ
знакомство с программой AnyLogic на примере модели Balls,
ƒ
освоение интерфейса программы,
ƒ
ознакомление с технологией имитационного моделирования, реализованной в программе AnyLogic.
ФОРМА ОРГАНИЗАЦИИ ЗАНЯТИЯ
Фронтальная.
СТУДЕНТ ДОЛЖЕН ЗНАТЬ
ƒ
понятия: модель, имитационное моделирование,
ƒ
основы одного из алгоритмических языков: Java, Pascal или Basic,
СТУДЕНТ ДОЛЖЕН УМЕТЬ
ƒ
пользоваться операционной системой Windows,
ƒ
ориентироваться в многооконном интерфейсе прикладных программ.
ОБЕСПЕЧЕННОСТЬ
ƒ
компьютер с установленной программой AnyLogic версии 6,
ƒ
модель Balls,
ƒ
настоящий курс лабораторно-практических работ.
ПРАКТИЧЕСКОЕ ЗАДАНИЕ
1.1. ИНТЕРФЕЙС ПРОГРАММЫ
Когда Вы первый раз запустите AnyLogic, Вы увидите начальную страницу. Начальная страница содержит краткое описание основных возможностей программы, ссылки на примеры моделей, поставляемые вместе с AnyLogic, а также ссылки на веб-сайт компании XJ technologies (разработчика этого программного продукта) и на форму обратной связи с компанией.
Чтобы закрыть начальную страницу, щелкните мышью по кнопке ("X") в панели заголовка начальной страницы.
С помощью кнопки Открыть модель панели инструментов или команды Файл /
Открыть в главном меню выберите файл Balls. Это несложная модель прыгающего мяча.
На экране Вы увидите следующее окно - рис. 1.1.
AnyLogic при открытии проекта открывает несколько панелей: проекты, диаграмма, палитра, ошибки и свойства. Рисунок 1.1 показывает основные составляющие

7
пользовательского интерфейса. Рассмотрим их поочередно.
Панель Проекты обеспечивает навигацию по элементам открытых моделей. Поскольку модель организована иерархически, то она отображается в виде дерева: сама модель образует верхний уровень дерева; классы активных объектов и эксперименты образуют следующий уровень и т.д.
Панель Проекты по умолчанию прикреплена к левой части рабочей области AnyLogic.
Полужирным шрифтом в дереве выделяется тот элемент, редактор которого активен в текущий момент.
Если Вы внесете в модель какие-то изменения и не сохраните их, то такая модель будет сразу же выделена в дереве - к имени модели будет добавлена звездочка (*).
Вы можете разворачивать и сворачивать ветви дерева элементов модели с помощью кнопок + и -.
У каждого класса активного объекта и эксперимента есть своя диаграмма, которая редактируется в графическом редакторе.
На диаграммах Вы можете:
• Нарисовать презентацию с помощью фигур и элементов управления.
• Задать поведение активного объекта с помощью событий и диаграмм действий.
• Задать структуру класса, добавив вложенные объекты.
• Добавить на презентацию визуализирующие графики, диаграммы.
Панель Палитра содержит элементы, которые могут быть добавлены на диаграмму класса активного объекта или эксперимента.
По умолчанию она прикреплена к правому краю окна приложения.
Панель Палитры состоит из нескольких вкладок (палитр), каждая из которых содержит элементы, относящиеся к определенной задаче:
Основная содержит основные элементы, с помощью которых Вы можете задать динамику модели, ее структуру и данные.
Системная динамика содержит: элементы диаграммы потоков и накопителей, а также параметр, соединитель и табличную функцию.
Диаграмма состояний содержит блоки диаграмм, позволяющих графически задавать поведение объекта.
Диаграмма действий содержит блоки структурированных блок-схем, позволяющих задавать алгоритмы визуально.
Статистика содержит элементы, используемые для сбора, анализа и отображения результатов моделирования.
Презентация содержит элементы для рисования презентаций: примитивные фигуры, а также элементы управления, для придания презентации интерактивности.
Внешние данные содержит инструменты для работы с базами данных и текстовыми файлами.
Картинки содержит набор картинок наиболее часто моделируемых объектов:

8 человек, грузовик, фура, погрузчик, склад, завод и т. д.
Панель Свойства используется для просмотра и изменения свойств выбранного в данный момент элемента модели.
Панель Свойства содержит несколько вкладок. Каждая вкладка содержит элементы управления, такие как поля ввода, флажки, переключатели, кнопки и т.д., с помощью которых Вы можете просматривать и изменять свойства элементов модели. Число вкладок и их внешний вид зависит от типа выбранного элемента.
Вы можете, как Вам угодно перемещать панели в пределах окна AnyLogic. Для восстановления принятых по умолчанию настроек расположения панелей нужно в главном меню вызвать Окно / Восстановить расположение панелей.
Рис. 1.1
На этапе компиляции модели AnyLogic производит проверку синтаксиса диаграмм, типов и параметров. Все обнаруженные на этапе компиляции и построения модели ошибки отображаются в панели Ошибки. Для каждой ошибки показывается ее описание и местоположение - имя элемента модели, при задании которого эта ошибка была допущена.
Активный объект является основным структурным элементом модели в AnyLogic.
Активным объектом называется сущность, которая включает в себя данные, функции и
Панель проектов
Панель палитры
Диаграмма класса активного объекта
Панель свойств
Панель ошибок

9
поведение как единое целое. Активный объект строится как класс, который может включать в качестве составных элементов экземпляры других классов активных объектов.
Наш проект
Balls включает два класса активных объектов: класс
Ball и класс
Root
. На дереве проекта (рис. 1.2) как составные элементы класса
Ball показаны
Параметры,
Динамические переменные и
Диаграммы состояний
, у класса
Root составными его элементами показаны
Вложенные объекты и
Презентация
Одна из ветвей в дереве проекта имеет название
Simulation
, это эксперимент, который может быть выполнен с моделью. С помощью экспериментов задаются конфигурационные настройки модели.
AnyLogic поддерживает несколько типов экспериментов, каждый из которых соответствует своей задаче моделирования. AnyLogic поддерживает следующие типы экспериментов:
• Простой эксперимент
• Варьирование параметров
• Оптимизация
• Сравнение "прогонов"
• Монте-Карло
• Анализ чувствительности
• Калибровка
• Нестандартный
Эксперименты: Сравнение "прогонов", Монте-
Карло, Анализ чувствительности, Калибровка и
Нестандартный доступны только в AnyLogic
Professional.
Рис. 1.2
1.1.1. ДИАГРАММА КЛАССА АКТИВНОГО ОБЪЕКТА
В нашей модели диаграмма класса активного объекта – мяча задается в окне с именем Ball, в котором содержатся его переменные (координаты мяча х
, у
и его скорости
Vx и

), параметры (
g, r, k, x0
и y0
) и диаграмма состояний с именем statechart
(рис. 1.3).
AnyLogic отображает получившиеся зависимости между переменными с помощью тонких голубых стрелок.
Рис. 1.3
Стрелка, направленная от переменной
Vx к переменной x
означает, что переменная

10
Vx упоминается в формуле переменной x
. Стрелки зависимостей рисуются автоматически, всегда синхронизированы с формулами переменных и автоматически появляются или исчезают на диаграмме, как только переменная появится в формуле или будет исключена.
Для улучшения наглядности можно редактировать внешний вид стрелок зависимостей, а именно изменять их цвет и радиус закругления.
Структура корневого активного объекта
Root задана в окне с именем Root. В модели (рис.
1.1) активный объект
Root содержит иконку с именем ball
– один экземпляр активного объекта
Ball и анимацию.
1.1.2. ПАНЕЛЬ СВОЙСТВ ОБЪЕКТОВ МОДЕЛИ
Каждый элемент модели обладает теми или иными свойствами или параметрами. При выделении какого-либо элемента в панели Проекта или Диаграммы внизу появляется окно свойств именно этого выделенного элемента. Окно Свойства (рис. 1.4) используется для просмотра и изменения свойств элементов.
Рис. 1.4
Например, при выборе параметра g
в окне редактора диаграммы объекта
Ball внизу в панели свойств появятся 4 вкладки: Общие, Массив, Редактор и Описание. На вкладке
Общие кроме имени этого объекта указаны его параметры: тип (
double
), значение по умолчанию (
9.81
) и отмечено, что следует показывать этот параметр на презентации и отображать его имя на диаграмме объекта
Ball
1.1.3. ПОВЕДЕНИЕ АКТИВНОГО ОБЪЕКТА
Поведение мяча представлено в стейтчарте, рис. 1.3, который состоит из Начала диаграммы состояний, одного состояния с именем
Movement и одного перехода. Переход срабатывает при выполнении условия касания поверхности земли при движении мяча вниз, которое можно записать выражением: у <= r && Vy < 0
Когда вертикальная координата у
центра мяча с радиусом r
будет отстоять от поверхности на r
и при этом скорость мяча
Vy будет направлена вниз, переход стейтчарта сработает.

11
Это выражение записано в поле При выполнении условия окна свойств перехода (рис.
1.5). При выполнении данного условия мяч отскакивает, то есть его скорость меняет свой знак на противоположный и уменьшается на долю k
, моделирующую потерю энергии при отскоке. Это отражено в поле Действие окна свойств перехода.
Именно так, стейтчарты следят за событиями. При наступлении нужного события выполняется необходимое действие. И условие наступления события, и само действие, меняющее переменные модели, записываются операторами языка Ява.
Рис. 1.5
1.1.4. ПРЕЗЕНТАЦИЯ
В нашей модели строится двумерное динамическое представление, которое показывает, что происходит с моделью с течением времени. Для модели
Balls в диаграмме
Root построено изображение мяча в виде закрашенной окружности.
Презентация позволяет более наглядно представить динамику моделируемой системы, т. е. поведение ее во времени. Для презентации геометрических фигур, например окружности, их параметры – координаты, радиус, цвет и т. п., связываются с переменными и параметрами модели.
Изменение переменных модели во времени приводит к изме- нению во времени внешнего вида геометрических фигур, что позволяет наглядно представить динамику моделируемой системы.
Рис. 1.6
На рис. 1.6 показано, что в окне свойств зеленого круга координаты
Х
и
Y
его центра и

12 радиус r
имеют динамические значения, которые связаны с переменными х
, у
и r
экземпляра ball класса активного объекта
Ball
. Таким образом, изменение данных переменных будет вызывать перемещение центра и изменение радиуса окружности, моделирующей мяч, при работе модели.
Щелкните мышью на различных анимационных объектах в панели диаграммы
Root
. Вы увидите, что для различных элементов модели окно свойств содержит различные параметры, характеризующие именно данный элемент. Например, щелкните мышью в презентации на слайдере. В окне свойств на вкладке Основные будет представлена информация о связи слайдера с конкретным параметром модели и геометрическими параметрами самого слайдера.
Обратите внимание, что в качестве координаты Y мы взяли значение переменной y
со знаком минус и смещением 500 единиц. Это сделано потому, что ось Y на презентации направлена вниз, а не вверх, и знак минус позволяет нам перевернуть ось Y и опустить ее до нужного уровня.
Итак, модель
Balls построена и готова к запуску.
1.2. РЕЖИМ ВЫПОЛНЕНИЯ МОДЕЛИ
При запуске модели можно выполнять различные эксперименты с моделью. Рассмотрим основные средства управления экспериментом.
1.2.1. ЗАПУСК МОДЕЛИ
Запуск модели производится кнопкой Запустить на панели инструментов. При запуске эксперимента
AnyLogic автоматически производит построение запускаемой модели.
Поэтому в случае обнаружения ошибки
Вам будет показано сообщение об ошибке, а более подробная информация будет выведена в панель
Консоль.
Рис. 1.7
При отсутствии ошибок откроется окно презентации эксперимента, рис. 1.7., которое содержит кнопку
  1   2   3   4   5   6   7   8   9   10


написать администратору сайта