Как правило, сложные задачи математической оптимизации решались в нашей стране с помощью платных американских программ-солверов. В марте 2022 года ключевые зарубежные поставщики ПО объявили о прекращении продаж в России.
Об имеющихся альтернативах рассказывает Станислав Воронин, руководитель направления систем бизнес-аналитики BIA Technologies. Эта компания консультирует предприятия в части перехода на open-source солверы и запатентовала собственную оптимизационную платформу BPLEX ещё в 2021 году.
Информация в материале актуальна на момент публикации.
Что такое солверы и кому они нужны?
Солвер (от англ. to solve — решать) — это программный комплекс, который позволяет решать сложные математические задачи, такие как задачи комбинаторной оптимизации. Математическое ядро обрабатывает входные данные, просчитывает множество сценариев по определённой модели и находит оптимальную комбинацию, которая удовлетворяет всем заданным условиям и ограничениям в конечном пространстве поиска.
Солверы используют в самых разных отраслях — везде, где существует потенциал для оптимизации. Они помогают детально планировать производство и сбыт готовой продукции, управлять поставками, формировать транспортные маршруты и логистические цепочки, создавать графики работы персонала и составлять сетки спортивных матчей на год вперёд.
До недавнего времени подобные разноплановые задачи в российских компаниях решались с помощью проприетарного зарубежного ПО (IBM CPLEX, Gurobi, FICO). Бесплатные солверы с открытым исходным кодом, конечно, тоже существуют, но они заметно уступают платным в производительности. Для крупного промышленного предприятия или компании-перевозчика разница во времени расчётов окажется критической.
Внедрение автоматизированных оптимизационных систем помогает повысить эффективность бизнеса, поднять KPI, увеличить прибыль, снизить затраты, сократить трудоемкость планирования, а также улучшить качество сервиса и принимаемых управленческих решений.
Достичь подобных эффектов при планировании в ручном режиме (да и в принципе просчитать вручную всё возможное количество вариантов при большом количестве вводных данных и ограничивающих факторов) практически невозможно.
Альтернативы иностранным солверам
Уход с рынка американских и европейских игроков означает, что российским компаниям придётся в срочном порядке переходить на отечественные аналоги.
Проблема в том, что на текущий момент российские разработчики не успели создать по-настоящему мощные универсальные солверы, которые можно было бы поставить в один ряд с продуктами IBM или Gurobi. Разработка такого рода IT-решений с нуля — это очень трудоемкий процесс, на который могут уйти годы.
Прогресс пока наблюдается лишь в отношении узкоспециализированных продуктов, которые решают отдельные оптимизационные задачи (ядро «Яндекс.Маршрутизации» выстраивает наиболее подходящие маршруты, ВТБ и МФТИ прямо сейчас разрабатывают алгоритмы для формирования оптимальных стратегий на финансовых рынках и т. д.).
Компаниям, использовавшим или планировавшим использовать универсальные зарубежные солверы, придется осуществлять миграцию на бесплатные open-source аналоги. Из солверов с открытым исходным кодом на текущий момент доступны следующие варианты:
- Google OR-Tools — применяется для решения задач маршрутизации транспортных средств, формирования расписаний и оптимального использования ресурсов. Позволяет решать задачи методами целочисленного и линейного программирования, программирования в ограничениях, а также использовать графовые алгоритмы.
- SCIP — предназначен для решения задач смешанного целочисленного (линейного и нелинейного) программирования и программирования в ограничениях. Бесплатно продукт доступен только в формате академической лицензии.
- GLPK — предназначен для решения задач методами линейного программирования и смешанного целочисленного программирования.
- COIN-OR — изначально предназначен для решения задач линейного программирования. В программный пакет входят проекты на его основе для решения задач смешанного целочисленного программирования и оптимизации в сетях.
Отдельно упомяну Cardinal Optimizer — недавно появившийся на рынке платный проприетарный солвер родом из Поднебесной. Функционально позволяет решать задачи методами линейного программирования, смешанного целочисленного программирования, SOCP, квадратичного программирования, а также задачи с квадратичными ограничениями.
Конечно, приведенный перечень солверов серьезно не дотягивает в производительности до именитых грандов в данной области — Gurobi и IBM CPLEX. Это значит, что российские компании столкнутся с проблемой скорости расчётов. И в этом случае возникает резонный вопрос: можно ли «оптимизировать оптимизатор»?
Да, можно. Для этого нужно внедрить IT-инструменты, которые раскладывают, каскадируют, оркестрируют сложные оптимизационные задачи таким образом, чтобы с ними справлялись простые солверы с открытым кодом. Такой подход обеспечивает компромисс между точностью решения и временем расчёта.
Один подобный инструмент — это платформа BPLEX, которая была разработана нашей компанией и включена в реестр отечественного ПО в 2021 году.
Необходимость импортозамещения наверняка подтолкнет другие отечественные компании к разработке похожих IT-решений, а также универсальных коммерческих солверов в ближайшем будущем. Спрос на них точно будет, потому что без солверов невозможна математическая оптимизация, а без оптимизации — сокращение издержек и повышение эффективности, к которым стремится любой бизнес.
Фото на обложке: Shutterstock / ZinetroN
Нашли опечатку? Выделите текст и нажмите Ctrl + Enter
Материалы по теме
- 1 Microsoft инвестировал в стартап Neon Никиты Шамгунова
- 2 Docker Hub заблокирован: как россиянам выгрузить данные
- 3 «SAP — всё»: как российские промышленники переходят на отечественное ПО
- 4 Основатель WeLoveNoCode Никита Шевченко разработал носимое записывающее устройство Friend
- 5 Как геймдев-стартапам сократить расходы и сроки за счет опенсорса
ВОЗМОЖНОСТИ
21 сентября 2024
23 сентября 2024
23 сентября 2024