(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-26
(45)【発行日】2022-10-04
(54)【発明の名称】コンピュータで実行される人工知能バッチピッキング最適化および通信のためのシステムおよび方法
(51)【国際特許分類】
G06Q 10/08 20120101AFI20220927BHJP
【FI】
G06Q10/08 330
(21)【出願番号】P 2020537744
(86)(22)【出願日】2020-03-31
(86)【国際出願番号】 IB2020053050
(87)【国際公開番号】W WO2020212790
(87)【国際公開日】2020-10-22
【審査請求日】2020-09-23
(32)【優先日】2019-04-17
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】520244544
【氏名又は名称】クーパン コーポレイション
(74)【代理人】
【識別番号】230104019
【氏名又は名称】大野 聖二
(74)【代理人】
【識別番号】100167933
【氏名又は名称】松野 知紘
(74)【代理人】
【識別番号】100174137
【氏名又は名称】酒谷 誠一
(74)【代理人】
【識別番号】100184181
【氏名又は名称】野本 裕史
(72)【発明者】
【氏名】モ,ウェンティン
(72)【発明者】
【氏名】ウェイ,カイ
(72)【発明者】
【氏名】ルー,チンシン
(72)【発明者】
【氏名】フー,ジージァン
(72)【発明者】
【氏名】ヤン,ドン
【審査官】渡邉 加寿磨
(56)【参考文献】
【文献】米国特許出願公開第2018/0330316(US,A1)
【文献】国際公開第2017/085769(WO,A1)
【文献】特開2018-144964(JP,A)
【文献】国際公開第2018/066406(WO,A1)
【文献】米国特許出願公開第2018/0218311(US,A1)
【文献】米国特許出願公開第2014/0257553(US,A1)
【文献】米国特許出願公開第2019/0005567(US,A1)
【文献】Zulfazli Bin Hussin,"リアルタイムバッチングによるピッキング支援システム",電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2011年10月14日,第111巻第255号,p79-84,ISSN:0913-5685
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G16H 10/00-80/00
B65G 1/137
(57)【特許請求の範囲】
【請求項1】
バッチピッキング最適化のためのコンピュータ実装システムであって、前記コンピュータ実装システムは、
命令を格納する1以上のメモリデバイスと、
1以上のプロセッサと、を備え、
前記1以上のプロセッサは、前記命令を実行して、
ピッキングのための1以上のアイテムを含む注文を受け取り、
フルフィルメントセンター内の1以上の高密度領域を
検索アルゴリズムを使用して、前記1以上のアイテム内の第1のアイテムと、前記1以上のアイテム内の少なくとも1つの他のアイテムと、の間の距離を計算し、
前記1以上のアイテムについて最近傍アイテムを計算し、
複数の前記最近傍アイテムを選択することによって高密度領域を生成する
ことによって計算し、
前記1以上のアイテムについて、前記アイテムと、最も近い第2のアイテムとの間の距離を記憶し、
前記計算された1以上の高密度領域に基づいてバッチを作成し、
勾配降下アルゴリズムを使用して、ピッキング可能なアイテムの中で平均距離を最も増加させないアイテムに基づいて、前記1以上の高密度領域から前記バッチにアイテムを追加し、
ここで、勾配降下アルゴリズムは、デジタルマップを使用し、前記バッチのクオリティを向上させるであろうアイテムの交換を決定し、
前記バッチ内で収集するためのアイテムのリストと、位置と、を表示するためにユーザデバイスに提供するように構成される、コンピュータ実装システム。
【請求項2】
前記高密度領域は、最短の移動距離が発生するように前記最近傍アイテムの選択を最適化することに基づいて計算される、請求項1に記載のコンピュータ実装システム。
【請求項3】
前記勾配降下アルゴリズムは、領域の重心を見つけることを含み、
前記アイテムは、前記領域の重心に最も近いことに基づいて追加される、請求項1に記載のコンピュータ実装システム。
【請求項4】
前記勾配降下アルゴリズムは、前記バッチのクオリティを向上させるであろうアイテムの交換を決定するために、デジタル地図を使用する、請求項3に記載のコンピュータ実装システム。
【請求項5】
前記ユーザデバイスは、PDA、スマートフォン、タブレット、ラップトップ、または、その他のコンピュータデバイスのうちの1つであり、
前記ユーザデバイスをユーザ識別子と関連付ける少なくとも1つのレコードを含むデータベースをさらに含む、請求項1に記載のコンピュータ実装システム。
【請求項6】
前記複数の最近傍アイテムを選択することは、3つの最近傍アイテムを選択することを含む、請求項1に記載のコンピュータ実装システム。
【請求項7】
前記バッチ内で収集するための前記アイテムは、前記ユーザデバイス上に表示するための在庫保管ユニット(SKU)に関連付けられたパッケージ識別子を含む、請求項1に記載のコンピュータ実装システム。
【請求項8】
アイテム間の距離を計算するステップは、
それぞれが2つのピッキング可能なアイテムを表す複数のロケーションペアを含むデジタル地図を検索することと、
前記検索された複数のロケーションペアを使用してアイテム間の距離を計算することと、を含む、請求項1に記載のコンピュータ実装システム。
【請求項9】
バッチピッキング最適化のためのコンピュータ実装システムであって、前記コンピュータ実装システムは、
命令を格納する1以上のメモリデバイスと、
1以上のプロセッサと、を備え、
前記1以上のプロセッサは、前記命令を実行して、
ピッキングのための1以上のアイテムを含む注文と、複数のゾーンにセグメント化されたデジタル地図と、を受け取り、
フルフィルメントセンター内の1以上の高密度領域を
単一ゾーン内で検索アルゴリズムを使用して、前記1以上のアイテム内の第1のアイテムと、前記1以上のアイテム内の少なくとも1つの他のアイテムと、の間の距離を計算し、
前記1以上のアイテムについて最近傍アイテムを計算し、
複数の前記最近傍アイテムを選択することによって高密度領域を生成する
ことによって計算し、
前記1以上のアイテムについて、前記アイテムと、最も近い第2のアイテムとの間の距離を記憶し、
前記計算された1以上の高密度領域に基づいて、前記単一ゾーン内のアイテムからバッチを作成し、
勾配降下アルゴリズムを使用して、ピッキング可能なアイテムの中で最も平均距離を増加させないアイテムに基づいて、前記1以上の高密度領域から前記バッチにアイテムを追加し、
ここで、勾配降下アルゴリズムは、デジタルマップを使用し、前記バッチのクオリティを向上させるであろうアイテムの交換を決定し、
前記バッチ内で収集するためのアイテムのリストと、位置と、を表示するためにユーザデバイスに提供するように構成される、コンピュータ実装システム。
【請求項10】
前記高密度領域は、最短の移動距離が発生するように前記最近傍アイテムの選択を最適化することに基づいて計算される、請求項9に記載のコンピュータ実装システム。
【請求項11】
前記勾配降下アルゴリズムは、領域の重心を見つけることを含み、
前記アイテムは、前記領域の重心に最も近いことに基づいて追加される、請求項9に記載のコンピュータ実装システム。
【請求項12】
前記勾配降下アルゴリズムは、前記バッチのクオリティを向上させるであろうアイテムの交換を決定するために、前記デジタル地図を使用する、請求項11に記載のコンピュータ実装システム。
【請求項13】
前記ユーザデバイスは、PDA、スマートフォン、タブレット、ラップトップ、または、その他のコンピュータデバイスのうちの1つであり、
前記ユーザデバイスをユーザ識別子と関連付ける少なくとも1つのレコードを含むデータベースをさらに含む、請求項9に記載のコンピュータ実装システム。
【請求項14】
前記複数の最近傍アイテムを選択することは、3つの最近傍アイテムである、請求項9に記載のコンピュータ実装システム。
【請求項15】
前記バッチ内のアイテムは、前記ユーザデバイスに提供されて表示される、前記バッチ内で収集するためのアイテムのリスト内に提供される在庫保管ユニット(SKU)に関連付けられたバーコードを含む、請求項9に記載のコンピュータ実装システム。
【請求項16】
前記デジタル地図は、複数のロケーションペアを含み、そのそれぞれは2つのピッキング可能なアイテムを表す、請求項9に記載のコンピュータ実装システム。
【請求項17】
バッチピッキング最適化のためのコンピュータで実行される方法であって、
ピッキングのための1以上のアイテムを含む注文と、複数のゾーンにセグメント化されたデジタル地図と、を受け取るステップであって、前記デジタル地図は、複数のロケーションペアを含み、そのそれぞれは2つのピッキング可能なアイテムを表す、ステップと、
フルフィルメントセンター内の1以上の高密度領域を
単一ゾーン内で検索アルゴリズムを使用して、複数の受け取ったロケーションペアを比較することによって、前記1以上のアイテム内の第1のアイテムと、前記1以上のアイテム内の少なくとも1つの他のアイテムと、の間の距離を計算し、
前記1以上のアイテムについて最近傍アイテムを計算し、
複数の前記最近傍アイテムを選択することによって高密度領域を生成する
ことによって計算するステップと、
前記1以上のアイテムについて、前記アイテムと、最も近い第2のアイテムとの間の距離を記憶するステップと、
前記計算された1以上の高密度領域に基づいて、前記単一ゾーン内のアイテムからバッチを作成するステップと、
勾配降下アルゴリズムを使用して、ピッキング可能なアイテムの中で平均距離を最も増加させないアイテムに基づいて、前記1以上の高密度領域から前記バッチにアイテムを追加するステップと、
ここで、勾配降下アルゴリズムは、デジタルマップを使用し、前記バッチのクオリティを向上させるであろうアイテムの交換を決定し、
前記バッチ内で収集するためのアイテムのリストと、位置と、を表示するためにユーザデバイスに提供するステップと、を含む、方法。
【請求項18】
前記高密度領域は、最短の移動距離が発生するよう前記最近傍アイテムの選択を最適化することに基づいて計算される、請求項17に記載の方法。
【請求項19】
前記勾配降下アルゴリズムは、領域の重心を見つけることを含み、
前記アイテムは、前記領域の重心に最も近いことに基づいて追加される、請求項17に記載の方法。
【請求項20】
前記勾配降下アルゴリズムは、前記バッチのクオリティを向上させるであろうアイテムの交換を決定するために、前記デジタル地図を使用する、請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、人工知能バッチピッキング最適化および通信のためのコンピュータ化されたシステムおよび方法に関する。具体的には、本開示の実施形態は、フルフィルメントセンタ内の1つまたは複数の高密度領域を計算し、1つまたは複数のバッチを作成し、勾配降下アルゴリズムを使用して1つまたは複数の高密度領域からアイテムを単一のバッチに追加し、追加/収集するためのアイテムのリストを提供することができる、独創的かつ非従来型システムに関する。
【背景技術】
【0002】
バッチ最適化および通信のための現在のシステムは、フルフィルメントセンター(配送センター)の通路および棚に沿った経路を規定し、規定された経路に沿ってピッカーにピッキングするためのアイテムを割り当てる。ピッカーは、顧客によって発注された1つまたは複数の注文の一部またはすべてを含むアイテムのバッチを選択する。ピッカーにはバッチを割り当てることができ、ピッカーに、フルフィルメントセンターの通路を上下にどのように歩いてそのバッチ内のすべてのアイテムを集めるかを指示する経路を(ユーザ装置を介して)送ることができる。このシステムは、ピッカに順序を割り当てる際に遅延を引き起こすため、非効率的である。
【0003】
その結果、ピッカーは、アイテムをピックアップするためにかなりの量の時間および距離を歩かなければならず、バッチ内の任意の注文の履行を遅らせる可能性がある。バッチピッキングにおけるこのような遅延は、多くの点で、出荷プロセスにおけるさらなる中断を引き起こす。たとえば、離れたアイテムを含むバッチ全体がピックされるまで注文の出荷を遅らせると、複数の注文の処理に遅延が生じる。
【0004】
バッチ最適化および通信のための現在の電子システムおよび方法の欠点に鑑みて、バッチ最適化を使用して出荷注文の出荷、輸送、およびロジスティクス動作を強化し、フルフィルメントセンタ内の高密度エリアを計算し、これらのエリアに基づいてバッチを作成するためのシステムが望まれている。より具体的には、人工知能バッチピッキング最適化および通信のためのコンピュータ実装システムおよび方法は、最適化されたバッチ内のアイテムが互いにより近く、より迅速にピッキングされ得るので、注文をより速く仕上げることによって効率を提供することが望ましい。そのようなシステムは、密度アルゴリズムによってアイテムを効率的にグループ化し、システムを通してより多くの注文をより速く取得し、より多くの注文を取り、遠くのアイテムまで歩く無駄な時間を削減することを可能にする。したがって、人工知能バッチピッキング最適化および通信のための改良された電子的方法およびシステムが必要とされている。
【発明の概要】
【0005】
本開示の一態様は、バッチピッキング最適化のためのコンピュータ実装システムを対象とする。例えば、特定の実施形態は、命令を格納する1以上のメモリデバイスと、前記命令を実行するように構成された1以上のプロセッサとを備える。ある実施形態では、前記1以上のプロセッサは、前記命令を実行して、ピッキングのための1以上のアイテムを含む注文を受け取り、フルフィルメントセンター内の1以上の高密度領域を検索アルゴリズムを使用して、前記1以上のアイテム内の第1のアイテムと、前記1以上のアイテム内の少なくとも1つの他のアイテムと、の間の距離を計算し、前記1以上のアイテムについて最近傍アイテムを計算し、複数の前記最近傍アイテムを選択することによって高密度領域を生成することによって計算するように構成される。ある実施形態では、前記1以上のプロセッサは、前記命令を実行して、前記1以上のアイテムについて、前記アイテムと、最も近い第2のアイテムとの間の距離を記憶し、前記計算された1以上の高密度領域に基づいてバッチを作成するように構成される。さらに、前記1以上のプロセッサは、勾配降下アルゴリズムを使用して、ピッキング可能なアイテムの中で平均距離を最も増加させないアイテムに基づいて、前記1以上の高密度領域から前記バッチにアイテムを追加し、前記バッチ内で収集するためのアイテムのリストと、位置と、を表示するためにユーザデバイスに提供するように構成される。
【0006】
本開示の別の態様は、バッチピッキング最適化のためのコンピュータ実装システムを対象とする。例えば、特定の実施形態は、命令を記憶する1つ以上のメモリデバイスと、命令を実行するように構成された1つ以上のプロセッサとを含み得る。ある実施形態では、前記1以上のプロセッサは、前記命令を実行して、ピッキングのための1以上のアイテムを含む注文と、複数のゾーンにセグメント化されたデジタル地図と、を受け取り、フルフィルメントセンター内の1以上の高密度領域を単一ゾーン内で検索アルゴリズムを使用して、前記1以上のアイテム内の第1のアイテムと、前記1以上のアイテム内の少なくとも1つの他のアイテムと、の間の距離を計算し、前記1以上のアイテムについて最近傍アイテムを計算し、複数の前記最近傍アイテムを選択することによって高密度領域を生成することによって計算するように構成される。ある実施形態では、前記1以上のプロセッサは、前記命令を実行して、前記1以上のアイテムについて、前記アイテムと、最も近い第2のアイテムとの間の距離を記憶し、前記計算された1以上の高密度領域に基づいて、前記単一ゾーン内のアイテムからバッチを作成するように構成される。さらに、ある実施形態では、前記1以上のプロセッサは、勾配降下アルゴリズムを使用して、ピッキング可能なアイテムの中で最も平均距離を増加させないアイテムに基づいて、前記1以上の高密度領域から前記バッチにアイテムを追加し、前記バッチ内で収集するためのアイテムのリストと、位置と、を表示するためにユーザデバイスに提供するように構成される。
【0007】
本開示のさらに別の態様は、バッチピッキング最適化のためのコンピュータで実行される方法を対象とする。例えば、本方法の特定の実施形態は、ピッキングのための1以上のアイテムを含む注文と、複数のゾーンにセグメント化されたデジタル地図と、を受け取るステップであって、前記デジタル地図は、複数のロケーションペアを含み、そのそれぞれは2つのピッキング可能なアイテムを表す、ステップと、フルフィルメントセンター内の1以上の高密度領域を単一ゾーン内で検索アルゴリズムを使用して、複数の受け取ったロケーションペアを比較することによって、前記1以上のアイテム内の第1のアイテムと、前記1以上のアイテム内の少なくとも1つの他のアイテムと、の間の距離を計算し、前記1以上のアイテムについて最近傍アイテムを計算し、複数の前記最近傍アイテムを選択することによって高密度領域を生成することによって計算するステップと、を含み得る。ある実施形態は、本方法は、前記1以上のアイテムについて、前記アイテムと、最も近い第2のアイテムとの間の距離を記憶するステップと、前記計算された1以上の高密度領域に基づいて、前記単一ゾーン内のアイテムからバッチを作成するステップと、を含み得る。本方法は、さらに、勾配降下アルゴリズムを使用して、ピッキング可能なアイテムの中で平均距離を最も増加させないアイテムに基づいて、前記1以上の高密度領域から前記バッチにアイテムを追加するステップと、前記バッチ内で収集するためのアイテムのリストと、位置と、を表示するためにユーザデバイスに提供するステップと、を含み得る。
他のシステム、方法、およびコンピュータ可読媒体も、本明細書で説明される。
【図面の簡単な説明】
【0008】
【
図1A】開示された実施形態と一致する、出荷、輸送、および物流オペレーションを可能にする通信のためのコンピュータ化されたシステムを備えるネットワークの例示的な実施形態を示す概略ブロック図である。
【
図1B】開示された実施形態と矛盾しない、インタラクティブなユーザインタフェース要素と共に、検索要求を満たす1つ以上の検索結果を含む検索結果ページ(Search result page:SRP)サンプル検索結果を示す。
【
図1C】開示された実施形態と一致する、対話型ユーザインターフェース要素と共に製品および製品に関する情報を含む単一ディスプレイページ(Single display page:SDP)のサンプルを示す。
【
図1D】開示された実施形態と一致する、対話型ユーザインターフェース要素と共に仮想ショッピングカート内のアイテムを含むカートページのサンプルを示す。
【
図1E】開示された実施形態に一致する、仮想ショッピングカートからのアイテムを、購入および出荷に関する情報とともに、対話型ユーザインターフェース要素とともに含む注文ページのサンプルを示す。
【
図2】開示された実施形態と一致する、開示されたコンピュータ化されたシステムを利用するように構成された例示的なフルフィルメントセンタの概略図である。
【
図3】開示された実施形態と一致する、バッチ作成を含む例示的なプロセスのブロック図である。
【
図4】開示された実施形態と一致する、バッチ作成のデータフローを含む例示的なプロセスの概略図である。
【
図5】開示された実施形態に一致する、バッチ視覚化ツールを含む例示的なプロセスの概略図である。
【
図6】開示された実施形態と一致する歩行距離最適化のための勾配降下アルゴリズムの結果を示す。
【
図7】開示された実施形態と一致する、バッチ最適化のための例示的なプロセスのブロック図である。
【発明を実施するための形態】
【0009】
以下の詳細な説明は、添付の図面を参照する。可能な限り、図面および以下の説明では、同一または類似の部分を参照するために、同一の参照番号が使用される。いくつかの例示的な実施形態が本明細書で説明されるが、修正、適応、および他の実装が可能である。例えば、置換、追加、または修正が、図面に示された構成要素およびステップに行われてもよく、本明細書に記載された例示的な方法は、開示された方法にステップを置換、並べ替え、除去、または追加することによって修正されてもよい。したがって、以下の詳細な説明は、開示された実施形態および実施例に限定されない。むしろ、本発明の適切な範囲は、添付の特許請求の範囲によって定義される。
【0010】
本開示の一態様は、バッチピッキング最適化のためのコンピュータ実装システムを対象とする。例えば、特定の実施形態は、命令を格納する1以上のメモリデバイスと、前記命令を実行するように構成された1以上のプロセッサとを備える。ある実施形態では、前記1以上のプロセッサは、前記命令を実行して、ピッキングのための1以上のアイテムを含む注文を受け取り、フルフィルメントセンター内の1以上の高密度領域を検索アルゴリズムを使用して、前記1以上のアイテム内の第1のアイテムと、前記1以上のアイテム内の少なくとも1つの他のアイテムと、の間の距離を計算し、前記1以上のアイテムについて最近傍アイテムを計算し、複数の前記最近傍アイテムを選択することによって高密度領域を生成することによって計算するように構成される。さらに、前記1以上のプロセッサは、前記命令を実行して、前記1以上のアイテムについて、前記アイテムと、最も近い第2のアイテムとの間の距離を記憶し、前記計算された1以上の高密度領域に基づいてバッチを作成するように構成される。さらに、前記1以上のプロセッサは、勾配降下アルゴリズムを使用して、ピッキング可能なアイテムの中で平均距離を最も増加させないアイテムに基づいて、前記1以上の高密度領域から前記バッチにアイテムを追加し、前記バッチ内で収集するためのアイテムのリストと、位置と、を表示するためにユーザデバイスに提供するように構成される。
【0011】
さらに、本開示は、バッチ最適化、すなわち、フルフィルメントセンタ内の高密度領域を計算し、それらの領域に基づいてバッチを作成することを用いて、出荷注文の出荷、輸送、およびロジスティクスオペレーションを向上するためのシステムおよび方法を対象とする。より具体的には、開示された人工知能バッチピッキング最適化および通信のためのコンピュータ実装システムおよび方法は、最適化されたバッチ内のアイテムが互いにより近く、より迅速にピッキングされ得るので、注文をより迅速に完了することによって、効率化を提供する。本システムは、密度アルゴリズムによってアイテムを効率的にグループ化し、システムを通してより多くの注文をより速く取得し、より多くの注文を取り、遠くのアイテムまで歩く無駄な時間を削減することを可能にする。
【0012】
図1Aを参照すると、出荷、輸送、および物流動作を可能にする通信のためのコンピュータ化されたシステムを含むシステム100の例示的な実施形態を示す概略ブロック図が示されている。
図1Aに示すように、システム100は、様々なシステムを含むことができ、その各々は、1つまたは複数のネットワークを介して互いに接続することができる。システムはまた、例えばケーブルを使用して、直接接続を介して互いに接続されてもよい。図示のシステムは、出荷権限技術(Shipment authority technology:SAT)システム101、外部フロントエンドシステム103、内部フロントエンドシステム105、輸送システム107、モバイルデバイス107A、107B、および107C、売り手ポータル109、出荷および注文追跡(SOT)システム111、フルフィルメント(履行)最適化(Fulfillment optimization:FO)システム113、フルフィルメントメッセージングゲートウェイ(Fulfillment messaging gateway:FMG)115、サプライチェーン管理(Supply chain management:SCM)システム117、労働力管理システム119、モバイルデバイス119A、119B、および119C(フルフィルメントセンタ(Fulfilment center:FC)200の内部にあるものとして図示)、第三者フルフィルメントシステム121A、121B、および121C、フルフィルメントセンタ許可システム(FC Auth)123、ならびに労務管理システム(Labor management system:LMS)125を含む。
【0013】
いくつかの実施形態では、SATシステム101は、注文ステータスおよび配信ステータスを監視するコンピュータシステムとして実装されてもよい。例えば、SATシステム101は、注文がその約束納品日(Promised delivery date:PDD)を過ぎているかどうかを判定することができ、新しい注文を開始すること、未納品注文のアイテムを再出荷すること、未納品注文をキャンセルすること、注文顧客とのコンタクトを開始することなどを含む適切なアクションをとることができる。SATシステム101はまた、出力(特定の期間中に出荷されたパッケージの数など)および入力(出荷に使用するために受け取った空のボール紙箱の数など)を含む他のデータを監視することもできる。また、SATシステム101は、システム100内の異なるデバイス間のゲートウェイとして機能し、外部フロントエンドシステム103およびFOシステム113などのデバイス間の通信(例えば、ストアアンドフォワードまたは他の技術を使用する)を可能にしてもよい。
【0014】
外部フロントエンドシステム103は、いくつかの実施形態では、外部ユーザがシステム100内の1つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装することができる。例えば、システム100がシステムのプレゼンテーションを可能にして、ユーザがアイテムの注文を行うことを可能にする実施形態では、外部フロントエンドシステム103は、検索要求を受信し、アイテムページを提示し、支払い情報を要請するウェブサーバとして実装されてもよい。例えば、外部フロントエンド・システム103は、Apache HTTPサーバ、Microsoftインターネット・インフォメーション・サービス、NGINXなどのソフトウェアを実行するコンピュータまたはコンピュータとして実現することができる。他の実施形態では、外部フロントエンドシステム103は、外部デバイス(例えば、モバイルデバイス102Aまたはコンピュータ102B)からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得された情報に基づいて受信された要求への応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行することができる。
【0015】
いくつかの実施形態では、外部フロントエンドシステム103は、ウェブキャッシングシステム、データベース、検索システム、または支払いシステムのうちの1つまたは複数を含むことができる。一態様では、外部フロントエンドシステム103は、これらのシステムのうちの1つまたは複数を備えることができ、別の態様では、外部フロントエンドシステム103は、これらのシステムのうちの1つまたは複数に接続されたインターフェース(たとえば、サーバ間、データベース間、または他のネットワーク接続)を備えることができる。
【0016】
図1B、
図1C、
図1D、および
図1Eによって示されるステップの例示的なセットは、外部フロントエンドシステム103のいくつかの動作を説明するのに役立ち得る。外部フロントエンドシステム103は、提示および/または表示のために、システム100内のシステムまたはデバイスから情報を受信することができる。例えば、外部フロントエンドシステム103は、検索結果ページ(Search result page:SRP)(例えば、
図1B)、単一詳細ページ(Single display page:SDP)(例えば、
図1C)、カードページ(例えば、
図1D)、または注文ページ(例えば、
図1E)を含む1つ以上のウェブページをホストまたは提供することができる。ユーザデバイス(例えば、モバイルデバイス102Aまたはコンピュータ102Bを使用する)は、外部フロントエンドシステム103にナビゲートし、サーチボックスに情報を入力することによってサーチを要求することができる。外部フロントエンド・システム103は、システム100内の1つまたは複数のシステムから情報を要求することができる。例えば、外部フロントエンドシステム103は、検索要求を満たす情報をFOシステム113に要求することができる。外部フロントエンドシステム103はまた、検索結果に含まれる各製品について、約束納品日または「PDD」を要求し、(FOシステム113から)受信することができる。
【0017】
PDDは、いくつかの実施形態では、製品を含むパッケージがいつユーザの所望の場所に到着するか、または製品が特定の期間内に、例えば、1日の終わり(午後11時59分)までに注文された場合、ユーザの所望の場所に配達されることを約束される日付の推定値を表すことができる(PDDは、FOシステム113に関して以下でさらに説明される)。外部フロントエンドシステム103は、情報に基づいてSRP (例えば、
図1B)を準備することができる。SRPは、検索要求を満たす情報を含むことができる。例えば、これは、検索要求を満たす製品の写真を含むことができる。SRPはまた、各製品のそれぞれの価格、または各製品の強化された配送オプション、PDD、重量、サイズ、オファー、割引などに関する情報を含むことができる。外部フロントエンドシステム103は、(例えば、ネットワークを介して)要求側ユーザデバイスにSRPを送信することができる。
【0018】
次いで、ユーザデバイスは、例えば、ユーザインターフェースをクリックまたはタップすることによって、または別の入力デバイスを使用して、SRP上で表される製品を選択することによって、SRPから製品を選択することができる。ユーザ・デバイスは、選択された製品に関する情報の要求を編成(formulate)し、それを外部フロントエンド・システム103に送ることができる。これに応答して、外部フロントエンドシステム103は、選択された製品に関する情報を要求することができる。例えば、情報は、それぞれのSRP上の製品について提示される情報を超える追加の情報を含むことができる。これは、例えば、賞味期限、原産国、重量、サイズ、パッケージ内のアイテムの数、取扱説明書、または製品に関する他の情報を含むことができる。また、情報は、(例えば、この製品および少なくとも1つの他の製品を購入した顧客のビッグデータおよび/または機械学習分析に基づく)類似の製品に対する推奨、頻繁に質問される質問に対する回答、顧客からのレビュー、製造業者情報、写真などを含むことができる。
【0019】
外部フロントエンドシステム103は、受信した製品情報に基づいてSDP (単一詳細ページ)(例えば、
図1C)を準備することができる。SDPは、「今すぐ買う」ボタン、「カードに追加する」ボタン、数量フィールド、アイテムの写真などの他の対話型要素も含むことができる。SDPは、製品を提供する売り手のリストをさらに含むことができる。リストは、各売り手が提供する価格に基づいて順序付けられてもよく、その結果、最低価格で製品を販売することを提案する売り手は、最上位にリストされてもよい。リストは、最高ランクの売り手が最上位にリストされるように、売り手ランキングに基づいて順序付けらてもよい。売り手ランキングは、例えば、約束されたPDDを満たす売り手の過去の実績を含む、複数の要因に基づいて定式化されてもよい。外部フロントエンドシステム103は、(例えば、ネットワークを介して)要求側ユーザデバイスにSDPを配信することができる。
【0020】
要求ユーザデバイスは、製品情報をリストするSDPを受信してもよい。その後、SDPを受信すると、ユーザデバイスはSDPと対話することができる。例えば、要求ユーザ装置のユーザは、SDP上の「カートに入れる」ボタンをクリックするか、または他の方法で対話することができる。これは、ユーザに関連付けられたショッピングカートに製品を追加する。ユーザ装置は、ショッピングカートに製品を追加するためのこの要求を外部フロントエンドシステム103に送信することができる。
【0021】
外部フロントエンドシステム103は、カートページ(例えば、
図1D)を生成することができる。カートページは、いくつかの実施形態では、ユーザが仮想「ショッピングカート」に追加した製品をリストし、ユーザデバイスは、SRP、SDP、または他のページ上のアイコンをクリックするか、または他の方法で対話することによって、カートページを要求してもよい。いくつかの実施形態では、カートページは、ユーザがショッピングカートに追加したすべての製品、ならびに各製品の数量、各製品毎の価格、関連する数量に基づく各製品の価格、PDDに関する情報、配送方法、配送コスト、ショッピングカート内の製品を修正するためのユーザインターフェース要素(例えば、数量の削除または修正)、他の製品を注文するためのオプション、または製品の定期的な配送を設定するためのオプション、利息支払いを設定するためのオプション、購入に進むためのユーザインターフェース要素などのカート内の製品に関する情報をリストすることができる。ユーザデバイスのユーザは、ショッピングカート内の製品の購入を開始するために、ユーザインターフェース要素(例えば、「今すぐ買う」と読むボタン)をクリックするか、さもなければユーザインターフェース要素と対話することができる。そうすると、ユーザ・デバイスは、購入を開始するためにこの要求を外部フロント・エンド・システム103に送信することができる。
【0022】
外部フロントエンドシステム103は、購入を開始する要求の受信に応答して、注文ページ(例えば、
図1E)を生成することができる。注文ページは、いくつかの実施形態では、ショッピングカートからアイテムを再リストし、支払いおよび出荷情報の入力を要求する。例えば、注文ページは、ショッピングカート内のアイテムの購入者に関する情報(例えば、名前、住所、電子メールアドレス、電話番号)、受取人に関する情報(例えば、名前、住所、電話番号、配達情報)、出荷情報(例えば、配達および/または集荷の速度/方法)、支払い情報(例えば、クレジットカード、銀行振込、小切手、格納クレジット)、現金受領を要求するためのユーザインターフェース要素(例えば、税務目的のための)などを要求するセクションを含むことができる。外部フロントエンドシステム103は、注文ページをユーザデバイスに送信することができる。
【0023】
ユーザデバイスは、オーダページに情報を入力し、その情報を外部フロントエンドシステム103に送信するユーザインタフェース要素をクリックするか、または他の方法で対話することができる。そこから、外部フロントエンドシステム103は、システム100内の異なるシステムに情報を送信して、ショッピングカート内の製品を用いた新しい注文の作成および処理を可能にすることができる。
【0024】
いくつかの実施形態では、外部フロントエンドシステム103は、売り手が注文に関する情報を送受信することを可能にするようにさらに構成されてもよい。
【0025】
内部フロントエンドシステム105は、いくつかの実施形態では、内部ユーザ(例えば、システム100を所有し、操作し、またはリースする組織の従業員)がシステム100内の1つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装され得る。例えば、ネットワーク101がシステムのプレゼンテーションを可能にして、ユーザがアイテムの注文を行うことを可能にする実施形態では、内部フロントエンドシステム105は、内部ユーザが注文に関する診断および統計情報を見ること、アイテム情報を修正すること、または注文に関する統計をレビューすることを可能にするウェブサーバとして実装されてもよい。例えば、内部フロントエンド・システム105は、Apache HTTPサーバ、Microsoftインターネット・インフォメーション・サービス、NGINXなどのソフトウェアを実行するコンピュータまたはコンピュータとして実現することができる。他の実施形態では、内部フロントエンドシステム105は、システム100に示されているシステムまたは装置(および図示されていない他の装置)からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得された情報に基づいて受信された要求に応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行してもよい。
【0026】
いくつかの実施形態では、内部フロントエンドシステム105は、ウェブキャッシングシステム、データベース、検索システム、支払いシステム、分析システム、注文監視システムなどのうちの1つまたは複数を含むことができる。一態様では、内部フロントエンドシステム105は、これらのシステムのうちの1つまたは複数を備えることができ、別の態様では、内部フロントエンドシステム105は、これらのシステムのうちの1つまたは複数に接続されたインターフェース(たとえば、サーバ間、データベース間、または他のネットワーク接続)を備えることができる。
【0027】
輸送システム107は、いくつかの実施形態では、システム100内のシステムまたはデバイスとモバイルデバイス107A~107Cとの間の通信を可能にするコンピュータシステムとして実装され得る。輸送システム107は、いくつかの実施形態では、1つまたは複数のモバイルデバイス107A~107C(例えば、携帯電話、スマートフォン、PDAなど)から情報を受信することができる。例えば、いくつかの実施形態では、モバイルデバイス107A~107Cは、配達員によって操作されるデバイスを備えてもよい。配達作業員は、正社員、一時社員、またはシフト社員であってもよく、モバイルデバイス107A~107Cを利用して、ユーザによって注文された製品を含むパッケージの配達を行うことができる。例えば、荷物を配達するために、配達作業者は、どの荷物を配達すべきか、およびどこに配達すべきかを示す通知をモバイルデバイス上で受信することができる。配達作業者は、配達場所に到着すると、パッケージを(例えば、トラックの後ろに、またはパッケージのクレートに)配置し、モバイルデバイスを使用してパッケージ上の識別子(例えば、バーコード、画像、テキストストリング、RFIDタグなど)に関連するデータをスキャンまたは他の方法で取り込み、パッケージを(例えば、前面ドアに置いたままにし、セキュリティガードを付けたままにし、受取人に渡すなどによって)配達することができる。いくつかの実施形態では、配達作業者は、パッケージの写真(複数可)をキャプチャすることができ、および/またはモバイルデバイスを使用して署名を取得することができる。モバイルデバイスは、例えば、時間、日付、GPS位置、写真、配達作業者に関連付けられた識別子、モバイルデバイスに関連付けられた識別子などを含む、配達に関する情報を含む情報を輸送システム107に送信することができる。輸送システム107は、システム100内の他のシステムによるアクセスのために、この情報をデータベース(図示せず)に記憶することができる。輸送システム107は、いくつかの実施形態では、この情報を使用して、特定の荷物の位置を示す追跡データを準備し、他のシステムに送信することができる。
【0028】
いくつかの実施形態では、あるユーザは、1つの種類のモバイルデバイスを使用することができる(例えば、正社員は、バーコードスキャナ、スタイラス、および他のデバイスなどのカスタムハードウェアを有する専用のPDAを使用することができる)が、他のユーザは、他の種類のモバイルデバイスを使用することができる(例えば、一時的またはシフト労働者は、既製のモバイル電話および/またはスマートフォンを利用することができる)。
【0029】
いくつかの実施形態では、輸送システム107は、ユーザを各デバイスに関連付けることができる。例えば、輸送システム107は、ユーザ(例えば、ユーザ識別子、従業員識別子、または電話番号によって表される)と移動装置(例えば、国際移動装置識別子(IMEI)、国際移動加入識別子(IMSI)、電話番号、汎用一意識別子(UUID)、またはグローバル一意識別子(GUID)によって表される)との間の関連付けを記憶することができる。輸送システム107は、とりわけ、作業者の位置、作業者の効率、または作業者の速度を決定するために、この関連付けを、配達時に受信されたデータと共に使用して、データベースに格納されたデータを分析することができる。
【0030】
売り手ポータル109は、いくつかの実施形態では、売り手または他の外部エンティティがシステム100内の1つまたは複数のシステムと電子的に通信することを可能にするコンピュータシステムとして実装され得る。例えば、売り手は、コンピュータシステム(図示せず)を利用して、売り手が売り手ポータル109を使用してシステム100を通して売りたい製品について、製品情報、注文情報、連絡先情報などをアップロードまたは提供することができる。
【0031】
いくつかの実施形態では、出荷および注文追跡システム111は、(例えば、デバイス102A~102Bを使用するユーザによって)顧客によって注文された製品を含むパッケージの位置に関する情報を受信し、格納し、転送するコンピュータシステムとして実装され得る。いくつかの実施形態では、出荷および注文追跡システム111は、顧客によって注文された製品を含むパッケージを配送する出荷会社によって運営されるウェブサーバ(図示せず)からの情報を要求または格納することができる。
【0032】
いくつかの実施形態では、出荷および注文追跡システム111は、システム100に示されるシステムからの情報を要求し、記憶することができる。例えば、出荷及び注文追跡システム111は、輸送システム107から情報を要求することができる。上述のように、輸送システム107は、ユーザ(例えば、配達作業員)または車両(例えば、配達トラック)のうちの1つ以上に関連付けられた1つ以上のモバイルデバイス107A~107C(例えば、携帯電話、スマートフォン、PDAなど)から情報を受信してもよい。いくつかの実施形態では、出荷および注文追跡システム111はまた、倉庫管理システム(WMS)119から情報を要求して、フルフィルメントセンター(例えば、フルフィルメントセンター200)内の個々の製品の位置を決定することができる。出荷および注文追跡システム111は、輸送システム107またはWMS 119のうちの1つまたは複数からデータを要求し、それを処理し、要求に応じてそれをデバイス(たとえば、ユーザデバイス102Aおよび102B)に提示することができる。
【0033】
いくつかの実施形態では、フルフィルメント最適化(FO)システム113は、他のシステム(例えば、外部フロントエンドシステム103および/または出荷および注文追跡システム111)からの顧客注文に関する情報を記憶するコンピュータシステムとして実装されてもよい。FOシステム113はまた、特定のアイテムがどこに保持または格納されるかを記述する情報を格納してもよい。たとえば、特定のアイテムは1つのフルフィルメントセンターにのみ保存され、他の特定のアイテムは複数のフルフィルメントセンターに保存される場合がある。さらに他の実施形態では、特定のフルフィルメントセンターは、特定のセットのアイテム(例えば、生鮮食品または冷凍製品)のみを格納するように設計されてもよい。FOシステム113は、この情報ならびに関連する情報(例えば、数量、サイズ、受領日、有効期限など)を格納する。
【0034】
FOシステム113はまた、各製品について対応するPDD (約束納期)を計算することができる。PDDは、いくつかの実施形態では、1つまたは複数の要因に基づくことができる。例えば、FOシステム113は、製品の過去の需要(例えば、その製品がある期間中に何回注文されたか)、製品の予想需要(例えば、来るべき期間中にその製品を注文するために何人の顧客が予想されるか)、ある期間中にいくつの製品が注文されたかを示すネットワーク全体の過去の需要、来るべき期間中にいくつの製品が注文されることが予想されるかを示すネットワーク全体の予想需要、各フルフィルメントセンタ200に格納された製品の1つまたは複数のカウント、その製品の予想または現在の注文などに基づいて、製品のPDDを計算することができる。
【0035】
いくつかの実施形態では、FOシステム113は、定期的に(例えば、1時間ごとに)各製品のPDDを決定し、それをデータベースに格納して、検索または他のシステム(例えば、外部フロントエンドシステム103、SATシステム101、出荷および注文追跡システム111)に送信することができる。他の実施形態では、FOシステム113は、1つまたは複数のシステム(例えば、外部フロントエンドシステム103、SATシステム101、出荷および注文追跡システム111)から電子要求を受信し、オンデマンドでPDDを計算することができる。
【0036】
フルフィルメントメッセージングゲートウェイ115は、いくつかの実施形態では、FOシステム113などのシステム100内の1つ以上のシステムから1つのフォーマットまたはプロトコルで要求または応答を受信し、それを別のフォーマットまたはプロトコルに変換し、変換されたフォーマットまたはプロトコルで、WMS 119または3パーティフルフィルメントシステム121A、121B、または121Cなどの他のシステムに転送するコンピュータシステムとして実装することができる。
【0037】
サプライチェーン管理(SCM)システム117は、いくつかの実施形態では、予測機能を実行するコンピュータシステムとして実装することができる。例えば、SCMシステム117は、例えば、製品に対する過去の需要、製品に対する予想される需要、ネットワーク全体の過去の需要、ネットワーク全体の予想される需要、各フルフィルメントセンタ200に格納されたカウント製品、各製品に対する予想または現在の注文などに基づいて、特定の製品に対する需要のレベルを予測することができる。この予測されたレベルおよびすべてのフルフィルメントセンターにわたる各製品の量に応答して、SCMシステム117は、特定の製品に対する予測された需要を満たすのに十分な量を購入し、在庫するための1つまたは複数の購入注文を生成することができる。
【0038】
倉庫管理システム(WMS)119は、ある実施形態では、ワークフローを監視するコンピュータシステムとして実装されてもよい。例えば、WMS 119は、個別のイベントを示すイベントデータを個々のデバイス(例えば、デバイス107A~107Cまたは119A~119C)から受信することができる。例えば、WMS 119は、パッケージを走査するためにこれらの装置の1つの使用を示すイベントデータを受信してもよい。フルフィルメントセンター200および
図2に関して以下で説明するように、フルフィルメントプロセス中に、パッケージ識別子(例えば、バーコードまたはRFIDタグデータ)を、特定の段階で機械によってスキャンまたは読み取ることができる(例えば、自動またはハンドヘルドバーコードスキャナ、RFIDリーダ、高速カメラ、タブレット119A、モバイルデバイス/PDA 119B、コンピュータ119Cなどのデバイス)。WMS 119は、パッケージ識別子、時間、日付、位置、ユーザ識別子、またはその他の情報と共に、パッケージ識別子の走査または読取りを示す各イベントを対応するデータベース(図示せず)に格納し、この情報を他のシステム(例えば、出荷および注文追跡システム111)に提供することができる。
【0039】
WMS 119は、いくつかの実施形態では、1つまたは複数のデバイス(たとえば、デバイス107A~107Cまたは119A~119C)をシステム100に関連する1つまたは複数のユーザに関連付ける情報を記憶することができる。例えば、いくつかの状況では、ユーザ(パートまたはフルタイムの従業員など)は、ユーザがモバイルデバイスを所有するモバイルデバイス(例えば、モバイルデバイスはスマートフォンである)に関連付けられ得る。他の状況では、ユーザは、ユーザがモバイルデバイスを一時的に保管しているという点で、モバイルデバイスに関連付けられてもよい(例えば、ユーザは、日の始めにモバイルデバイスをチェックアウトし、日中にモバイルデバイスを使用し、日の終わりにモバイルデバイスを戻してもよい)。
【0040】
WMS 119は、いくつかの実施形態では、システム100に関連する各ユーザの作業ログを維持することができる。例えば、WMS 119は、任意の割り当てられたプロセス(例えば、トラックのアンロード、ピックゾーンからのアイテムのピッキング、ソーティング装置の作業、パッキングアイテム)、ユーザ識別子、位置(例えば、フルフィルメントセンタ200内のフロアまたはゾーン)、従業員によってシステムを通って移動されたユニットの数(例えば、ピッキングされたアイテムの数、パッキングされたアイテムの数)、デバイス(例えば、デバイス119A~119C)に関連付けられた識別子などを含む、各従業員に関連付けられた情報を記憶することができる。いくつかの実施形態では、WMS 119は、デバイス119A~119C上で動作するタイムキーピングシステムなどのタイムキーピングシステムからチェックインおよびチェックアウト情報を受信することができる。
【0041】
第三者フルフィルメント(3PL)システム121A~121Cは、いくつかの実施形態では、ロジスティクスおよび製品のサードパーティプロバイダに関連するコンピュータシステムを表す。例えば、(
図2に関して以下に説明するように)いくつかの製品がフルフィルメントセンター200に保管されている間、他の製品はオフサイトで保管されてもよく、オンデマンドで生産されてもよく、またはそうでなければフルフィルメントセンター200に保管するために利用できなくてもよい。3PLシステム121A~121Cは、FOシステム113から(例えば、FMG 115を介して)注文を受信するように構成されてもよく、製品および/またはサービス(例えば、配送または設置)を顧客に直接提供してもよい。いくつかの実施形態では、3PLシステム121A~121Cのうちの1つまたは複数は、システム100の一部とすることができ、他の実施形態では、3PLシステム121A~121Cのうちの1つまたは複数は、システム100の外部(例えば、サードパーティプロバイダによって所有または運営される)とすることができる。
【0042】
いくつかの実施形態では、フルフィルメントセンターオースシステム(FCオース)123は、様々な機能を有するコンピュータシステムとして実装されてもよい。例えば、いくつかの実施形態では、FC Auth 123は、システム100内の1つまたは複数の他のシステムのためのシングルサインオン(SSO)サービスとして働くことができる。例えば、FC認証123は、ユーザが内部フロントエンドシステム105を介してログインすることを可能にし、ユーザが出荷および注文追跡システム111でリソースにアクセスする同様の特権を有することを決定し、ユーザが2回目のログインプロセスを必要とせずにそれらの特権にアクセスすることを可能にする。FCオース123は、他の実施形態では、ユーザ(例えば、従業員)が特定のタスクに自分自身を関連付けることを可能にすることができる。例えば、従業員の中には、電子デバイス(デバイス119A~119Cなど)を持たないことがあり、代わりに、1日のコース中に、フルフィルメントセンタ200内でタスクからタスクへ、およびゾーンからゾーンへ移動することがある。FC Auth 123は、それらの従業員が、彼らがどのタスクを実行しているか、および彼らが異なる時刻にどのゾーンにいるかを示すことを可能にするように構成され得る。
【0043】
労働管理システム(LMS)125は、いくつかの実施形態では、従業員(フルタイムおよびパートタイムの従業員を含む)のための出勤および残業情報を記憶するコンピュータシステムとして実装されてもよい。例えば、LMS 125は、FC Auth 123、WMA 119、デバイス119A~119C、輸送システム107、および/またはデバイス107A~107Cから情報を受信することができる。
【0044】
図1Aに示される特定の構成は、単なる例である。例えば、
図1Aは、FOシステム113に接続されたFCオースシステム123を示すが、全ての実施形態がこの特定の構成を必要とするわけではない。実際、いくつかの実施形態では、システム100内のシステムは、インターネット、イントラネット、WAN (ワイドエリアネットワーク)、MAN (メトロポリタンエリアネットワーク)、IEEE 802.11a/b/g/n規格に準拠する無線ネットワーク、専用線などを含む1つまたは複数の公衆またはプライベートネットワークを介して互いに接続され得る。いくつかの実施形態では、システム100内のシステムの1つ以上は、データセンター、サーバファームなどに実装された1つ以上の仮想サーバとして実装されてもよい。
【0045】
図2は、フルフィルメントセンター200を示す。フルフィルメントセンター200は、注文時に顧客に出荷するためのアイテムを格納する物理的位置の一例である。フルフィルメントセンタ(FC)200は、複数のゾーンに分割することができ、各ゾーンは
図2に示されている。いくつかの実施形態では、これらの「ゾーン」は、アイテムを受け取り、アイテムを格納し、アイテムを取り出し、アイテムを出荷するプロセスの異なる段階間の仮想分割と考えることができ、したがって、「ゾーン」は
図2に示されているが、ゾーンの他の分割も可能であり、
図2のゾーンは、いくつかの実施形態では、省略、複製、または修正することができる。
【0046】
インバウンドゾーン203は、
図1Aのシステム100を使用して製品を販売したい売り手からアイテムが受け取られるFC 200の領域を表す。例えば、売り手は、トラック201を使用してアイテム202A及び202Bを配送することができる。アイテム202Aは、それ自体の出荷パレットを占有するのに十分な大きさの単一のアイテムを表すことができ、アイテム202Bは、スペースを節約するために同じパレット上に一緒に積み重ねられたアイテムのセットを表すことができる。
【0047】
作業者は、インバウンドゾーン203内のアイテムを受け取ることができ、任意選択で、コンピュータシステム(図示せず)を使用してアイテムの損傷および正しさをチェックすることができる。例えば、作業者は、コンピュータシステムを使用して、アイテム202Aおよび202Bの数量をアイテムの注文数量と比較することができる。数量が一致しない場合、その作業者は、アイテム202Aまたは202Bのうちの1つまたは複数を拒否することができる。量が一致した場合、作業者はそれらのアイテム(例えば、人形、手すり、フォークリフト、または手動で使用)を、ゾーン205を緩衝するように動かすことができる。バッファゾーン205は、例えば、予測される需要を満たすのに十分な量のアイテムがピッキングゾーン内にあるため、ピッキングゾーン内で現在必要とされていないアイテムのための一時保管領域であってもよい。いくつかの実施形態では、フォークリフト206は、物品をバッファゾーン205の周り、およびインバウンドゾーン203とドロップゾーン207との間で移動させるように動作する。ピッキングゾーンにアイテム202Aまたは202Bが必要な場合(例えば、予想される需要のため)、フォークリフトは、アイテム202Aまたは202Bを落下ゾーン207に移動させることができる。
【0048】
ドロップゾーン207は、アイテムがピッキングゾーン209に移動される前にアイテムを格納するFC 200の領域であってもよい。ピッキングタスクに割り当てられた作業者(「ピッカー」)は、ピッキングゾーン内のアイテム202Aおよび202Bに接近し、ピッキングゾーンのバーコードをスキャンし、モバイルデバイス(例えば、デバイス119B)を使用してアイテム202Aおよび202Bに関連付けられたバーコードをスキャンすることができる。次いで、ピッカーは、アイテムをピッキング・ゾーン209に(例えば、カートの上に置くか、またはそれを運ぶことによって)取り込むことができる。
【0049】
ピッキングゾーン209は、アイテム208が保管(storage)ユニット210に保管されるFC 200の領域であってもよい。いくつかの実施形態では、保管ユニット210は、物理的な棚、本棚、箱、運搬箱、冷蔵庫、冷凍庫、冷蔵庫などのうちの1つまたは複数を含むことができる。いくつかの実施形態では、ピッキングゾーン209は、複数のフロアに編成されてもよい。いくつかの実施形態では、作業者または機械は、例えば、フォークリフト、エレベータ、コンベヤベルト、カート、ハンドトラック、ドリー、自動ロボットまたは装置、あるいは手動を含む複数の方法で、物品をピッキングゾーン209に移動させることができる。例えば、ピッカーは、アイテム202Aおよび202Bをドロップゾーン207内のハンドトラックまたはカート上に置き、アイテム202Aおよび202Bをピッキングゾーン209まで歩くことができる。
【0050】
ピッカーは、保管ユニット210上の特定のスペースのような、ピッキングゾーン209内の特定のスポットにアイテムを配置する(または「収納する」)命令を受け取ることができる。例えば、ピッカーは、モバイルデバイス(例えば、デバイス119B)を使用してアイテム202Aをスキャンすることができる。デバイスは、例えば、通路、棚、および位置を示すシステムを使用して、ピッカーがアイテム202Aを収納すべき場所を示すことができる。次に、デバイスは、その位置にアイテム202Aを格納する前に、その位置でバーコードをスキャンするようにピッカーに促すことができる。装置は、
図1AのWMS 119のようなコンピュータシステムに(例えば、無線ネットワークを介して)データを送信し、装置119Bを使用するユーザによってアイテム202Aがその場所に格納されたことを示すことができる。
【0051】
ユーザが注文を出すと、ピッカは、保管ユニット210から1つまたは複数のアイテム208を取り出すために、デバイス119B上で命令を受け取ることができる。ピッカーは、アイテム208を取り出し、アイテム208上のバーコードをスキャンし、それを搬送機構214上に置くことができる。搬送機構214はスライドとして表されているが、いくつかの実施形態では、搬送機構は、コンベヤベルト、エレベータ、カート、フォークリフト、ハンドトラック、台車、カートなどのうちの1つまたは複数として実施することができる。次に、アイテム208は、パッキングゾーン211に到着することができる。
【0052】
パッキングゾーン211は、アイテムがピッキングゾーン209から受け取られ、最終的に顧客に出荷するためにボックスまたはバッグにパッキングされるFC 200の領域であってもよい。パッキングゾーン211では、アイテムを受け取るように割り当てられた作業者(「リビン(rebin)作業者」)は、ピッキングゾーン209からアイテム208を受け取り、それがどの注文に対応するかを決定することができる。例えば、リビン作業者は、アイテム208上のバーコードをスキャンするために、コンピュータ119Cなどのデバイスを使用することができる。コンピュータ119Cは、どの注文アイテム208が関連付けられているかを視覚的に示すことができる。これは、例えば、注文に対応する壁216上のスペースまたは「セル」を含むことができる。注文が完了すると(例えば、セルが注文のためのすべてのアイテムを含むため)、リビン作業者は、注文が完了したことをパッキング作業者(または「パッカー」)に示すことができる。パッカーは、セルからアイテムを取り出し、それらを出荷のために箱または袋に入れることができる。その後、パッカーは、例えば、フォークリフト、カート、ドリー、ハンドトラック、コンベヤーベルトを介して、又は他の方法で、箱又はバッグをハブゾーン213に送ることができる。
【0053】
ハブゾーン213は、パッキングゾーン211から全てのボックスまたはバッグ(「パッケージ」)を受け取るFC 200の領域であってもよい。ハブゾーン213内の作業者および/または機械は、小包218を取り出し、各小包が配達エリアのどの部分に行こうとするかを決定し、小包を適切なキャンプゾーン215にルーティングすることができる。例えば、配達エリアが2つのより小さいサブエリアを有する場合、パッケージは、2つのキャンプゾーン215のうちの1つに行くことができる。いくつかの実施形態では、作業者または機械は、(例えば、デバイス119A~119Cのうちの1つを使用して)パッケージをスキャンして、その最終的な宛先を決定することができる。パッケージをキャンプゾーン215にルーティングすることは、例えば、(例えば、郵便番号に基づいて)パッケージが向けられている地理的エリアの一部を決定することと、地理的エリアの一部に関連付けられたキャンプゾーン215を決定することとを含むことができる。
【0054】
キャンプゾーン215は、いくつかの実施形態では、1つまたは複数の建物、1つまたは複数の物理的空間、または1つまたは複数のエリアを備えることができ、ハブゾーン213から受け取られたパッケージは、ルートおよび/またはサブルートに分類される。いくつかの実施形態では、キャンプゾーン215は、FC 200から物理的に分離されているが、他の実施形態では、キャンプゾーン215は、FC 200の一部を形成することができる。
【0055】
キャンプゾーン215内の作業者および/または機械は、例えば、既存のルートおよび/またはサブルートに対する目的地の比較、各ルートおよび/またはサブルートに対する作業負荷の計算、時刻、出荷方法、パッケージ220を出荷するためのコスト、パッケージ220内のアイテムに関連付けられたPDDなどに基づいて、パッケージ220がどのルートおよび/またはサブルートに関連付けられるべきかを決定することができる。いくつかの実施形態では、作業者または機械は、(例えば、デバイス119A~119Cのうちの1つを使用して)パッケージをスキャンして、その最終的な宛先を決定することができる。パッケージ220が特定のルートおよび/またはサブルートに割り当てられると、作業者および/または機械は、出荷されるパッケージ220を移動させることができる。例示的な
図2において、キャンプゾーン215は、トラック222、自動車226、および配達作業員224Aおよび224Bを含む。いくつかの実施形態では、トラック222は、配達作業員224Aによって駆動されてもよく、配達作業員224Aは、FC 200のパッケージを配達する常勤の従業員であり、トラック222は、FC 200を所有、リース、または運営する同じ会社によって所有、リース、または運営される。いくつかの実施形態では、自動車226は、配達作業者224Bによって駆動されてもよく、配達作業者224Bは、必要に応じて(例えば、季節的に)配達している「屈曲」または時折の作業者である。自動車226は、配達員224Bによって所有され、リースされ、または操作されてもよい。
【0056】
図3は、開示された実施形態と一致する、バッチ作成を含む例示的なプロセス300のブロック図である。いくつかの実施形態では、「ピッキング」は、バッチの個々の注文からアイテムを選択し、それらをトートに入れることを伴う。ピッキングプロセスは、機械(例えば、ロボット、またはトートまたはアイテムを移動させるためのスキャニングデバイスおよび機械を含む適切な装置を有する他のデバイス)、人間の作業者、または何らかの組み合わせ(例えば、機械支援労働を使用する)によって実行されてもよい。
【0057】
一実施形態では、バッチは、複数の注文からのアイテムを含む。バッチの注文の各々は、在庫保管ユニット(SKU)によって表される注文のアイテムを含むことができる。いくつかの実施形態では、各注文のアイテムは、
図1Aの外部フロントエンドシステム103上でホストされるウェブサイトを介して、
図1Aのデバイスモバイルデバイス102Aまたはコンピュータ102Bにおいてユーザによって配置されていてもよい。いくつかの実施形態では、自動走査装置(例えば、コンピュータ119Cに関連する)は、ピッキングプロセスのための注文部品に関する情報を記憶するために、SKUに関連するバーコードを走査することができる。さらに他の実施形態では、SKUは、(
図2で上述したように)作業者がピッキングプロセスのための注文部品を読み取ることを可能にする。
【0058】
いくつかの実施形態では、プロセス300の態様は、
図2のピッキングゾーン209で行われ、ピッカーワーカーまたはマシンは、バッチの個々の注文からアイテムをピッキングし、それらをトートに入れる。SATシステム101、WMS 119、または
図1Aに示す他のデバイスは、必要に応じて、プロセス300において1つまたは複数の動作を実行することができる。例えば、後述するように、SATシステム101は、ピッカーの位置または他の条件に基づいてアイテムをピックアップするための命令を生成し、それらの命令をピッカーによって操作されるモバイルデバイスに送信することができる。
【0059】
従来技術の方法では、ピッカは、かなりの距離を歩き、アイテムをピックアップするのにかなりの時間を要し、バッチ内の注文の履行を遅延させ、ピッカへのアイテムの割り当てを遅延させ、システムのスループットを低下させていた。いくつかの従来の方法は、経路に沿ってアイテムを単一のピッカ(静的経路)に割り当てる。バッチピッキングにおけるこのような遅延および組織化されていない方法は、多くの点で、輸送プロセスにおけるさらなる中断を引き起こす。たとえば、離れたアイテムを含むバッチ全体がピックされるまで注文の出荷を遅らせると、複数の注文の処理に遅延が生じる。後述するように、フルフィルメントセンター内の高密度領域を計算し、それらの領域に基づいてバッチを作成することによって、本システムは、出荷のバッチプロセスにおいて効率を作り出す。より具体的には、人工知能バッチピッキング最適化および通信のためのコンピュータ実装システムおよび方法は、最適化されたバッチ内のアイテムが互いにより近く、より迅速にピッキングされ得るので、注文をより速く仕上げることによって効率を提供する。本システムは、密度アルゴリズムによってアイテムをグループ化し、システムを通してより多くの注文をより速く獲得し、より多くの注文を取り、遠くのアイテムまで歩く無駄な時間を削減することによって効率を可能にする。
【0060】
図3のプロセス300は、DB (データベース)301、バッチ・ジョブ予測302、およびデジタル・マップ303からのデータを示しており、これらの各々は、密度アルゴリズム304への入力として使用される。
【0061】
DB 301からのデータは、出荷(例えば、ユーザによってなされた注文)、ユニット(例えば、保管ユニット)、場所(例えば、アイテム位置)、カットライン、バッチ最大サイズを表す値MS(例えば、バッチに集められるべきアイテムの最大数を示す数値)、出荷閾値(例えば、FC 200の各ゾーンに対する出荷数)を表す値T、および他のデータに関連するデータを含む。
【0062】
バッチジョブ予測データ302は、ピッキング速度を増加させるための指数平滑化5分予測(exponential smoothing five minute prediction)を含む。例えば、この予測は、系統的傾向または季節的要素を有するデータをサポートするように拡張され得る単変量データの時系列予測方法に関連し得る。バッチジョブ予測データ302は、指数平滑化法を使用して、バッチジョブ消費速度の次の期間を予測する。データ302は、安全在庫に関するデータ、すなわち、アイテムが在庫切れ(OOS)になるのを回避するためにFC 200内にあるべき各アイテムの数も含むことができる。データ302は、ピッキングのための注文の現在のセットを満たすのに必要なバッチジョブの数を表す値Nも含むことができる。デジタルマップ303は、位置ペアの距離を計算し、直接使用される行列(DM)に全ての最短距離を記憶するA*最短経路アルゴリズムを含む。
【0063】
密度アルゴリズム304は、いくつかの実施形態ではSATシステム101によって実行されるが(他の実施形態では、輸送システム107またはフルフィルメント最適化システム113などの他のシステムによって実行されてもよいが)、データ301、302、および303を受信する。密度アルゴリズム304は、いくつかのステップ、例えば、ステップ305(アクティブゾーンタイプおよび出荷選択)、ステップ306(KNNまたはK最近傍-高密度領域を識別する)、およびステップ307(勾配降下アルゴリズム)を含むことができる。
【0064】
ステップ305(Active Zonetypes & Shipments Selection)において、SATシステム101は、少なくともT個の出荷を含むより少ないゾーンタイプのバッチを作成し、選択された出荷によってアクティブゾーンタイプのバッチを作成する。いくつかの実施形態では、閾値Tは、出荷に基づいて高いクオリティのバッチを作成する機会を示す出荷閾値である。いくつかの実施形態では、Tは、最大バッチサイズの3倍に設定されてもよい。PP (プロセス経路)は、複数のゾーンタイプをカバーすることができるので、そのPP内のバッチは、複数のゾーンタイプもカバーすることができる。したがって、バッチのためのバッチジョブが少ないことは、ピッキングサイクル時間が短いことを意味するので、より少ないゾーンタイプ(より少ないバッチジョブ)をカバーするバッチを作成することが有利であり得る。いくつかの実施形態では、アクティブゾーンタイプは、より多くのアイテムを含み、高密度を有する。
【0065】
いくつかの実施形態では、SATシステム101は、(例えば、同じゾーンからのアイテムのみを一緒にバッチ処理することができるので)バッチ処理をより迅速にすることによって、システムに追加の効率を提供するために、1つまたは複数のゾーンタイプ(例えば、フルフィルメントセンターの別個の領域)でバッチを作成することができる。SATシステム101は、A*探索アルゴリズムを使用して、位置ペア間の距離(例えば、フルフィルメントセンターの1つのフロアに格納されるアイテムの全ての可能な位置)を計算する。いくつかの実施形態では、A*探索アルゴリズムは、定期的に、例えば、1日に1回、計算コストが高くなる可能性があるので、スケジュールされ、実行されてもよい。いくつかの実施形態では、A*探索アルゴリズムは、FC 200内のアイテムの配列が変化するたびに(例えば、アイテムが移動される場合に)実行されてもよい。次に、SATシステム101は、(例えば、外部フロントエンドシステム103から)注文を受信し、注文のアイテムをアイテムのリストに統合する。
【0066】
ステップ306(KNN-密集領域を識別する)において、SATシステムは、K平均クラスタリングを使用し、第1の出荷を選択することができる。SATシステム101は、FC 200内のバッチされていないアイテムの高密度領域を決定するために、すべてのバッチされていないアイテムについて「K」の最近傍(Kは静的または動的整数)を計算することができる。いくつかの実施形態では、「K」の最近傍を決定することは、3つのアイテムなどのK個のアイテムを選択することと、これらのアイテムを、高密度領域、例えば、密にパックされ、フルフィルメントセンタ内の残りのアイテムよりも互いにより近いアイテムを有するフルフィルメントセンタ内の領域、の一部であるとして分類することを含む。例えば、いくつかの実施形態では、互いに最も近いアイテムは、高密度領域にあると判定されてもよい。いくつかの実施形態では、値Kは、入力サイズ/最大バッチサイズとして選択されてもよく、最大バッチサイズは、リビン壁内のスロットの数によって設定されてもよい。いくつかの実施形態では、ステップ306におけるK最近傍(KNN)プロセスを使用して、高密度領域を識別することができる。いくつかの実施形態では、高密度領域は、高いクオリティのバッチを生成することができる。
【0067】
ステップ307(勾配降下アルゴリズム)では、SATシステム101は、すべての利用可能なアイテムについてアイテム当たりのピッキング距離増加を計算し、
図6に関して以下に説明する交換オペレータを呼び出すことによって、最小ピッキング距離を有するアイテムを選択することができる。SATシステム101は、
図6の交換オペレータを使用して、例えば、1つ以上の「最悪」のアイテム(例えば、アイテムがピッキングのための平均移動距離をどれだけ増加させるかという観点から)を、アイテム当たりの平均ピッキング距離が1つ以上の「最良」アイテムをピッキングすることによってバッチで減少する場合に当初選択されなかった1つ以上の「最良」アイテムと交換することができる。したがって、バッチジョブの数の更新は、必要とされるバッチジョブの数(N=N-n)から、密度アルゴリズム304のこのサイクルにおいて作成されたバッチジョブの数を減算することによって実行されてもよい。ステップ307では、SATシステム101は、勾配降下アルゴリズム307によって、高密度領域から1つまたは複数のアイテムを単一バッチに集める。いくつかの実施形態では、これは、領域の重心(例えば、アイテムのセットによって定義される領域の重心)を見つけ、次いで、その重心に最も近いアイテムの数を加えることを含む。SATシステム101は、最大バッチサイズに達するまでアイテムの追加を実行する。追加する次のアイテムは、どのアイテムが平均距離(バッチ内のアイテムの数/移動した全距離)を最も増加させないことができるかを決定することによって選択することができる。SATシステム101がバッチを決定した後、密度アルゴリズム304は、KNNを計算し、高密度領域からいくつかのアイテムを単一のバッチに集め(KNN-高密度領域306および勾配降下アルゴリズム307を識別する)、残りのバッチされていないアイテムを再び用いて、新しいバッチを作成することができる。いくつかの実施形態では、そのようなプロセスは、バッチを生成するために5分ごとに実行されてもよい。この値は、ピッカーが平均バッチを選ぶための平均時間であるPP (プロセスパス)に基づく。
【0068】
いくつかの実施形態では、勾配下降アルゴリズム307を使用して、ピッキング距離が短いバッチを作成してもよい。具体的には、勾配降下アルゴリズム307は、最小ピッキング距離を最小に増加させるバッチに追加する出荷を選択することができる。勾配降下アルゴリズム307は、最大バッチサイズに達するまでこのプロセスを繰り返すことができる。
【0069】
ステップ307で勾配密度アルゴリズムを使用した後、プロセス300はステップ308に進み、ここでSATシステム101は、N(現在の注文を満たすのに必要なバッチの残りの数)が0より大きいかどうかを判定する。YESの場合、プロセス300はステップ305(アクティブゾーンタイプおよび出荷選択)に戻り、より多くのアイテムを選択し、より多くのバッチを作成する。そうでない場合、密度アルゴリズムは、ステップ309において、作成されたバッチを出力する。作成されたバッチを出力することは、いくつかの実施形態では、各バッチ内のアイテムに関するデータを、アイテムを選択するための指示を表示するための命令と共にモバイルデバイス(例えば、119A/119B)に送信することを含み得る。
【0070】
いくつかの実施形態では、密度アルゴリズム304は、次のバッチのためにいくつかのアイテムを維持するために、バッチ当たりのアイテムの最大数(バッチ当たりのアイテムの最大数は異なるPPで変化する)の3倍のバッチングを防止する。これは、新しい注文が到来したときにバッチ化され得るアイテムが存在し得るので、SATシステム101の処理効率を最大化する。これにより、ピッカーの効率と利用率が最大化され、移動距離も最小化される。いくつかの実施形態では、バッチ当たりのアイテムの最大数は、2、4、5、20、または他の値であってもよい。
【0071】
図4は、開示された実施形態と一致する、バッチ作成のデータフローを含む例示的なプロセス400の概略図である。
【0072】
プロセス400は、
図1Aの1つ以上のシステムに接続されるサーバ間ネットワーク接続のための制御サーバ401を示す。いくつかの実施形態では、
図1Aのモバイルデバイス102Aまたはコンピュータ102Bは、(例えば、
図1B~
図1Eに関して上述したように)
図1Aの外部フロントエンドシステム103上でホストされるウェブサイトを介して注文情報(1つまたは複数の所望のアイテムを含む)を送信することができる。プロセス400において、外部フロントエンドシステム103は、注文402を受け取り、それを
図1Aの出荷及び注文追跡システム111に転送することができ、それにより、フィールド制御サーバー403に記憶して転送することができる。(いくつかの実施形態では、フィールド制御サーバ403は、SATシステム101に関して上述したように実装されてもよい)次に、フィールド制御サーバ403は、
図3のバッチジョブ404(
図3に記載され、示される)密度アルゴリズム304を作成してもよい。
【0073】
プロセス400はさらに、ピッキングのための命令が、SATシステム101および/またはWMS 119によってユーザデバイス(例えば、
図1Aのモバイルデバイス/PDA 119B)に送信されて、単一のバッチに追加/収集するためのバッチのアイテムのリストと、フルフィルメントセンタ405内のそれらのアイテムの位置と、を提供することができることを示す。ステップ406で、SATシステム101は、バッチジョブ402からデバイス(例えば、モバイルデバイス/PDA 119B)に情報を送信する。例えば、ピッキングは、
図2のピッキングゾーン209で行われ、ピッカー作業者または機械は、バッチの個々の注文からアイテムをピッキングし、それらをトート、ボックス、カート、または別の可動コンテナまたは車両に/に配置する。ピッキングが完了すると、SATシステム101は、ステップ408において、リバッチのためにピッキングされたアイテムを送信するように、モバイルデバイス(例えば、ピッカーによって操作される)に命令を送信することができる。再バッチステップ中に、トート内のアイテムは、出荷のために準備されるように再編成されてもよい。いくつかの実施形態では、ピッキングは、バッチの個々の注文からアイテムを選択し、それらをトートに入れることを伴う。いくつかの実施形態では、再バッチは、1つのバッチについてすべてのトートを収集し、同じトート内の1つの注文からのアイテムを有するようにトートを再結合することによってトートを再編成することを伴う。いくつかの実施形態では、レビンは、トートを出荷品に分類することを伴う。いくつかの実施形態では、梱包は、レビンされた注文を出荷のために準備し、箱詰めすることを伴う。SATシステム101は、ピッキング/リバッチング/リビニングのための適切な動作を決定し、その動作に対応する命令を生成し、その命令をモバイルデバイスに送信して、ピッカに特定のタスクを実行するように命令することができる。
【0074】
図5は、開示された実施形態に一致する、バッチ視覚化ツールを含む例示的なプロセス500の概略図である。
【0075】
プロセス500において、SATシステム101は、レイアウトドローイング501を受信し、コンピュータ502を使用して座標a 504および座標b 505を有する位置ペア(a,b)503を作成する。いくつかの実施形態では、レイアウト
図501は、FC 200内のアイテムが格納される位置を表すデータを含むデジタル地図である。いくつかの実施形態では、レイアウト
図501は、オペレータによって準備されてもよい。いくつかの例では、レイアウト描画501は、平文、XML (eXtensible Markup Language)、KML (Keyhole Markup Language)、GML (Geography Markup Language)などを含む様々なフォーマットで提供され得る。
【0076】
ステップ503において、SATシステム101は、コンピュータ502を介して座標計算を実行し、座標a (x1,y1)及びb (x2,y2)506を生成する。プロセス500はさらに、コンピュータ502を介してA*最短経路アルゴリズムを使用して距離(a,b)507を作成するSATシステム101を示す。いくつかの実施形態では、SATシステム101は、A*アルゴリズムを用いて、フルフィルメントセンターの各フロアについて、すべての位置ペアの最短経路を計算する。
【0077】
一部の実施形態では、A*は高効率最短経路アルゴリズムである。A*は、パス検索とグラフ探索(ノードと呼ばれる複数のポイント間のパスを見つけるプロセス) で使用されるコンピュータアルゴリズムである可能性がある。いくつかの実施形態では、A*は、高い性能および精度を有し得る。しかしながら、実際のトラベルルーティングシステムでは、A*は、より良いパフォーマンスを達成するためにグラフを前処理することができるアルゴリズムによって上回ることがある。いくつかの実施形態では、A*を使用して、すべてのロケーション対の間の最短経路を見つけることができる。他の実施形態では、Dijkstraアルゴリズムなどの最短経路探索アルゴリズムのために、代替の方法およびアルゴリズムを使用することができる。
【0078】
SATシステム101は、1つまたは複数のアイテムについて、アイテムと最も近い第22のアイテム(closest second item)との間の距離をすべての最短距離ペア508に格納する。いくつかの実施形態では、SATシステム101は、最短距離ペア508をファイルまたは他のデータ記憶装置(例えば、データベース)に記憶する。最短距離は、バッチ作成時に計算されるのではなく、ファイルに保存される場合がある。具体的には、最短距離ペア508は、迅速にアクセスされるためにメモリに記憶される。別々のフルフィルメントセンターやフロア用の別々のファイルでは、ファイルはロウ形式(バイナリファイル) である場合がある。次いで、SATシステム101は、最短距離対を、密度アルゴリズム509(
図3の密度アルゴリズム304と同じ)と、バッチ内のすべてのアイテムをデジタルマップで示すバッチ視覚化ツール510とに提供する。デジタル地図は、バッチの詳細情報(例えば、距離)を含む。いくつかの実施形態では、デジタルマップは、単一のバッチで収集するためのアイテムのリストと、フルフィルメントセンタ内のそれらのアイテムの位置とを提供するユーザデバイス(例えば、
図1Aのモバイルデバイス/PDA 119B)にピッキングするための命令と共に送信されてもよい。
【0079】
いくつかの実施形態では、プロセス500は維持される。レイアウト
図501またはデジタル地図が変更されるたびに、SATシステム101(または別のシステム)は、有向非循環グラフ(DAG)をトリガして、新しいデジタル地図を生成することができる。いくつかの実施形態では、DAGは、関係、依存関係、および他のプロパティを反映するように編成されたタスクの集合とすることができる。例えば、DAGは、4つのタスク(A、B、C、D)を含むことができ、DAGは、依存性と共に、それらのタスクの操作の順序を示す(例えば、Bは、Cが実行される前に完了しなければならないが、Aは、いつ実行されてもよい)。DAG は、タスククラスター(または「ジョブ」) のインスタンス化に使用できる。このようなクラスターは、単一のバッチ・ジョブ、複数のジョブを持つ対話式セッション、または継続的に要求を満たす長寿命サーバーに使用できる。いくつかの実施形態では、DAGタスクは、糸クラスタ内の最短経路を計算するためにスパークジョブをサブミットすることができる。
【0080】
いくつかの実施形態では、SATシステム101は、バッチのクオリティを測定するためにデジタルマップを使用する。いくつかの実施形態では、SATシステム101は、バッチ内のアイテムが互いにどの程度近いかによってバッチのクオリティを測定する。いくつかの実施形態では、バッチピッキング距離は、デジタルマップを使用して計算されてもよい。いくつかの実施形態では、アイテムごとのピッキング距離が短いほど、バッチはより高いクオリティであってもよい。
【0081】
図6は、開示された実施形態と一致する歩行距離最適化のための勾配降下アルゴリズムの結果を示す。
【0082】
勾配降下アルゴリズム(
図3のステップ307)は、バッチに追加されるアイテムのスコア候補を評価する。例えば、スコアS
sは、S
d/S
uとして計算することができる。勾配降下アルゴリズム307は、すべてのアイテムをバッチに追加しようとする。S
uは出荷に含まれるユニットまたはアイテムの数を表す。S
dは、計算されたピッキング距離をアイテムによって増加させたものである。勾配降下アルゴリズム307は、最小値S
sを有するアイテムを選択し、そのアイテムをバッチに追加する。いくつかの実施形態では、最小値S
sを有するアイテムを選択することは、最も低いスコアを有するアイテムを選択することを含む。いくつかの実施形態では、最小値S
sを有するアイテムを選択することは、スコアを最小に増加させるアイテムを選択することを含む。いくつかの実施形態では、勾配降下アルゴリズム307は、出荷中のすべてのアイテムをピッキングするために最低の努力(ピッキング距離)を要することを意味する最低のスコアを有する出荷(多くのアイテムを含むことができる)を選択する。
【0083】
また、勾配降下アルゴリズム307は、バッチにおける最悪出荷のスコアS
wも評価する。さらに、ベストアイテムのスコアS
bを評価することは、バッチでは関係ない。勾配降下アルゴリズム307は、S
b>S
wであるかどうかを判定する。そうであれば、勾配降下アルゴリズム307は2つの出荷物を交換し、総ピッキング距離が減少する可能性があり、これはバッチのクオリティを向上させる。いくつかの実施形態では、
図6の交換オペレータは、バッチの最大サイズ出荷に達した後に使用されてもよい。いくつかの実施形態では、
図6の交換オペレータは、バッチの全体のピッキング距離を短縮するために、バッチ内の最悪の出荷と交換するためのバッチ外の最良の出荷を見つけるために使用されてもよい。例えば、最悪の出荷を除去すると、バッチのピッキング距離全体が10メートル減少し、最良の出荷(バッチ内にない)を加えると、ピッキング距離全体が5メートル増加し、これら2つの出荷を交換すると、ピッキング距離全体が5メートル減少する。
【0084】
(多くのアイテムを含むことができる)出荷のスコアは、その出荷中のすべてのアイテムをピックするために費用がかかる平均ピック距離である。スコアが低い場合、それは、全てのアイテムをピックするために、より短いピッキング距離を費やすことを意味し、そうでない場合、より長いピッキング距離を費やすことになる。
【0085】
図6のマップ600および650は、FC 200のさまざまなロケーションにおけるアイテムを示す。丸は、現在バッチ内にあるアイテムを表す。三角形および四角形は、バッチ内のアイテムを置き換えるか、またはバッチに追加する候補であるアイテムを表す。候補アイテムの高いスコアは、それがバッチ内のアイテムに距離が近いことを示すことができる。
【0086】
マップ600では、四角形アイテムのスコアはbsであり、三角形アイテムのスコアはgsである。距離に関し、四角形のアイテムに比べて、三角形のアイテムはバッチ内のアイテムと近いので、そのアイテムのスコアが高い(gs>bs)、したがって、勾配降下アルゴリズム307は、四角形のアイテムの代わりに三角形のアイテムを選択してバッチに配置してもよい。
【0087】
図3に関して上述したように交換オペレータを例示する装置650では、バッチ内のアイテムBは、バッチ内の他のアイテムと近接度に起因してバッチ内の最悪のアイテムであり、そのスコアはB
wである。さらに、アイテムAは、他の候補アイテムよりもバッチ内のアイテムに近く、そのスコアがA
bであって、バッチ内のアイテム(円)を置換するための三角形の候補の中で最良のアイテムである。いくつかの実施形態では、A
b>B
wである場合、グラデーション降下アルゴリズム307は、アイテムAが高いスコアを有し、バッチ内のアイテムに対してアイテムBよりも近いので、バッチからアイテムBを除去し、アイテムAに置き換えてもよい。
【0088】
図7は、バッチ最適化のための例示的プロセスのブロック図である。プロセス700は、例えば、SATシステム101のプロセッサによって実行されてもよく、SATシステムは、コンピュータ可読媒体記憶装置上で符号化された命令を実行する。ただし、プロセス700の1つまたは複数のステップは、システム100の他の構成要素(図示または図示せず)によって実施することができることを理解されたい。
【0089】
ステップ710で、システム100は、複数の注文を受信することができ、各注文は、ピッキングのための1つまたは複数のアイテムを含む。いくつかの実施形態では、各注文のアイテムは、
図1Aの外部フロントエンドシステム103上でホストされるウェブサイトを介して、
図1Aのデバイスモバイルデバイス102Aまたはコンピュータ102Bにおいてユーザによって配置されていてもよい。
【0090】
さらに、SATシステム101は、注文中の1つまたは複数のアイテムをアイテムのリストに統合することができる。いくつかの実施形態では、アイテムのリストは、
図3のDB 301からのデータに関して上述したように、データベースまたはメモリに格納されてもよい。ステップ720において、SATシステム101は、検索アルゴリズムを使用してアイテムのリストからアイテムの1つまたは複数の位置ペア間の距離を計算し、密度アルゴリズム304に関して上述したように、すべてのアイテムについて最近傍アイテムを計算することによって、フルフィルメントセンタ内の1つまたは複数の高密度エリアを計算することができる。密度アルゴリズム304は、フルフィルメントセンターフロアの高密度領域を決定するために、全てのバッチ処理されていないアイテムについてKNN (
図3のKNN識別高密度領域306)を計算する。いくつかの実施態様において、
図3の密度アルゴリズム304は、K個のアイテムを選択し、それらを高密度領域にセグメント化する。いくつかの実施形態では、値Kは、入力サイズ/最大バッチサイズとして選択されてもよく、最大バッチサイズは、リビン壁内のスロットの数によって設定されてもよい。
【0091】
ステップ730では、
図3のステップ303に関して上述し、
図5に関して一般的に説明したように、SATシステム101は、すべてのアイテムのすべての最短距離をメモリに記憶することができる。
【0092】
ステップ740では、ステップ305および306に関して上述したように、SATシステム101は、計算された1つまたは複数の高密度領域に基づいて1つまたは複数のバッチを作成することができる。
【0093】
ステップ750では、ステップ307に関して上述したように、SATシステム101は、勾配降下アルゴリズムを使用して、1つまたは複数の高密度領域からのアイテムを単一のバッチに追加することができ、この追加は、選択可能なアイテムの中で平均距離を最も増加させないアイテムに基づいて行われる。
【0094】
ステップ760で、SATシステム101は、単一のバッチで追加するためのアイテムのリストと、表示のためのユーザデバイス上の位置とを提供することができる。
図1AのSATシステム101は、ワーカのPDA (例えば、
図1Aのモバイルデバイス/PDA 119B)にメッセージを送信して、単一のバッチで収集するためのアイテムのリストおよびそれらのアイテムの位置を提供することができる。ディスプレイ400(
図1Aのタブレット119A、モバイルデバイス/PDA 119B、コンピュータ119Cに対応する)は、作業者に提示されるユーザインターフェースを含む。その結果、SATシステム101は、作業者のPDA (例えば、
図1Aのモバイルデバイス/PDA 119B)に反映されたアイテムがより近く、より迅速にピックアップされ、作業者が次のバッチへより迅速に移動することができるので、注文をより迅速に仕上げることによってバッチ最適化による出荷プロセスを改善することができる。
【0095】
本開示は、その特定の実施形態を参照して示され、説明されてきたが、本開示は、修正なしに、他の環境において実施され得ることが理解され得る。前述の説明は、例示の目的で提示されている。これは、網羅的ではなく、開示された正確な形態または実施形態に限定されない。当業者であれば、開示された実施形態の明細書および実施を考慮することにより、修正および適応が明らかであろう。さらに、開示された実施形態の態様は、メモリに格納されるものとして説明されているが、当業者は、これらの態様が、例えば、ハードディスクまたはCD ROM、あるいは他の形態のRAMまたはROM、USB媒体、DVD、ブルーレイ、または他の光学ドライブ媒体などの二次記憶デバイスなどの他のタイプのコンピュータ可読媒体に格納されてもよいことを理解することができる。
【0096】
記載された説明および開示された方法に基づくコンピュータプログラムは、熟練した開発者の技術の範囲内である。様々なプログラムまたはプログラムモジュールは、当業者に知られている技法のいずれかを使用して作成することができ、または既存のソフトウェアに関連して設計することができる。例えば、プログラム・セクションまたはプログラム・モジュールは、Net Framework、.NetCompact Framework (およびVisual Basic、C などの関連言語)、Java、C++、Objective-C、HTML、HTML/AJAXの組み合わせ、XML、またはJava アプレットを含むHTML内で、または、これらによって設計されてもよい。
【0097】
さらに、例示的な実施形態が本明細書で説明されてきたが、本開示に基づいて当業者によって理解されるように、同等の要素、修正、省略、組み合わせ(例えば、様々な実施形態にわたる態様の)、適応、および/または変更を有する任意のおよびすべての実施形態の範囲。クレームの限定は、クレームに使用されている文言に広く基づいて解釈されるものとし、本明細書に記載されている例に限定されるものではなく、又は出願手続中に解釈されるものとする。実施例は、非排他的であると解釈されるべきである。さらに、開示された方法のステップは、ステップを並べ替えること、および/またはステップを挿入または削除することを含む、任意の方法で修正されてもよい。したがって、本明細書および実施例は、単に例示的なものとみなされ、真の範囲および精神は、以下の特許請求の範囲およびそれらの均等物の全範囲によって示されることが意図される。