Под капотом цифровизации: место промышленных солверов в IT-ландшафте
Промышленные солверы играют ключевую роль в цифровизации производства: как они помогают компаниям повышать эффективность и конкурировать на рынке
Магистр экономики (МГИМО, 2004). Основал и управлял компаниями в сфере FMCG, инжиниринга, маркетинговых коммуникаций, IT. В настоящее время — владелец и СЕО компании «Квантовые системы»
Сегодня в России существуют приоритеты по цифровизации производства, определенные государственной политикой и потребностями импортозамещения. К ним относятся повышение качества и рост объемов выпуска высокотехнологичной и конкурентоспособной на мировом рынке продукции за счет применения критических и сквозных технологий (технологических направлений) и разработки компьютерных и математических моделей с высокой степенью адекватности, обеспечение доступности информации о производственных возможностях, повышение доли производств, которые используют промышленный интернет вещей (IoT). Важным направлением также является разработка и внедрение конкурентоспособного отечественного программного обеспечения, которое обеспечит независимость от импортных решений и усилит позиции российских компаний.
Ключевая составляющая процесса цифровизации предприятия — это внедрение и интеграция разнообразного ПО. Современное корпоративное ПО — это не монолитные системы, а сложные комплексы, зачастую объединяющие под одним пользовательским интерфейсом целый набор решений от разных вендоров. В качестве примеров можно привести ERP-системы (системы управления ресурсами), призванные автоматизировать и интегрировать основные бизнес-процессы, такие как финансы, логистика и управление персоналом, САПР (системы автоматизированного проектирования), которые используются при разработке инженерных проектов, MES (системы управления производственными процессами), которые обеспечивают мониторинг и оптимизацию производственных процессов, и BI (системы бизнес-аналитики). Важным, а в некоторых случаях и центральным элементом таких систем является ПО, выполняющее сложные математические вычисления, например, объемных планов снабжения, графиков производства, бюджетов, расположения силовых элементов конструкций, маршрутов, расписаний и т.д. Такое ПО носит название солверов — оптимизаторов или решателей.
Промышленный солвер — это специализированное ПО для решения больших (как правило, от десятков тысяч до миллиардов переменных) оптимизационных задач. Оптимизационная задача — это задача поиска наилучшего по определенному критерию состояния системы в пространстве возможных состояний, ограниченном набором равенств или неравенств. Другими словами, если у задачи множество решений, но это множество чем-то ограничено (например, требуется выбрать лучший из множества маршрутов из точки А в точку Б, используя только асфальтированные дороги), то перед вами классическая оптимизационная задача. Решение подобных задач требуется повсеместно: задачи небольшого размера эффективно решаются экспертами в уме, а для больших задач без солверов уже никак — такие задачи в силу объема уже не помещаются в голове, и, помимо долгого поиска ответа человеком, этот ответ неизбежно будет содержать ошибки.
Началом эры промышленных солверов принято считать 1991 год, когда вышел на рынок солвер CPLEX 1.2. С тех пор производительность солверов выросла в 1011 или в 100 млрд раз. Другими словами, задача, для решения которой в 1991 году потребовалось бы 3 000 лет, сегодня будет решена менее, чем за секунду. При этом основную роль в столь мощном скачке сыграло не увеличение производительности компьютеров, которое за этот период было примерно 20 000-кратным, а развитие математического аппарата и основанных на нем алгоритмов оптимизации, вклад которых в рост производительности составил более 5*106 или 5 000 000 раз.
В результате мы стали способны получать точные решения масштабных промышленных задач, в которых ранее вынуждены были прибегать к приблизительным оценкам.
Пример: план продаж и операций крупного железнодорожного контейнерного оператора на горизонте 1 месяц — это задача, содержащая >10 млрд переменных. Ранее планирование велось вручную путем заполнения «шахматных таблиц», теперь же алгоритм спустя несколько часов расчетов позволяет получить точный план. При этом, нельзя забывать и о том, что возможность применить солвер для решения подобной задачи дал общий процесс цифровизации — поток данных с устройств интернета вещей, более совершенные системы учета и другие составляющие цифровой экосистемы позволили предприятию обзавестись данными нужного объема и качества, которые, в свою очередь, использовал солвер для расчетов.
На мировом рынке доступно несколько десятков солверов, лидер пока — США. Есть open-source-решения, например, SCIP, GLPK, HiGHS, есть коммерческие, например, FICO, COPT, CPLEX, Gurobi.
Коммерческие солверы имеют три основных отличия от open-source-решения:
- Коммерческий солвер — это в большинстве случаев не монолитное ПО. Он состоит из модуля (платформы) для построения оптимизационной модели и вычислительного модуля (собственно — решателя), который осуществляет вычисления и находит решение. Open-source-солверы, напротив, в большинстве случаев предполагают, что математическая модель создается с использованием сторонних решений, какие на рынке тоже присутствуют.
- Коммерческие солверы в среднем имеют большую производительность и вообще способны справиться с более сложными задачами. При этом, есть и примеры отдельных задач, которые open-source-солвер решает быстрее коммерческих.
- Пользователи коммерческих солверов получают надежную и своевременную техническую поддержку как в части «повседневной» эксплуатации солвера, так и при его интеграции в пользовательские приложения.
Таким образом, open-source-солверы вполне могут быть использованы в более простых приложениях, но потребуют больше времени на моделирование оптимизационной задачи и более высокой квалификации специалистов.
Недавно в отраслевом ландшафте ПО для оптимизации производственных процессов появилось отечественное решение — солвер OptJet, разработанный компанией «Квантовые системы». Он был создан с учетом реальных задач и потребностей российских заказчиков, включая модуль для создания и отладки оптимизационных моделей в формате Python-библиотеки со специализированным подъязыком. Солвер охватывает большинство практических сценариев с высокой производительностью на целочисленных задачах.
Лицензии на ушедшие с рынка западные солверы заканчиваются, и вендоры программных комплексов, где использовались эти солверы, активно ищут замену. Но есть также и большое количество кейсов, в которых солвер является центральным элементом. В первую очередь, это инхаус-разработки крупных компаний, когда солвер нужен как самостоятельное коробочное ПО. OptJet полностью поддерживает и такой формат использования — для начала работы требуется написать всего одну строку кода, а демо-версия предоставляет широкие возможности для прототипирования будущего решения.
Но действительно ли предприятиям стоит усложнять бизнес-процессы, внедряя доплнительное ПО? Например, китайский автогигант BYD получил конкурентное преимущество на начальном этапе своего развития в т.ч. благодаря дероботизации производственного процесса, позволившей существенно снизить себестоимость производства по сравнению с западными конкурентами. В случае с солверами все же есть, за что платить — в энтерпрайз-кейсах они обычно позволяют получить эффект в 2-5 процентов, что, как правило, эквивалентно 100 млн — 10 млрд руб. в год, при этом, на крупном предприятии с длинной цепочкой создания стоимости может быть несколько таких участков, и в этом случае общий эффект от оптимизации может оказаться мультипликативным.
Все элементы крупных программных комплексов энтерпрайз-уровня одинаково важны: без продуманного интерфейса, ролевой модели, блока управления доступом в системе не смогут работать пользователи, но и все внутренние блоки, такие как наш солвер, не менее важны, потому что именно они обеспечивают экономический эффект. При этом, не стоит забывать, что цифровизация начинается с данных. На предприятии, где этот процесс стартовал недавно и объем доступных данных еще невелик, оптимизационные модели все равно полезны, давая укрупненную картину — основу для управленческих решений. По мере же роста «цифрового покрытия», «кормовая база» прикладных решений по оптимизации будет расширяться, и эффекты станут совсем другими.