В эпоху стремительной цифровой трансформации бизнес сталкивается с необходимостью принимать решения в условиях высококонкурентной среды. По сути, каждое из них — выбор из множества альтернативных вариантов, ограничено различными факторами, и может иметь неочевидные сразу или отложенные последствия.

Моделировать сценарии действий, проверять гипотезы и быстро принимать решения помогают методы математической оптимизации и машинного обучения. Благодаря этому бизнес-руководители могут принимать более обоснованные и объективные управленческие действия, повышая эффективность и стратегическую устойчивость компании, используя модели, как оракула. Рассмотрим, как эти инструменты зародились, развивались и как сегодня решают прикладные задачи бизнеса.

Оптимизация и принятие решений в бизнесе: баланс между точностью, скоростью и адаптивностью

Компаниям, принимая то или иное решение, важно, чтобы оно было не только оптимально на текущий момент, но и в долгосрочной перспективе обеспечило стратегическую устойчивость — чтобы избранная траектория гарантировала стабильное развитие. Дополнительной сложностью является то, что в моменте необходимо учитывать большое количество факторов, которые не были известны или были не существенны ранее либо еще не случились, а есть только предварительная оценка их тренда. В свою очередь, другие игроки рынка находятся в том же положении — в поисках верных решений.

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

Формализация стратегии: переменные, показатели и ограничения

«Наивная» и «не опытная» логика подсказывает, что лучшее решение при производстве или оказании услуг — браться за те заказы, которые в текущий момент принесут хорошую прибыль. Но такие решения, не учитывающие динамику и изменяющуюся картину мира, представляют собой, по сути, выбор с малым уровнем контроля будущего. В действительности существует много случайностей и непредсказуемости, поэтому уметь оценивать и выбирать стратегию крайне важно. Но как можно преобразовать простое логичное желание в более формализованном виде?

Формулирование алгоритма построения стратегии заключается в определении нескольких основных сущностей: переменных модели, целевого показателя или группы показателей и списка ограничений. Например, переменной может быть значение в какой день, какого продукта надо производить или множество возможных маршрутов или что-то еще, в контексте задачи. Целевая функция может быть прибылью, количеством продаж, временем выполнения задачи или другими показателями. Ограничения могут включать ресурсы, время, квалификацию персонала и другие факторы, например физические или нормативные (скорость движения согласно ПДД). Кроме того, они могут быть специфичные для определенной бизнес модели, например, минимальный объем услуги или продукции.

Все основные параметры задачи можно представить в виде математических равенств и неравенств, то есть правил с единственным толкованием, которые не могут быть интерпретированы различным способом различными субъектами (людьми).

Для решения бизнес-задач сформулированных в такой постановке математической оптимизации, есть проверенные алгоритмы, такие как симплекс-метод для задач с вещественными числами, а также методы ветвей и границ (branch and bound) и отсекающих плоскостей (cutting planes), которые применяются к задачам с целыми числами и позволяют получить глобальный экстремум (минимальное или максимальное значение) целевой функции (или абсолютно оптимальное).

Однако при сложных задачах — так называемых NP-hard (класс задач, для которых очень трудно найти решение за разумное время, особенно при увеличении размера задачи) — приходится перебирать огромное количество вариантов, даже в случае использования указанных методов. Несмотря на современные вычислительные мощности такие подходы требуют много времени, это может занимать дни или даже недели. Но технически время, в рамках которого решение еще будет актуально, может быть значительно меньше. Например, для назначения такси нужно дать ответ за 10 секунд, и время расчета в 10 минут будет слишком долгим. Через 10 минут все автомобили поменяют свою локацию, и состояние среды будет сильно изменено.

Практические подходы к поиску решений

Зачастую для бизнеса достаточно не искать абсолютно оптимальное, а получить хорошее и обеспечивающие возможность адаптивности для будущих изменений решение. В этих случаях используют более быстрые и гибкие методы, как ALNS — Adaptive Large Neighbourhood Search. Это стратегия поиска «приближенных» решений, которая находит «хорошее», не перебирая все возможные варианты. Такой подход позволяет находить качественные стратегии за значительно меньшие сроки, что особенно ценно. Тем более, важно не само число-значение точности решения, а насколько полезный результат был получен.

Кроме того, новые вводные могут появиться внезапно — например, изменения на глобальном или отраслевом рынке или новые законодательные требования — и алгоритм, который не был подготовлен к этим ситуациям, не сможет их обработать и выдаст ошибку или неправильный результат. Это особенно актуально для систем, основанных на статичных моделях или алгоритмах, которые не умеют адаптироваться к новым условиям.

Например, новые факторы влияют на ситуацию лишь в пределах 10% от итогового решения. Если начать их учитывать, то решение может быть «зашумлено» — его качество пострадает. Это указывает, что в целом суперточность может не всегда нужна.

Проблема зашумленных данных определяет трудность выявления скрытых паттернов — закономерностей или признаков. Они влияют на решение, но их сложно явно определить или внести в систему. Так, пример из смежной сферы, в области компьютерного зрения произошла эволюция методов: от простых фиксированных сверток (классических алгоритмов), которые выявляли границы объектов на изображениях, до обучаемых нейросетевых сверток. Эти нейросети способны автоматически извлекать более сложные паттерны из реальных данных, что значительно повышает качество распознавания различных объектов.

Аналогично в классификации текстов: раньше для поиска тональности текста, использовались классические методы контент-анализа — например, подсчет частот слов. Сейчас вероятностные модели по типу BERT, обученные на большом количестве данных, справляются с задачей значительно лучше. Аналогично, при поиске похожих песен ранее использовался метод преобразования Фурье, который извлекал частотные характеристики и искал схожие паттерны в базе данных. Сегодня поиск происходит с помощью нейросетей, которые могут извлекать нелинейные фичи из входных данных.

Как видно, в этих областях произошло одно и тоже изменение, произошел переход от трудных в реализации, детерминированных алгоритмов к вероятностным, которые дают в итоге более качественный с практической точкой зрения результат, так как умеют обобщать большое количество разнообразных закономерностей.

Такой же тренд наблюдается в развитии методов математической оптимизации от детерминированных алгоритмов к вероятностным алгоритмам, где они сами учатся извлекать необходимые данные из паттернов, находящихся в данных, предоставленных им для обучения.

Ключевые этапы становления линейного и целочисленного программирования

История развития математической оптимизации берет свое начало в середине XX века. Среди аспектов, повлиявших на ее формирование, были и экономические, и технологические особенности того времени. Так, в конце тридцатых годов прошлого века при решении чисто практической задачи в рамках производства советский ученый Л. В. Канторович понял, что задача планирования изготовления продукции не случайна и носит глобальный характер, так как обычными математическими методами решить ее не удается. В процессе исследования этой проблемы математик создал новый класс «экстремальных задач» с ограничениями и разработал эффективный метод их решения, заложив таким образом основы линейного программирования.

Особое значение эти разработки приобрели в военное время, когда задачи исследования математических операций становились особенно актуальными для эффективного использования ресурсов. Например, решались вопросы размещения самолетов-перехватчиков, радиолокационных станций и дислокации кораблей — все для обеспечения оптимального покрытия территорий и максимизации зон поражения. Также проводились расчеты потребностей в вооруженных силах, чтобы определить, сколько и какого состава сил необходимо для достижения преимущества в бою.

Несмотря на большое количество специалистов, занятых в этой области, общий метод решения задач линейного программирования был разработан лишь примерно через десять лет после их формулировки. Значительный толчок к развитию прикладных исследований и внедрению методов планирования в экономику дали предложенные американским математиком Д. Данцигом методы, известные как симплекс-метод. Этот прорыв стал важным этапом в развитии оптимизационных технологий и их практического применения.

Тем не менее, симплекс-метод давал именно вещественные решения (нецелые), что было недостаточно для многих практических задач. Так как окружающий мир не всегда можно описать с помощью вещественных чисел, часто решения задач должны быть целыми числами: например, нельзя запланировать 11,5 машин для доставки партии стройматериалов или 3,7 корабля для обеспечения безопасности в регионе. Необходимость разработки методов для целочисленного программирования — чтобы находить решения именно в целых числах — все еще была актуальной.

Методы, которые позволяли получать целочисленные решения, были придуманы почти через десять лет будущим вице-президентом IBM Р. Гомори (алгоритм Гомори). Далее эти методы и их последователи в целом обеспечили теоретическую базу для решения целочисленных задач.

Эффективность разработанных в середине ХХ века алгоритмов наиболее заметна в задачах высокой размерности, поскольку именно там возникает поле для существенного снижения бизнесом издержек. Чем сложнее система, тем труднее человеку учесть все факторы и сделать правильное решение. Несмотря на востребованность, для дальнейшего применения и масштабирования технологий все еще не хватало необходимых условий — как технологических, так и квалификационных.

Современные методы оптимизации и их развитие

Для достижения приемлемой скорости на практике предлагались различные алгоритмы, специально адаптированные к конкретным задачам — так называемые методы доменной эвристики. Они применимы к определенной области, например, к задачам последней мили доставки или логистики в конкретной отрасли. Однако такие методы не универсальны, зачастую они напрямую не переносятся на задачи из других областей.

Алгоритмы более общего характера были предложены Д. Г. Холландом. Американский математик, подсмотрев закономерности в природе, разработал так называемые «генетические алгоритмы». Они используют принципы эволюции и естественного отбора: на каждой итерации из множества решений выбираются те модификации, которые дают улучшение целевой функции, а затем происходит их «скрещивание» и мутации для получения новых решений. Благодаря этому подходу возникло множество методов: муравьиные алгоритмы, пчелиные колонии, оптимизация роя частиц и искусственные нейронные сети.

С точки зрения развития методов оптимизации решений важную роль играет развитие техники и языков программирования. Современные мощные компьютеры позволяют выполнять огромное количество вычислений за секунду. Особенно заметен прогресс при использовании графических видеокарт (GPU) или нейронных процессоров (NPU), что расширяет возможности параллельных вычислений. В результате эвристические алгоритмы получили новые возможности для масштабных задач благодаря развитию параллелизации и более эффективных методов поиска решений. То есть развитие в одной области придало почву для развития в другой смежной области.

Новые направления и перспективы автоматизации

Аппаратные решения

На текущий момент существует также альтернативные реализации алгоритмов, отличные от широко распространенных решений на базе CPU и GPU. Например, в Сингапуре успешно применяется аппаратное решение оптимизационных задач — CMOS-анилинг Toshiba. Этот подход использует специализированное аппаратное обеспечение для выполнения алгоритмов оптимизации и уже внедряется в системы «умного города», обеспечивая более высокую производительность и энергоэффективность по сравнению с традиционными вычислительными платформами.

Таким образом, развитие технологий идет не только по пути совершенствования программных методов и алгоритмов, но и через внедрение специализированных аппаратных решений, что открывает новые горизонты для масштабных и энергоэффективных вычислений в различных сферах.

Нейросетевые методы улучшения существующих алгоритмов

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

Полностью нейросетевые методы

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

Примером такого подхода является обучение нейросетей с подкреплением — естественный по аналогии с развитием человека механизм обучения через взаимодействие со средой. В этом случае нейросеть (аналог — ребенок) совершает действия (например, дотронуться до горячего предмета), получает вознаграждение или наказание (ожог или его отсутствие), при этом состояние среды меняется в зависимости от его действий. Целью является разработка оптимальной политики поведения ИИ-модели, которая максимизирует награды за определённый период.

В дальнейшем предполагается развитие вероятностных методов решения оптимизационных задач на базе нейросетей и методов обучения с подкреплением. Хотя, скорее всего, развитие пойдет по совершенно новым направлениям, которые сегодня трудно предсказать. Технологии постоянно эволюционируют, и будущее может принести неожиданные решения и подходы к автоматизации сложных задач.

Михаил Красильников, директор департамента разработки и внедрения систем искусственного интеллекта BIA Technologies