Чтобы имитационная модель соответствовала реальной системе, вы можете добавить в нее модель машинного обучения (trained machine learning model, ML-модель). Опираясь на разные варианты использования ML-моделей (англ.), доступные в AnyLogic, мы привели несколько конкретных примеров:
- ML-модель заменяет параметр «время в пути» (его значение статическое или задано в виде распределения). Обученная на реальных данных, она использует дату и время, чтобы прогнозировать в модели AnyLogic, сколько времени транспорт будет находиться в пути.
- Чтобы увеличить точность имитационной модели ремонтного предприятия, в нее встраивают ту же ML-модель, которая классифицирует ремонтопригодность поступающих деталей на реальном предприятии.
- Анализ эффективности внедрения ML-модели в реальную систему. Для этого модель машинного обучения, которая умеет управлять работой оборудования, встраивают в имитационную модель. Далее с помощью анимации в модели и собранной статистики можно проверить, как изменения повлияют на работу системы.
О работе с моделями машинного обучения
Во всех этих случаях сначала нужно получить данные, предварительно их обработать, а затем использовать для машинного обучения с помощью одной из множества доступных библиотек (TensorFlow, caret, DL4J и т.д.).
Когда модель обучена, ее можно экспортировать в файл определенного типа и далее использовать для прогнозирования (например, на реальных устройствах или в имитационных моделях).
Один из таких типов файлов, с расширением ".onnx", принадлежит ONNX (Open Neural Network Exchange) – открытый формат обмена нейронными сетями. Его цель – обеспечить открытую экосистему, в которой разработчики могут использовать несколько фреймворков для работы с машинным обучением и их комбинации.
ML-модели в формате ONNX можно импортировать и применять в различных фреймворках для машинного обучения. Файлы такого формата имеют кросс-платформенную и кросс-языковую поддержку.
Подключение новой библиотеки ONNX Helper

Раньше пользователи AnyLogic подключались к ONNX-совместимым библиотекам либо через Java (что требовало знаний программирования), либо через Python, используя надстройку Pypeline (что требовало вычислительных накладных расходов).
Для пользователей AnyLogic, которые не владеют языками программирования, мы разработали специальную библиотеку – ONNX Helper.
Когда вы подключите эту библиотеку к AnyLogic, ваши модели получат доступ к ее функциональности. Она будет работать так же, как и любая другая библиотека, доступная в AnyLogic по умолчанию.
Для работы с библиотекой просто добавьте ее объект ONNX Helper в свою модель и укажите путь к ONNX-файлу. Затем в любом месте своей модели вызовите функцию predict, чтобы получить результат работы ML-модели, содержащейся в файле.
Обратите внимание, что эта дополнительная библиотека используется не для обучения, а для использования результатов работы уже обученных ML-моделей.
Больше информации о библиотеке, включая установку в AnyLogic, использование и примеры – на странице проекта ONNX для AnyLogic [GitHub].