Python в AnyLogic

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

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

Николай продемонстрировал эспериментальную версию AnyLogic 8, где в кодовых полях можно писать на Python’е, имея при этом полный доступ к API AnyLogic и всех библиотек.

Python в AnyLogic
Выделенные фрагменты Java кода не будут нужны, если переписать этот код на Python’е

Наши эксперименты показали, что модели с пользовательским кодом на Python’е работают медленнее, чем с Java. Однако, это замедление существенно отличается в зависимости от типа модели.

Модели, где основная вычислительная нагрузка ложится на ядро AnyLogic или на специализированные библиотеки (например, пешеходную или производственную), замедляются не так сильно – в 1,5-2 раза. А модели с частыми вызовами пользовательского кода (например, агентные модели или простые модели процессов) могут работать в 75 раз медленнее. Тем не менее, во многих случаях использование Python’а может сократить общее время выполнения проекта за счёт быстрого и простого написания кода и доступа к развитой экосистеме.

Мы планируем дать пользователям ограниченный доступ к экспериментальной версии AnyLogic 8, где можно писать на Python’е! Если вам интересно и вы хотите поучаствовать в этом проекте, напишите нам на python@anylogic.com.


Похожие материалы