В настоящее время процесс подготовки студентов является одним из самых главных сторон развития нашей страны. Четкость выбора программы обучения обусловливает уровень квалификации будущих специалистов. Моделирование является целостной частью в подготовке студентов технических специальностей. На современном рынке программного обеспечения существуют продукты, с помощью которых можно научить студентов процессу моделирования, например:
- AnyLogic;
- ARIS Express;
- My Logistic Pro1.
При рассмотрении представленных средств моделирования были выявлены недостатки My Logistic Pro 1 и ARIS Express. My Logistic Pro1 имеют узкую направленность, ARIS Express не имеет централизованного хранилища моделей. В связи с этим было принято решение, что AnyLogic наиболее полно соответствует требованиям функциональности и достаточно прост в изучении.
AnyLogic программное обеспечение для имитационного моделирования, разработанное российской компанией The AnyLogic Сompany. Продукт получил название AnyLogic, так как содействует всем трем известным методам моделирования:
- системная динамика;
- дискретно событийное (процессное) моделирование;
- агентное моделирование [1].
Системная динамика и дискретно событийное моделирование, работая на системном уровне рассматривают систему сверху вниз,
Агентное моделирование это подход снизу вверх, где создатель модели фокусируется на поведении индивидуальных объектов.
Процесс изучения студентами данных видов моделирования позволяет обрести комплексные знания по моделированию систем. Процесс агентного моделирования позволяет добиться результата, модифицируя настройки непосредственно отдельных объектов систем. Системное моделирование научит работать с системой в целом. Дискретно событийное моделирование даст возможность работать с системой как с последовательностью операций. AnyLogic создан на языке программирования Java, поэтому он является кроссплатформенным программным продуктом. Среда разработки и модели работают на операционных системах Windows, Mac OS и Linux. На сегодняшний день в образовательных учреждениях на рабочих машинах установлены различные виды операционных систем, и для обучения желательно применять систему, которая будет поддерживаться всеми реализованными операционными системами. AnyLogic имеет три платных версии:
- Professional.
- Advanced. Педагогический опыт: теория, методика, практика Технические средства обучения
- Researcher Educational. Бесплатная версия называется Free PLE. Целесообразно полагать, что для образовательных целей наиболее подходящей будет версия AnyLogic Educational, специально созданная для образовательных целей. Данная версия обладает достаточным количеством существующих функций, но не имеет дополнительных компонентов для работы с базами данных и не поддерживает возможность импорта чертежей САПР. AnyLogic имеет развитые графические средства моделирования, включающие в себя следующие элементы:
- диаграмма потоков и накопителей;
- карты состояний;
- блок схемы;
- процессные диаграммы. Объединение компилятора Java в
AnyLogic предоставляет более широкие возможности при создании моделей, а также создание Java апплетов, которые доступны любым браузерам. Эти апплеты позволяют легко размещать модели AnyLogic на веб сайтах. Такие возможности системы могут найти широкое применение при обучении студентов информационных специальностей, обладающих знаниями языков программирования и навыками построения программных приложений. Система AnyLogic может быть применена при обучении студентов моделированию следующих предметных областей:
- логистика и цепочки поставок;
- аэропорты, вокзалы, торговые центры;
- производство;
- здравоохранение;
- бизнес-процессы и системы обслуживания;
- железные дороги.
В качестве примера рассмотрим создание модели системы обслуживания банковского отделения. В банковском отделении находятся банкомат, стойки банковских кассиров, которые позволяют быстро и эффективно обслуживать клиентов банка. Все мы знаем, что операции с наличностью, производят с помощью банкомата, а более сложные операции, с помощью кассиров и менеджеров.
Для начала создадим простейшую модель, в которой будем рассматривать обслуживание людей банкоматом. В ней уже имеется один тип агента Main и эксперимент Simulation.
Агенты это главные строительные блоки модели AnyLogic. В нашем случае агент Main послужит местом, где мы зададим всю логику модели. В данном агенте мы расположим чертеж банковского отделения и зададим диаграмму процесса потока клиентов. Далее, создав диаграмму из блоков библиотеки моделирования процессов, зададим динамику процесса.
Каждый блок предлагает определенную операцию, которая будет создаваться над проходящими по диаграмме процесса агентами. Диаграмма процесса в AnyLogic создается путем добавления объектов библиотеки из палитры на диаграмму агента, соединения их портов и модификации значений свойств блоков в соответствии с требованиями модели.
Следующая схема воспроизводит простейшую систему очереди, которая состоит из источника агентов, задержки (и очереди перед задержкой) и финального уничтожения агентов (рис. 1).
Рис. 1. Система очереди
В предложенной схеме фигурирует 4 объекта. Объект Source активизирует агентов определенного типа. Обычно он используется в качестве начальной точки диаграммы процесса, формализующей поток агентов. В предложенном примере агентами будут посетители банка, а объект Source будет активизировать их приход в банковское отделение. Объект Queue моделирует очередь агентов, ожидающих приема объектами, следующими за данным в диаграмме процесса. В данном случае он будет моделировать очередь клиентов, ждущих своей очереди к банкомату. Объект Delay задерживает агентов на выбранный период времени, представляя в предложенной модели банкомат, у которого посетитель банковского отделения тратит свое время на проведение необходимой ему операции. Объект Sink аннулирует поступивших агентов. Обычно он используется в качестве конечной точки потока агентов (соответственно диаграммы процесса) [2].
Рассмотрим процесс обслуживания клиентов в виде анимационной очереди, которая ведет к банкомату, так как это показано на рис. 2.
Рис. 2. Анимация очереди
В предложенной схеме банкомат в виде окружности, а для отображения очереди нарисуем ломаную линию. Элементы презентации созданы, теперь выполним ряд настроек модели.
Начиная с версии AnyLogic 6.5, пользователи могут создавать трехмерные (3D) анимации моделей. Трехмерная анимация самый явный и реалистичный способ визуализации моделируемого процесса. 3D окно представляет собой элемент, задающий на диаграмме агента область, в которой во время запуска модели будет отображена трехмерная анимация объекта.
На диаграмме одного объекта могут быть сразу несколько окон трехмерной анимации, каждое из которых будет показывать какой-то определенный участок общей трехмерной сцены.
Можно с легкостью настроить окно трехмерной анимации на то, чтобы показывать по умолчанию какой-то определенный участок трехмерной сцены, выделив у него в свойствах камеру, которая и будет "снимать" то, что будет "показывать" окно трехмерной анимации. При запуске модели обратите камеру в графическом редакторе, на те фигуры презентации, которые Вы хотите увидеть в окне. Эта возможность очень часто применяется, поскольку не всегда окно 3D анимации будет отображать именно нужные Вам трехмерные объекты. А настроить один раз камеру будет куда проще, чем постоянно направлять к требуемым объектам во время работы модели.
Теперь пришло время задать фигуру клиента банка. По умолчанию клиенты в нашей модели обозначались цветными точками и отображались цветными цилиндрами в 3D анимации. Если мы зададим нестандартный тип клиента и выберем для него красивую фигуру анимации, нам нужно будет создать новый тип агента.
Применяя элемент 3D Объект, можем доставить в наши модели изображения трехмерных объектов.
Известно, что стандартные фигуры презентации AnyLogic (прямоугольник, овал, линия, ломаная и т.д.) обычно используются для создания объектов невысокого уровня сложности, например, коробки, дороги, стены помещений. А вот более сложные трехмерные объекты (люди, автопогрузчики, грузовики, самолеты, и т.д.) обычно не создаются в самом AnyLogic, а доставляются извне именно с помощью элемента 3D объект.
Элемент 3D объект поддерживает импорт трехмерных объектов форматов X3D и VRML. Формат X3D является величиной файла для представления трехмерной компьютерной графики, имеющим в основе XML; он является потомком языка Virtual Reality Modeling Language (VRML).
Теперь добавим в нашу модель служащих (банковских кассиров), тем самым усложнив ее. Мы могли бы промоделировать кассиров, как и банкомат, с помощью объекта Delay. Но в данном случае представляется моделирование кассиров с помощью ресурсов.
Ресурс – это специальный объект Библиотеки моделирования процессов, который может потребоваться агенту для реализации какой-то задачи. В каждый момент времени ресурс может быть занят только одним агентом. В нашем примере посетителям банковского отделения (агентам) необходимо получить помощь у банковских служащих или ресурсов (рис. 3).
Рис. 3. Добавления объектов Service и SelectOutput
Объект Service фиксирует для агента заданное количество ресурсов, задерживает агента, а затем освобождает зафиксированные им ресурсы. Select Output является блоком принятия решения. В зависимости от выбранного условия, агент, поступивший в объект, далее будет поступать на один из двух выходных портов объекта [3]. Таким образом, агентное моделирование является успешным инструментом для реализации имитационных моделей для системы массового обслуживания. Тому и служит пример, который мы рассмотрели и получили результат показанный рис. 4.
Рис. 4. 3D модель системы обслуживания банковского отделения Изучив и проанализировав возможности и функции AnyLogic, можно сказать, что представленный программный продукт готов к применению в учебном процессе различных специальностей. Он имеет уже подсознательно понятный интерфейс и, благодаря многопрофильности, позволяет смоделировать процессы любой сложности и направленности.
ЛИТЕРАТУРА
- Сайт компании AnyLogic // http: // www. anylogic.ru/
- Боев В.Д. Компьютерное моделирование. – СПб., 2014.
- Сайт СтудопедиЯ // http:// studopedia. org/