00:12 Введение
02:23 Фальсифицируемость
08:25 Что уже произошло
09:38 Подходы к моделированию : Математическая оптимизация (МО)
11:25 Обзор математической оптимизации
14:04 Основная теория цепей поставок (резюме)
19:56 Объем перспективы математической оптимизации
23:29 Эвристики отказа
30:54 На следующий день
32:43 Есть ли искупительные качества?
36:13 Подходы к моделированию : Экспериментальная оптимизация (ЭО)
38:39 Обзор экспериментальной оптимизации
42:54 Коренные причины безумия
51:28 Выявление безумных решений
58:51 Улучшение инструментов
01:01:13 Улучшение и повторение
01:04:40 Практика ЭО
01:11:16 Резюме
01:14:14 Заключение
01:16:39 Предстоящая лекция и вопросы аудитории

Описание

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

Полная стенограмма

Slide 1

Всем привет, добро пожаловать на эту серию лекций о цепях поставок. Меня зовут Жоанн Верморель, и сегодня я представлю «Экспериментальную оптимизацию», которую следует понимать как оптимизацию цепей поставок посредством серии экспериментов. Для тех, кто смотрит лекцию в прямом эфире, вы можете задавать вопросы в любой момент через чат YouTube. Однако, я не буду читать чат во время лекции; в конце лекции я вернусь к чату, чтобы ответить на накопившиеся вопросы.

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

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

Slide 2

Но прежде, давайте на мгновение вернемся к самому понятию природы науки и её взаимосвязи с реальностью.

Существует одна книга «Логика научного открытия», опубликованная в 1934 году Карлом Поппером, которая считается абсолютным ориентиром в истории науки. В ней была предложена поразительная идея — фальсифицируемость. Чтобы понять, как возникла эта идея и в чем ее суть, очень интересно проследить путь самого Карла Поппера.

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

Оказалось, что революция действительно произошла в 1917 году; однако она произошла в России, которая была наименее индустриализированной страной в Европе, и таким образом полностью противоречила прогнозам теории. С точки зрения Поппера, существовала научная теория, делающая предсказания, а затем произошли события, опровергающие её. Он ожидал, что теория будет опровергнута, и люди перейдут к чему-то другому. Вместо этого он увидел совсем иное: сторонники марксистской теории модифицировали её, чтобы она соответствовала разворачивающимся событиям. Таким образом, они постепенно сделали теорию неуязвимой для реальности. То, что начиналось как научная теория, постепенно изменилось и стало абсолютно иммунным, и ничто, что могло бы произойти в реальном мире, больше не опровергало бы эту теорию.

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

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

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

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

Slide 3

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

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

Slide 4

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

Основной подход к достижению количественных улучшений в цепях поставок — это математическая оптимизация. Этот подход по сути заключается в построении длинного каталога пар «задача-решение». Однако, я считаю, что этот метод не очень эффективен, и нам нужна другая перспектива, именно это и подразумевает экспериментальная оптимизация. Её следует понимать как оптимизацию цепей поставок посредством серии экспериментов.

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

Slide 5

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

Это область исследований, интересующаяся классом математических задач, представленных, как показано на экране. По сути, вы начинаете с функции, которая отображает произвольное множество (заглавная A) в действительное число. Эта функция, часто называемая функцией потерь, обозначается f. Мы ищем оптимальное решение, то есть такую точку x, которая принадлежит множеству A и не может быть улучшена. Очевидно, что это очень обширная область исследований, сопряженная с множеством технических деталей. Некоторые функции могут не иметь минимума, в то время как у других может быть много различных минимумов. Как область исследований, математическая оптимизация оказалась продуктивной и успешной. Было разработано множество техник и введено множество концепций, которые с большим успехом используются в других областях. Однако сегодня я не буду обсуждать все это, так как это не является целью данной лекции.

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

Slide 6

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

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

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

Как я уже говорил в самой первой лекции, у меня есть серьезные опасения по поводу этой основной теории цепей поставок. Упомянутые книги не являются случайными подборками; я считаю, что они точно отражают последние несколько десятилетий исследований в области цепей поставок. Теперь, рассматривая идеи фальсифицируемости, представленные Карлом Поппером, мы можем яснее увидеть, в чем заключается проблема: ни одна из этих книг на самом деле не является наукой, поскольку реальность не может опровергнуть представленное в них. Эти книги по сути полностью невосприимчивы к реальным цепям поставок. Когда книга представляет собой всего лишь сборник пар «задача-решение», нет возможности что-либо опровергнуть. Это чисто математическая конструкция. Тот факт, что цепочка поставок функционирует так или иначе, не влияет на возможность доказать или опровергнуть что-либо, представляемое в этих книгах. Это, пожалуй, вызывает у меня наибольшие опасения в отношении этих теорий.

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

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

Таким образом, это не связано с незнанием. У нас есть действительно острая проблема, и я считаю, что её коренная причина заключается в том, что это вовсе не наука. Невозможно опровергнуть ни одно из представленных утверждений. Дело не в том, что эти теории неверны – они математически корректны – но в том, что они не являются научными в том смысле, что даже не соответствуют критериям науки.

Slide 7

Теперь возникает вопрос: каков масштаб этой проблемы? Ведь я выбрал всего две книги, но каков реальный масштаб подхода математической оптимизации в цепочках поставок? Я бы сказал, что этот подход имеет поистине огромный масштаб. В качестве доказательства анекдотическим примером, я недавно воспользовался Google Scholar – специализированной поисковой системой от Google, выдающей только научные публикации. Если искать запрос “optimal inventory” только за 2020 год, вы получите свыше 30 000 результатов.

Это число следует воспринимать с долей скептицизма. Очевидно, в этом списке, вероятно, присутствует множество дубликатов, и скорее всего, обнаружатся ложные срабатывания – статьи, в заголовке и аннотации которых встречаются слова “inventory” и “optimal”, но которые вовсе не посвящены цепочкам поставок, а это чистая случайность. Тем не менее, беглый взгляд на результаты очень сильно намекает на то, что речь идёт о нескольких тысячах статей, публикуемых ежегодно в этой области. Даже для начала это число весьма велико, особенно по сравнению с такими абсолютно массивными областями, как deep learning. Глубокое обучение, вероятно, является одной из теорий информатики, которая добилась наибольшего успеха за последние два или три десятилетия. Так что тот факт, что запрос “optimal inventory” возвращает результат примерно в одну пятую от того, что выдаёт запрос по глубокому обучению, действительно поражает. Оптимизация запасов, очевидно, представляет собой лишь часть того, о чем говорят количественные исследования цепочек поставок.

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

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

Slide 8

Возникает вопрос: если существует тысячи статей, можно ли найти что-то действительно стоящее? Мне довелось изучить сотни количественных исследований цепочек поставок, и я могу привести ряд эвристик, которые почти с уверенностью покажут, что данная статья не несёт никакой практической ценности. Эти эвристики не являются абсолютно безошибочными, но они очень точны – можно сказать, точность превышает 99%. Конечно, это не идеально, но почти идеально.

Так как же выявить статьи, которые приносят реальную практическую пользу, или, наоборот, как отсеять те, которые не имеют никакой ценности? Я привёл краткий перечень эвристик. Первая – если статья делает какое-либо заявление об оптимальности, можно быть уверенным, что она не приносит никакой пользы для реальных цепочек поставок. Во-первых, это свидетельствует о том, что авторы даже не понимают или имеют минимальное представление о том, что цепочки поставок по своей сути являются крайне сложной проблемой. Утверждать, что у вас есть оптимальное решение, – всё равно что говорить, что существует жёсткий предел человеческой изобретательности. Я ни на миг в это не верю. Считаю, что это совершенно неразумное предположение. Мы видим, что подход к цепочкам поставок имеет серьезные проблемы.

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

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

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

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

Аналогичным образом, отсутствие глобального или целостного взгляда на цепочку поставок также является явным признаком того, что что-то не так. Если вспомнить предыдущую лекцию, где я представил количественные принципы для цепочки поставок, я отметил, что если вы применяете что-то, напоминающее локальный процесс оптимизации, то вы не оптимизируете в действительности; вы просто перемещаете проблемы внутри цепочки поставок. Цепочка поставок – это система, сеть, и поэтому нельзя использовать локальную оптимизацию с надеждой, что это принесёт благо всей системе. Просто это не работает.

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

Slide 9

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

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

Slide 10

В качестве последнего элемента, завершающего эту часть лекции о подходе математической оптимизации, возникает вопрос: есть ли в этом колоссальном количестве статей и программного обеспечения хоть какие-то положительные качества? Мой, весьма субъективный, ответ на этот вопрос – абсолютно нет. Эти статьи, а я прочитал огромное количество количественных исследований цепочек поставок, не представляют интереса. Напротив, они чрезвычайно скучны, даже лучшие из них. Если присмотреться к вспомогательным наукам, то там нет ни одной жемчужины действительно интересных идей. Вы можете просмотреть все эти статьи, а их насчитывается тысячи. С математической точки зрения всё выглядит чрезвычайно скучно. Здесь не представлено никаких грандиозных математических идей. С точки зрения алгоритмов, это просто прямое применение того, что известно давно в области алгоритмов. То же самое можно сказать и о статистическом моделировании и методологии, которые оставляют желать лучшего. По сути, всё сводится к подходу математической оптимизации, когда вы представляете модель, оптимизируете что-то, предлагаете решение и доказываете, что это решение обладает определёнными математическими характеристиками по отношению к условию задачи.

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

Slide 11

Теперь перейдём ко второму подходу к моделированию, который я хочу представить сегодня. В первые годы методология Lokad была глубоко укоренена в подходе математической оптимизации. В этом отношении мы были весьма мейнстримными, и это работало у нас очень плохо. Одна из особенностей Lokad, которая была почти случайной, заключалась в том, что в какой-то момент я решил, что Lokad не будет продавать корпоративное программное обеспечение, а будет напрямую предлагать конечные решения для цепочек поставок. Я имею в виду точные количества, которые требуется закупить определённой компанией, количества, которые необходимо произвести, и сколько единиц нужно переместить с точки A в точку B – вне зависимости от того, должна ли снижаться какая-либо конкретная цена – Lokad занималась продажей конечных решений для цепочек поставок. Благодаря этому полу-случайному решению, мы столкнулись с нашими собственными недостатками лицом к лицу. Нас подвергли испытанию, и проверка на прочность оказалась крайне жестокой. Если бы мы предоставляли решения для цепочек поставок, которые оказывались неудачными, клиенты тут же обрушивались бы на меня с яростными обвинениями, потому что Lokad не поставлял удовлетворительные результаты.

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

Slide 12

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

Затем вы переходите к неопределенной итерационной практике, в рамках которой сначала вы запускаете рецепт. Под «запуском» я подразумеваю, что рецепт должен суметь работать в условиях промышленного уровня. Речь идет не просто о том, чтобы иметь алгоритм в лаборатории data science, который можно запустить. Важно иметь рецепт, обладающий всеми необходимыми качествами, чтобы, если вы решите, что данные решения достаточно хороши для внедрения в производство, можно было сделать это одним кликом. Вся среда должна соответствовать промышленным стандартам; именно в этом суть запуска рецепта.

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

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

Slide 13

Давайте на мгновение рассмотрим коренные причины безумия, объясняющие эти безумные решения. Часто, когда я спрашиваю директоров по цепям поставок, почему, по их мнению, их корпоративные программные системы, управляющие операциями цепочки поставок, продолжают выдавать безумные решения, они отвечают: «О, это просто из-за плохих прогнозов». Я считаю этот ответ ошибочным по крайней мере по двум причинам. Во-первых, если сравнить точность от очень простого модели скользящего среднего и передовой модели машинного обучения, можно увеличить точность примерно на 20%. Да, это существенно, но этого недостаточно, чтобы изменить ситуацию между очень хорошим решением и абсолютно безумным решением. Во-вторых, основная проблема прогнозов в том, что они не рассматривают все альтернативы; они не являются вероятностными. Однако я отклоняюсь от темы; это был бы материал для другой лекции.

Если вернуться к коренной причине безумия, я убежден, что, хотя ошибки прогнозов вызывают определённое беспокойство, они вовсе не являются первостепенной проблемой. За десятилетний опыт работы в Lokad я могу с уверенностью сказать, что это в лучшем случае вспомогательная проблема. Главная проблема, самая значимая причина появления безумных решений, – это семантика данных. Помните, вы не можете наблюдать цепочку поставок напрямую; это невозможно. Вы можете наблюдать цепочку поставок только через отражение, предоставляемое электронными записями, которые вы получаете с помощью корпоративного программного обеспечения. Ваше наблюдение за цепью поставок – это весьма косвенный процесс через призму программного обеспечения.

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

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

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

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

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

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

Slide 14

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

В реальном мире существует множество подобных проблем. Например, можно провести аналогию с ошибками в кинофильмах. Если спросить у голливудских студий, существует ли алгоритм, способный выявить все ошибки в любом фильме, они, вероятно, скажут, что понятия не имеют, как его создать, поскольку это требует человеческого интеллекта. Однако, если преобразовать задачу так, что вам просто нужны люди, которых можно обучить очень хорошо выявлять ошибки в кино, задача становится гораздо проще. Легко представить, что можно составить руководство, содержащее все приемы по выявлению ошибок в фильмах. Для этой работы не нужны исключительно умные люди – достаточно людей с разумным уровнем интеллекта и преданностью делу. В этом и заключается суть.

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

Давайте начнем с stockouts. Если мы просто выполним запрос по всем товарам и всем магазинам, мы увидим, что по всей сети имеется тысячи случаев отсутствия запасов. Это не приносит особой пользы; их слишком много, и ответ в итоге «ну и что?» Возможно, проблема не только в отсутствии запасов; действительно интересно рассматривать случаи отсутствия запасов в ключевых магазинах, то есть в магазинах с высокими продажами. Именно там это имеет значение, а не случаи отсутствия запасов для любых товаров, а только для лидеров продаж. Давайте сузим наш поиск до случаев отсутствия запасов в ключевых магазинах для лидеров продаж.

Затем мы можем рассмотреть один SKU, где запас оказывается равным нулю. Но при более тщательном рассмотрении мы увидим, что, возможно, в начале дня запас составлял три единицы, а последняя единица была продана всего за 30 минут до закрытия магазина. Если присмотреться, то видно, что три единицы будут пополнены на следующий день. Так что здесь мы имеем ситуацию, когда фиксируется отсутствие запасов, но действительно ли это важно? Оказывается, что нет, потому что последняя единица была продана непосредственно перед закрытием магазина вечером, а количество будет восстановлено. Более того, если мы посмотрим внимательнее, может оказаться, что в магазине недостаточно места для размещения более трех единиц, так что мы ограничены в возможностях.

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

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

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

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

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

Slide 15

Здесь мы наблюдаем принципиальное отличие от подхода математической оптимизации в цепочке поставок.

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

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

Slide 16

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

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

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

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

Slide 17

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

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

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

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

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

Также важно отметить, что, хотя это итеративный процесс, он не является сходящимся. Это может быть несколько тревожным. Идея о том, что итерационный процесс может сходиться к какому-то оптимальному решению, сродни утверждению, что существует жесткий предел человеческого изобретательства. Я считаю, что это чрезмерное предположение. Проблемы цепочки поставок являются запутанными, поэтому нет сходимости, поскольку всегда могут произойти кардинальные изменения. Это не узко определенная проблема, в которой можно надеяться найти оптимальное решение. Кроме того, еще один фактор, почему на практике отсутствует сходимость, заключается в том, что мир постоянно меняется. Ваша цепочка поставок не функционирует в вакууме; ваши поставщики, клиенты и окружение меняются. Любой числовой рецепт, который у вас был в определенный момент времени, может начать давать безумные решения просто потому, что рыночные условия изменились, и то, что было разумно раньше, уже не является таковым. Вам нужно адаптироваться к текущей ситуации. Посмотрите, что произошло в 2020 году с пандемией; очевидно, изменений было так много, что то, что было разумным до пандемии, не могло оставаться таковым во её разгар. То же самое повторится вновь.

Slide 18

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

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

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

Slide 19

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

Slide 20

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

Теперь позвольте мне перейти к вопросам.

Вопрос: Если работы по цепочкам поставок не имеют шансов быть хоть как-то связанными с реальностью, и любой реальный кейс подпадает под NDA, что бы вы посоветовали тем, кто хочет проводить исследования по цепочкам поставок и публиковать свои выводы?

Мой совет — вам нужно ставить под сомнение сам метод. Существующие методы не подходят для изучения цепочек поставок. В этой серии лекций я представил два подхода: управление персоналом цепочки поставок и экспериментальную оптимизацию. На основе этих методологий предстоит сделать огромную работу. Это всего лишь два подхода; я почти уверен, что существует ещё много методов, которые предстоит открыть или изобрести. Мой совет — поставить под сомнение в самой основе то, что делает дисциплину настоящей наукой.

Вопрос: Если математическая оптимизация не является лучшим отражением того, как цепочки поставок должны работать в реальном мире, почему метод глубокого обучения будет лучше? Разве глубокое обучение не принимает решения, исходя из ранее оптимальных решений?

В этой лекции я чётко разграничил математическую оптимизацию как самостоятельную область исследований и глубокое обучение как самостоятельную область исследований, а также математическую оптимизацию как подход, применяемый к цепочкам поставок. Я не утверждаю, что математическая оптимизация как область исследований недействительна; наоборот, всё наоборот. В этой экспериментальной оптимизации, о которой я говорю, в основе числового рецепта обычно лежит какой-либо алгоритм математической оптимизации. Суть в том, что речь идёт о математической оптимизации как подходе; именно это я и подвергаю сомнению. Я знаю, что это тонкость, но это критически важное различие. Глубокое обучение — это вспомогательная наука. Глубокое обучение является отдельной областью исследований, так же как математическая оптимизация. Обе области исследований велики, но они полностью независимы и отличаются от изучения цепочек поставок. Нас же сегодня действительно волнует количественное улучшение цепочек поставок. Именно поэтому я выступаю за методы, которые способны обеспечить количественные улучшения в цепочке поставок таким образом, чтобы они были контролируемыми, надёжными и измеримыми. Вот о чём идёт речь.

Вопрос: Может ли обучение с подкреплением быть правильным подходом к управлению цепочками поставок?

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

Вопрос: Является ли математическая оптимизация неотъемлемой частью обучения с подкреплением?

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

Вопрос: Как вы определяете безумное решение в контексте методов глубокого обучения, которые часто планируют множество решений заранее?

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

Вопрос: Как на практике работает экспериментальная оптимизация, идентификация безумия и поиск решений? Я же не могу ждать, пока в реальности случится безумное решение, верно?

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

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

Вопрос: Если рецепт может нарушиться из-за математического метода и/или подхода, и если вы не знаете этого другого подхода, как можно понять, что проблема именно в подходе, а не в методе, и побудить себя найти другой подход, который лучше подходит для решения проблемы?

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

Вам нужно проводить мозговые штурмы, и, кстати, очень конкретный ответ от Lokad заключается в том, что компания базируется в Париже. Мы обслуживаем клиентов в двадцати нескольких отдалённых странах, включая Австралию, Россию, США и Канаду. Почему я собрал все мои команды учёных по цепочкам поставок в Париже, хотя из-за пандемии всё несколько усложнилось и стало много удалённой работы? Потому что мне нужно было, чтобы эти люди находились в одном месте, чтобы они могли общаться, проводить мозговые штурмы и вырабатывать новые идеи. Опять же, это довольно простое решение, но я не могу обещать ничего лучшего. Когда есть нечто, что вы не можете увидеть, например, необходимость учитывать долгосрочные последствия, и вы просто забываете об этом или никогда не задумывались об этом, эта проблема может оказаться совершенно очевидной. В одной из моих предыдущих лекций я приводил пример чемодана. Потребовалось 5 000 лет, чтобы прийти к мысли, что было бы неплохо оснастить чемоданы колёсами. Колёса были изобретены тысячи лет назад, а лучшая версия чемодана появилась десятилетия спустя после того, как людей высадили на Луну. Именно такого рода вещи — когда что-то очевидное остаётся незамеченным. Рецепта для этого нет; всё сводится к человеческому интеллекту. Вы просто делаете то, что умеете.

Вопрос: Постоянно меняющиеся условия приведут к тому, что оптимальное решение для вашей цепочки поставок будет постоянно устаревать, верно?

Да и нет. С точки зрения экспериментальной оптимизации не существует такого понятия, как оптимальное решение. Есть оптимизированные решения, но разница между ними имеет огромное значение. Оптимизированные решения далеки от оптимальных. Оптимальное, как я уже повторяю, означает, что существует жесткий предел человеческой изобретательности. Таким образом, нет ничего оптимального; есть лишь оптимизированное. И да, с каждым днём рынок всё больше расходится со всеми экспериментами, проведёнными до сих пор. Природная эволюция мира просто разрушает ту оптимизацию, которую вы достигли. Таков уж мир. Бывают дни, например, когда происходит пандемия, и это расхождение резко ускоряется. Снова, таков уж мир. Мир меняется, и поэтому ваш числовой рецепт должен меняться вместе с ним. Это внешняя сила, так что, да, от этого не уйти; решение придётся пересматривать постоянно.

Это одна из причин, почему Lokad предлагает подписку, и мы говорим своим клиентам: “Нет, мы не можем продать вам специалиста по цепочкам поставок только для фазы внедрения. Это абсурд. Мир будет продолжать меняться; этот специалист по цепочкам поставок, который разработал числовой рецепт, должен быть с вами до конца времён или до тех пор, пока вы не устанете от нас.” Таким образом, этот человек сможет адаптировать числовой рецепт. От этого не уйти; это просто внешний мир, который продолжает меняться.

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

Во-первых, именно это я и сказал на последнем слайде, где показал скриншот из «Матрицы». В какой-то момент вам приходится решать, хотите ли вы жить в фантазии или в реальном мире. Надеюсь, что если ваше высшее руководство состоит из идиотов, мой единственный совет — лучше идите в другую компанию, потому что я не уверен, что эта компания просуществует долго. Но реальность такова, что, я думаю, менеджеры не дураки. Они не хотят иметь дело с вымышленными проблемами. Если вы менеджер в крупной компании, к вам приходят десять раз в день с «главной проблемой», которая на самом деле не является проблемой. Ответ менеджмента, который является правильной реакцией, звучит так: «Проблемы нет, просто продолжайте делать то, что вы делали. Извините, у меня нет времени переделывать мир вместе с вами. Это просто не тот способ взглянуть на проблему.» Они поступают правильно, потому что за десятилетия опыта умеют разбираться в этом. У них более эффективные эвристики, чем у людей, стоящих ниже по иерархии.

Но иногда существует действительно серьёзная проблема. Например, ваш вопрос таков: как убедить высшее руководство два десятилетия назад, что электронная коммерция через два десятилетия станет доминирующей силой? В какой-то момент вы просто должны выбирать свои битвы с умом. Если ваше высшее руководство не дураки и вы приходите на встречу хорошо подготовленным, говоря: «Эй, босс, у меня есть проблема. Это не шутка. Это очень важный вопрос, на кону миллионы долларов. Я не шучу. Мы теряем тонны денег. Более того, я подозреваю, что большинство наших конкурентов свалят нас за неспособность действовать. Это не мелочь; это очень реальная проблема. Мне нужно, чтобы вы уделили 20 минут своего внимания», — то вы на правильном пути. Снова отмечу, что в крупных компаниях редко бывает, чтобы высшее руководство состояло из полных идиотов. Они могут быть заняты, но они не идиоты.

Вопрос: Каков должен быть правильный набор инструментов для производственных компаний: экспериментальная оптимизация вроде Lokad, плюс ERP, плюс визуализация? А как насчёт роли современных систем онлайн-планирования?

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

В Lokad этот метод возник лишь потому, что мы кардинально отличались от наших конкурентов. У нас не было роскоши искать оправдания. Как говорится: “Можно иметь либо оправдания, либо результаты, но не то и другое одновременно.” В Lokad у нас не было выбора в пользу оправданий. Мы принимали решения, и клиенту не приходилось ничего настраивать или корректировать. Lokad открыто сталкивался со своими недостатками. Насколько я знаю, все наши конкуренты прочно закоснены в подходе математической оптимизации, и им свойственна некоторая неуязвимость к реальности. Честно говоря, они не совершенно не воспринимают реальность, но темп их итераций оказывается очень медленным, как я описывал для Lokad в его первые годы. Они не полностью игнорируют реальность, но их процесс улучшения развивается ледниково медленно, а мир постоянно меняется.

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

Вопрос: Какой должен быть правильный набор инструментов для производственных компаний?

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

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

Вот и всё. Увидимся через две недели в тот же день и в тот же час на лекции “Negative Knowledge in Supply Chain.”

Ссылки

  • Логика научного открытия, Карл Поппер, 1934