Оптимизация бизнес-процессов и принятие решений на основе данных являются ключевыми факторами успеха в современном бизнесе. Сценарий «Применение оптимизатора и взаимодействие с оптимизатором» предназначен для демонстрации того, как ИТ платформа может использоваться для настройки параметров оптимизации, передачи данных и анализа результатов, проведенной оптимизации.
Этот сценарий охватывает основные аспекты взаимодействия с оптимизатором, такие как настройка параметров оптимизации, процесс передачи данных для оптимизатора, сравнение сценариев до и после проведенной оптимизации, а также возможность подключения различных инструментов для расширения возможностей оптимизатора. Важным элементом является интуитивно понятный интерфейс для настройки и контроля параметров, что обеспечивает удобство и гибкость в использовании оптимизатора.
Обзор решений
Работа с оптимизаторами была изучена на примере IBP-платформ Knowledge Space, Optimacros, Форсайт.
Knowledge Space
Платформа KS предоставляет широкие возможности для подключения различных внешних сервисов, в том числе и сервисов для решения задач математической оптимизации. Программные продукты, построенные на базе Платформы, могут использовать как распространенные open-source библиотеки, так и проприетарные солверы для нахождения оптимальных решений в задачах большой размерности со сложной структурой целевой функции.
Передача данных в оптимизационный движок может быть выстроена одним из доступных способов: непосредственно из объектной модели либо путем интеграции с внешней базой данных, хранящей все требуемые данные.
Благодаря платформенным инструментам оркестрации запуск оптимизационных расчетов может происходить как по расписанию, так и по событию в системе, например, по нажатию кнопки или срабатыванию триггера. Настройка вариантов запуска производится полностью в рамках no-code конструктора платформы KS.
В Платформу помимо основного результата расчета – это может быть как объемный, календарный или детальный план добычи, производства или перемещений, так и, например, оптимальный раскрой полотна – может быть загружена вспомогательная информация о параметрах проведенного расчета: продолжительность запуска, рассчитанный (максимальный) gap до оптимального решения, количество совершенных итераций поиска, динамика изменения значений целевой функции и другие. Данная информация необходима пользователю не только при первоначальной настройке алгоритма оптимизации под конкретную задачу, но также для контроля и тонкой донастройки в рамках боевого использования.
Встроенное системное логирование позволяет сохранять историю запусков с информацией о пользователях, запускавших расчеты и дополнительных параметрах расчетов.
Управление расчетом может производиться как через изменение входных данных, так и с помощью настройки весовых коэффициентов слагаемых целевой функции. Пользователь имеет возможность настроить собственную конфигурацию запуска, то есть указать, на каком подмножестве данных будет проводиться расчет в системе, выбрать горизонт, а также задать произвольные дополнительные ограничения и степень строгости их учета (мягкие ограничения сводятся к штрафам в целевую функцию, а жесткие – эквивалентны математическим ограничениям). Данная возможность позволяет проигрывать различные сценарии, сохраняя их в разных моделях или наборах данных.
Это приводит к росту размерности и сложности математических задач, что в свою очередь значительно повышает требования к используемым инструментам.
Возможности Платформы KS по работе с различными библиотеками оптимизации и внешними сервисами позволяют решать задачи любой сложности, выбирая подходящий набор оптимизационных решений. А функциональность no-/low-code конструктора существенно упрощает и ускоряет работу по их настройке.
Optimacros
Платформа Optimacros предоставляет разнообразные возможности для настройки параметров оптимизации, передачи данных, сравнения сценариев и подключения различных инструментов оптимизации.
Интерфейс настройки параметров оптимизации на платформе Optimacros позволяет задавать ограничения через форменную связку переменных и параметров, что облегчает восприятие и исключает необходимость самостоятельного написания кода. Пользователи могут изменять параметры перед запросом самой оптимизации, проводить предобработку данных и настраивать время ожидания результатов запроса и точность. Однако система не предоставляет рекомендательных параметров для моделей, что может усложнить настройку для неопытных пользователей.
Процесс передачи данных для оптимизации зависит от используемого инструмента, будь то солвер (решатель) или Application Manager. Помимо ручного ввода данных, поддерживается импорт через csv файлы и интеграция с другими системами, такими как базы данных. К сожалению, на данный момент, платформа не поддерживает возможности автоматически перекладывать решения обратно в ячейки Optimacros, что может ограничить удобство использования.
На данный момент в Optimacros нативно встроен open-source солвер от COIN-OR - CBC, который достаточно хорошо себя показал на большом пуле задач из разных областей промышленности. Также есть возможность выгружать lp-файл* — это формат представления задачи оптимизационного моделирования, который является более легким для восприятия, чем формат MPS. LP расширяет возможности платформы для интеграции с другими солверами и решения задачи как коммерческими, так и другими open-source солверами.
Для сокращения времени решения оптимизационной задачи в Optimacros с помощью скриптов и формул можно выполнить предобработку исходных данных за счет чего можно уменьшить размерность задачи, то есть количество переменных и ограничений. Это актуально в большинстве кейсов, так как пользователь не всегда готов ждать окончания расчета более получаса.
Еще одно преимущество построения и применения оптимизационных моделей в Optimacros — высокая интерпретируемость результатов посредством различных графиков, таблиц и форм, с которыми привыкли работать клиенты.
Кроме того, есть возможность точечно изменять значения переменных посредством ввода ручных корректировок. При этом все графики автоматически будут перестроены — в дальнейшем можно анализировать, как изменение того или иного параметра влияет на управляемую величину — отгрузки, производство и так далее.
Сравнение сценариев до и после оптимизации на платформе Optimacros предоставляет информацию об изменении целевой переменной и возможность наглядного построения сравнения данных в графиках. Но не все факторы учитываются автоматически. Например, фактиор сезонности требует самостоятельного анализа и ввода данных пользователями.
Возможность подключения разных инструментов оптимизации включает поддержку различных солверов и возможность выбора в зависимости от конкретной задачи. Платформа также предлагает Application Manager с возможностью написания моделей на Python, что расширяет ее функциональные возможности. Важно помнить, что для использования коммерческих солверов требуется лицензия, а также необходимо подключение Application Manager, а это повышает статью расходов на ПО и системные инструменты.
Форсайт. Аналитическая платформа
В системе «Форсайт. Аналитическая платформа» предоставляется функционал для применения оптимизатора и взаимодействия с ним, однако существуют определенные ограничения. Пример интерфейса настройки параметров оптимизации реализован частично.
Есть возможность использовать популярные библиотеки для оптимизации и прогнозирования, а также продвинутый функционал для использования временных рядов. Однако нет полноценного интерфейса при подключении внешних оптимизаторов и решателей, и нет возможности управления настройками в режиме low-code, поскольку подключение сторонних оптимизаторов и решателей требует настройки алгоритмов расчета с помощью скриптов для обращения к сторонней библиотеке.
Интерфейс настройки параметров оптимизации на платформе позволяет задавать ограничения через связку форм ввода для переменных и параметров, что облегчает восприятие и исключает необходимость самостоятельного написания кода. Пользователи могут изменять параметры перед запросом самой оптимизации, проводить предобработку данных и настраивать время ожидания результатов запроса и точность. Однако система не предоставляет рекомендательных параметров для моделей, что может усложнить настройку для неопытных пользователей.
Ввод данных для оптимизации возможен с помощью импорта с использованием ETL-процедур, в ручном режиме через формы ввода. Доступ к данным возможен как в формах, так и в алгоритмах расчета, что обеспечивает дополнительную гибкость использования.
Сравнение сценариев до и после оптимизации реализовано различными способами. Сравнение может быть выполнено с помощью стандартных инструментов анализа платформы: экспресс-отчетов, аналитических панелей и регламентных отчетов. В зависимости от сценария использования результатов, пользователи могут самостоятельно прописывать критерии и параметры сравнения в алгоритмах расчета с последующей визуализацией их средствами отчетности платформы.
Платформа поддерживает возможность подключения различных инструментов оптимизации. В стандартной поставке платформа предоставляет возможность использовать два внешних решателя: Gurobi и LPSolve. Помимо этого, есть возможность подключения других решателей, но не все из существующих совместимы с платформой.
Подводя итог обзора «Форсайт. Аналитическая платформа», стоит отметить, что платформа предоставляет возможности использования временных рядов и прогнозирования на их основе. Однако функционал оптимизатора не был полностью опробован из-за отсутствия собственного реализованного функционала для оптимизации в «Форсайт».
Также отсутствует обучение по данному разделу. По словам представителя «Форсайт», возможность использования функционала все же есть и обсуждается с каждым заказчиком индивидуально.
Михаил Федоров, ведущий продуктовый менеджер компании «Форсайт»:
Продукт «Форсайт. Аналитическая платформа» использовалась для решения задач оптимизации в ряде проектов для крупных заказчиков из нефтегазового сектора, металлургии и пищевой промышленности.
Например, для заказчика из пищевой промышленности на базе платформы был разработан инструмент для поиска оптимального варианта закупки сырья с учетом сезонности, обязательств по закупке сырья, производству готовой̆ продукции, состояния склада сырья и готовой̆ продукции.
Для заказчика из нефтегазовой отрасли на базе «Форсайт. Аналитическая платформа» был реализован пилотный проект по оптимизации поставок нефтепродуктов, оптимизатор – Gurobi. Основная задача проекта — рассчитать оптимальное распределение поставок нефтепродуктов с НПЗ до нефтебаз с учетом всех существующих ограничений.
Справочная информация
Что такое оптимизатор
Оптимизатор, как следует из названия, используется для оптимизации сценариев планирования и моделирования. Он помогает организациям определить наилучший путь для достижения своих целей, учитывая различные ограничения и факторы, которые как раз и учитываются в интегрированном бизнес-планировании (в этом суть концепции IBP).
Оптимизаторы могут быть использованы для оптимизации таких аспектов бизнеса, как производство, логистика, финансы и маркетинг. Они позволяют компаниям максимизировать прибыль, минимизировать затраты и повысить эффективность работы.
Что такое солвер (решатель)
Солвер в оптимизаторе — это алгоритм или программа, которая решает задачу оптимизации. Он принимает входные данные, такие как целевая функция, ограничения и начальные условия, и находит оптимальное решение.
Решатели могут использовать различные методы для поиска оптимального решения, включая линейное программирование, нелинейное программирование и другие методы. Они могут быть реализованы как программное обеспечение или как часть более сложной системы управления бизнес-процессами.
IBP-системы имеют встроенные солверы, но зачастую внешние работают лучше, так как сторонние специализированные разработчики сосредоточены только на задаче создания решателя, а для вендоров IBP это лишь одна из множества функций.
Сравнение до и после оптимизации
Визуализация оптимизированного сценария на диаграмме Ганта и его сравнение с первоначальным планом — тот самый функционал, который позволяет наглядно увидеть и оценить работу солвера.
Сравнение оптимизированного сценария с исходным позволяет увидеть, какие изменения были внесены и как они повлияли на общий план. Оно помогает оценить эффективность оптимизации и принять обоснованные решения относительно дальнейших шагов.
Визуализация оптимизированного сценария также полезна для коммуникации внутри команды и с заинтересованными сторонами. Она позволяет наглядно продемонстрировать результаты оптимизации и обсудить возможные корректировки или дополнительные улучшения.
Кроме того, сравнение оптимизированных и исходных сценариев может помочь выявить повторяющиеся проблемы или узкие места в бизнес-процессах, что может привести к разработке более эффективных стратегий и политик.
Подключение разных инструментов оптимизации
Как было сказано выше, IBP-платформы имеют встроенные инструменты оптимизации, но сторонние зачастую лучше. Поэтому платформа должна иметь возможность подключения внешних солверов.
Дополнительным плюсом является установка правил и ограничений для каждого типа используемых решателей.
Заключение
В Knowledge Space и Optimacros оптимизаторы реализованы, есть возможность подключать внешние солверы. На платформе Форсайт работа возможна только с настройкой алгоритмов расчета и подключением стороннего солвера.