Исходная задача. 6 страница
Встроенный язык Java. AnyLogic является надстройкой над языком Java – одним из самых мощных и в то же время простых современных объектно-ориентированных языков. Все объекты, определенные пользователем при разработке модели на AnyLogic с помощью его графического редактора, компилируются в конструкции языка Java, а затем происходит компиляция всей собранной программы на Java, задающей модель, в исполняемый код. В действительности пользователь никогда не разрабатывает полные программы, он не программирует, а лишь вставляет фрагменты кода в специально предусмотренные для этого поля окна Код и окон свойств объектов модели. Эти фрагменты выражают логику конкретных шагов или действий в модели. Выражения должно быть синтаксически правильной конструкцией Java, потому разработчик моделей AnyLogic должен иметь некоторое представление об этом языке.
3.6.3 Средства описания поведения объектов
Основным средством спецификации поведения объектов в AnyLogic являются переменные, таймеры и стейтчарты. Переменныеотражают изменяющиеся характеристики объекта. Таймерыможно взводить на определенный интервал времени и по окончании этого интервала выполнять заданное действие. Стейтчарты(карты состояния) позволяют визуально представить поведение объекта во времени под воздействием событий или условий, они состоят из графического изображения состояний и переходов между ними. Любая сложная логика поведения объектов модели в AnyLogic может быть выражена с помощью комбинации стейтчартов, дифференциальных и алгебраических уравнений, переменных, таймеров и программного кода на Java. Алгебраические и дифференциальные уравнения, как и логические выражения, записываются в AnyLogic аналитически.
Интерпретация любого числа параллельно протекающих процессов в модели AnyLogic скрыта от пользователя. Никаких календарей событий разработчик модели на AnyLogic не ведет, отслеживание событий во всех процессах, определенных в модели, выполняется системой автоматически.
Модельное и реальное время. Понятие модельного времени является базовым в системах имитационного моделирования. Модельное время– это условное логическое время, в единицах которого определено поведение всех объектов модели. В моделях AnyLogic модельное время может изменяться либо непрерывно, если поведение объектов описывается дифференциальными уравнениями, либо дискретно, переключаясь от момента наступления одного события к моменту наступления следующего события, если в модели присутствуют только дискретные события. Моменты наступления всех планируемых событий в дискретной модели исполнительная система хранит в так называемом календаре событий, выбирая оттуда наиболее раннее событие для выполнения связанных с ним действий. Значение текущего времени в моделях AnyLogic может быть получено обращением к функции getTime.
Единицу модельного времени разработчик модели может интерпретировать как любой отрезок времени: секунду, минуту, час или год. Важно только, чтобы все процессы, зависящие от времени, были выражены в одних и тех же единицах. При моделировании физических процессов все параметры и уравнения должны быть выражены в одной и той же системе физических величин.
Интерпретация модели выполняется на компьютере. Физическое время, затрачиваемое процессором на имитацию действий, которые должны выполняться в модели в течение одной единицы модельного времени, зависит от многих факторов. Поэтому единица физического и единица модельного времени не совпадают.
В AnyLogic приняты два режима выполнения моделей: режим виртуального времени и режим реального времени. В режиме виртуального временипроцессор работает с максимальной скоростью без привязки к физическому времени. Этот режим используется для факторного анализа модели, набора статистики, оптимизации параметров модели и т. п. Поскольку анимация и другие окна наблюдения за поведением модели обычно существенно замедляют скорость интерпретации модели на компьютере, для повышения скорости выполнения модели эти окна нужно закрыть.
В режиме реального временипользователь задает связь модельного времени с физическим временем, то есть устанавливается ограничение на скорость процессора при интерпретации модели. В этом режиме задается количество единиц модельного времени, которые должны интерпретироваться процессором в одну секунду. Обычно данный режим включается для того, чтобы визуально представить функционирование системы в реальном темпе наступления событий, проникнуть в суть процессов, происходящих в модели. Соотношение физического и модельного времени при работе модели в режиме реального времени можно понять на таком примере. При коэффициенте ускорения 4, если процессор успевает выполнить менее чем за 1 с все операции, которые в модели определены в течение четырех единиц модельного времени, он будет ждать до конца секунды. Если же процессор не успевает сделать это, то у него не будет интервала ожидания, и коэффициент ускорения будет меньше того, который установлен пользователем.
3.6.4 Анимация поведения и интерактивный анализ модели
Удобные средства разработки анимационного представления модели в AnyLogic позволяют представить функционирование моделируемой системы в живой форме динамической анимации, что позволяет «увидеть» поведение сложной системы. Средства анимации позволяют пользователю легко создать виртуальный мир (совокупность графических образов, ожившую мнемосхему и т.п.), управляемый динамическими параметрами модели по законам, определенным пользователем с помощью уравнений и логики моделируемых объектов. Визуальное представление поведения системы помогает пользователю проникнуть в суть процессов, происходящих в системе.
Многие системы моделирования позволяют менять параметры модели только до запуска модели на выполнение. AnyLogic позволяет пользователю вмешиваться в работу модели, изменяя параметры модели в процессе ее функционирования. Поэтому окно анимации можно назвать «стендом» для проведения компьютерного эксперимента с моделью.
Итак, мы видим, что система моделирования AnyLogic обеспечивает поддержку всех этапов имитационного моделирования для различных типов динамических моделей, рассмотренных нами в первой главе (п.1.6), – дискретных, непрерывных и гибридных, детерминированных и стохастических в любых их комбинациях в рамках одного инструмента. Создание модели, ее выполнение, оптимизация параметров, анализ полученных результатов, верификация модели – все эти этапы удобно выполнять в среде AnyLogic. Данный инструмент обладает большим спектром разнообразных возможностей проведения как отдельных прямых экспериментов типа «если-то», так и серий подобных экспериментов для решения всевозможных обратных задач, направленных на поиск параметров модели, оптимизирующих ее функционирование. Удобный интерфейс и различные средства поддержки разработки в AnyLogic делают не только использование, но и создание компьютерных имитационных моделей в этой среде моделирования доступными даже для тех, кто в области вычислительной техники и программирования не является профессионалом.
3.6.5 Примеры имитационного моделирования
Проиллюстрируем возможности имитационного моделирования с помощью системы AnyLogic на двух примерах.
Пример 1. Рассмотрим задачу моделирования учебного процесса, рассмотренную ранее в п. 3.2. Структурная модель системы в нотации системы Anylogic приведена на рисунке 3.9 и соответствует цепи Маркова на рисунке 3.1. Численные значения вероятностей переходов между состояниями и трудоемкостей отдельных процессов соответствуют принятым в п.3.2. При имитационном моделировании был организован поток из 1000 обучаемых и получены показатели, приведенные в таблице 3.1.
Таблица 3.1
Результаты имитационного моделирования
S1 | S2 | S3 | S4 | S5 | S6 | S7 | S8 | S9 | S10 |
Среднее число посещений каждого состояния | |||||||||
1,528 | 0,763 | 0,756 | 1,109 | 1,528 | 0,762 | 0,756 | 1,109 | 0,756 | 1,109 |
Среднее время пребывания в каждом состоянии, минут | |||||||||
91,68 | 9,144 | 9,072 | 66,54 | 67,68 | 4,092 | 4,884 | 4,332 | 4,332 |
.
Рис. 3.9. Карта состояний (StateShart)
моделируемой системы в нотации Anylogic
Средняя трудоемкость процесса обучения составила 267,15 минут, или 4 ч 27 мин. Мы видим, что эти результаты хорошо согласуются с результатами аналитического моделирования на основе цепей Маркова в разделе 3.2.
Пример 2 также связан с учебным процессом. На рисунке 3.10 приведена экранная форма имитационной модели процесса прохождения учебного курса группой обучаемых, состоящей из 20 человек.
Процесс обучения происходит следующим образом. Обучаемый поступает в систему и приступает к изучению курса, содержащего 8 модулей. После изучения каждого модуля он проходит тестирование, которое включает три тестовых задания. При неверном ответе процедура тестирования повторяется (без ограничения числа попыток). При завершении процедуры изучения и тестирования по материалу текущего модуля начинается изучение следующего модуля. После завершения изучения всех модулей обучаемый покидает систему.
В модели задаются вероятности успеха при тестировании, а также временные задержки на всех этапах обучения – индивидуально для каждого обучаемого. Ведется подсчет числа попыток при прохождении тестирования, а также общее время освоения курса каждым учащимся. Процесс моделирования начинается одновременно для всех обучаемых и продолжается до тех пор, пока последний из них не завершит процесс обучения и тестирования.
Рис. 3.10. Схема имитационной модели прохождения интерактивного курса, построенной с помощью системы Anylogic:
1 - Карта состояний (StateChart) системы,
2 – анимационная схема смены состояний обучаемых,
3 – временные диаграммы процессов (фрагмент)
Приведем численный пример.
Исходные данные:
количество обучаемых – 20,
количество одновременно изучающих модуль – 10,
количество одновременно проходящих тест – 1,
вероятность правильного написания теста – 0,7,
закон распределения времени изучения модуля и написания теста – треугольный.
Результаты моделирования:
среднее время изучения модуля: 4,16 часа,
среднее время написания теста: 1,61 часа.
В заключение отметим, что приведенные примеры иллюстрируют лишь малую долю моделирующих возможностей системы AnyLogic.
Дата добавления: 2015-09-07; просмотров: 1931;