Планы палет – задаваемые компьютеру координаты и ориентации коробок, а также очередность их укладки – были в зоне моей ответственности. Всего двумя неделями ранее я взял на себя руководство командой, писавшей софтвер для планирования палет. За несколько лет до того я очень успешно решил эту задачу в нашем первом автоматизированном складе в городе Ньюбург, в захолустной части штата Нью-Йорк, вверх по Гудзону от Нью-Йорк Сити. Большие склады обычно строятся в депрессивных и невзрачных местах – где дешевая земля и проще найти рабочих, готовых день за днем вкалывать в ночную смену или проводить по десять часов в огромном унылом ангаре, среди однообразных стеллажей с коробками, палетами и горами картонного мусора от упаковок. На большинстве складов рабочие расставляли полные палеты вручную, перемещая их вдоль стеллажей вилочным погрузчиком. Наша автоматическая система предполагала замену этого тяжелого ручного труда механизмами и роботами.
Еще в первый год работы в «Симботике» я придумал невероятно сложный, но очень элегантный математический алгоритм, который планировал красивые и устойчивые палеты, собранные из коробок разной длины, ширины и высоты: квадратных и прямоугольных, широких и плоских, высоких и узких. Все они эффективно укладывались на свои места. Я также руководил небольшой командой, превратившей этот алгоритм в рабочий код для нашего первого автоматизированного склада в Ньюбурге. Фактически это спасло еще совсем молодую компанию, когда в ее пилотном проекте, на том самом складе в Ньюбурге, все шло наперекосяк. Вся система работала на малую долю от запланированной производительности, палеты на выходе (до внедрения моего алгоритма) были маленькими и корявыми, и компания вот-вот могла остаться без финансирования. Успешное внедрение нового алгоритма палетизации убедило Рика, главного спонсора и владельца компании (также прибывшего в этот августовский день с визитом на склад «Кока-Колы»), что проект не безнадежен. Следующие два проекта не требовали палетизации, и эта тема на несколько лет ушла на второй план. Я занимался другими задачами, связанными с нашей системой следующего поколения.
Когда же мы подписали контракт с «Кока-Колой» в 2015 г., построение палет на отгрузку в магазины вновь стало одной из важнейших компонент автоматизации. Но софтвер для планов палет теперь делали другие люди. Предполагалось, что они будут опираться на мои алгоритмы, но перепишут софтвер с нуля и на другом языке – C# (в отличие от C++ в первоначальном варианте). И еще добавят множество деталей, актуальных для новых автоматизированных систем «Симботика», а также специфичных для упаковок напитков, проходивших через склады «Кока-Колы».
Результат пока что ужасал. Это была пародия на тот алгоритм, который я сделал пять лет назад и который очень хорошо работал в Ньюбурге. Было больно смотреть на уродцев, вылезавших из палетизационной ячейки. Иной раз, когда робот подхватывал большую коробку, чтобы положить ее на палету, замирало сердце. Это было почти лотереей: куда он поставит ее сейчас? Интуитивно угадывалось наиболее подходящее место – пустой угол или зияющее пространство между двумя упаковками. Но предательский ухват робота взмывал выше и водружал свою ношу поверх другой коробки, вместо намного более логичного места рядом с ней. Очередной прокол. Нижнее пространство оставалось пустым, а сверху нарастала шаткая пирамида из упаковок. И рядом с ней – другая пирамида, отделенная от первой узкой улочкой, как в средневековом городе. Если это нагромождение в целости и сохранности выйдет из палетизационной ячейки, покачиваясь неустойчивыми стенами из упаковок с тяжелыми бутылками, – это уже можно будет считать удачей. Но опасность подстерегала палету и дальше. Она могла обрушиться на цепном конвейере по пути от ячейки до вилочного погрузчика и на вилочном погрузчике по пути в фуру. Или внутри фуры по пути в магазин. По прибытии в магазин это заставит чертыхаться как приемщика, не получившего заказанный товар в сохранности, так и водителя фуры, которому придется вычищать хлам из лопнувших банок и бутылок и отмывать пол от чавкающей липкой жидкости.
Операторы погрузчиков, видя на своих вилках очередную неустойчивую, готовую завалиться набок палету, морщились и ругались: им предстояло вручную поправлять ее, а за эту работу им не доплачивали. Они отвозили палету в сторону, разрезали верхнюю часть стягивающей пленки, переставляли коробки на пустые места пониже, подгоняли их плотнее друг к другу, впихивали внутрь те, что торчали наружу, и затем вручную заматывали верх палеты такой же пленкой, какую использовал оборачивающий автомат внутри ячейки.
* * *
Сейчас, душным августовским вечером, главное начальство собралось на «капитанском мостике» – том самом мезонине с дрожащим полом, откуда можно было наблюдать за урчащими и лязгающими роботами-палетизаторами. Я стоял неподалеку, внизу, следя за готовыми палетами, выходящими из темного чрева палетизационных ячеек. Рик, владелец «Симботика», помахал мне, подзывая к себе, наверх. Именно он через нашего вице-президента по софтверу попросил меня приехать сегодня на склад.
Я поднялся на платформу-мезонин. Рик стоял рядом с главой делегации «Кока-Колы» – каким-то крупным чином, ответственным за автоматизацию или развитие бизнеса, а может быть, региональным менеджером. Рик представил нас друг другу, но я не запомнил имя собеседника, как наверняка и он мое. Чин из «Кока-Колы» был на голову выше Рика, стройный, с короткой строгой стрижкой, одетый в идеальный business casual – в общем, классический типаж руководителя средне-высшего звена: его можно было легко представить бойко чеканящим квартальный отчет на собрании акционеров – сказки про нынешние трудности и будущие победы – или во главе большого стола на совещании в верхах, грозно отчитывающим подчиненного за путаницу на пауэрпойнт-слайде.
– Вот он – босс, – произнес Рик, указывая на чина из «Кока-Колы». – Мы будем делать, что он скажет.
Высокий чин был, конечно, представителем заказчика и уже потому боссом, но Рик все же лукавил. Это немного напоминало старый советский анекдот про перепуганного гаишника, остановившего лихача на крутой тачке в ночной Москве: «Я не знаю, что это за пассажир, но водитель у него – Брежнев!» Кока-коловский представитель был, возможно, крупным менеджером в этой компании с мировым именем, но Рик был мультимиллиардером, одним из нескольких десятков богатейших людей Америки. По крайней мере, самым богатым – с многократным опережением – в штате Нью-Гэмпшир, где базировался его основной бизнес. Помимо «Симботика» он владел одной из крупнейших частных компаний США с прозаичным названием – C&S Wholesale Grocers (или просто «Си-энд-Эс»), которой принадлежала огромная сеть оптовых продовольственных складов. Это был семейный бизнес в третьем или четвертом поколении. Широкой публике имя компании не говорило абсолютно ничего, она никак не рекламировала себя и всегда держалась в тени. Даже фуры, развозившие продукты со складов «Си-энд-Эс» в сети супермаркетов, представляли собой безликие серые громадины без каких-либо брендовых надписей.
Рик, чин из «Кока-Колы» и я несколько минут наблюдали за палетами, обсуждая, как было бы правильнее уложить ту или иную коробку. Я рассказал, какие улучшения в планировании палет мы собирались внедрить в ближайшее время. Когда в разговоре возникла пауза на несколько секунд, я отошел в сторону – мое присутствие, вероятно, больше не требовалось.
* * *
До тех пор я присутствовал на многочисленных совещаниях с Риком, и это был очень интересный опыт. Я не раз наблюдал, как он с трудом, в течение нескольких минут, старается понять вещи, очевидные для остальных участников встречи. Что-то не укладывалось в его картину мира; он ментально сопротивлялся, упрямился. Присутствующие на совещании начинали обходные маневры, пытаясь объяснить как-то иначе или переубедить его, словно осаждающая армия, пробующая новую тактику для взятия крепости. Иногда Рик сдавался, понимая, что сопротивление бесполезно: волна перекатывалась через преграду и устремлялась к следующему рубежу. В других случаях его упрямство только возрастало: от обсуждения он переходил к прямым командам, не терпящим возражений, и тогда сдавались остальные присутствующие – до обсуждения этого вопроса в следующий раз, когда все могло обернуться иначе. Порой упрямство Рика дорого обходилось компании – в результате он терял миллионы или даже десятки миллионов собственных денег, поскольку был единственным инвестором «Симботика». Иногда за считаные секунды он принимал решения, казавшиеся в тот момент ошибочными, даже провальными. Но через несколько месяцев выяснялось, что такое решение было хоть и рискованным и, возможно, не оптимальным, но вполне адекватным ситуации.