Цель лабораторной работы: ознакомиться с программным продуктом «AnyLogic», а также изучить некоторые свойства, функции и возможности программы в процессе создания имитационной модели «посещение банкомата».
1. В самом начале работы мы изучаем интерфейс программы «AnyLogic. Вот, к примеру, мы нашли и использовали необходимые блоки по заданию для создания блок-схемы:
Рисунок 1: Использование блоков для создания блок-схемы модели.
2. Запускаем модель и изучаем поведение модели.
Рисунок 2: Запуск модели.
Рисунок 3: Наблюдение функционирования модели
По изменению состояний данной модели мы видим по блоку «АТМ» занят ли банкомат клиентом, по блоку «queue» мы наблюдаем как в момент занятости банкомата возникает очередь и сколько в ней человек.
Настраиваем под заданные параметры блоки модели.
Рисунок 4. Настройка блока «source» - интенсивность прибытия человек
Рисунок 5. Настройка блока «queue» - максимальное количество человек в очереди не более 15.
Рисунок 6. Настройка блока «delay» - время на которое задерживается банкомат при обслуживании клиента.
При добавлении в модель элемента «прямоугольник», настройки его анимации (окрашивание в определённый цвет в зависимости от состояния блока «АТМ»), мы получаем «сигнальную лампочку», сигнализирующую состояние банкомата «занят/свободен» (красный/зелёный). Что добавляет удобство с точки зрения визуального отображения состояния в определённый момент времени нашей модели.
Рисунок 7. Настройка элемента «прямоугольник» - задаётся привязка к блоку «АТМ» и настраивается анимация (состояние цвета красный либо зелёный).
|
Рисунок 8. Состояние модели без очереди и обращению к банкомату.
Рисунок 9. Состояние модели, когда в очереди 3 человека и одно обращению к банкомату.
Наблюдение показывает, что при введённых данных задержка очереди у банкомата не более трёх человек. Это видно по блоку «queue», который показывает количество человек в очереди. Также это видно и из разницы значений между блоками «source» и «sink», которые, соответственно, обозначают и показывают количество людей на входе и на выходе (до 3-ёх человек в очереди + 1 пользующийся банкоматом). Хоть мы и ограничили очередь до 15 человек, такого критического значения ни разу не наблюдалось.
Для разнообразия эксперимента изменим параметр «время задержки» блока «АТМ» с диапазона 0.8-1-1.3 до 1.8-2-2.3, то есть среднее значение в два раза.
Изменения показали, что при таких задержках обслуживания банкоматом клиентов (при прочих неизменных параметров нашей модели) в определённый период времени возникает полная наполняемость очереди до 15 человек, при которой наша модель уже не способна продолжать функционировать в обычном режиме.
Рисунок 10. Состояние модели, когда в очередь попадает 15 человек.
Рисунок 10. Состояние модели, указывающее на невозможность входа.
Рисунок 11. Вывод предупреждающего окна о невозможности продолжения эксперимента и предложениями о вероятно необходимых изменений параметров модели.
|
Из данного эксперимента следует вывод, что если банкомат будет работать с подобными задержками, то вполне вероятно возникнет критическая ситуация с увеличением очереди. В реальной жизни были бы рекомендации: уменьшение времени обслуживания клиента банкоматом, либо увеличение количество банкоматов для разгрузки очереди.
3. Формирование по результатам работы собственного тезауруса.
Тезаурус
Термин | Толкование термина | Источник |
Модель | Модель представляет собой пользовательское описание проблемы в терминах языка моделирования AnyLogic. Каждая модель создается отдельно и представляет собой набор агентов, моделирующих объекты реального мира, и экспериментов, задающих настройки запуска модели. | AnyLogic, Словарь терминов |
Методы исследования | Методы исследования представляют собой способы, приемы проведения исследований. | AnyLogic, Словарь терминов |
Эксперимент | Эксперимент (от лат. experimentum — проба, опыт), также о́пыт, в научном методе — метод исследования некоторого явления в управляемых наблюдателем условиях. Отличается от наблюдения активным взаимодействием с изучаемым объектом | Википедия https://ru.wikipedia.org/wiki/Эксперимент |
Функции | AnyLogic позволяет пользователям создавать свои собственные функции. С помощью функций вы можете единожды задать определенную последовательность действий (обычно - вычислений, возвращающих результат), которую нужно будет выполнять из разных мест (или в разные моменты жизни) модели. Функции пишутся на языке Java, поэтому в вашем распоряжении имеются все преимущества этого языка, такие, как, например, условные операторы (if-then-else), циклические операторы (while, for), операторы ветвления (switch) и т.д. | AnyLogic, Словарь терминов |
Диаграммы действий. Визуальное задание алгоритмов | AnyLogic поддерживает диаграммы действий - структурированные блок-схемы, позволяющие задавать алгоритмы графически в стиле структурированного программирования. Мы используем широко известное расширение подхода, предложенного в свое время Дейкстра. Суть подхода состоит в том, что алгоритмы разбиваются в подразделы с одной точкой входа. Утверждается, что трех способов объединения программ — упорядочения, повторения и выбора — достаточно для задания алгоритма любой сложности. Такой стиль сводит понимание целого алгоритма к пониманию составляющих его частностей. | AnyLogic, Словарь терминов |
Презентация модели | AnyLogic позволяет создавать для ваших моделей сложные двумерные презентации. Презентация представляет собой рисунок, составленный из различных фигур: прямоугольников, линий, кругов и т.д., а также элементов управления. У каждой фигуры есть набор свойств, определяющих ее внешний вид: местоположение, размер, цвет и т.д. | AnyLogic, Словарь терминов |
Анимация | С помощью динамических свойств фигур вы можете создавать анимации - изображения, изменяющие свой внешний вид по ходу выполнения модели в соответствии с заданными правилами, которые могут зависеть от текущего состояния моделируемой системы. Это достигается за счет привязки графических свойств фигур к данным модели. Таким образом, ваша презентация сможет символически отражать то, как изменяется состояние системы с ходом моделирования - изменение данных модели приведет к изменению внешнего вида связанных с этими данными фигур презентации. | AnyLogic, Словарь терминов |
Интерактивность | Презентация может быть сделана интерактивной с помощью стандартных элементов управления – кнопок, флажков, переключателей и т.д. Вы можете изменять значения параметров и переменных, связав их с элементами управления, и управляя элементами управления во время работы модели. | AnyLogic, Словарь терминов |
Иерархичная структура | Презентации в AnyLogic связаны с компонентами модели – агентами – и повторяют иерархическую структуру объектов в модели. Вы создаете презентации модульным способом, отдельно для каждого объекта. Презентация агента может быть вставлена в презентацию объекта, находящегося выше данного объекта в иерархии объектов модели. AnyLogic будет самостоятельно следить за расположением такой вложенной презентации на презентации объекта верхнего уровня и за соответствующим преобразованием (масштабированием, вращением и т.д.) фигур, составляющих эту вложенную презентацию. | AnyLogic, Словарь терминов |
|
Заключение.
Данная модель наглядно продемонстрировала процесс образования очереди при таких заданных параметрах как: интенсивность прибытия клиентов, пропускная способность банкомата, критическое количество человек в очереди.
Использование программы «AnyLogic» очень удобно, при создании имитационных моделей, позволяющих достаточно быстро и подробно в широком спектре охватить системы, функции различных видов деятельности человека и влиянии природных факторов. Научиться видеть и регулировать с помощью имитационных моделей реальные системы, окружающие нас, наращивая опыт взаимодействия элементов рассматриваемой системы без критических, фатальных воздействий в реальных системах.