СИСТЕМА ДИНАМИЧЕСКОЙ ОПТИМИЗАЦИИ ТЕЛЕЖКИ
DYNAMIC TROLLEY OPTIMIZATION SYSTEM

Перекрестная ссылка на родственные заявки
[0001] Данная заявка испрашивает приоритет предварительной патентной заявки США № 62/882,158, поданной 2 августа 2019, озаглавленной DYNAMIC CART OPTIMIZATION SYSTEM, и патентной заявки США № 16/942,541, поданной 29 июля 2020, озаглавленной DYNAMIC CART OPTIMIZATION SYSTEM, которые явно включены в настоящий документ посредством ссылки во всей своей полноте.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
[0002] Быстрый рост в последнее время электронной коммерции привел к значительным нагрузкам на транспортную и упаковочную отрасль промышленности. Не только объем отгружаемых продуктов значительно увеличивается, но и скорость, с которой предполагается доставлять продукты, также значительно увеличивается. Ранее, могло быть приемлемым, что посылки доставляются за 5-6 рабочих дней после размещения заказа. Однако текущие рыночные условия требуют, чтобы посылки доставлялись в течение двух дней, а в некоторых случаях в тот же день, когда заказ был размещен.
[0003] Для удовлетворения этих быстро растущих потребностей, от упаковочной и транспортной отрасли требуется обновлять и разрабатывать новые системы и машины для повышения эффективности и скорости. Одной из областей, эффективность которой была повышена, является использование настроенных (заказных) упаковочных систем, которые способны создавать соответствующие по размеру упаковки для широкого ассортимента различных заказов. Эти заказные упаковки снижают бесполезно расходуемое пространство внутри транспортных средств и в оборудовании для хранения, позволяя отправлять больше заказов в одном и том же транспортном средстве.
[0004] Область упаковки и перевозки, которая требует технологических усовершенствований, представляет собой область, связанную с технологиями комплектации. "Комплектация" представляет собой процесс сбора предметов внутри склада для отправки. Как правило, заказ принимается на складе, и выполняется запрос на комплектацию, чтобы собрать предметы в заказе, так чтобы они могли быть отправлены получателю заказа. Процессы и машины, используемые при сборе заказа, могут значительно влиять на эффективность, затраты и скорость, с которыми заказ собирается и подготавливается для отправки. В этой области имеется потребность в технологических решениях, которые улучшают системы комплектации.
[0005] Изобретение, заявленное в настоящем документе, не ограничено вариантами осуществления, которые преодолевают какие-либо недостатки или которые работают только в средах, таких как описанные выше. Напротив, эти предпосылки предоставлены только для иллюстрации одной приведенной для примера технологической области, где могут быть практически реализованы некоторые варианты осуществления, описанные в настоящем документе.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
[0006] Раскрытые варианты осуществления включают в себя компьютерную систему для оптимизации выбора узлов и ребер в цифровой модели графа. Компьютерная система содержит один или более процессоров и один или более считываемых компьютером носителей, имеющих сохраненные на них исполняемые инструкции, которые, при их исполнении одним или более процессорами, конфигурируют компьютерную систему выполнять различные действия. Например, компьютерная система может получать доступ к цифровой модели графа физического места расположения (локации) склада. Цифровая модель графа содержит информацию, указывающую местонахождение множества конкретных элементов товарно-материальных запасов среди полок в локации физического склада. Дополнительно, цифровая модель графа содержит множество узлов и множество ребер, каждый из множества узлов представляет различную физическую область в пределах физической локации склада, и каждое из множества ребер представляет физический путь между каждым узлом во множестве узлов и ближайшими соседними узлами каждого узла.
[0007] Компьютерная система может дополнительно идентифицировать, в базе данных запросов заказов, набор заказов, причем каждый заказ в наборе заказов содержит один или более элементов (предметов) и приоритет заказа. Компьютерная система отображает затем каждый элемент в каждом заказе, выбранном из набора заказов, на множество узлов в цифровой модели графа. Компьютерная система идентифицирует узел ранжирования из множества узлов. Узел ранжирования содержит узел с наивысшим числом отображенных элементов. Затем компьютерная система выполняет проход по одному или более ребрам, которые продолжаются от узла ранжирования, чтобы идентифицировать кратчайший путь в цифровой модели графа, чтобы заполнить цифровую модель комплектовочной тележки выше порогового уровня упаковки.
[0008] Данное краткое описание сущности изобретения предназначено для введения подборки концепций в упрощенной форме, которые дополнительно описаны ниже в подробном описании. Это краткое изложение сущности изобретения не предназначено для идентификации ключевых признаков или существенных признаков заявленного изобретения, а также не предназначено для использования в качестве помощи при определении объема заявленного изобретения.
[0009] Дополнительные признаки и преимущества будут изложены в нижеследующем описании и частично будут очевидны из описания или могут быть изучены при практическом осуществлении идей согласно данному документу. Признаки и преимущества изобретения могут быть реализованы и получены с помощью инструментов и комбинаций, конкретно указанных в прилагаемой формуле изобретения. Признаки настоящего изобретения станут более очевидными из последующего описания и прилагаемой формулы изобретения или могут быть изучены при практическом осуществлении изобретения, как изложено ниже.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0010] Для описания способа, которым могут быть получены вышеуказанные и другие преимущества и признаки, более конкретное описание заявленного изобретения, кратко описанного выше, будет представлено посредством ссылки на конкретные варианты осуществления, которые проиллюстрированы на прилагаемых чертежах. Понимая, что эти чертежи изображают только типичные варианты осуществления и, следовательно, не должны рассматриваться как ограничивающие объем, варианты осуществления будут описаны и пояснены с дополнительной спецификой и подробностями посредством использования прилагаемых чертежей.
[0011] Фиг. 1 иллюстрирует вариант осуществления упаковочной ячейки.
[0012] Фиг. 2 иллюстрирует схематичное изображение варианта осуществления локации склада.
[0013] Фиг. 3 иллюстрирует схематичное изображение варианта осуществления локации склада по фиг. 2 с узлами и элементами заказа, наложенными на схематичное изображение.
[0014] Фиг. 4 иллюстрирует цифровую модель графа физической локации склада, показанного на фиг. 2.
[0015] Фиг. 5 иллюстрирует схематичное изображение варианта осуществления компьютерной системы для идентификации пути запроса на комплектацию и генерирования запроса на комплектацию.
[0016] Фиг. 6 иллюстрирует блок-схему последовательности операций варианта осуществления этапов в способе для генерирования запроса на комплектацию.
[0017] Фиг. 7 иллюстрирует блок-схему последовательности операций варианта осуществления этапов в способе для идентификации пути запроса на комплектацию.
Подробное описание
[0018] Раскрытые варианты осуществления направлены на системы для оптимизации вариантов выбора узлов и ребер в цифровой модели графа локации склада. В частности, раскрытые варианты осуществления генерируют цифровую модель графа, которая содержит узлы, которые представляют физическую компоновку локации склада. Цифровая модель графа также содержит ребра, проходящие между одним или более узлами. По меньшей мере в одном варианте осуществления, цифровая модель графа содержит базу данных графа. Компьютерная система сконфигурирована отображать элементы в одном или более заказах на цифровую модель графа и итеративно проходить вдоль ребер в модели, чтобы сгенерировать оптимизированный выбор узлов и ребер. Как используется в настоящем документе, "заказ" содержит группу элементов, предназначенных для упаковывания в одну упаковку. Однако следует принимать во внимание, что, в некоторых вариантах осуществления, несколько заказов могут упаковываться в одной упаковке. Аналогично, заказчик может заказывать большое количество предметов, которые могут быть разделены на несколько заказов, которые разделены между несколькими упаковками.
[0019] Опционально, компьютерная система может также использовать кубический процессор (процессор определения объема) для обработки кубического алгоритма (алгоритма определения объема) на элементах в одном или более заказах, в то время как компьютерная система выполняет проход вдоль ребер и узлов. Выход алгоритма определения объема может применяться к пороговому уровню упаковки для определения, когда был идентифицирован оптимальный выбор узлов и ребер. По меньшей мере в одном варианте осуществления, пороговый уровень упаковки применяется к комплектовочной тележке, чтобы определять, когда выбранные элементы в одном или более заказах в достаточной степени заполнили бы комплектовочную тележку.
[0020] Должно быть понятно, что раскрытые здесь варианты осуществления обеспечивают более эффективные системы комплектации. Запросы на комплектацию динамически генерируются в пределах оптимизированного маршрута для обеспечения наиболее эффективного, наилучшего использования комплектовочной тележки в пределах локации склада. Кроме того, раскрытые варианты осуществления являются в высшей степени настраиваемыми, так что они могут быть реализованы в большом количестве различных локаций, в различных системах комплектации и с различными технологиями комплектации.
[0021] Обращаясь теперь к чертежам, по меньшей мере в одном варианте осуществления, как показано на фиг. 1, грузоотправитель (транспортная компания) может иметь одну или более упаковочных ячеек 100, которые могут включать в себя оборудование для упаковки доступных заказов и подготовки их к отгрузке. Например, упаковочная ячейка 100 может включать в себя упаковочную систему 110, систему 120 транспортировки доступного заказа, рабочую зону 130, сканер 132 кода отслеживания и систему 140 транспортировки обработанного заказа. Упаковочная система 110 может включать в себя преобразовательную машину 112, которая может принимать фальцованный материал 150 из одной или более кип 152. Упаковочная система 110 может обрабатывать фальцованный материал 150 в настраиваемые по заказу шаблоны 160 упаковки. Оператор может извлекать шаблоны 160 упаковки из упаковочной системы 110 и формировать коробки 170 для отправки доступных заказов 180. При использовании в настоящем документе термин "доступный заказ" относится к любому заказу (независимо от того, является ли заказ одноэлементным или многоэлементным), который может быть обработан как одна единица грузоотправителем.
[0022] Комплектовочная тележка 120 может транспортировать различные доступные заказы 180 в рабочую зону 130 для упаковки и подготовки к отправке. В некоторых вариантах осуществления, комплектовочная тележка 120 может представлять собой конвейерную систему или подвижную стеллажную систему, которая может транспортировать доступные заказы 180 в рабочую зону 130. Когда доступные заказы 180 поступают в рабочую зону 130, оператор может запросить шаблоны 160 упаковки, которые должны быть получены упаковочной системой 110. По меньшей мере в одном варианте осуществления, оператор запрашивает шаблоны 160 упаковки путем сканирования, с помощью сканера 132 кода отслеживания, кода, ассоциированного с каждым соответствующим доступным заказом 180. Как дополнительно описано ниже, такие шаблоны 160 упаковки могут выполняться с настраиваемыми размерами на основе конкретных размеров доступных заказов 180, которые должны быть упакованы.
[0023] В дополнение к упаковке доступных заказов 180, оператор может подготавливать доступные заказы 180 для отправки путем прикрепления требуемых этикеток и других материалов. После того как доступный заказ 180 обработан (т.е. упакован и/или подготовлен для отправки), такой обработанный заказ 190 может транспортироваться в сторону из рабочей зоны 130 посредством системы 140 транспортировки обработанных заказов. Например, система 140 транспортировки обработанных заказов может транспортировать обработанные заказы 190 в зону отправки. В некоторых вариантах осуществления, система 140 транспортировки обработанных заказов может представлять собой конвейерную ленту, которая может соединять рабочую зону 130 и желательное местонахождение для обработанных заказов 190. В других вариантах осуществления, система 140 транспортировки обработанных заказов может быть подвижной стеллажной системой, которая может транспортировать обработанные заказы 190 из рабочей зоны 130.
[0024] Будет понятно, что упаковочная ячейка 100 на фиг. 1 приведена только для примера и контекста. В различных вариантах осуществления, могут быть использованы различные конфигурации и типы упаковочных систем. Например, упаковочная система может использовать стандартные высекаемые штампом коробки, системы деннажа (амортизационных материалов), различные рабочие потоки или любое количество других упаковочных систем и типов. Аналогично, упаковочная ячейка 100 может использовать несколько разных конфигураций комплектовочной тележки 120. Например, комплектовочная тележка 120 может применять автоматизированные комплектовочные тележки, приводимые в действие человеком комплектовочные тележки, комплектовочные тележки на основе переносной тары или любое количество других комплектовочных тележек. Если конкретно не указано иное, все варианты осуществления системы динамической оптимизации тележек, раскрытые в данном документе, могут быть использованы в любой конфигурации упаковки, конфигурации комплектации или конфигурации склада. Таким образом, когда конкретные примеры конфигурации упаковки, конфигурации комплектации или конфигурации склада используются здесь, они приводятся только для примера и объяснения и не ограничивают изобретение конкретным вариантом осуществления.
[0025] Фиг. 2 иллюстрирует схематичное представление варианта осуществления места расположения (локации) 200 склада. Как используется в данном документе, "локация 200 склада" содержит любую физическую локацию, которая используется для временного хранения товаров для обработки и отгрузки. Изображенная локация 200 склада содержит множество проходов 210, разделенных множеством стеллажей 220. Должно быть понятно, что, в типичной локации 200 склада, множество стеллажей 220 складируют изделия, ожидающие отправки.
[0026] На фиг. 2 дополнительно показаны стрелки, которые указывают обычный поток трафика комплектации по локации 200 склада. Как указано, обычные комплектовочной тележки 120 проталкиваются по общему пути по локации 200 склада. Когда достигается проход между стеллажами, где складированы интересующие предметы, человек-оператор будет толкать комплектовочную тележку 120 вдоль прохода и снимать желательные продукты со стеллажа. Такой процесс, как правило, может потребовать от каждого человека-оператора и комплектовочной тележки 120 перемещаться по полной или почти полной схеме всей локации 200 склада для каждого запроса на комплектацию, который сгенерирован.
[0027] Фиг. 3 иллюстрирует схематичное изображение варианта осуществления локации 200 склада по фиг. 2 с узлами и другими элементами, наложенными на схематичное изображение. Узлы изображены как круги и обозначены буквами А-R. Узлы представляют различные местонахождения в пределах локации 200 склада. Например, каждый проход разделен на множество узлов на основе длины прохода. Изображенное расстояние между узлами (А-R) обеспечено для примера и пояснения. В других вариантах осуществления, узлы (A-R) могут быть размещены ближе или дальше друг от друга на основании требуемого разрешения в пределах локации 200 склада.
[0028] Элементы заказа изображены как шестиугольники 300(a-c), треугольники 310(a-c), квадраты 320(a-d) и ромбы 330(a-d). Элементы заказа группируются по форме на основе заказов. По существу, каждый элемент, ассоциированный с конкретным заказом, показан общей формой. Например, элементы 300(а-с) ассоциированы, каждый, с шестиугольником и включены в один заказ. В частности, элемент 300а расположен на стеллаже вблизи узла с, элемент 300b расположен на стеллаже вблизи узла Е, и элемент 300с расположен на стеллаже вблизи узла G. Различные элементы 300(a-c) в заказе могут содержать любой тип или комбинацию товаров, которые находятся в локации 200 склада.
[0029] Фиг. 4 иллюстрирует цифровую модель 400 графа физической локации 200 склада, изображенной на фиг. 2. Цифровая модель 400 графа содержит компьютерное представление узлов по фиг. 3, соединенных ребрами, которые изображены в виде стрелок, соединяющих различные узлы. Ребра представляют физические пути в пределах локации 200 склада между различными узлами. Например, пользователь и комплектовочная тележка 120 могут перемещаться непосредственно между узлом А и узлом С, как указано соединяющим ребром.
[0030] Фиг. 5 иллюстрирует схематичное изображение варианта осуществления компьютерной системы 500 оптимизации узлов и ребер для идентификации пути запроса на комплектацию и генерирования запроса на комплектацию. По меньшей мере в одном варианте осуществления, один или более процессоров 510 в компьютерной системе 500 предварительно вычисляют или вычисляют кратчайшие расстояния (также упоминаемые как "скачки" (переходы)) между каждым без исключения узлом. Например, компьютерная система 500 определяет, что кратчайший переход между узлом А и узлом В является одним скачком. Напротив, компьютерная система определяет, что кратчайшие расстояния между узлом А и узлом N представляют собой шесть скачков. Этот процесс продолжают до тех пор, пока не будет идентифицировано кратчайшее расстояние между каждым узлом.
[0031] По меньшей мере в одном варианте осуществления, компьютерная система 500 принимает заказ и сохраняет его в базе данных 540. Заказ может быть принят через сетевой интерфейс 520 от одного или более клиентов 580(a-c) по сетевому соединению 570, такому как Интернет. По меньшей мере в одном варианте осуществления, множество пользователей может запрашивать тележку в одно и то же время. Дополнительно, по меньшей мере в одном варианте осуществления, компьютерная система 500 сконфигурирована, чтобы обрабатывать множество запросов на заполнение тележки одновременно.
[0032] В ответ на прием заказа, один или более процессоров 510 осуществляют доступ к цифровой модели 400 графа физической локации 200 склада. Как пояснялось выше и изображено на фиг. 4, цифровая модель 400 графа содержит информацию, указывающую местонахождение множества конкретных элементов товарно-материальных запасов среди стеллажей в физической локации 200 склада. Кроме того, цифровая модель 400 графа содержит множество узлов (A-R) и множество ребер, соединяющих узлы (A-R). Каждый из множества узлов (A-R) представляет собой различную физическую область в пределах физической локации 200 склада, и каждое из множества ребер представляет физический путь между каждым узлом в пределах множества узлов и ближайшими соседями каждого узла.
[0033] Компьютерная система 500 идентифицирует, в базе данных 540 запросов заказов, набор заказов, каждый из которых содержит один или более элементов и приоритет заказа. База 540 данных запросов заказов содержит очередь заказов, которые готовы к комплектации и упаковке. В некоторых вариантах осуществления, один или более заказов могут быть ассоциированы с приоритетом заказа. Приоритет заказа указывает срочность, с которой заказ нуждается в комплектации и отгрузке. Например, локация 200 склада может предлагать отправку в тот же день на некоторых заказов. Такой заказ должен быть ассоциирован с высоким уровнем приоритета. Аналогично, конкретные заказы могут быть ассоциированы с конкретными грузоотправителями, которые прибывают в локацию 200 склада для отправки в конкретное время суток. В таком случае заказы, ассоциированные с этими грузоотправителями, могут стать высокоприоритетными, если время прибытия грузоотправителя приближается.
[0034] Один или более процессоров 510 отображают каждый элемент в каждом заказе, выбранном из набора заказов, на множество узлов в цифровой модели 400 графа. Один или более процессоров 510 используют информацию, хранящуюся в карте 560 товарно-материальных запасов, для отображения элементов на соответствующие узлы. Например, карта 560 товарно-материальных запасов может содержать базу данных, ассоциирующую каждый элемент в локации 200 склада с его ближайшим узлом (A-R). По меньшей мере в одном варианте осуществления, карта 560 товарно-материальных запасов и база 540 данных запросов заказов хранятся в одной и той же базе данных. Соответственно, компьютерная система 500 сконфигурирована выполнять поиск каждого элемента в заказе и определять, какие элементы отображаются на какие узлы в пределах локации 200 склада.
[0035] После того как один или более процессоров 510 отображают каждый элемент в каждом заказе на множество узлов (A-R) с помощью цифровой модели 400 графа, один или более процессоров 510 идентифицируют узлы, с которыми ассоциирован каждый заказ в пределах набора заказов. Например, один или более процессоров 510 идентифицируют, что заказ 300 (изображенный шестиугольниками) ассоциирован с узлами С, Е и G, заказ 310 (изображенный треугольниками) ассоциирован с узлами С, G и D, заказ 320 (изображенный квадратами) ассоциирован с узлами В, G, J и Q, и заказ 330 (изображенный ромбами) ассоциирован с узлами J, M, I и K.
[0036] Затем один или более процессоров 510 идентифицируют узел ранжирования из множества узлов. Узел ранжирования содержит узел с наибольшим числом отображенных элементов. Например, как изображено на фиг. 4, узел G является узлом ранжирования, поскольку он ассоциирован с тремя различными элементами (300c, 310b и 320c), что больше, чем число элементов, ассоциированных с любым другим узлом. Должно быть понятно, что любое количество способов может быть использовано для идентификации узла ранжирования, когда поднабор узлов имеет одно и то же наибольшее число ассоциированных элементов. Например, в таком случае, узел ранжирования может быть выбран случайным образом из поднабора узлов.
[0037] Как только узел ранжирования (например, узел G) идентифицирован, один или более процессоров 510 выполняют проход вдоль одного или более ребер, которые продолжаются от узла ранжирования, чтобы идентифицировать кратчайший путь в цифровой модели графа, чтобы заполнить цифровую модель тележки выше порогового уровня упаковки. Пороговое значение упаковки может быть определено по результатам алгоритма определения объема, который определяет объем заказанных элементов по отношению к объему, имеющемуся в комплектовочной тележке 120. Порог упаковки дополнительно и/или альтернативно может содержать метрику веса, которая гарантирует, что комплектовочная тележка 120 не превышает предопределенный вес.
[0038] По меньшей мере в одном варианте осуществления, проход вдоль одного или более ребер, которые продолжаются от узла G ранжирования для идентификации кратчайшего пути в цифровой модели 400 графа, содержит осуществление доступа к узлу ранжирования в модели 400 цифрового графа и затем идентификации поднабора заказов в одном или более заказах, каждый из которых ассоциирован по меньшей мере с одним элементом, расположенным в узле G ранжирования. Например, как показано на фиг. 4, заказ 300 (т.е., элементы 300а, 300b, 300с и 300d) имеет элемент 300с, ассоциированный с узлом G ранжирования. Кроме того, заказ 310 (т.е. элементы 310a, 310b и 310c) имеет элемент 310b, ассоциированный с узлом G ранжирования. Аналогично, заказ 320 (т.е. элементы 320a, 320b, 320c и 320d) имеет элемент 320c, ассоциированный с узлом G ранжирования. Как таковой, каждый поднабор заказов 300, 310 и 320 имеет элемент, ассоциированный с узлом G ранжирования.
[0039] Компьютерная система 500 затем идентифицирует набор ассоциированных узлов, которые ассоциированы с заказами, имеющими элементы в узле G. Например, элемент 300с заказа 300 ассоциирован с узлом G. Остальные узлы, ассоциированные с заказом 300, являются узлами С и Е. Кроме того, элемент 310b заказа 310 ассоциирован с узлом G. Остальные узлы, ассоциированные с заказом 310, являются узлами С и D. Кроме того, элемент 320с заказа 320 ассоциирован с узлом G. Остальные узлы, ассоциированные с заказом 320, являются узлами В, J и Q. Соответственно, в примере, показанном на фиг. 4, узлы B, C, D, E, G, J и Q считаются "ассоциированными узлами".
[0040] Как только ассоциированные узлы идентифицированы, один или более процессоров 510 выполняют проход вдоль каждого ребра, продолжающегося от узла G ранжирования до одного или более ассоциированных узлов. По мере того, как компьютерная система 500 выполняет проход вдоль ребер между узлом G ранжирования и каждым ассоциированным узлом (B, С, D, E, J и Q), компьютерная система 500 идентифицирует дополнительные элементы, ассоциированные с заказами в поднаборе заказов. Например, в узле Е, компьютерная система 500 идентифицирует элемент 300b, который ассоциирован с заказом 300. В узле J, компьютерная система 500 идентифицирует элемент 320b, который ассоциирован с заказом 320. При выполнении прохода к узлу Q, в узле P компьютерная система 500 не идентифицирует каких-либо элементов, ассоциированных с поднабором заказов.
[0041] Компьютерная система 500 идентифицирует один или более завершенных заказов, продолжая выполнять проход вдоль каждого ребра, продолжающегося от узла ранжирования до каждого из одного или более ассоциированных узлов до тех пор, пока один или более завершенных заказов не будут полностью учтены среди пройденных узлов. Как используется в данном документе, "завершенный заказ" представляет собой заказ, в котором каждый элемент в заказе был идентифицирован вдоль пути прохода от узла ранжирования до ассоциированных узлов.
[0042] Компьютерная система 500 затем генерирует запрос на комплектацию на основе кратчайшего пути в цифровой модели графа для заполнения цифровой модели комплектовочной тележки 120 выше порогового уровня упаковки. Запрос на комплектацию содержит один или более заказов, выбранных из набора заказов, которые локализованы вдоль кратчайшего пути. Кратчайший путь содержит кратчайшее физическое расстояние перемещения, как представлено ребрами в цифровой модели 400 графа, необходимое для заполнения цифровой модели тележки выше порогового уровня упаковки.
[0043] По меньшей мере в одном варианте осуществления, определение того, что цифровая модель комплектовочной тележки заполнена выше порогового уровня упаковки одним или более завершенными заказами, содержит применение алгоритма определения объема к одному или более завершенным заказам. Любой из ряда обычных алгоритмов определения объема может быть использован для определения того, могут ли идентифицированные элементы в одном или более завершенных заказах подгоняться к доступному месту на полке комплектовочной тележки 120. Кроме того, пороговый уровень упаковки может содержать предел использования объема и/или весовой предел. Например, комплектовочная тележка 120 может быть сконфигурирована, чтобы удерживать только предопределенную максимальную величину веса. Кроме того, отдельные полки в комплектовочной тележке 120 могут быть сконфигурированы, чтобы удерживать предопределенную максимальную величину веса. Аналогично, каждая полка в комплектовочной тележке 120 может быть ассоциирована с конкретным объемом. Используя эту информацию, алгоритм определения объема приспособлен определять, способны ли предметы в пределах конкретного завершенного заказа быть приспособлены на комплектовочной тележке 120 на основе использования веса и/или объема. Кроме того, алгоритм определения объема способен определять, была ли комплектовочная тележка 120 недоиспользована и только заполнена ниже желаемого порога уровня упаковки. Например, комплектовочная тележка 120 может быть заполнена только таким образом, что она использует половину своего доступного объема. В отличие от этого, порог уровня упаковки может указывать, что комплектовочные тележки должны быть заполнены, чтобы использовать по меньшей мере восемьдесят процентов их объема. Соответственно, по меньшей мере в одном варианте осуществления, порог уровня упаковки может содержать как нижнюю, так и верхнюю границы.
[0044] По мере того, как компьютерная система 500 обрабатывает каждый завершенный заказ посредством алгоритма определения объема, заказы, которые содержат предметы, которые не помещаются в комплектовочную тележку 120, удаляют из поднабора заказов и оставляют на месте для комплектации при последующем запросе на комплектацию. По существу, по мере того, как компьютерная система 500 выполняет проход вдоль ребер в цифровой модели 400 графа локации 200 склада, алгоритм определения объема и порог упаковки используются для фильтрации заказов, которые не подходят для данного запроса на комплектацию. По меньшей мере в одном варианте осуществления, заказы, которые находятся вне поднабора заказов, но которые могут быть укомплектованы на основе пути прохода через цифровую модель 400 графа, могут быть добавлены к поднабору заказов.
[0045] По меньшей мере в одном варианте осуществления, компьютерная система 500 также способна динамически адаптироваться к приоритету заказа. Как упомянуто выше, приоритет заказа может быть ассоциирован с одним или более элементами в базе данных 540 запросов заказов. По меньшей мере в одном варианте осуществления, если заказ имеет достаточно высокий приоритет, компьютерная система 500 включает, в запрос на комплектацию, конкретный заказ, который ассоциирован с определенным приоритетом заказа, который превышает порог приоритета. Например, конкретная локация 200 складирования может устанавливать порог приоритета таким образом, что доставки в тот же день размещаются в запросе на комплектацию сразу же, как только возможно. В такой локации 200 склада, компьютерная система 500 может идентифицировать заказ с приоритетом в тот же день. В ответ на идентификацию того, что приоритет заказа превышает порог приоритета, заказ может быть добавлен к запросу на комплектацию, даже хотя конкретный заказ не попадает на кратчайший путь.
[0046] По меньшей мере в одном варианте осуществления, как только запрос на комплектацию генерируется, компьютерная система 500 воспроизводит на пользовательском интерфейсе одно или более визуальных указаний для перемещения пользователя в пределах физической локации 200 склада для завершения запроса на комплектацию. Например, мобильное вычислительное устройство, удерживаемое пользователем, может визуально воспроизводить карту с инструкциями для перемещения внутри локации 200 склада для завершения запроса на комплектацию. Аналогично, инструкции могут воспроизводиться на устройстве, встроенном в комплектовочную тележку 120, встроенном в стеллажи в локации 200 склада, или иным образом воспроизводиться пользователю. Кроме того, по меньшей мере в одном варианте осуществления, компьютерная система 500 может быть сконфигурирована формировать одну или более компьютерных инструкций для связи с автоматизированным устройством комплектации, причем одна или более компьютерных инструкций предписывают автоматизированному устройству комплектации перемещаться по кратчайшему пути.
[0047] Следующее обсуждение относится теперь к ряду способов и действий способа, которые могут быть выполнены. Несмотря на то, что действия способа могут быть рассмотрены в определенном порядке или проиллюстрированы на блок-схеме как происходящие в конкретном порядке, не требуется конкретное упорядочение, если специально не указано или требуется, поскольку действие зависит от другого действия, завершающегося до выполнения данного действия.
[0048] Фиг. 6 иллюстрирует блок-схему последовательности операций варианта осуществления этапов в способе 600 для генерирования запроса на комплектацию. Способ 600 включает в себя этап 610 выбора поднабора заказов. По меньшей мере в одном варианте осуществления, этот поднабор выбирается на основе того, какие заказы должны отправляться скорее, и сколько комплектаций они имеют.
[0049] Способ 600 также включает в себя этап 620 пополнения заказов. Как описано выше, по меньшей мере в одном варианте осуществления, компьютерная система 500 может выполнять пополнение заказов путем добавления к поднабору заказов тех заказов, которые находятся на пути поиска, но не на самой срочной области комплектации. Такая система позволяет более полно загрузить комплектовочную тележку 120 и быстрее выполнить сбор для других областей.
[0050] Кроме того, способ 600 включает в себя этап 630 установки областей начальной комплектации. По меньшей мере в одном варианте осуществления, компьютерная система 500 будет выбирать наименьший набор узлов, чтобы начинать из них. Например, по меньшей мере в одном варианте осуществления, компьютерная система 500 может идентифицировать большое число заказов, ассоциированных с узлом ранжирования. В таком случае, компьютерная система 500 может динамически ограничивать число отыскиваемых заказов путем случайного выбора конкретного числа заказов из большого числа заказов. Дополнительно или альтернативно, компьютерная система 500 может выбирать только заказы с наивысшими приоритетами заказов.
[0051] Способ 600 затем включает в себя этап 640 заполнения комплектовочной тележки 120. Этап 640 включает в себя использование алгоритма определения объема, чтобы определить, что комплектовочная тележка 120 заполнена, путем использования объема и/или веса. Как показано на этапе 650, если комплектовочная тележка 120 не заполнена на выбранных узлах, компьютерная система 500 выполняет этап 660 и расширяет области комплектации, добавляя новый узел к выбору ассоциированных узлов, и пытается снова заполнять комплектовочную тележку 120. Она будет повторять этот процесс до тех пор, пока комплектовочная тележка 120 не заполнится. После того как комплектовочная тележка 120 заполнена, этап 670 обеспечивает статистику настройки и возвращается на первый этап 610. Предоставляемая статистика может предоставлять сведения о комплектовочной тележке 120, которая была создана, например, фут на единицу, степень использования и другое.
[0052] Фиг. 7 иллюстрирует блок-схему последовательности операций варианта осуществления этапов в способе 700 для идентификации пути запроса на комплектацию. Способ 700 включает в себя этап 710 доступа к цифровой модели 400 графа физической локации 200 склада. Действие 710 содержит доступ к цифровой модели графа физической локации склада. Цифровая модель графа содержит информацию, указывающую местонахождение множества конкретных элементов товарно-материальных запасов среди стеллажей в физической локации склада. Дополнительно, цифровая модель графа содержит множество узлов и множество ребер, причем каждый из множества узлов представляет различную физическую область в пределах физической локации склада, и каждое из множества ребер представляет физический путь между каждым узлом во множестве узлов и ближайшими соседними узлами каждого узла. Например, как изображено и описано со ссылкой на фиг. 2-4 и в соответствующем описании, физическая локация 200 склада может быть преобразована в цифровую модель 400 графа, которая изображает узлы, представляющие области комплектации в локации 200 склада, и ребра, представляющие пути между узлами.
[0053] Способ 700 также включает в себя этап 720 идентификации набора заказов. Этап 720 содержит идентификацию, в базе 540 данных запросов заказов, набора заказов, причем каждый заказ в пределах набора заказов содержит один или более элементов и приоритет заказа. Как показано и описано со ссылкой на фиг. 3-5 и в соответствующем описании, компьютерная система 500 может осуществлять доступ, из базы данных 540 запросов заказов, к заказам, которые были приняты от компьютеров 580(a-c) клиентов.
[0054] Дополнительно, способ 700 включает в себя этап 730 отображения элементов в заказах на узлы в цифровой модели графа. Этап 730 содержит отображение каждого элемента в каждом заказе, выбранном из набора заказов, на множество узлов в цифровой модели графа. Например, как изображено и описано со ссылкой на фиг. 3-5, компьютерная система 500 использует карту 560 товарно-материальных запасов для отображения элементов в заказах на узлы в локации 200 склада.
[0055] Далее, способ 700 включает в себя этап 740 идентификации узла ранжирования. Этап 740 содержит идентификацию узла ранжирования из множества узлов, причем узел ранжирования содержит узел с наибольшим числом отображенных элементов. Например, как показано на фиг. 4 и 5, компьютерная система 500 идентифицирует узел G в качестве узла ранжирования, поскольку узел G ассоциирован с наибольшим числом элементов из заказов.
[0056] Кроме того, способ 700 включает в себя этап 750 прохода вдоль одного или более ребер для идентификации кратчайшего пути. Этап 750 содержит проход вдоль одного или более ребер, которые продолжаются от узла ранжирования, чтобы идентифицировать кратчайший путь в цифровой модели графа для заполнения цифровой модели комплектовочной тележки выше порогового уровня упаковки. Например, как изображено и описано со ссылкой на фиг. 4 и 5, компьютерная система 500 итеративно проходит вдоль ребер, продолжающихся от узла ранжирования, пока не будет сгенерирован запрос на комплектацию на основе заполнения комплектовочной тележки 120 до порога.
[0057] Кроме того, способы могут быть осуществлены с помощью компьютерной системы, включающей в себя один или более процессоров и считываемых компьютером носителей, таких как компьютерная память. В частности, компьютерная память может хранить исполняемые компьютером инструкции, которые, при их исполнении одним или более процессорами, вызывают выполнение различных функций, подлежащих выполнению, таких как действия, указанные в вариантах осуществления.
[0058] Функциональные возможности вычислительной системы могут быть усилены возможностью взаимодействия вычислительной системы с другими вычислительными системами через сетевые соединения. Сетевые соединения могут включать в себя, но без ограничения, соединения через проводной или беспроводной Ethernet, сотовые соединения или даже соединения от компьютера к компьютеру через последовательные, параллельные, USB или другие соединения. Соединения позволяют вычислительной системе осуществлять доступ к услугам в других вычислительных системах и быстро и эффективно принимать данные приложений от других вычислительных систем.
[0059] Взаимосвязь вычислительных систем содействовала созданию распределенных вычислительных систем, таких как так называемые "облачные" вычислительные системы. В этом описании, "облачные вычисления" могут представлять собой системы или ресурсы для обеспечения повсеместного, удобного, выполняемого по запросу сетевого доступа к совместно используемому пулу конфигурируемых вычислительных ресурсов (например, сетей, серверов, хранения, приложений, услуг и т.д.), которые могут предоставляться и высвобождаться с меньшими усилиями администрирования или взаимодействия с провайдером услуг. Облачная модель может быть составлена из различных характеристик (например, самообслуживания по требованию, широкого сетевого доступа, объединения ресурсов, быстрой приспособляемости, измеряемой услуги и т.д.), моделей обслуживания (например, программного обеспечения как услуги ("SaaS"), платформы как услуги ("PaaS"), инфраструктуры как услуги ("IaaS")), а также моделей развертывания (например, частного облака, облака сообщества, общедоступного облака, гибридного облака и т.д.)
[0060] Преобладают приложения облачных и удаленных услуг. Такие приложения хостируются на общедоступных и частных удаленных системах, таких как облака, и обычно предлагают набор услуг на web-основе для осуществления двусторонней коммуникации с клиентами.
[0061] Многие компьютеры предназначены для использования при непосредственном взаимодействии пользователя с компьютером. По существу, компьютеры имеют аппаратные средства ввода и программные пользовательские интерфейсы для облегчения взаимодействия с пользователем. Например, современный компьютер общего назначения может включать в себя клавиатуру, мышь, сенсорную панель, камеру и т.д. для предоставления пользователю возможности ввода данных в компьютер. Кроме того, могут быть доступны различные программные пользовательские интерфейсы.
[0062] Примеры программных пользовательских интерфейсов включают в себя графические пользовательские интерфейсы, пользовательский интерфейс на основе строки текстовых команд, пользовательские интерфейсы функциональных клавиш или горячих клавиш и т.п.
[0063] Раскрытые варианты осуществления могут содержать или использовать компьютер специального назначения или общего назначения, включающий в себя компьютерные аппаратные средства, как более подробно описано ниже. Раскрытые варианты осуществления также включают в себя физические и другие считываемые компьютером носители для переноса или хранения исполняемых компьютером инструкций и/или структур данных. Такие считываемые компьютером носители могут представлять собой любые доступные носители, к которым может осуществляться доступ посредством компьютерной системы общего назначения или специального назначения. Считываемые компьютером носители, которые хранят исполняемые компьютером инструкции, представляют собой физические носители хранения. Считываемые компьютером носители, которые несут исполняемые компьютером инструкции, представляют собой среды передачи. Таким образом, в качестве примера, а не ограничения, варианты осуществления изобретения могут содержать по меньшей мере два отчетливо различных вида считываемых компьютером носителей: физические считываемые компьютером носители хранения и считываемые компьютером носители передачи.
[0064] Физический считываемый компьютером носитель хранения включает в себя RAM, ROM, EEPROM, CD-ROM или другое устройство хранения на оптических дисках (такое как CD, DVD и т.д.), устройство хранения на магнитных дисках или другие магнитные устройства хранения или любой другой носитель, который может быть использован для хранения желательных средств программного кода в форме исполняемых компьютером инструкций или структур данных и к которому может осуществляться доступ посредством компьютера общего назначения или специального назначения.
[0065] "Сеть" определяется как одна или более линий передачи данных, которые обеспечивают транспортировку электронных данных между компьютерными системами и/или модулями и/или другими электронными устройствами. Когда информация передается или предоставляется по сети или другому соединению связи (проводному, беспроводному или комбинации проводного или беспроводного соединения) на компьютер, компьютер надлежащим образом рассматривает соединение в качестве среды передачи. Среды передач могут включать в себя сеть и/или линии передачи данных, которые могут быть использованы для переноса программного кода в форме исполняемых компьютером инструкций или структур данных и к которым может осуществляться доступ посредством компьютера общего назначения или специального назначения. Комбинации вышеописанного также включены в объем считываемых компьютером носителей.
[0066] Кроме того, при достижении различных компонентов компьютерной системы, средство программного кода в форме исполняемых компьютером команд или структур данных может автоматически переноситься из считываемых компьютером носителей передачи на физические считываемые компьютером носители хранения (или наоборот). Например, исполняемые компьютером инструкции или структуры данных, принятые по сети или линии передачи данных, могут быть буферизированы в RAM в модуле сетевого интерфейса (например, "NIC"), а затем переданы в RAM компьютерной системы и/или на менее энергозависимые считываемые компьютером физические носители хранения в компьютерной системе. Таким образом, считываемые компьютером физические носители хранения могут быть включены в компоненты компьютерной системы, которые также (или даже в основном) используют среду передачи.
[0067] Исполняемые компьютером инструкции содержат, например, инструкции и данные, которые предписывают компьютеру общего назначения, компьютеру специального назначения или устройству обработки специального назначения выполнять определенную функцию или группу функций. Исполняемые компьютером инструкции могут представлять собой, например, двоичные данные, инструкции промежуточного формата, например, на языке ассемблера, или даже исходный код. Хотя предмет изобретения был описан в терминах, характерных для структурных признаков и/или методологических действий, следует понимать, что объем изобретения, определяемый прилагаемой формулой изобретения, не обязательно ограничен вышеописанными признаками или действиями. Скорее, описанные признаки и действия раскрыты в качестве примерных форм реализации пунктов формулы изобретения.
[0068] Специалистам в данной области техники должно быть понятно, что изобретение может быть реализовано на практике в сетевых вычислительных средах с множеством типов конфигураций компьютерной системы, включая персональные компьютеры, настольные компьютеры, переносные компьютеры, процессоры сообщений, портативные устройства, многопроцессорные системы, микропроцессорную или программируемую бытовую электронику, сетевые РС, миникомпьютеры, универсальные компьютеры, мобильные телефоны, PDA, пейджеры, маршрутизаторы, коммутаторы и т.п. Изобретение также может быть реализовано в распределенных системных средах, где локальные и удаленные компьютерные системы, которые связаны (проводными линиями передачи данных, беспроводными линиями передачи данных либо комбинацией проводных и беспроводных линий передачи данных) по сети, обе выполняют задачи. В распределенной системной среде, программные модули могут быть расположены как в локальных, так и в удаленных устройствах хранения.
[0069] Альтернативно или дополнительно, функциональные возможности, описанные в данном документе, могут выполняться, по меньшей мере частично, одним или более аппаратными логическими компонентами. Например, но без ограничения, иллюстративные типы аппаратных логических компонентов, которые могут быть использованы, включают в себя программируемые вентильные матрицы (FPGA), специализированные интегральные схемы (ASIC), программно-ориентированные стандартные продукты (ASSP), однокристальные системы (SOC), сложные программируемые логические устройства (CPLD) и т.д.
[0070] Настоящее изобретение может быть реализовано в других конкретных формах без отклонения от его сущности или характеристик. Описанные варианты осуществления должны рассматриваться во всех отношениях только как иллюстративные, а не ограничивающие. Поэтому объем изобретения определяется прилагаемой формулой изобретения, а не предшествующим описанием. Все изменения, которые находятся в пределах значения и диапазона эквивалентности пунктов формулы изобретения, должны включаться в их объем.