Моделирование в среде AnyLogic

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,01 Мб
  • Опубликовано:
    2014-05-01
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Моделирование в среде AnyLogic

Содержание

Введение

1. Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic

1.1 Средства AnyLogic для имитационного моделирования систем

1.2 Средства описания поведения объектов

1.3 Анимация поведения модели

1.4 Пользовательский интерфейс

1.5 Основные элементы построения модели

2. Реализация модели системы обработки информации в среде компьютерного моделирования AnyLogic

Заключение

Список используемой литературы

Введение


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

Отличительная черта моделирования - выделение основных свойств системы, интересующих разработчиков и исследователей, и их оценка (качественная и количественная) с учетом варьируемых поправок и ограничений. Именно это обстоятельство делает моделирование основным и необходимым этапом в разработке любых систем и изучении процессов и явлений реального мира.

Любая модель может быть формализована и изучена с помощью того или иного математического аппарата или метода. С появлением ЭВМ математические модели стали применяться практически во всех задачах моделирования, но появилась и альтернатива - имитационное моделирование, позволяющее на основе исходных заданных характеристик системы имитировать ее поведение во времени и получать необходимые характеристики.

Имитационное моделирование дает наилучшие по точности результаты если моделируемая система имеет неопределенный или вероятностный характер, поскольку просчитать математически все возможные варианты поведения системы задача крайне трудоемкая или невыполнимая, а использование в расчетах средних значений дает крайне неточные результаты. Системы массового обслуживания - одни из примеров систем вероятностного (стохастического) характера, поэтому применение имитационного моделирования к анализу этих систем дет наилучшие результаты и вместе с тем малые затраты времени, средств и машинных ресурсов.

компьютерное моделирование имитационное анимация

1. Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic


Моделирование - метод решения задач, при использовании которого исследуемая система заменяется более простым объектом, описывающим реальную систему и называемым моделью. Моделирование применяется в случаях, когда проведение экспериментов над реальной системой невозможно или нецелесообразно, например, из-за высокой стоимости или длительности проведения эксперимента в реальном масштабе времени.

Имитационная модель - это компьютерная программа, которая описывает структуру и воспроизводит поведение реальной системы во времени. Имитационная модель позволяет получать подробную статистику о различных аспектах функционирования системы в зависимости от входных данных. Имитационное моделирование - разработка компьютерных моделей и постановка экспериментов на них. Целью моделирования в конечном счете является принятие обоснованных, целесообразных управленческих решений. Компьютерное моделирование становится сегодня обязательным этапом в принятии ответственных решений во всех областях деятельности человека в связи с усложнением систем, в которых человек должен действовать и которыми он должен управлять. Знание принципов и возможностей имитационного моделирования, умение создавать и применять модели являются необходимыми требованиями к инженеру, менеджеру, бизнес-аналитику.

Современные системы моделирования поддерживают весь арсенал новейших информационных технологий, включая развитые графические оболочки для целей конструирования моделей и интерпретации выходных результатов моделирования, мультимедийные средства, анимацию в реальном масштабе времени, объектно-ориентированное программирование, Internet - решения и др. В данном пособии описываются методы и приемы построения моделей с помощью инструментальной системы AnyLogic.

Пакет AnyLogic - отечественный профессиональный инструмент нового поколения, который предназначен для разработки и исследования имитацион-ных моделей. Разработчик продукта - компания "Экс Джей Текнолоджис" (XJ Technologies), г. Санкт-Петербург.был разработан на основе новых идей в области информационных технологий, теории параллельных взаимодействующих процессов и теории гибридных систем. Благодаря этим идеям чрезвычайно упрощается построение сложных имитационных моделей, имеется возможность использования одного инструмента при изучении различных стилей моделирования.

Программный инструмент AnyLogic основан на объектно-ориентированной концепции. Другой базовой концепцией является представление модели как набора взаимодействующих, параллельно функционирующих активностей. Активный объект в AnyLogic - это объект со своим собственным функционированием, взаимодействующий с окружением. Он может включать в себя любое количество экземпляров других активных объектов. Графическая среда моделирования поддерживает проектирование, разработку, документирование модели, выполнение компьютерных экспериментов, оптимизацию параметров относительно некоторого критерия.

При разработке модели можно использовать элементы визуальной графики: диаграммы состояний (стейтчарты), сигналы, события (таймеры), порты и т.д.; синхронное и асинхронное планирование событий; библиотеки активных объектов.

Удобный интерфейс и многочисленные средства поддержки разработки моделей в AnyLogic делают не только использование, но и создание компьютерных имитационных моделей в этой среде моделирования доступными даже для начинающих. При разработке модели на AnyLogic можно использовать концепции и средства из нескольких классических областей имитационного моделирования: динамических систем, дискретно-событийного моделирования, системной динамики, агентного моделирования. Кроме того, AnyLogic позволяет интегрировать различные подходы с целью получить более полную картину взаимодействия сложных процессов различной природы. В данном пособии описываются три имитационные модели: дискретно-событийная, системно-динамическая и агентная. Для каждой модели приводится подробная постановка проблемы, разбирается структура модели, описывается процесс построения модели в среде AnyLogic и изучается ее поведение.

1.1 Средства AnyLogic для имитационного моделирования систем


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

Активные объекты могут содержать вложенные объекты, причем уровень вложенности не ограничен. Это позволяет производить декомпозицию модели на любое количество уровней детализации.

Активные объекты имеют четко определенные интерфейсы взаимодействия. Они взаимодействуют со своим окружением только посредством своих интерфейсных элементов. Это облегчает создание систем со сложной структурой, а также делает активные объекты повторно используемыми. Создав класс активного объекта, можно создать любое количество объектов - экземпляров данного класса. Каждый активный объект имеет структуру (совокупность включенных в него активных объектов и их связи), а также поведение, определяемое совокупностью переменных, параметров, стейтчартов и т.п. Каждый экземпляр активного объекта в работающей модели имеет свое собственное поведение, он может иметь свои значения параметров, функционирует независимо от других объектов, взаимодействуя с ними и с внешней средой. Визуальная разработка модели. При построении модели используются средства визуальной разработки (введения состояний и переходов стейтчарта, введения пиктограмм переменных и т.п.), задания численных значений параметров, аналитических записей соотношений переменных и аналитических записей условий наступления событий. Основной технологией программирования в AnyLogic является визуальное программирование - построение с помощью графических объектов и пиктограмм иерархий структуры и поведения активных объектов.является надстройкой над языком Java - одним из самых мощных и в то же время самых простых современных объектно-ориентированных языков. Все объекты, определенные пользователем при разработке модели с помощью графического редактора, компилируются в конструкции языка Java, а затем происходит компиляция всей собранной программы на Java, задающей модель, в исполняемый код. Хотя программирование сведено к минимуму, разработчику модели необходимо иметь некоторое представление об этом языке (например, знать синтаксически правильные конструкции).

1.2 Средства описания поведения объектов


Основными средствами описания поведения объектов являются переменные, события и диаграммы состояний. Переменные отражают изменяющиеся характеристики объекта. События могут наступать с заданным интервалом времени и выполнять заданное действие. Диаграммы состояний (или стейтчарты) позволяют визуально представить поведение объекта во времени под воздействием событий или условий, они состоят из графического изображения состояний и переходов между ними (т.е. по сути это конечный автомат). Любая сложная логика поведения объектов модели может быть выражена с помощью комбинации стейтчартов, дифференциальных и алгебраических уравнений, переменных, таймеров и программного кода на Java. Алгебраические и дифференциальные уравнения записываются аналитически. Интерпретация любого числа параллельно протекающих процессов в модели AnyLogic скрыта от пользователя.

1.3 Анимация поведения модели

имеет удобные средства представления функционирования моделируемой системы в живой форме динамической анимации, что позволяет "увидеть" поведение сложной системы. Визуализация процесса функционирования моделируемой системы позволяет проверить адекватность модели, выявить ошибки при задании логики. Средства анимации позволяют пользователю легко создавать виртуальный мир (совокупность графических образов, ожившую мнемосхему), управляемый динамическими параметрами модели по законам, определенным пользователем с помощью уравнений и логики моделируемых объектов. Графические элементы, добавленные на анимацию, называются динамическими, поскольку все их параметры: видимость, цвет и т.п. - можно сделать зависимыми от переменных и параметров модели, которые меняются со временем при выполнении модели.

1.4 Пользовательский интерфейс


После запуска AnyLogic открывается рабочее окно, в котором для продолжения работы надо создать новый проект или открыть уже существующий.

Окно проекта обеспечивает легкую навигацию по элементам проекта, таким как пакеты, классы и т.д. Поскольку проект организован иерархически, то он отображается в виде дерева: сам проект образует верхний уровень дерева рабочего проекта, пакеты - следующий уровень, классы активных объектов и сообщений - следующий и т.д. Можно копировать, перемещать и удалять любые элементы дерева объектов, легко управляя рабочим проектом.

Рисунок 1 - Окно проекта.

В редакторе AnyLogic для каждого выделенного элемента модели существует свое окно свойств, в котором указываются свойства (параметры) этого элемента. При выделении какого-либо элемента в окне редактора снизу появляется окно свойств, показывающее параметры данного выделенного элемента. Окно свойств содержит несколько вкладок. Каждая вкладка содержит элементы управления, такие как поля ввода, флажки, переключатели, кнопки и т.д., с помощью которых можно просматривать и изменять свойства элементов модели. Число вкладок и их внешний вид зависит от типа выбранного элемента.

Рисунок 2 - Окно свойств.

Окно палитры содержит элементы (графические объекты), которые могут быть добавлены на структурную диаграмму. Элементы разбиты по группам, отображаемым на разных вкладках. Чтобы добавить объект палитры на диаграмму, щелкните сначала по элементу в палитре, а затем щелкните по диаграмме.

Активный объект может содержать переменные. Переменные могут быть либо внутренними, либо интерфейсными. Активный объект может иметь переменные, моделирующие, меняющиеся во времени величины. Переменные могут быть вынесены в интерфейс активного объекта и связаны с переменными других активных объектов. Тогда при изменении значения одной переменной будет немедленно меняться и значение связанной с ней зависимой переменной другого объекта. Этот механизм обеспечивает непрерывное и/или дискретное взаимодействие объектов.

Запускать и отлаживать модель можно с помощью меню Модель и панели инструментов:

Рисунок 3 - Панель инструментов.

1.5 Основные элементы построения модели


Для выполнения данной курсовой работы нам понадобятся такие элементы библиотек Enterprise Library, как:

 Source. Создает заявки. Обычно используется в качестве начальной точки потока заявок. Заявки могут быть либо базового для заявок класса Entity <#"722577.files/image005.gif"> SelectOutput. Объект направляет входящие заявки в один из двух выходных портов в зависимости от выполнения заданного (детерминистического или заданного с помощью вероятностей) условия. Условие может зависеть как от заявки, так и от каких-то внешних факторов. Поступившая заявка покидает объект в тот же момент времени;

Delay. Задерживает заявки на заданный период времени. Время задержки вычисляется динамически, может быть случайным, зависеть от текущей заявки или от каких-то других условий. Это время может, в частности, вычисляться как длина фигуры, заданной в качестве фигуры анимации этого объекта, поделенной на "скорость" заявки. Одновременно могут быть задержаны сразу несколько заявок (не более заданной вместимости объекта capacity);

Sink. Уничтожает поступившие заявки. Обычно используется в качестве конечной точки потока заявок. Для того, чтобы заявки удалялись из модели и уничтожались, нужно соединить выходной порт последнего блока процессной диаграммы с портом объекта Sink или Exit <#"722577.files/image008.gif"> NetworkEnter. Используется при моделировании транспортных сетей <#"722577.files/image009.gif"> NetworkMoveTo. Используется при моделировании транспортных сетей <#"722577.files/image010.gif">NetworkExit. Используется при моделировании транспортных сетей <#"722577.files/image011.gif"> Network. Используется при моделировании транспортных сетей <#"722577.files/image012.gif"> Queue. Моделирует очередь заявок, ожидающих приема объектами, следующими за данным в потоковой диаграмме, или же хранилище заявок общего назначения.

2. Реализация модели системы обработки информации в среде компьютерного моделирования AnyLogic


Система обработки информации содержит мультиплексный канал и три миниЭВМ. Сигналы от датчиков поступают на вход канала через интервалы времени 10±5 мкс. В канале они буферизуются и предварительно обрабатываются в течение 10±3 мкс. Затем они поступают на обработку в ту миниЭВМ, где имеется наименьшая по длине входная очередь. Емкости входных накопителей во всех миниЭВМ рассчитаны на хранение величин 10 сигналов. Время обработки сигнала в любой миниЭВМ равно 33 мкс.

Смоделировать процесс обработки 500 сигналов, поступающих с датчиков. Определить средние времена задержки сигналов в канале и миниЭВМ и вероятности переполнения входных накопителей. Обеспечить ускорение обработки сигнала в ЭВМ до 25 мкс при достижении суммарной очереди сигналов значения 25 единиц.

Для начала создадим визуальную модель системы обработки информации. Для этого воспользуемся вкладкой презентация, в которой воспользуемся элементом rectangle (прямоугольник) и polyline (ломаная). В результате чего получим:

Рисунок 4 - Внешний вид системы обработки информации.

Первый прямоугольник отвечает за поставку сигналов на канал. Второй прямоугольник отвечает за буферизацию сигналов в канале. Следующие три прямоугольника - это ЭВМ, обрабатывающие сигналы. И последний прямоугольник служит для выхода сигналов из системы.

После создания структуры системы обработки ее элементы необходимо объединить в группу. Для этого необходимо выделить все фигуры, входящие в группу и нажать правый клик мыши и выбрать группировку.

Рисунок 5 - Группировка элементов системы обработки.

Теперь, соответственно приступим к реализации алгоритма работы и её визуализации.

Для визуализации сигнала будем использовать встроенное изображение "message" из библиотеки "Картинки”.

Рисунок 6 - Изображение сигнала.

Для создания новых заявок будем использовать элемент "sourse”.

Рисунок 7 - Реализация генерации сигналов.

Теперь необходимо задать параметры генерации. В условии данной задачи сказано, что сигналы от датчиков поступают на вход канала через интервалы времени 10±5 мкс, также по заданию необходимо смоделировать процесс обработки 500 сигналов. Для этого установим в основных свойствах объектов:

Рисунок 8 - Задание свойств генерации сигналов.

Теперь для дальнейшей реализации построения конвейера необходимо добавить элемент network, в котором указать в основных свойствах группу, на которой будет осуществляться визуализация.


Рисунок 9 - Установка свойств элемента network.

Далее необходимо, чтобы фигуры анимации появлялись в зоне первого прямоугольника и принадлежали данной сети network. Для этого к элементу sourse присоединим элемент networkEnter, содержащийся в основной библиотеке.

Рисунок 10 - Генерация и ввод в сеть сигналов.


Рисунок 11 - Указание пункта прибытия деталей

Далее заявки должны ожидать в течение заданного времени в буфере канала, для этого используем элементы "queue" и "delay”.

Рисунок 12 - Реализация буфера.

По условию в канале сигналы буферизуются и предварительно обрабатываются в течение 10±3 мкс, для этого выставим параметры элемента delay:

Рисунок 13 - Параметры буфера канала.

Далее необходимо определить наименьшую очередь в накопителях ЭВМ, для этого воспользуемся двумя элементами "selectOutput”

Рисунок 14 - разветвление канала на 3 ЭВМ.

Рисунок 15 - Параметры первого элемента selectOutput.

Рисунок 16 - Параметры второго элемента selectOutput.

Согласно условию, далее сигнал поступает на ЭВМ. Для задания направления используем три элемента networkMoveTo.

Рисунок 17 - Обеспечение перемещения сигналов на ЭВМ.

По условию, емкости входных накопителей во всех миниЭВМ рассчитаны на хранение величин 10 сигналов. Время обработки сигнала в любой миниЭВМ равно 33 мкс. Снова будем использовать блок, состоящий из двух элементов: queue и delay.

Рисунок 18 - Реализация обработки сигналов на различных ЭВМ.

Так как по условию должно обеспечиваться ускорение обработки сигнала в ЭВМ до 25 мкс при достижении суммарной очереди сигналов значения 25 единиц, за значение задержки будем принимать переменный параметр t, который будет меняться благодаря функции f.

Рисунок 19 - Параметры обработки сигналов.

Рисунок 20 - Функция для изменения времени обработки и ее тело.

Далее добавим еще один элемент networkMoveTo для передвижения сигналов к выходу из системы, элемент networkExit для реализации извлечения элемента из сети и элемент sink для уничтожения заявок (сигналов).

Теперь посмотрим результат реализации части модели, в которой происходит генерация сигналов и поступление их на ЭВМ с последующей обработкой.

Рисунок 21 - Реализация и визуализация поступления сигналов с сопутствующим процессом обработки.

Для наглядности и анализа текущего состояния системы на презентацию добавим несколько параметров, отражающих значения накопителей ЭВМ и буфера канала.

Рисунок 22 - Отражение значений буфера и накопителей.

Значения параметра "буфер_канала” определяются в элементе "queue”:

Рисунок 23 - Определение количества заявок в буфере в текущий момент времени.

Значения параметров накопителей определяются в элементах queue1, queue2 и queue3 соответственно:

Рисунок 24 - Определение количества заявок в накопителе в текущий момент времени.

По условию задания помимо реализации системы обработки необходимо определить средние времена задержки сигналов в канале и миниЭВМ и вероятности переполнения входных накопителей. Для вычисления этих величин введем следующие параметры:

Рисунок 25 - Параметры для вычисления значений.

Каждый из этих параметров будет показывать значения для отдельной ЭВМ соответственно. Кроме величин, заданных в условии задачи, вычислим среднее время обработки сигналов каждой из ЭВМ (ради интереса). Чтобы упростить процесс вычисления, введем еще несколько вспомогательных переменных:

Рисунок 26 - Вспомогательные переменные.

Итак, для нахождения величин, необходимо задать следующие действия для элементов queue1, queue2 и queue3 соответственно:

Рисунок 26 - Нахождение величин.

Для наглядности приведем несколько графиков со значениями найденных параметров:

Рисунок 27 - График среднего времени задержки в накопителях.

Рисунок 28 - График среднего времени обработки сигналов.

Мы не станем приводить график значений вероятности переполнения накопителей ЭВМ, так как с учетом параметров построенной модели переполнение накопителей исключается, и эти вероятности равны нулю.

В результате всех вышеописанных действий, мы имеем законченную модель обработки информации с параметрами, отражающими количество заявок в буфере канала и накопителях, среднее время обработки сигналов, среднее время задержки в накопителях и вероятности переполнения для каждой из ЭВМ.

Рисунок 29 - Итоговый вид модели обработки информации.

Заключение


В данном курсовом проекте использовался подход сетевого моделирования для разработки модели системы обработки информации.

Сетевое моделирование - логическая модель, используемая как метод планирования и управления в условиях неопределенности. Сетевое моделирование весьма эффективно на всех этапах разработки решений: в ходе поиска оптимального варианта и контроля за реализацией решений.

Визуализация данного проекта была произведена по типу транспортной сети, в которой пути - это каналы, а точки генерации и обработки сигналов - это начальные и конечные пункты.

Благодаря гибкости и мощному арсеналу системы AnyLogic возможно моделирование сложных систем и сбор соответствующей информации о моделируемой системе, что позволяет примерно определить поведение системы в реальности. Но единственным минусом проектирования моделей является то, что при моделировании невозможно учесть все воздействия как внешние, так и внутренние на моделируемую систему. При реализации данной работы не учитывалась возможность появления неисправностей в системе. Так же не учитывался уровень сигналов. Но, несмотря на это, мы получили модель стечения событий, которая почти соотносится с истинной моделью.

В результате моделирования так же возможен сбор необходимой информации о моделируемой системе, что позволяет предсказывать рациональность или иррациональность проектируемой модели или выявить ошибки в проектировании системы.

Список используемой литературы


1.      К.Н. Мезенцев - Моделирование систем в среде AnyLogic <http://www.anylogic.ru/mezenczev>.

.        М.В. Киселёва - Имитационное моделирование систем в среде AnyLogic <http://www.anylogic.ru/upload/Books_ru/Kisileva_Simulation_Modeling_In_AnyLogic.pdf>.

.        Карпов Ю. - Имитационное моделирование систем. Введение в моделирование с AnyLogic.

Похожие работы на - Моделирование в среде AnyLogic

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!