Top.Mail.Ru

28.05.2025

Эволюция планирования: от классики к современным решениям и AI

Автор: Владимир Молодых, CEO, Генеральный директор Hive Mind AI

Задачи, которые решают предприятия, начиная с первой промышленной революции, во многом не изменились. Зато изменились технологии, которые позволяют решать их на качественно ином уровне. И в этой статье я опишу несколько типов таких «вечных» задач и как мы с командой в Hive Mind AI смогли решить их на новом технологическом уровне.

Любая фабрика, завод и тем более крупная корпорация должна определиться, что производить и в каком объёме. Неважно при этом есть ли формализованный процесс планирования и описан ли он. К примеру, ещё в середине XVII века Томас Чиппендейл — крупнейший мастер английского мебельного искусства — должен был планировать многопоточные работы, отвечая за сроки и качество продукции и при этом максимизировать свою прибыль. Но тогда под рукой были только бумага, перья с чернилами и собственные мозги.

Сейчас современные фабрики разбили эту задачу как минимум на три подтипа.

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

Вторая: построить на каждый день (или иной временной интервал) план производства и/или логистики так, чтобы по итогам проведённых расчётов максимально попасть в этот оптимизированный план на длительный период из предыдущего пункта. А в идеале ещё и уметь адаптироваться под изменяющиеся обстоятельства в течение периода, которые требуют корректировки плана. Например, под нового крупного заказчика, потерю поставщика, изменения на логистическом маршруте и так далее.

Третья: спланировать работу смен, бригад, расписание установок на каждый час (или иной короткий промежуток времени), определить, кого дергать на переработку, и когда нанять дополнительный транспорт, чтобы выполнить этот план на день из предыдущего пункта наиболее эффективным образом.

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

В одних отраслях/бизнесах эта тройка задач может называться объёмным, календарным и операционным планированием. В других прозвучат слова IBP-план (Integrated Business Plan, IBP, при том что в теории IBP планирование шире), MRP/CRP и Сменно-суточный план / Scheduling / APS или иными словами. Тем не менее, задача эта общая и она так или иначе решалась задолго до изобретения аббревиатур выше.

Задача эта достаточно стара. В том или ином виде ставилась как минимум с XIX века. Уже в XXом веке Канторович, Данциг, Жадан и другие известные ученые разработали математическую базу, которая в основном и используется по сей день и существенно помогает бизнесу. Это, в первую очередь, методы линейного программирования (Mixed Integer Linear Programming, MILP).

Решается задача повсеместно. Начиная с компаний, которые решают её в Excel, благо он обладает минимальным общим инструментарием для решения таких задач. И заканчивая компаниями, которые используют адаптированные под отрасли промышленности мощные специализированные решения, такие как Aspen Unified (или более старые и более известные Aspen PIMS, DPO и иные), Delmia Quintiq и другие.

Многие из текущих safe-choice решений созданы десятки лет назад и устарели. Вот несколько причин этому.

Данных стало много и для максимальной эффективности их хорошо бы учесть все, в том числе такие, которые не укладываются в MILP задачу (такие как последовательное перемещение по нефтепродуктопроводу в нефтянке, или биржевые колебания цен и т.п.). При стандартном подходе это реализовывается так называемыми «костылями».

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

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

Добавьте к сложности расчёта исторически сложившийся табличный интерфейс, который приводит как к ошибкам человеческого фактора, и так к высокому «порогу входа» в такие решения.

Теперь понятно почему процесс планирования становится сложным и болезненным.

А если всё это считать в масштабах не одного завода, а корпорации, цепочки добавленной стоимости или даже отрасли, то задача при решении «в лоб» оказывается просто неподъемной.

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

Я тоже, как и все, решал эти проблемы костылями. В какой-то момент мне захотелось исхитриться и попробовать решить задачу методами машинного обучения, как, наверное, и многим другим. И как у этих других у меня не получилось. Нет подходящего набора данных, велика изменчивость. Но в итоге мы с командой смогли найти подход к этой задаче, чтобы решить её эффективней чем раньше. Он, как часто бывает в таких случаях, комплексный. Мы продолжаем решать MILP задачу, но обогащаем её:

При этом всё это достаточно легко проверить. Мы рады доказать нашу результативность на практике. Присылайте ваши данные и мы посчитаем по ним план лучше, чем ваше текущее решение.

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

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

Звучит знакомо? Пишите! Разберёмся вместе!


Scroll to Top