Файл: Лабораторная работа 1 Знакомство с ведущим инструментом имитационного моделирования AnyLogic Цель работы.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.01.2024

Просмотров: 389

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Добавление 3D анимации

Первым делом нам будет нужно добавить на диаграмму типа агента 3D Окно.

3D Окно используется для задания на диаграмме агента области, в которой во время запуска модели будет отображаться трехмерная анимация этой модели.

Добавьте 3D окно

  1. Перетащите элемент 3D Окно из секции 3D палитры Презентация в графический редактор.

  2. Вы увидите в графическом редакторе закрашенную серым область. Поместите ее туда, где вы хотите видеть 3D анимацию во время запуска модели:



Рис. 16. Закрашенная серым область
Перемещение в 3D анимации

Теперь вы можете запустить модель и наблюдать простую 3D анимацию.

  1. При создании 3D окна, AnyLogic добавляет область просмотра, которая позволяет легко переключаться к сцене 3D анимации во время выполнения модели. Чтобы переключиться к 3D анимации в запущенной модели, откройте панель разработчика, щелкнув по кнопке Показать/скрыть панель разработчика в правом углу панели управления. В открывшейся панели разработчика раскройте список Выбрать область и показать и выберите опцию [window3d].



Рис. 17. Опция [window3d].


  1. Вы можете перемещаться по 3D сцене с помощью мыши и следующих клавиш:



Чтобы

Выполните следующие действия

Переместить сцену

1. Нажмите левую кнопку мыши в области 3D окна и держите ее нажатой.
2. Передвиньте мышь в направлении перемещения.

Повернуть сцену

1. Нажмите клавишу Alt и держите ее нажатой.
2. Нажмите левую кнопку мыши в области 3D окна и держите ее нажатой.
3. Передвиньте мышь в направлении вращения.

Приблизить/отдалить сцену

1. Покрутите колесо мыши от/на себя в области 3D окна.



Добавление 3D объектов

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

Создайте новый тип агента

  1. Откройте Библиотеку моделирования процессов в панели Палитра.

  2. Перетащите элемент Тип агента в графический редактор.




Рис. 18. Тип агента


  1. Откроется диалоговое окно Мастера создания агентов на шаге Создание нового типа агента. Введите Customer в поле Имя нового типа, оставьте опцию Создать новый тип агента "с нуля" выбранной. Нажмите Далее.



Рис. 19. Создание нового типа агента


  1. Выберите опцию 3D для типа анимации и фигуру анимации Человек из списка 3D фигур.



Рис. 20. Фигура анимация Человек


  1. Щелкните Готово. Диаграмма нового агента Customerоткроется автоматически. Вы можете найти 3D фигуру Человек в начале координат.

Настройте использование нового типа агентов в блок-схеме

  1. На диаграмме Main, выделите блок source в графическом редакторе.

  2. Выберите тип агента Customer в выпадающем списке параметра Новый агент.



Рис. 21. Тип агента Customer

  1. Откройте панель Свойства точечного узла и переключите элемент управления Видимость в значение нет. Таким образом разметка пространства не будет видна на анимации во время выполнения модели. Повторите эти действия для элемента path.

  2. Запустите модель, чтобы увидеть анимацию клиентов в очереди.




Рис. 22. Анимация клиентов в очереди
Добавьте объект банкомата

  1. Откройте палитру 3D Объекты в панели Палитра.

  2. Перетащите 3D фигуру Банкомат из секции палитры Супермаркет в графический редактор и поместите ее на точечный узел.




Рис. 23. 3D-фигура Банкомат


  1. Если вы сейчас запустите модель и проверите 3D анимацию в режиме просмотра window3D, вы заметите, что банкомат стоит не той стороной по направлению к очереди клиентов, и нам необходимо развернуть его в правильную сторону.

  2. Выделите 3D объект банкомата atm в графическом редакторе и откройте секцию свойств Расположение.

  3. Выберите из выпадающего списка параметра Поворот Z 0 градусов.

  4. Запустите модель, чтобы убедиться, что фигура банкомата стоит "лицом" к клиентам.



Рис. 24. Фигура банкомата

Шаг 3. Добавление клерков

Теперь мы усложним нашу модель, добавив в нее служащих – банковских кассиров. Мы могли бы промоделировать кассиров, как и банкомат, с помощью объекта Delay. Но куда более удобным представляется моделирование кассиров с помощью ресурсов. Ресурс – это специальный объект Библиотеки моделирования процессов, который может потребоваться агенту для выполнения какой-то задачи. В каждый момент времени ресурс может быть занят только одним агентом. В нашем примере посетителям банковского отделения (агентам) необходимо получить помощь у банковских служащих (ресурсов).

Изменения в диаграмме процесса

Добавьте обслуживание

  1. Откройте Библиотеку моделирования процессов в панели Палитра и перетащите на диаграмму Main блок Service.
    Объект Service захватывает для агента заданное количество ресурсов, задерживает агента, а затем освобождает захваченные им ресурсы.




Рис. 25. Объект Service


  1. Перейдите в панель Свойства блока service.

  2. Измените параметры объекта следующим образом:

  1. Ко всем кассирам будет вести одна общая очередь. Задайте максимальное количество человек в этой очереди в поле Вместимость очереди: 20.

  2. Мы полагаем, что время обслуживания имеет треугольное распределение с минимальным значением равным 2.5, средним - 6, и максимальным - 11 минутам. Введите в поле Время задержки: triangular (2.5, 6, 11 )




Рис. 26. Время задержки
Смоделируйте выбор клиентов

  1. Откройте Библиотеку моделирования процессов в панели Палитра и перетащите на диаграмму процесса Main блок SelectOutput в свободное место между блоками source и queue. Возможно, вам понадобится переместить несколько блоков, чтобы увеличить длину соединителя между ними. Вы можете выделить несколько блоков диаграммы процесса и переместить их все вместе или перемещать блоки по одному.
    SelectOutput является блоком принятия решения. В зависимости от заданного вами условия, агент, поступивший в объект, будет поступать на один из двух выходных портов объекта.



Рис. 27. Выходные порты объекта


  1. Выделите блок selectOutput в диаграмме процесса. В панели Свойства этого блока выберите опцию При выполнении условия в параметре Выход true выбирается. Убедитесь, что в поле Условие стоит выражение randomTrue(0.5).

В этом случае к кассирам и банкомату будет приходить примерно равное количество клиентов.

  1. Соедините блоки selectOutput и service с другими блоками так, как показано на рисунке ниже:



Рис. 28. Блоки selectOutput и service

Добавьте ресурсы для сервиса

  1. Откройте Библиотеку моделирования процессов в панели Палитра и перетащите блок ResourcePool на диаграмму агента Main. Объект ResourcePool задает ресурсы определенного типа (в нашей модели это будут банковские клерки).

  2. Поместите его, например, под блоком service и перейдите в панель Свойства.

  3. Назовите объект tellers.




Рис. 29. Объект tellers


  1. Задайте число кассиров в поле Кол-во ресурсов: 4.



Рис. 30. Количество ресурсов


  1. Блок ResourcePool указывается в объектах, использующих ресурсы, в нашем случае это блок Service. Поэтому нам необходимо изменить свойства блока service диаграммы процесса.

  2. Выделите блок service и перейдите в панель Свойства. Выберите опцию Ресурсы одного типа в параметре Захватить ресурсы. Затем укажите блок tellers, который мы добавили на диаграмму, в параметре Блок ResourcePool. Вы можете выбрать его из выпадающего списка подходящих объектов, щелкнув стрелку "вниз", или выбрать фигуру из графического редактора, предварительно щелкнув кнопку справа от параметра (в таком случае все неподходящие объекты в графическом редакторе будут обесцвечены).




Рис. 31.Ресурсы одного типа

  1. Поскольку наша модель изменилась, мы должны изменить и ее анимацию.

Добавление фигур разметки пространства

Теперь давайте нарисуем область для ожидания и место обслуживания клиентов кассирами.

Задайте фигуру разметки для электронной очереди

  1. В этот раз мы будем рисовать место ожидания клиентами, используя прямоугольный узел. Вначале откройте палитру Разметка пространства панели Палитра.

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

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

  4. Назовите эту область waitingArea.

  5. Переключите элемент управления Видимость в положение нет. Таким образом разметка пространства не будет видна на анимации во время выполнения модели.