ПО имитационного моделирования AnyLogic 6.5.1

Автор работы: Пользователь скрыл имя, 23 Декабря 2012 в 22:43, курсовая работа

Описание работы

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

Файлы: 1 файл

Документ Microsoft Office Word.docx

— 747.17 Кб (Скачать файл)

Если такие ошибки выявлены, то требуется корректировка модели, то есть возврат к одному из предыдущих этапов. Процесс повторяется до тех  пор, пока результаты эксперимента не будут отвечать целям моделирования.

3. Пример разработки модели системы массового обслуживания. Работа банковского отделения.

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

На первом этапе мы хотим  создать простейшую модель, в которой  будем рассматривать только обслуживание людей банкоматом.

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

Шаг 1. 

Создадим новую модель

  1. Щелкнем мышью по кнопке панели инструментов Создать . Появится диалоговое окно Новая модель.
  2. Зададим имя новой модели. В поле Имя модели введем Bank Office.

  1. Выберем каталог, в котором будут сохранены файлы модели. Если мы хотим сменить предложенный по умолчанию каталог на какой-то другой, мы можем ввести путь к нему в поле Местоположение или выбрать этот каталог с помощью диалога навигации по файловой системе, открывающегося по нажатию на кнопку Выбрать.
  2. Щелкнем мышью по кнопке Далее. Откроется вторая страница Мастера создания модели.
  3. Здесь нам будет предложено выбрать шаблон модели, на базе которого мы будем разрабатывать нашу модель. Поскольку мы хотим создать новую дискретно-событийную модель, установим флажок Использовать шаблон модели и выберем Дискретно-событийное моделирование в расположенном ниже списке.

  1. Щелкнем мышью по кнопке Далее. На следующей странице Мастера будет предложено выбрать, хотите ли сразу же добавить в создаваемую модель ресурсы, график, отображающий длину очереди к сервису, анимацию обслуживающихся и ожидающих обслуживания или гистограмму, отображающую распределение времени пребывания людей в моделируемой системе. Поскольку мы хотим лишь создать с помощью Мастера простейшую диаграмму процесса, а остальные шаги выполнять совместно по шагам, чтобы знать, как добавлять ресурсы, создавать анимацию модели и собирать статистику, то оставим флажок Использовать ресурсы сброшенным и закончим создание модели, щелкнув мышью по кнопке Готово.

Мы создали новую модель.

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

Изменение свойств  блоков диаграммы процесса

Свойства объекта (как и любого другого элемента AnyLogic) можно изменить в панели Свойства.

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

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

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

В нашем случае объект создает заявки через заданный временной интервал. Так что просто немного изменим  интенсивность прихода клиентов в наше банковское отделение.  

Измените свойства объекта queue

  1. Задайте максимальную длину очереди. Введите в поле Вместимость 15.  В очереди будут находиться не более 15 человек.
  2. Установите флажок  Включить сбор статистики, чтобы включить сбор статистики для этого объекта. В этом случае по ходу моделирования будет собираться статистика по количеству человек в очереди. Если же Вы не установите этот флажок, то данная функциональность будет недоступна, поскольку по умолчанию она отключена для повышения скорости выполнения модели.

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

Изменим свойства объекта delay

  1. Обслуживание одного клиента занимает примерно 1 минуту. Задайте время обслуживания, распределенное по треугольному закону со средним значением, равным 1, минимальным - равным 0.8 и максимальным - 1.3 минутам -  
    введите в поле Время задержки triangular(0.8, 1, 1.3) 
    Функция triangular() является стандартной функцией генератора случайных чисел AnyLogic. AnyLogic предоставляет функции и других случайных распределений, таких как нормальное, равномерное, треугольное, и т.д. Детальное описание всех функций вероятностных распределений дано здесь.
  2. Установите флажок  Включить сбор статистики.

 

Последним в диаграмме  нашего процесса следует объект Sink. Этот объект уничтожает поступившие заявки. Обычно он используется в качестве конечной точки потока заявок (и диаграммы процесса соответственно).

Настройка запуска  модели

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

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

Запуск модели

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

После того, как Вы исправите все  ошибки и успешно построите Вашу модель, Вы можете ее запустить.  

Запустите модель

  1. Щелкните мышью по кнопке панели инструментов Запустить  и выберите из открывшегося списка эксперимент, который Вы хотите запустить. Эксперимент этой модели будет называться Bank/Simulation.

 

 

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

Запустив модель, Вы увидите  окно презентации этой модели. В  нем будет отображена презентация  запущенного эксперимента. 
AnyLogic автоматически помещает на презентацию каждого простого эксперимента заголовок и кнопку, позволяющую запустить модель и перейти на презентацию, нарисованную Вами для главного класса активного объекта этого эксперимента (Main). 

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

Вы можете изменить скорость выполнения модели с помощью кнопок панели инструментов Замедлить и Ускорить.

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

Когда Вы захотите остановить выполнение модели, щелкните мышью по кнопке панели управления окна презентации Прекратить выполнение  .

Шаг 2.

Создание анимации модели

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

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

Анимация модели рисуется в той  же диаграмме (в графическом редакторе), в которой задается и диаграмма моделируемого процесса.

Нарисуйте круг, который  будет обозначать на анимации банкомат

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

  1. Палитра Презентация содержит элементы, используемые для рисования презентаций моделей: примитивные фигуры, с помощью которых Вы можете рисовать сложные презентации, а также элементы управления, с помощью которых Вы можете сделать Ваши презентации интерактивными.

  1. Перетащите элемент Овал  из палитры Презентация на диаграмму класса активного объекта.     Поместите его, как показано на рисунке ниже:

 

  1. Давайте сделаем так, что цвет этого кружка будет меняться в зависимости от того, обслуживает ли банкомат в данный момент времени клиента или нет. Для этого выделите нарисованную нами фигуру на диаграмме и перейдите на страницу Динамические панели свойств. Здесь Вы увидите список полей, в которых задаются значения динамических свойств фигуры.  
    Если Вам нужно, чтобы по ходу моделирования то или иное свойство фигуры меняло свое значение в зависимости от каких-то условий, то Вы можете ввести в поле соответствующего динамического свойства выражение, которое будет постоянно вычисляться заново при выполнении модели, и возвращаемый результат этого вычисления будет присваиваться текущему значению этого свойства. Мы с Вами хотим, чтобы во время моделирования менялся цвет нашей фигуры - поэтому перейдите в поле Цвет заливки и введите там следующую строку:  
    delay.size() > 0 ? red : white

Здесь delay – это имя нашего объекта Delay. Функция size() возвращает число человек, обслуживаемых в данный момент времени. Если банкомат занят, то цвет кружка будет красным, в противном случае - зеленым.  

Нарисуйте ломаную, которая  будет обозначать на анимации очередь  к банкомату

Информация о работе ПО имитационного моделирования AnyLogic 6.5.1