Платформа Lokad

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

envision

В основе Lokad лежит Envision, предметно-ориентированный язык программирования (DSL). Этот язык предназначен для экспертов в области цепочек поставок, а не для программистов. Наша основная цель — передать оптимизацию цепочек поставок в руки тех, кто обладает прямым экспертным опытом в этой области. Таким образом, Lokad снижает риски инициатив в области цепочек поставок, устраняя лишние звенья между бизнесом и ИТ.

С помощью Envision мы значительно превосходим возможности APS (систем расширенного планирования), «расширенных» только по названию, BI (бизнес-аналитики) или даже специализированных наборов инструментов для прогнозирования. И, наконец, по сравнению с универсальными языками программирования, такими как Python, Lokad предоставляет приложения, которые являются более безопасными и удобными для сопровождения.

За пределами электронных таблиц

Excel является самым распространённым инструментом в цепочках поставок. В Lokad мы признаём, что у Excel много отличных качеств: он прост, выразителен, визуален и, что самое важное, позволяет вам постоянно контролировать ваши данные. Excel достиг того мирового успеха, которого заслуживал. С помощью Envision мы приложили большие усилия, чтобы сохранить все эти превосходные качества, присущие Excel.

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

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

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

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

Не просто наблюдать за данными, а действовать на их основе

Решения в области бизнес-аналитики (BI) часто продаются как следующий этап аналитики после Excel. Однако, исходя из многолетнего опыта Lokad, мы пришли к выводу, что, в контексте цепочек поставок, BI почти всегда не приносит ожидаемых преимуществ. Проблема заключается не в качестве инструментов бизнес-аналитики: рынок BI зрел, и существует несколько отличных решений. Скорее, сложность заключается в том, что простое наблюдение за данными ради получения «инсайтов» чрезвычайно затратно для компаний, где задействованы тысячи продуктов и тысячи клиентов.

В цепочках поставок инструменты BI не масштабируются не из-за того, что они не способны обработать все доступные данные — в отличие от Excel, хорошие BI-инструменты могут обрабатывать очень большие объёмы данных —, а потому что, хотя генерировать миллионы чисел каждый день дешево,, как мы уже говорили, выработка всего десяти значимых чисел, достойных внимания и принятия решений, крайне сложна. Несмотря на все свои недостатки, Excel обладает подходом «делай работу», в то время как BI таким не является.

Для Envision мы абсолютно хотели сохранить этот подход «делай работу». Envision предназначен для создания приложений. Например, Envision может генерировать приоритетные списки действий, такие как:

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

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

Ваш бизнес не может избежать программируемости

Envision — это язык программирования. Для большинства людей, не являющихся разработчиками, это, вероятно, кажется «очень» техническим; многие бизнес-руководители, даже в крупнейших компаниях, задаются вопросом, сможет ли их команда стать продуктивной с таким продвинутым инструментом. Наш опыт показывает, что цепочки поставок по своей природе неизбежно сложны. Мы наблюдали, как некоторые поставщики обещали инструменты настолько простыми, что ими мог бы пользоваться даже «9-летний ребёнок», и в итоге получали результаты, соответствующие тому, что мог бы добиться настоящий «9-летний ребёнок».

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

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

Не только Python

Несмотря на растущую популярность инициатив в области data science, суровая реальность такова, что подавляющее большинство этих инициатив не оправдывают ожиданий. Более того, хотя первоначальные прототипы зачастую обещают многое, эти инициативы обычно не переходят на уровень полноценного производства. Напротив, Envision разработан с учётом производственных процессов в цепочках поставок, чтобы максимально смягчить те категории проблем, о которых идёт речь. Существует две основные причины этих неудач. Обсуждать все за и против альтернатив Envision было бы несколько утомительно, поэтому, для ясности, обсуждение будет сосредоточено на выборе между Python и Envision.

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

Во-вторых, затраты на сопровождение поспешно созданных прототипов на Python взлетают до небес. Затраты на сопровождение необходимо держать под контролем. Python далеко не оптимизирован с точки зрения аппаратных ресурсов. Кроме того, решение задач оптимизации цепочек поставок — это запутанный процесс: данные из множества (ненадёжных) систем должны быть надёжно переданы, несовершенные и постоянно меняющиеся процессы нужно задокументировать и смоделировать, а метрики оптимизации должны отражать бизнес-стратегию, находящуюся в постоянном изменении. Python практически не предлагает принцип correctness-by-design для поддержки таких усилий.

Envision — это наш ответ на эти вызовы. Он преуспевает в аспектах, которые просто недоступны Python, а именно:

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

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