(57)【要約】  開示された実施形態は、バッチピッキング最適化のためのコンピュータ実装システムおよび方法を提供する。これらのシステムは、命令を記憶する１つ以上のメモリデバイスと、ピックするための１つ以上のアイテムを含む注文を受信するために命令を実行するように構成された１つ以上のプロセッサとを含むことができる。さらに、システムは、検索アルゴリズムを使用して、１つまたは複数のアイテム内の第１のアイテムと１つまたは複数のアイテム内の少なくとも１つの他のアイテムとの間の距離を計算することによって、フルフィルメントセンタ内の１つまたは複数の高密度エリアを計算することができる。さらに、システムは、１つまたは複数のアイテムについて最近傍アイテムを計算し、複数の最近傍アイテムを選択することによって高密度領域を生成することができる。
2021516803.tif 000002
【特許請求の範囲】
【請求項１】
バッチピッキング最適化のためのコンピュータ実装システムであって、前記システムは、
命令を格納する１以上のメモリデバイスと、
１以上のプロセッサと、を備え、
前記１以上のプロセッサは、前記命令を実行して、
ピッキングのための１以上のアイテムを含む注文を受け取り、
フルフィルメントセンター内の１以上の高密度領域を
検索アルゴリズムを使用して、前記１以上のアイテム内の第１のアイテムと、前記１以上のアイテム内の少なくとも１つの他のアイテムと、の間の距離を計算し、
前記１以上のアイテムについて最近傍アイテムを計算し、
複数の前記最近傍アイテムを選択することによって高密度領域を生成する
ことによって計算し、
前記１以上のアイテムについて、前記アイテムと、最も近い第２のアイテムとの間の距離を記憶し、
前記計算された１以上の高密度領域に基づいてバッチを作成し、
勾配降下アルゴリズムを使用して、ピッキング可能なアイテムの中で平均距離を最も増加させないアイテムに基づいて、前記１以上の高密度領域から前記バッチにアイテムを追加し、
前記バッチ内で収集するためのアイテムのリストと、位置と、を表示するためにユーザデバイスに提供するように構成される、システム。
【請求項２】
前記高密度領域は、最短の移動距離が発生するように前記最近傍アイテムの選択を最適化することに基づいて計算される、請求項１に記載のシステム。
【請求項３】
前記勾配降下アルゴリズムは、領域の重心を見つけることを含み、
前記項目は、前記領域の重心に最も近いことに基づいて追加される、請求項１に記載のシステム。
【請求項４】
前記勾配降下アルゴリズムは、前記バッチのクオリティを向上させるであろうアイテムの交換を決定するために、デジタルマップを使用する、請求項３に記載のシステム。
【請求項５】
前記ユーザデバイスは、ＰＤＡ、スマートフォン、タブレット、ラップトップ、または、その他のコンピュータデバイスのうちの１つであり、
前記ユーザデバイスをユーザ識別子と関連付ける少なくとも１つのレコードを含むデータベースをさらに含む、請求項１に記載のシステム。
【請求項６】
前記複数の最近傍アイテムを選択することは、３つの最近傍アイテムを選択することを含む、請求項１に記載のシステム。
【請求項７】
前記バッチ内で収集するための前記アイテムは、前記ユーザデバイス上に表示するための在庫保管ユニット（ＳＫＵ）に関連付けられたパッケージ識別子を含む、請求項１に記載のシステム。
【請求項８】
アイテム間の距離を計算するステップは、
それぞれが２つのピッキング可能なアイテムを表す複数のロケーションペアを含むデジタル地図を検索することと、
前記検索された複数のロケーションペアを使用してアイテム間の距離を計算することと、を含む、請求項１に記載のシステム。
【請求項９】
バッチピッキング最適化のためのコンピュータ実装システムであって、前記システムは、
命令を格納する１以上のメモリデバイスと、
１以上のプロセッサと、を備え、
前記１以上のプロセッサは、前記命令を実行して、
ピッキングのための１以上のアイテムを含む注文と、複数のゾーンにセグメント化されたデジタル地図と、を受け取り、
フルフィルメントセンター内の１以上の高密度領域を
単一ゾーン内で検索アルゴリズムを使用して、前記１以上のアイテム内の第１のアイテムと、前記１以上のアイテム内の少なくとも１つの他のアイテムと、の間の距離を計算し、
前記１以上のアイテムについて最近傍アイテムを計算し、
複数の前記最近傍アイテムを選択することによって高密度領域を生成する
ことによって計算し、
前記１以上のアイテムについて、前記アイテムと、最も近い第２のアイテムとの間の距離を記憶し、
前記計算された１以上の高密度領域に基づいて、前記単一ゾーン内のアイテムからバッチを作成し、
勾配降下アルゴリズムを使用して、ピッキング可能なアイテムの中で最も平均距離を増加させないアイテムに基づいて、前記１以上の高密度領域から前記バッチにアイテムを追加し、
前記バッチ内で収集するためのアイテムのリストと、位置と、を表示するためにユーザデバイスに提供するように構成される、システム。
【請求項１０】
前記高密度領域は、最短の移動距離が発生するように前記最近傍アイテムの選択を最適化することに基づいて計算される、請求項９に記載のシステム。
【請求項１１】
前記勾配降下アルゴリズムは、領域の重心を見つけることを含み、
前記アイテムは、前記領域の重心に最も近いことに基づいて追加される、請求項９に記載のシステム。
【請求項１２】
前記勾配降下アルゴリズムは、前記バッチのクオリティを向上させるであろうアイテムの交換を決定するために、前記デジタルマップを使用する、請求項１１に記載のシステム。
【請求項１３】
前記ユーザデバイスは、ＰＤＡ、スマートフォン、タブレット、ラップトップ、または、その他のコンピュータデバイスのうちの１つであり、
前記ユーザデバイスをユーザ識別子と関連付ける少なくとも１つのレコードを含むデータベースをさらに含む、請求項９に記載のシステム。
【請求項１４】
前記複数の最近傍アイテムを選択することは、３つの最近傍アイテムである、請求項９に記載のシステム。
【請求項１５】
前記バッチ内のアイテムは、前記ユーザデバイスに提供されて表示される、前記バッチ内で収集するためのアイテムのリスト内に提供される在庫保管ユニット（ＳＫＵ）に関連付けられたバーコードを含む、請求項９に記載のシステム。
【請求項１６】
前記デジタル地図は、複数のロケーションペアを含み、そのそれぞれは２つのピッキング可能なアイテムを表す、請求項９に記載のシステム。
【請求項１７】
バッチピッキング最適化のためのコンピュータで実行される方法であって、
ピッキングのための１以上のアイテムを含む注文と、複数のゾーンにセグメント化されたデジタル地図と、を受け取るステップであって、前記デジタル地図は、複数のロケーションペアを含み、そのそれぞれは２つのピッキング可能なアイテムを表す、ステップと、
フルフィルメントセンター内の１以上の高密度領域を
単一ゾーン内で検索アルゴリズムを使用して、複数の受け取ったロケーションペアを比較することによって、前記１以上のアイテム内の第１のアイテムと、前記１以上のアイテム内の少なくとも１つの他のアイテムと、の間の距離を計算し、
前記１以上のアイテムについて最近傍アイテムを計算し、
複数の前記最近傍アイテムを選択することによって高密度領域を生成する
ことによって計算するステップと、
前記１以上のアイテムについて、前記アイテムと、最も近い第２のアイテムとの間の距離を記憶するステップと、
前記計算された１以上の高密度領域に基づいて、前記単一ゾーン内のアイテムからバッチを作成するステップと、
勾配降下アルゴリズムを使用して、ピッキング可能なアイテムの中で平均距離を最も増加させないアイテムに基づいて、前記１以上の高密度領域から前記バッチにアイテムを追加するステップと、
前記バッチ内で収集するためのアイテムのリストと、位置と、を表示するためにユーザデバイスに提供するステップと、を含む、方法。
【請求項１８】
前記高密度領域は、最短の移動距離が発生するよう前記最近傍アイテムの選択を最適化することに基づいて計算される、請求項１７に記載のシステム。
【請求項１９】
前記勾配降下アルゴリズムは、領域の重心を見つけることを含み、
前記アイテムは、前記領域の重心に最も近いことに基づいて追加される、請求項１７に記載のシステム。
【請求項２０】
前記勾配降下アルゴリズムは、前記バッチのクオリティを向上させるであろうアイテムの交換を決定するために、前記デジタルマップを使用する、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、人工知能バッチピッキング最適化および通信のためのコンピュータ化されたシステムおよび方法に関する。具体的には、本開示の実施形態は、フルフィルメントセンタ内の１つまたは複数の高密度領域を計算し、１つまたは複数のバッチを作成し、勾配降下アルゴリズムを使用して１つまたは複数の高密度領域からアイテムを単一のバッチに追加し、追加／収集するためのアイテムのリストを提供することができる、独創的かつ非従来型システムに関する。
【背景技術】
【０００２】
バッチ最適化および通信のための現在のシステムは、フルフィルメントセンター（配送センター）の通路および棚に沿った経路を規定し、規定された経路に沿ってピッカーにピッキングするためのアイテムを割り当てる。ピッカーは、顧客によって発注された１つまたは複数の注文の一部またはすべてを含むアイテムのバッチを選択する。ピッカーにはバッチを割り当てることができ、ピッカーに、フルフィルメントセンターの通路を上下にどのように歩いてそのバッチ内のすべてのアイテムを集めるかを指示する経路を（ユーザ装置を介して）送ることができる。このシステムは、ピッカに順序を割り当てる際に遅延を引き起こすため、非効率的である。
【０００３】
その結果、ピッカーは、アイテムをピックアップするためにかなりの量の時間および距離を歩かなければならず、バッチ内の任意の注文の履行を遅らせる可能性がある。バッチピッキングにおけるこのような遅延は、多くの点で、出荷プロセスにおけるさらなる中断を引き起こす。たとえば、離れたアイテムを含むバッチ全体がピックされるまで注文の出荷を遅らせると、複数の注文の処理に遅延が生じる。
【０００４】
バッチ最適化および通信のための現在の電子システムおよび方法の欠点に鑑みて、バッチ最適化を使用して出荷注文の出荷、輸送、およびロジスティクス動作を強化し、フルフィルメントセンタ内の高密度エリアを計算し、これらのエリアに基づいてバッチを作成するためのシステムが望まれている。より具体的には、人工知能バッチピッキング最適化および通信のためのコンピュータ実装システムおよび方法は、最適化されたバッチ内のアイテムが互いにより近く、より迅速にピッキングされ得るので、注文をより速く仕上げることによって効率を提供することが望ましい。そのようなシステムは、密度アルゴリズムによってアイテムを効率的にグループ化し、システムを通してより多くの注文をより速く取得し、より多くの注文を取り、遠くのアイテムまで歩く無駄な時間を削減することを可能にする。したがって、人工知能バッチピッキング最適化および通信のための改良された電子的方法およびシステムが必要とされている。
【発明の概要】
【０００５】
本開示の一態様は、バッチピッキング最適化のためのコンピュータ実装システムを対象とする。例えば、特定の実施形態は、命令を格納する１以上のメモリデバイスと、前記命令を実行するように構成された１以上のプロセッサとを備える。ある実施形態では、前記１以上のプロセッサは、前記命令を実行して、ピッキングのための１以上のアイテムを含む注文を受け取り、フルフィルメントセンター内の１以上の高密度領域を検索アルゴリズムを使用して、前記１以上のアイテム内の第１のアイテムと、前記１以上のアイテム内の少なくとも１つの他のアイテムと、の間の距離を計算し、前記１以上のアイテムについて最近傍アイテムを計算し、複数の前記最近傍アイテムを選択することによって高密度領域を生成することによって計算するように構成される。ある実施形態では、前記１以上のプロセッサは、前記命令を実行して、前記１以上のアイテムについて、前記アイテムと、最も近い第２のアイテムとの間の距離を記憶し、前記計算された１以上の高密度領域に基づいてバッチを作成するように構成される。さらに、前記１以上のプロセッサは、勾配降下アルゴリズムを使用して、ピッキング可能なアイテムの中で平均距離を最も増加させないアイテムに基づいて、前記１以上の高密度領域から前記バッチにアイテムを追加し、前記バッチ内で収集するためのアイテムのリストと、位置と、を表示するためにユーザデバイスに提供するように構成される。
【０００６】
本開示の別の態様は、バッチピッキング最適化のためのコンピュータ実装システムを対象とする。例えば、特定の実施形態は、命令を記憶する１つ以上のメモリデバイスと、命令を実行するように構成された１つ以上のプロセッサとを含み得る。ある実施形態では、前記１以上のプロセッサは、前記命令を実行して、ピッキングのための１以上のアイテムを含む注文と、複数のゾーンにセグメント化されたデジタル地図と、を受け取り、フルフィルメントセンター内の１以上の高密度領域を単一ゾーン内で検索アルゴリズムを使用して、前記１以上のアイテム内の第１のアイテムと、前記１以上のアイテム内の少なくとも１つの他のアイテムと、の間の距離を計算し、前記１以上のアイテムについて最近傍アイテムを計算し、複数の前記最近傍アイテムを選択することによって高密度領域を生成することによって計算するように構成される。ある実施形態では、前記１以上のプロセッサは、前記命令を実行して、前記１以上のアイテムについて、前記アイテムと、最も近い第２のアイテムとの間の距離を記憶し、前記計算された１以上の高密度領域に基づいて、前記単一ゾーン内のアイテムからバッチを作成するように構成される。さらに、ある実施形態では、前記１以上のプロセッサは、勾配降下アルゴリズムを使用して、ピッキング可能なアイテムの中で最も平均距離を増加させないアイテムに基づいて、前記１以上の高密度領域から前記バッチにアイテムを追加し、前記バッチ内で収集するためのアイテムのリストと、位置と、を表示するためにユーザデバイスに提供するように構成される。
【０００７】
本開示のさらに別の態様は、バッチピッキング最適化のためのコンピュータで実行される方法を対象とする。例えば、本方法の特定の実施形態は、ピッキングのための１以上のアイテムを含む注文と、複数のゾーンにセグメント化されたデジタル地図と、を受け取るステップであって、前記デジタル地図は、複数のロケーションペアを含み、そのそれぞれは２つのピッキング可能なアイテムを表す、ステップと、フルフィルメントセンター内の１以上の高密度領域を単一ゾーン内で検索アルゴリズムを使用して、複数の受け取ったロケーションペアを比較することによって、前記１以上のアイテム内の第１のアイテムと、前記１以上のアイテム内の少なくとも１つの他のアイテムと、の間の距離を計算し、前記１以上のアイテムについて最近傍アイテムを計算し、複数の前記最近傍アイテムを選択することによって高密度領域を生成することによって計算するステップと、を含み得る。ある実施形態は、本方法は、前記１以上のアイテムについて、前記アイテムと、最も近い第２のアイテムとの間の距離を記憶するステップと、前記計算された１以上の高密度領域に基づいて、前記単一ゾーン内のアイテムからバッチを作成するステップと、を含み得る。本方法は、さらに、勾配降下アルゴリズムを使用して、ピッキング可能なアイテムの中で平均距離を最も増加させないアイテムに基づいて、前記１以上の高密度領域から前記バッチにアイテムを追加するステップと、前記バッチ内で収集するためのアイテムのリストと、位置と、を表示するためにユーザデバイスに提供するステップと、を含み得る。
他のシステム、方法、およびコンピュータ可読媒体も、本明細書で説明される。
【図面の簡単な説明】
【０００８】
【図１Ａ】開示された実施形態と一致する、出荷、輸送、および物流オペレーションを可能にする通信のためのコンピュータ化されたシステムを備えるネットワークの例示的な実施形態を示す概略ブロック図である。
【図１Ｂ】開示された実施形態と矛盾しない、インタラクティブなユーザインタフェース要素と共に、検索要求を満たす１つ以上の検索結果を含む検索結果ページ（Search result page：ＳＲＰ）サンプル検索結果を示す。
【図１Ｃ】開示された実施形態と一致する、対話型ユーザインターフェース要素と共に製品および製品に関する情報を含む単一ディスプレイページ（Single display page：ＳＤＰ）のサンプルを示す。
【図１Ｄ】開示された実施形態と一致する、対話型ユーザインターフェース要素と共に仮想ショッピングカート内のアイテムを含むカートページのサンプルを示す。
【図１Ｅ】開示された実施形態に一致する、仮想ショッピングカートからのアイテムを、購入および出荷に関する情報とともに、対話型ユーザインターフェース要素とともに含む注文ページのサンプルを示す。
【図２】開示された実施形態と一致する、開示されたコンピュータ化されたシステムを利用するように構成された例示的なフルフィルメントセンタの概略図である。
【図３】開示された実施形態と一致する、バッチ作成を含む例示的なプロセスのブロック図である。
【図４】開示された実施形態と一致する、バッチ作成のデータフローを含む例示的なプロセスの概略図である。
【図５】開示された実施形態に一致する、バッチ視覚化ツールを含む例示的なプロセスの概略図である。
【図６】開示された実施形態と一致する歩行距離最適化のための勾配降下アルゴリズムの結果を示す。
【図７】開示された実施形態と一致する、バッチ最適化のための例示的なプロセスのブロック図である。
【発明を実施するための形態】
【０００９】
以下の詳細な説明は、添付の図面を参照する。可能な限り、図面および以下の説明では、同一または類似の部分を参照するために、同一の参照番号が使用される。いくつかの例示的な実施形態が本明細書で説明されるが、修正、適応、および他の実装が可能である。例えば、置換、追加、または修正が、図面に示された構成要素およびステップに行われてもよく、本明細書に記載された例示的な方法は、開示された方法にステップを置換、並べ替え、除去、または追加することによって修正されてもよい。したがって、以下の詳細な説明は、開示された実施形態および実施例に限定されない。むしろ、本発明の適切な範囲は、添付の特許請求の範囲によって定義される。
【００１０】
本開示の一態様は、バッチピッキング最適化のためのコンピュータ実装システムを対象とする。例えば、特定の実施形態は、命令を格納する１以上のメモリデバイスと、前記命令を実行するように構成された１以上のプロセッサとを備える。ある実施形態では、前記１以上のプロセッサは、前記命令を実行して、ピッキングのための１以上のアイテムを含む注文を受け取り、フルフィルメントセンター内の１以上の高密度領域を検索アルゴリズムを使用して、前記１以上のアイテム内の第１のアイテムと、前記１以上のアイテム内の少なくとも１つの他のアイテムと、の間の距離を計算し、前記１以上のアイテムについて最近傍アイテムを計算し、複数の前記最近傍アイテムを選択することによって高密度領域を生成することによって計算するように構成される。さらに、前記１以上のプロセッサは、前記命令を実行して、前記１以上のアイテムについて、前記アイテムと、最も近い第２のアイテムとの間の距離を記憶し、前記計算された１以上の高密度領域に基づいてバッチを作成するように構成される。さらに、前記１以上のプロセッサは、勾配降下アルゴリズムを使用して、ピッキング可能なアイテムの中で平均距離を最も増加させないアイテムに基づいて、前記１以上の高密度領域から前記バッチにアイテムを追加し、前記バッチ内で収集するためのアイテムのリストと、位置と、を表示するためにユーザデバイスに提供するように構成される。
【００１１】
さらに、本開示は、バッチ最適化、すなわち、フルフィルメントセンタ内の高密度領域を計算し、それらの領域に基づいてバッチを作成することを用いて、出荷注文の出荷、輸送、およびロジスティクスオペレーションを向上するためのシステムおよび方法を対象とする。より具体的には、開示された人工知能バッチピッキング最適化および通信のためのコンピュータ実装システムおよび方法は、最適化されたバッチ内のアイテムが互いにより近く、より迅速にピッキングされ得るので、注文をより迅速に完了することによって、効率化を提供する。本システムは、密度アルゴリズムによってアイテムを効率的にグループ化し、システムを通してより多くの注文をより速く取得し、より多くの注文を取り、遠くのアイテムまで歩く無駄な時間を削減することを可能にする。
【００１２】
図１Ａを参照すると、出荷、輸送、および物流動作を可能にする通信のためのコンピュータ化されたシステムを含むシステム１００の例示的な実施形態を示す概略ブロック図が示されている。図１Ａに示すように、システム１００は、様々なシステムを含むことができ、その各々は、１つまたは複数のネットワークを介して互いに接続することができる。システムはまた、例えばケーブルを使用して、直接接続を介して互いに接続されてもよい。図示のシステムは、出荷権限技術（Shipment authority technology：ＳＡＴ）システム１０１、外部フロントエンドシステム１０３、内部フロントエンドシステム１０５、輸送システム１０７、モバイルデバイス１０７Ａ、１０７Ｂ、および１０７Ｃ、売り手ポータル１０９、出荷および注文追跡（ＳＯＴ）システム１１１、フルフィルメント（履行）最適化（Fulfillment optimization：ＦＯ）システム１１３、フルフィルメントメッセージングゲートウェイ（Fulfillment messaging gateway：ＦＭＧ）１１５、サプライチェーン管理（Supply chain management：ＳＣＭ）システム１１７、労働力管理システム１１９、モバイルデバイス１１９Ａ、１１９Ｂ、および１１９Ｃ（フルフィルメントセンタ（Fulfilment center：ＦＣ）２００の内部にあるものとして図示）、第三者フルフィルメントシステム１２１Ａ、１２１Ｂ、および１２１Ｃ、フルフィルメントセンタ許可システム（ＦＣ  Ａｕｔｈ）１２３、ならびに労務管理システム（Labor management system：ＬＭＳ）１２５を含む。
【００１３】
いくつかの実施形態では、ＳＡＴシステム１０１は、注文ステータスおよび配信ステータスを監視するコンピュータシステムとして実装されてもよい。例えば、ＳＡＴシステム１０１は、注文がその約束納品日（Promised delivery date：ＰＤＤ）を過ぎているかどうかを判定することができ、新しい注文を開始すること、未納品注文のアイテムを再出荷すること、未納品注文をキャンセルすること、注文顧客とのコンタクトを開始することなどを含む適切なアクションをとることができる。ＳＡＴシステム１０１はまた、出力（特定の期間中に出荷されたパッケージの数など）および入力（出荷に使用するために受け取った空のボール紙箱の数など）を含む他のデータを監視することもできる。また、ＳＡＴシステム１０１は、システム１００内の異なるデバイス間のゲートウェイとして機能し、外部フロントエンドシステム１０３およびＦＯシステム１１３などのデバイス間の通信（例えば、ストアアンドフォワードまたは他の技術を使用する）を可能にしてもよい。
【００１４】
外部フロントエンドシステム１０３は、いくつかの実施形態では、外部ユーザがシステム１００内の１つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装することができる。例えば、システム１００がシステムのプレゼンテーションを可能にして、ユーザがアイテムの注文を行うことを可能にする実施形態では、外部フロントエンドシステム１０３は、検索要求を受信し、アイテムページを提示し、支払い情報を要請するウェブサーバとして実装されてもよい。例えば、外部フロントエンド・システム１０３は、Ａｐａｃｈｅ  ＨＴＴＰサーバ、Ｍｉｃｒｏｓｏｆｔインターネット・インフォメーション・サービス、ＮＧＩＮＸなどのソフトウェアを実行するコンピュータまたはコンピュータとして実現することができる。他の実施形態では、外部フロントエンドシステム１０３は、外部デバイス（例えば、モバイルデバイス１０２Ａまたはコンピュータ１０２Ｂ）からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得された情報に基づいて受信された要求への応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行することができる。
【００１５】
いくつかの実施形態では、外部フロントエンドシステム１０３は、ウェブキャッシングシステム、データベース、検索システム、または支払いシステムのうちの１つまたは複数を含むことができる。一態様では、外部フロントエンドシステム１０３は、これらのシステムのうちの１つまたは複数を備えることができ、別の態様では、外部フロントエンドシステム１０３は、これらのシステムのうちの１つまたは複数に接続されたインターフェース（たとえば、サーバ間、データベース間、または他のネットワーク接続）を備えることができる。
【００１６】
図１Ｂ、図１Ｃ、図１Ｄ、および図１Ｅによって示されるステップの例示的なセットは、外部フロントエンドシステム１０３のいくつかの動作を説明するのに役立ち得る。外部フロントエンドシステム１０３は、提示および／または表示のために、システム１００内のシステムまたはデバイスから情報を受信することができる。例えば、外部フロントエンドシステム１０３は、検索結果ページ（Search result page：ＳＲＰ）（例えば、図１Ｂ）、単一詳細ページ（Single display page：ＳＤＰ）（例えば、図１Ｃ）、カードページ（例えば、図１Ｄ）、または注文ページ（例えば、図１Ｅ）を含む１つ以上のウェブページをホストまたは提供することができる。ユーザデバイス（例えば、モバイルデバイス１０２Ａまたはコンピュータ１０２Ｂを使用する）は、外部フロントエンドシステム１０３にナビゲートし、サーチボックスに情報を入力することによってサーチを要求することができる。外部フロントエンド・システム１０３は、システム１００内の１つまたは複数のシステムから情報を要求することができる。例えば、外部フロントエンドシステム１０３は、検索要求を満たす情報をＦＯシステム１１３に要求することができる。外部フロントエンドシステム１０３はまた、検索結果に含まれる各製品について、約束納品日または「ＰＤＤ」を要求し、（ＦＯシステム１１３から）受信することができる。
【００１７】
ＰＤＤは、いくつかの実施形態では、製品を含むパッケージがいつユーザの所望の場所に到着するか、または製品が特定の期間内に、例えば、１日の終わり（午後１１時５９分）までに注文された場合、ユーザの所望の場所に配達されることを約束される日付の推定値を表すことができる（ＰＤＤは、ＦＯシステム１１３に関して以下でさらに説明される）。外部フロントエンドシステム１０３は、情報に基づいてＳＲＰ  （例えば、図１Ｂ）を準備することができる。ＳＲＰは、検索要求を満たす情報を含むことができる。例えば、これは、検索要求を満たす製品の写真を含むことができる。ＳＲＰはまた、各製品のそれぞれの価格、または各製品の強化された配送オプション、ＰＤＤ、重量、サイズ、オファー、割引などに関する情報を含むことができる。外部フロントエンドシステム１０３は、（例えば、ネットワークを介して）要求側ユーザデバイスにＳＲＰを送信することができる。
【００１８】
次いで、ユーザデバイスは、例えば、ユーザインターフェースをクリックまたはタップすることによって、または別の入力デバイスを使用して、ＳＲＰ上で表される製品を選択することによって、ＳＲＰから製品を選択することができる。ユーザ・デバイスは、選択された製品に関する情報の要求を編成（formulate）し、それを外部フロントエンド・システム１０３に送ることができる。これに応答して、外部フロントエンドシステム１０３は、選択された製品に関する情報を要求することができる。例えば、情報は、それぞれのＳＲＰ上の製品について提示される情報を超える追加の情報を含むことができる。これは、例えば、賞味期限、原産国、重量、サイズ、パッケージ内のアイテムの数、取扱説明書、または製品に関する他の情報を含むことができる。また、情報は、（例えば、この製品および少なくとも１つの他の製品を購入した顧客のビッグデータおよび／または機械学習分析に基づく）類似の製品に対する推奨、頻繁に質問される質問に対する回答、顧客からのレビュー、製造業者情報、写真などを含むことができる。
【００１９】
外部フロントエンドシステム１０３は、受信した製品情報に基づいてＳＤＰ  （単一詳細ページ）（例えば、図１Ｃ）を準備することができる。ＳＤＰは、「今すぐ買う」ボタン、「カードに追加する」ボタン、数量フィールド、アイテムの写真などの他の対話型要素も含むことができる。ＳＤＰは、製品を提供する売り手のリストをさらに含むことができる。リストは、各売り手が提供する価格に基づいて順序付けられてもよく、その結果、最低価格で製品を販売することを提案する売り手は、最上位にリストされてもよい。リストは、最高ランクの売り手が最上位にリストされるように、売り手ランキングに基づいて順序付けらてもよい。売り手ランキングは、例えば、約束されたＰＤＤを満たす売り手の過去の実績を含む、複数の要因に基づいて定式化されてもよい。外部フロントエンドシステム１０３は、（例えば、ネットワークを介して）要求側ユーザデバイスにＳＤＰを配信することができる。
【００２０】
要求ユーザデバイスは、製品情報をリストするＳＤＰを受信してもよい。その後、ＳＤＰを受信すると、ユーザデバイスはＳＤＰと対話することができる。例えば、要求ユーザ装置のユーザは、ＳＤＰ上の「カートに入れる」ボタンをクリックするか、または他の方法で対話することができる。これは、ユーザに関連付けられたショッピングカートに製品を追加する。ユーザ装置は、ショッピングカートに製品を追加するためのこの要求を外部フロントエンドシステム１０３に送信することができる。
【００２１】
外部フロントエンドシステム１０３は、カートページ（例えば、図１Ｄ）を生成することができる。カートページは、いくつかの実施形態では、ユーザが仮想「ショッピングカート」に追加した製品をリストし、ユーザデバイスは、ＳＲＰ、ＳＤＰ、または他のページ上のアイコンをクリックするか、または他の方法で対話することによって、カートページを要求してもよい。いくつかの実施形態では、カートページは、ユーザがショッピングカートに追加したすべての製品、ならびに各製品の数量、各製品毎の価格、関連する数量に基づく各製品の価格、ＰＤＤに関する情報、配送方法、配送コスト、ショッピングカート内の製品を修正するためのユーザインターフェース要素（例えば、数量の削除または修正）、他の製品を注文するためのオプション、または製品の定期的な配送を設定するためのオプション、利息支払いを設定するためのオプション、購入に進むためのユーザインターフェース要素などのカート内の製品に関する情報をリストすることができる。ユーザデバイスのユーザは、ショッピングカート内の製品の購入を開始するために、ユーザインターフェース要素（例えば、「今すぐ買う」と読むボタン）をクリックするか、さもなければユーザインターフェース要素と対話することができる。そうすると、ユーザ・デバイスは、購入を開始するためにこの要求を外部フロント・エンド・システム１０３に送信することができる。
【００２２】
外部フロントエンドシステム１０３は、購入を開始する要求の受信に応答して、注文ページ（例えば、図１Ｅ）を生成することができる。注文ページは、いくつかの実施形態では、ショッピングカートからアイテムを再リストし、支払いおよび出荷情報の入力を要求する。例えば、注文ページは、ショッピングカート内のアイテムの購入者に関する情報（例えば、名前、住所、電子メールアドレス、電話番号）、受取人に関する情報（例えば、名前、住所、電話番号、配達情報）、出荷情報（例えば、配達および／または集荷の速度／方法）、支払い情報（例えば、クレジットカード、銀行振込、小切手、格納クレジット）、現金受領を要求するためのユーザインターフェース要素（例えば、税務目的のための）などを要求するセクションを含むことができる。外部フロントエンドシステム１０３は、注文ページをユーザデバイスに送信することができる。
【００２３】
ユーザデバイスは、オーダページに情報を入力し、その情報を外部フロントエンドシステム１０３に送信するユーザインタフェース要素をクリックするか、または他の方法で対話することができる。そこから、外部フロントエンドシステム１０３は、システム１００内の異なるシステムに情報を送信して、ショッピングカート内の製品を用いた新しい注文の作成および処理を可能にすることができる。
【００２４】
いくつかの実施形態では、外部フロントエンドシステム１０３は、売り手が注文に関する情報を送受信することを可能にするようにさらに構成されてもよい。
【００２５】
内部フロントエンドシステム１０５は、いくつかの実施形態では、内部ユーザ（例えば、システム１００を所有し、操作し、またはリースする組織の従業員）がシステム１００内の１つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装され得る。例えば、ネットワーク１０１がシステムのプレゼンテーションを可能にして、ユーザがアイテムの注文を行うことを可能にする実施形態では、内部フロントエンドシステム１０５は、内部ユーザが注文に関する診断および統計情報を見ること、アイテム情報を修正すること、または注文に関する統計をレビューすることを可能にするウェブサーバとして実装されてもよい。例えば、内部フロントエンド・システム１０５は、Ａｐａｃｈｅ  ＨＴＴＰサーバ、Ｍｉｃｒｏｓｏｆｔインターネット・インフォメーション・サービス、ＮＧＩＮＸなどのソフトウェアを実行するコンピュータまたはコンピュータとして実現することができる。他の実施形態では、内部フロントエンドシステム１０５は、システム１００に示されているシステムまたは装置（および図示されていない他の装置）からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得された情報に基づいて受信された要求に応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行してもよい。
【００２６】
いくつかの実施形態では、内部フロントエンドシステム１０５は、ウェブキャッシングシステム、データベース、検索システム、支払いシステム、分析システム、注文監視システムなどのうちの１つまたは複数を含むことができる。一態様では、内部フロントエンドシステム１０５は、これらのシステムのうちの１つまたは複数を備えることができ、別の態様では、内部フロントエンドシステム１０５は、これらのシステムのうちの１つまたは複数に接続されたインターフェース（たとえば、サーバ間、データベース間、または他のネットワーク接続）を備えることができる。
【００２７】
輸送システム１０７は、いくつかの実施形態では、システム１００内のシステムまたはデバイスとモバイルデバイス１０７Ａ〜１０７Ｃとの間の通信を可能にするコンピュータシステムとして実装され得る。輸送システム１０７は、いくつかの実施形態では、１つまたは複数のモバイルデバイス１０７Ａ〜１０７Ｃ（例えば、携帯電話、スマートフォン、ＰＤＡなど）から情報を受信することができる。例えば、いくつかの実施形態では、モバイルデバイス１０７Ａ〜１０７Ｃは、配達員によって操作されるデバイスを備えてもよい。配達作業員は、正社員、一時社員、またはシフト社員であってもよく、モバイルデバイス１０７Ａ〜１０７Ｃを利用して、ユーザによって注文された製品を含むパッケージの配達を行うことができる。例えば、荷物を配達するために、配達作業者は、どの荷物を配達すべきか、およびどこに配達すべきかを示す通知をモバイルデバイス上で受信することができる。配達作業者は、配達場所に到着すると、パッケージを（例えば、トラックの後ろに、またはパッケージのクレートに）配置し、モバイルデバイスを使用してパッケージ上の識別子（例えば、バーコード、画像、テキストストリング、ＲＦＩＤタグなど）に関連するデータをスキャンまたは他の方法で取り込み、パッケージを（例えば、前面ドアに置いたままにし、セキュリティガードを付けたままにし、受取人に渡すなどによって）配達することができる。いくつかの実施形態では、配達作業者は、パッケージの写真（複数可）をキャプチャすることができ、および／またはモバイルデバイスを使用して署名を取得することができる。モバイルデバイスは、例えば、時間、日付、ＧＰＳ位置、写真、配達作業者に関連付けられた識別子、モバイルデバイスに関連付けられた識別子などを含む、配達に関する情報を含む情報を輸送システム１０７に送信することができる。輸送システム１０７は、システム１００内の他のシステムによるアクセスのために、この情報をデータベース（図示せず）に記憶することができる。輸送システム１０７は、いくつかの実施形態では、この情報を使用して、特定の荷物の位置を示す追跡データを準備し、他のシステムに送信することができる。
【００２８】
いくつかの実施形態では、あるユーザは、１つの種類のモバイルデバイスを使用することができる（例えば、正社員は、バーコードスキャナ、スタイラス、および他のデバイスなどのカスタムハードウェアを有する専用のＰＤＡを使用することができる）が、他のユーザは、他の種類のモバイルデバイスを使用することができる（例えば、一時的またはシフト労働者は、既製のモバイル電話および／またはスマートフォンを利用することができる）。
【００２９】
いくつかの実施形態では、輸送システム１０７は、ユーザを各デバイスに関連付けることができる。例えば、輸送システム１０７は、ユーザ（例えば、ユーザ識別子、従業員識別子、または電話番号によって表される）と移動装置（例えば、国際移動装置識別子（ＩＭＥＩ）、国際移動加入識別子（ＩＭＳＩ）、電話番号、汎用一意識別子（ＵＵＩＤ）、またはグローバル一意識別子（ＧＵＩＤ）によって表される）との間の関連付けを記憶することができる。輸送システム１０７は、とりわけ、作業者の位置、作業者の効率、または作業者の速度を決定するために、この関連付けを、配達時に受信されたデータと共に使用して、データベースに格納されたデータを分析することができる。
【００３０】
売り手ポータル１０９は、いくつかの実施形態では、売り手または他の外部エンティティがシステム１００内の１つまたは複数のシステムと電子的に通信することを可能にするコンピュータシステムとして実装され得る。例えば、売り手は、コンピュータシステム（図示せず）を利用して、売り手が売り手ポータル１０９を使用してシステム１００を通して売りたい製品について、製品情報、注文情報、連絡先情報などをアップロードまたは提供することができる。
【００３１】
いくつかの実施形態では、出荷および注文追跡システム１１１は、（例えば、デバイス１０２Ａ〜１０２Ｂを使用するユーザによって）顧客によって注文された製品を含むパッケージの位置に関する情報を受信し、格納し、転送するコンピュータシステムとして実装され得る。いくつかの実施形態では、出荷および注文追跡システム１１１は、顧客によって注文された製品を含むパッケージを配送する出荷会社によって運営されるウェブサーバ（図示せず）からの情報を要求または格納することができる。
【００３２】
いくつかの実施形態では、出荷および注文追跡システム１１１は、システム１００に示されるシステムからの情報を要求し、記憶することができる。例えば、出荷及び注文追跡システム１１１は、輸送システム１０７から情報を要求することができる。上述のように、輸送システム１０７は、ユーザ（例えば、配達作業員）または車両（例えば、配達トラック）のうちの１つ以上に関連付けられた１つ以上のモバイルデバイス１０７Ａ〜１０７Ｃ（例えば、携帯電話、スマートフォン、ＰＤＡなど）から情報を受信してもよい。いくつかの実施形態では、出荷および注文追跡システム１１１はまた、倉庫管理システム（ＷＭＳ）１１９から情報を要求して、フルフィルメントセンター（例えば、フルフィルメントセンター２００）内の個々の製品の位置を決定することができる。出荷および注文追跡システム１１１は、輸送システム１０７またはＷＭＳ  １１９のうちの１つまたは複数からデータを要求し、それを処理し、要求に応じてそれをデバイス（たとえば、ユーザデバイス１０２Ａおよび１０２Ｂ）に提示することができる。
【００３３】
いくつかの実施形態では、フルフィルメント最適化（ＦＯ）システム１１３は、他のシステム（例えば、外部フロントエンドシステム１０３および／または出荷および注文追跡システム１１１）からの顧客注文に関する情報を記憶するコンピュータシステムとして実装されてもよい。ＦＯシステム１１３はまた、特定のアイテムがどこに保持または格納されるかを記述する情報を格納してもよい。たとえば、特定のアイテムは１つのフルフィルメントセンターにのみ保存され、他の特定のアイテムは複数のフルフィルメントセンターに保存される場合がある。さらに他の実施形態では、特定のフルフィルメントセンターは、特定のセットのアイテム（例えば、生鮮食品または冷凍製品）のみを格納するように設計されてもよい。ＦＯシステム１１３は、この情報ならびに関連する情報（例えば、数量、サイズ、受領日、有効期限など）を格納する。
【００３４】
ＦＯシステム１１３はまた、各製品について対応するＰＤＤ  （約束納期）を計算することができる。ＰＤＤは、いくつかの実施形態では、１つまたは複数の要因に基づくことができる。例えば、ＦＯシステム１１３は、製品の過去の需要（例えば、その製品がある期間中に何回注文されたか）、製品の予想需要（例えば、来るべき期間中にその製品を注文するために何人の顧客が予想されるか）、ある期間中にいくつの製品が注文されたかを示すネットワーク全体の過去の需要、来るべき期間中にいくつの製品が注文されることが予想されるかを示すネットワーク全体の予想需要、各フルフィルメントセンタ２００に格納された製品の１つまたは複数のカウント、その製品の予想または現在の注文などに基づいて、製品のＰＤＤを計算することができる。
【００３５】
いくつかの実施形態では、ＦＯシステム１１３は、定期的に（例えば、１時間ごとに）各製品のＰＤＤを決定し、それをデータベースに格納して、検索または他のシステム（例えば、外部フロントエンドシステム１０３、ＳＡＴシステム１０１、出荷および注文追跡システム１１１）に送信することができる。他の実施形態では、ＦＯシステム１１３は、１つまたは複数のシステム（例えば、外部フロントエンドシステム１０３、ＳＡＴシステム１０１、出荷および注文追跡システム１１１）から電子要求を受信し、オンデマンドでＰＤＤを計算することができる。
【００３６】
フルフィルメントメッセージングゲートウェイ１１５は、いくつかの実施形態では、ＦＯシステム１１３などのシステム１００内の１つ以上のシステムから１つのフォーマットまたはプロトコルで要求または応答を受信し、それを別のフォーマットまたはプロトコルに変換し、変換されたフォーマットまたはプロトコルで、ＷＭＳ  １１９または３パーティフルフィルメントシステム１２１Ａ、１２１Ｂ、または１２１Ｃなどの他のシステムに転送するコンピュータシステムとして実装することができる。
【００３７】
サプライチェーン管理（ＳＣＭ）システム１１７は、いくつかの実施形態では、予測機能を実行するコンピュータシステムとして実装することができる。例えば、ＳＣＭシステム１１７は、例えば、製品に対する過去の需要、製品に対する予想される需要、ネットワーク全体の過去の需要、ネットワーク全体の予想される需要、各フルフィルメントセンタ２００に格納されたカウント製品、各製品に対する予想または現在の注文などに基づいて、特定の製品に対する需要のレベルを予測することができる。この予測されたレベルおよびすべてのフルフィルメントセンターにわたる各製品の量に応答して、ＳＣＭシステム１１７は、特定の製品に対する予測された需要を満たすのに十分な量を購入し、在庫するための１つまたは複数の購入注文を生成することができる。
【００３８】
倉庫管理システム（ＷＭＳ）１１９は、ある実施形態では、ワークフローを監視するコンピュータシステムとして実装されてもよい。例えば、ＷＭＳ  １１９は、個別のイベントを示すイベントデータを個々のデバイス（例えば、デバイス１０７Ａ〜１０７Ｃまたは１１９Ａ〜１１９Ｃ）から受信することができる。例えば、ＷＭＳ  １１９は、パッケージを走査するためにこれらの装置の１つの使用を示すイベントデータを受信してもよい。フルフィルメントセンター２００および図２に関して以下で説明するように、フルフィルメントプロセス中に、パッケージ識別子（例えば、バーコードまたはＲＦＩＤタグデータ）を、特定の段階で機械によってスキャンまたは読み取ることができる（例えば、自動またはハンドヘルドバーコードスキャナ、ＲＦＩＤリーダ、高速カメラ、タブレット１１９Ａ、モバイルデバイス／ＰＤＡ  １１９Ｂ、コンピュータ１１９Ｃなどのデバイス）。ＷＭＳ  １１９は、パッケージ識別子、時間、日付、位置、ユーザ識別子、またはその他の情報と共に、パッケージ識別子の走査または読取りを示す各イベントを対応するデータベース（図示せず）に格納し、この情報を他のシステム（例えば、出荷および注文追跡システム１１１）に提供することができる。
【００３９】
ＷＭＳ  １１９は、いくつかの実施形態では、１つまたは複数のデバイス（たとえば、デバイス１０７Ａ〜１０７Ｃまたは１１９Ａ〜１１９Ｃ）をシステム１００に関連する１つまたは複数のユーザに関連付ける情報を記憶することができる。例えば、いくつかの状況では、ユーザ（パートまたはフルタイムの従業員など）は、ユーザがモバイルデバイスを所有するモバイルデバイス（例えば、モバイルデバイスはスマートフォンである）に関連付けられ得る。他の状況では、ユーザは、ユーザがモバイルデバイスを一時的に保管しているという点で、モバイルデバイスに関連付けられてもよい（例えば、ユーザは、日の始めにモバイルデバイスをチェックアウトし、日中にモバイルデバイスを使用し、日の終わりにモバイルデバイスを戻してもよい）。
【００４０】
ＷＭＳ  １１９は、いくつかの実施形態では、システム１００に関連する各ユーザの作業ログを維持することができる。例えば、ＷＭＳ  １１９は、任意の割り当てられたプロセス（例えば、トラックのアンロード、ピックゾーンからのアイテムのピッキング、ソーティング装置の作業、パッキングアイテム）、ユーザ識別子、位置（例えば、フルフィルメントセンタ２００内のフロアまたはゾーン）、従業員によってシステムを通って移動されたユニットの数（例えば、ピッキングされたアイテムの数、パッキングされたアイテムの数）、デバイス（例えば、デバイス１１９Ａ〜１１９Ｃ）に関連付けられた識別子などを含む、各従業員に関連付けられた情報を記憶することができる。いくつかの実施形態では、ＷＭＳ  １１９は、デバイス１１９Ａ〜１１９Ｃ上で動作するタイムキーピングシステムなどのタイムキーピングシステムからチェックインおよびチェックアウト情報を受信することができる。
【００４１】
第三者フルフィルメント（３ＰＬ）システム１２１Ａ〜１２１Ｃは、いくつかの実施形態では、ロジスティクスおよび製品のサードパーティプロバイダに関連するコンピュータシステムを表す。例えば、（図２に関して以下に説明するように）いくつかの製品がフルフィルメントセンター２００に保管されている間、他の製品はオフサイトで保管されてもよく、オンデマンドで生産されてもよく、またはそうでなければフルフィルメントセンター２００に保管するために利用できなくてもよい。３ＰＬシステム１２１Ａ〜１２１Ｃは、ＦＯシステム１１３から（例えば、ＦＭＧ  １１５を介して）注文を受信するように構成されてもよく、製品および／またはサービス（例えば、配送または設置）を顧客に直接提供してもよい。いくつかの実施形態では、３ＰＬシステム１２１Ａ〜１２１Ｃのうちの１つまたは複数は、システム１００の一部とすることができ、他の実施形態では、３ＰＬシステム１２１Ａ〜１２１Ｃのうちの１つまたは複数は、システム１００の外部（例えば、サードパーティプロバイダによって所有または運営される）とすることができる。
【００４２】
いくつかの実施形態では、フルフィルメントセンターオースシステム（ＦＣオース）１２３は、様々な機能を有するコンピュータシステムとして実装されてもよい。例えば、いくつかの実施形態では、ＦＣ  Ａｕｔｈ  １２３は、システム１００内の１つまたは複数の他のシステムのためのシングルサインオン（ＳＳＯ）サービスとして働くことができる。例えば、ＦＣ認証１２３は、ユーザが内部フロントエンドシステム１０５を介してログインすることを可能にし、ユーザが出荷および注文追跡システム１１１でリソースにアクセスする同様の特権を有することを決定し、ユーザが２回目のログインプロセスを必要とせずにそれらの特権にアクセスすることを可能にする。ＦＣオース１２３は、他の実施形態では、ユーザ（例えば、従業員）が特定のタスクに自分自身を関連付けることを可能にすることができる。例えば、従業員の中には、電子デバイス（デバイス１１９Ａ〜１１９Ｃなど）を持たないことがあり、代わりに、１日のコース中に、フルフィルメントセンタ２００内でタスクからタスクへ、およびゾーンからゾーンへ移動することがある。ＦＣ  Ａｕｔｈ  １２３は、それらの従業員が、彼らがどのタスクを実行しているか、および彼らが異なる時刻にどのゾーンにいるかを示すことを可能にするように構成され得る。
【００４３】
労働管理システム（ＬＭＳ）１２５は、いくつかの実施形態では、従業員（フルタイムおよびパートタイムの従業員を含む）のための出勤および残業情報を記憶するコンピュータシステムとして実装されてもよい。例えば、ＬＭＳ  １２５は、ＦＣ  Ａｕｔｈ  １２３、ＷＭＡ  １１９、デバイス１１９Ａ〜１１９Ｃ、輸送システム１０７、および／またはデバイス１０７Ａ〜１０７Ｃから情報を受信することができる。
【００４４】
図１Ａに示される特定の構成は、単なる例である。例えば、図１Ａは、ＦＯシステム１１３に接続されたＦＣオースシステム１２３を示すが、全ての実施形態がこの特定の構成を必要とするわけではない。実際、いくつかの実施形態では、システム１００内のシステムは、インターネット、イントラネット、ＷＡＮ  （ワイドエリアネットワーク）、ＭＡＮ  （メトロポリタンエリアネットワーク）、ＩＥＥＥ  ８０２．１１ａ／ｂ／ｇ／ｎ規格に準拠する無線ネットワーク、専用線などを含む１つまたは複数の公衆またはプライベートネットワークを介して互いに接続され得る。いくつかの実施形態では、システム１００内のシステムの１つ以上は、データセンター、サーバファームなどに実装された１つ以上の仮想サーバとして実装されてもよい。
【００４５】
図２は、フルフィルメントセンター２００を示す。フルフィルメントセンター２００は、注文時に顧客に出荷するためのアイテムを格納する物理的位置の一例である。フルフィルメントセンタ（ＦＣ）２００は、複数のゾーンに分割することができ、各ゾーンは図２に示されている。いくつかの実施形態では、これらの「ゾーン」は、アイテムを受け取り、アイテムを格納し、アイテムを取り出し、アイテムを出荷するプロセスの異なる段階間の仮想分割と考えることができ、したがって、「ゾーン」は図２に示されているが、ゾーンの他の分割も可能であり、図２のゾーンは、いくつかの実施形態では、省略、複製、または修正することができる。
【００４６】
インバウンドゾーン２０３は、図１Ａのシステム１００を使用して製品を販売したい売り手からアイテムが受け取られるＦＣ  ２００の領域を表す。例えば、売り手は、トラック２０１を使用してアイテム２０２Ａ及び２０２Ｂを配送することができる。アイテム２０２Ａは、それ自体の出荷パレットを占有するのに十分な大きさの単一のアイテムを表すことができ、アイテム２０２Ｂは、スペースを節約するために同じパレット上に一緒に積み重ねられたアイテムのセットを表すことができる。
【００４７】
作業者は、インバウンドゾーン２０３内のアイテムを受け取ることができ、任意選択で、コンピュータシステム（図示せず）を使用してアイテムの損傷および正しさをチェックすることができる。例えば、作業者は、コンピュータシステムを使用して、アイテム２０２Ａおよび２０２Ｂの数量をアイテムの注文数量と比較することができる。数量が一致しない場合、その作業者は、アイテム２０２Ａまたは２０２Ｂのうちの１つまたは複数を拒否することができる。量が一致した場合、作業者はそれらのアイテム（例えば、人形、手すり、フォークリフト、または手動で使用）を、ゾーン２０５を緩衝するように動かすことができる。バッファゾーン２０５は、例えば、予測される需要を満たすのに十分な量のアイテムがピッキングゾーン内にあるため、ピッキングゾーン内で現在必要とされていないアイテムのための一時保管領域であってもよい。いくつかの実施形態では、フォークリフト２０６は、物品をバッファゾーン２０５の周り、およびインバウンドゾーン２０３とドロップゾーン２０７との間で移動させるように動作する。ピッキングゾーンにアイテム２０２Ａまたは２０２Ｂが必要な場合（例えば、予想される需要のため）、フォークリフトは、アイテム２０２Ａまたは２０２Ｂを落下ゾーン２０７に移動させることができる。
【００４８】
ドロップゾーン２０７は、アイテムがピッキングゾーン２０９に移動される前にアイテムを格納するＦＣ  ２００の領域であってもよい。ピッキングタスクに割り当てられた作業者（「ピッカー」）は、ピッキングゾーン内のアイテム２０２Ａおよび２０２Ｂに接近し、ピッキングゾーンのバーコードをスキャンし、モバイルデバイス（例えば、デバイス１１９Ｂ）を使用してアイテム２０２Ａおよび２０２Ｂに関連付けられたバーコードをスキャンすることができる。次いで、ピッカーは、アイテムをピッキング・ゾーン２０９に（例えば、カートの上に置くか、またはそれを運ぶことによって）取り込むことができる。
【００４９】
ピッキングゾーン２０９は、アイテム２０８が保管（storage）ユニット２１０に保管されるＦＣ  ２００の領域であってもよい。いくつかの実施形態では、保管ユニット２１０は、物理的な棚、本棚、箱、運搬箱、冷蔵庫、冷凍庫、冷蔵庫などのうちの１つまたは複数を含むことができる。いくつかの実施形態では、ピッキングゾーン２０９は、複数のフロアに編成されてもよい。いくつかの実施形態では、作業者または機械は、例えば、フォークリフト、エレベータ、コンベヤベルト、カート、ハンドトラック、ドリー、自動ロボットまたは装置、あるいは手動を含む複数の方法で、物品をピッキングゾーン２０９に移動させることができる。例えば、ピッカーは、アイテム２０２Ａおよび２０２Ｂをドロップゾーン２０７内のハンドトラックまたはカート上に置き、アイテム２０２Ａおよび２０２Ｂをピッキングゾーン２０９まで歩くことができる。
【００５０】
ピッカーは、保管ユニット２１０上の特定のスペースのような、ピッキングゾーン２０９内の特定のスポットにアイテムを配置する（または「収納する」）命令を受け取ることができる。例えば、ピッカーは、モバイルデバイス（例えば、デバイス１１９Ｂ）を使用してアイテム２０２Ａをスキャンすることができる。デバイスは、例えば、通路、棚、および位置を示すシステムを使用して、ピッカーがアイテム２０２Ａを収納すべき場所を示すことができる。次に、デバイスは、その位置にアイテム２０２Ａを格納する前に、その位置でバーコードをスキャンするようにピッカーに促すことができる。装置は、図１ＡのＷＭＳ  １１９のようなコンピュータシステムに（例えば、無線ネットワークを介して）データを送信し、装置１１９Ｂを使用するユーザによってアイテム２０２Ａがその場所に格納されたことを示すことができる。
【００５１】
ユーザが注文を出すと、ピッカは、保管ユニット２１０から１つまたは複数のアイテム２０８を取り出すために、デバイス１１９Ｂ上で命令を受け取ることができる。ピッカーは、アイテム２０８を取り出し、アイテム２０８上のバーコードをスキャンし、それを搬送機構２１４上に置くことができる。搬送機構２１４はスライドとして表されているが、いくつかの実施形態では、搬送機構は、コンベヤベルト、エレベータ、カート、フォークリフト、ハンドトラック、台車、カートなどのうちの１つまたは複数として実施することができる。次に、アイテム２０８は、パッキングゾーン２１１に到着することができる。
【００５２】
パッキングゾーン２１１は、アイテムがピッキングゾーン２０９から受け取られ、最終的に顧客に出荷するためにボックスまたはバッグにパッキングされるＦＣ  ２００の領域であってもよい。パッキングゾーン２１１では、アイテムを受け取るように割り当てられた作業者（「リビン（rebin）作業者」）は、ピッキングゾーン２０９からアイテム２０８を受け取り、それがどの注文に対応するかを決定することができる。例えば、リビン作業者は、アイテム２０８上のバーコードをスキャンするために、コンピュータ１１９Ｃなどのデバイスを使用することができる。コンピュータ１１９Ｃは、どの注文アイテム２０８が関連付けられているかを視覚的に示すことができる。これは、例えば、注文に対応する壁２１６上のスペースまたは「セル」を含むことができる。注文が完了すると（例えば、セルが注文のためのすべてのアイテムを含むため）、リビン作業者は、注文が完了したことをパッキング作業者（または「パッカー」）に示すことができる。パッカーは、セルからアイテムを取り出し、それらを出荷のために箱または袋に入れることができる。その後、パッカーは、例えば、フォークリフト、カート、ドリー、ハンドトラック、コンベヤーベルトを介して、又は他の方法で、箱又はバッグをハブゾーン２１３に送ることができる。
【００５３】
ハブゾーン２１３は、パッキングゾーン２１１から全てのボックスまたはバッグ（「パッケージ」）を受け取るＦＣ  ２００の領域であってもよい。ハブゾーン２１３内の作業者および／または機械は、小包２１８を取り出し、各小包が配達エリアのどの部分に行こうとするかを決定し、小包を適切なキャンプゾーン２１５にルーティングすることができる。例えば、配達エリアが２つのより小さいサブエリアを有する場合、パッケージは、２つのキャンプゾーン２１５のうちの１つに行くことができる。いくつかの実施形態では、作業者または機械は、（例えば、デバイス１１９Ａ〜１１９Ｃのうちの１つを使用して）パッケージをスキャンして、その最終的な宛先を決定することができる。パッケージをキャンプゾーン２１５にルーティングすることは、例えば、（例えば、郵便番号に基づいて）パッケージが向けられている地理的エリアの一部を決定することと、地理的エリアの一部に関連付けられたキャンプゾーン２１５を決定することとを含むことができる。
【００５４】
キャンプゾーン２１５は、いくつかの実施形態では、１つまたは複数の建物、１つまたは複数の物理的空間、または１つまたは複数のエリアを備えることができ、ハブゾーン２１３から受け取られたパッケージは、ルートおよび／またはサブルートに分類される。いくつかの実施形態では、キャンプゾーン２１５は、ＦＣ  ２００から物理的に分離されているが、他の実施形態では、キャンプゾーン２１５は、ＦＣ  ２００の一部を形成することができる。
【００５５】
キャンプゾーン２１５内の作業者および／または機械は、例えば、既存のルートおよび／またはサブルートに対する目的地の比較、各ルートおよび／またはサブルートに対する作業負荷の計算、時刻、出荷方法、パッケージ２２０を出荷するためのコスト、パッケージ２２０内のアイテムに関連付けられたＰＤＤなどに基づいて、パッケージ２２０がどのルートおよび／またはサブルートに関連付けられるべきかを決定することができる。いくつかの実施形態では、作業者または機械は、（例えば、デバイス１１９Ａ〜１１９Ｃのうちの１つを使用して）パッケージをスキャンして、その最終的な宛先を決定することができる。パッケージ２２０が特定のルートおよび／またはサブルートに割り当てられると、作業者および／または機械は、出荷されるパッケージ２２０を移動させることができる。例示的な図２において、キャンプゾーン２１５は、トラック２２２、自動車２２６、および配達作業員２２４Ａおよび２２４Ｂを含む。いくつかの実施形態では、トラック２２２は、配達作業員２２４Ａによって駆動されてもよく、配達作業員２２４Ａは、ＦＣ  ２００のパッケージを配達する常勤の従業員であり、トラック２２２は、ＦＣ  ２００を所有、リース、または運営する同じ会社によって所有、リース、または運営される。いくつかの実施形態では、自動車２２６は、配達作業者２２４Ｂによって駆動されてもよく、配達作業者２２４Ｂは、必要に応じて（例えば、季節的に）配達している「屈曲」または時折の作業者である。自動車２２６は、配達員２２４Ｂによって所有され、リースされ、または操作されてもよい。
【００５６】
図３は、開示された実施形態と一致する、バッチ作成を含む例示的なプロセス３００のブロック図である。いくつかの実施形態では、「ピッキング」は、バッチの個々の注文からアイテムを選択し、それらをトートに入れることを伴う。ピッキングプロセスは、機械（例えば、ロボット、またはトートまたはアイテムを移動させるためのスキャニングデバイスおよび機械を含む適切な装置を有する他のデバイス）、人間の作業者、または何らかの組み合わせ（例えば、機械支援労働を使用する）によって実行されてもよい。
【００５７】
一実施形態では、バッチは、複数の注文からのアイテムを含む。バッチの注文の各々は、在庫保管ユニット（ＳＫＵ）によって表される注文のアイテムを含むことができる。いくつかの実施形態では、各注文のアイテムは、図１Ａの外部フロントエンドシステム１０３上でホストされるウェブサイトを介して、図１Ａのデバイスモバイルデバイス１０２Ａまたはコンピュータ１０２Ｂにおいてユーザによって配置されていてもよい。いくつかの実施形態では、自動走査装置（例えば、コンピュータ１１９Ｃに関連する）は、ピッキングプロセスのための注文部品に関する情報を記憶するために、ＳＫＵに関連するバーコードを走査することができる。さらに他の実施形態では、ＳＫＵは、（図２で上述したように）作業者がピッキングプロセスのための注文部品を読み取ることを可能にする。
【００５８】
いくつかの実施形態では、プロセス３００の態様は、図２のピッキングゾーン２０９で行われ、ピッカーワーカーまたはマシンは、バッチの個々の注文からアイテムをピッキングし、それらをトートに入れる。ＳＡＴシステム１０１、ＷＭＳ  １１９、または図１Ａに示す他のデバイスは、必要に応じて、プロセス３００において１つまたは複数の動作を実行することができる。例えば、後述するように、ＳＡＴシステム１０１は、ピッカーの位置または他の条件に基づいてアイテムをピックアップするための命令を生成し、それらの命令をピッカーによって操作されるモバイルデバイスに送信することができる。
【００５９】
従来技術の方法では、ピッカは、かなりの距離を歩き、アイテムをピックアップするのにかなりの時間を要し、バッチ内の注文の履行を遅延させ、ピッカへのアイテムの割り当てを遅延させ、システムのスループットを低下させていた。いくつかの従来の方法は、経路に沿ってアイテムを単一のピッカ（静的経路）に割り当てる。バッチピッキングにおけるこのような遅延および組織化されていない方法は、多くの点で、輸送プロセスにおけるさらなる中断を引き起こす。たとえば、離れたアイテムを含むバッチ全体がピックされるまで注文の出荷を遅らせると、複数の注文の処理に遅延が生じる。後述するように、フルフィルメントセンター内の高密度領域を計算し、それらの領域に基づいてバッチを作成することによって、本システムは、出荷のバッチプロセスにおいて効率を作り出す。より具体的には、人工知能バッチピッキング最適化および通信のためのコンピュータ実装システムおよび方法は、最適化されたバッチ内のアイテムが互いにより近く、より迅速にピッキングされ得るので、注文をより速く仕上げることによって効率を提供する。本システムは、密度アルゴリズムによってアイテムをグループ化し、システムを通してより多くの注文をより速く獲得し、より多くの注文を取り、遠くのアイテムまで歩く無駄な時間を削減することによって効率を可能にする。
【００６０】
図３のプロセス３００は、ＤＢ  （データベース）３０１、バッチ・ジョブ予測３０２、およびデジタル・マップ３０３からのデータを示しており、これらの各々は、密度アルゴリズム３０４への入力として使用される。
【００６１】
ＤＢ  ３０１からのデータは、出荷（例えば、ユーザによってなされた注文）、ユニット（例えば、保管ユニット）、場所（例えば、アイテム位置）、カットライン、バッチ最大サイズを表す値ＭＳ（例えば、バッチに集められるべきアイテムの最大数を示す数値）、出荷閾値（例えば、ＦＣ  ２００の各ゾーンに対する出荷数）を表す値Ｔ、および他のデータに関連するデータを含む。
【００６２】
バッチジョブ予測データ３０２は、ピッキング速度を増加させるための指数平滑化５分予測（exponential smoothing five minute prediction）を含む。例えば、この予測は、系統的傾向または季節的要素を有するデータをサポートするように拡張され得る単変量データの時系列予測方法に関連し得る。バッチジョブ予測データ３０２は、指数平滑化法を使用して、バッチジョブ消費速度の次の期間を予測する。データ３０２は、安全在庫に関するデータ、すなわち、アイテムが在庫切れ（ＯＯＳ）になるのを回避するためにＦＣ  ２００内にあるべき各アイテムの数も含むことができる。データ３０２は、ピッキングのための注文の現在のセットを満たすのに必要なバッチジョブの数を表す値Ｎも含むことができる。デジタルマップ３０３は、位置ペアの距離を計算し、直接使用される行列（ＤＭ）に全ての最短距離を記憶するＡ＊最短経路アルゴリズムを含む。
【００６３】
密度アルゴリズム３０４は、いくつかの実施形態ではＳＡＴシステム１０１によって実行されるが（他の実施形態では、輸送システム１０７またはフルフィルメント最適化システム１１３などの他のシステムによって実行されてもよいが）、データ３０１、３０２、および３０３を受信する。密度アルゴリズム３０４は、いくつかのステップ、例えば、ステップ３０５（アクティブゾーンタイプおよび出荷選択）、ステップ３０６（ＫＮＮまたはＫ最近傍-高密度領域を識別する）、およびステップ３０７（勾配降下アルゴリズム）を含むことができる。
【００６４】
ステップ３０５（Ａｃｔｉｖｅ  Ｚｏｎｅｔｙｐｅｓ  ＆  Ｓｈｉｐｍｅｎｔｓ  Ｓｅｌｅｃｔｉｏｎ）において、ＳＡＴシステム１０１は、少なくともＴ個の出荷を含むより少ないゾーンタイプのバッチを作成し、選択された出荷によってアクティブゾーンタイプのバッチを作成する。いくつかの実施形態では、閾値Ｔは、出荷に基づいて高いクオリティのバッチを作成する機会を示す出荷閾値である。いくつかの実施形態では、Ｔは、最大バッチサイズの３倍に設定されてもよい。ＰＰ  （プロセス経路）は、複数のゾーンタイプをカバーすることができるので、そのＰＰ内のバッチは、複数のゾーンタイプもカバーすることができる。したがって、バッチのためのバッチジョブが少ないことは、ピッキングサイクル時間が短いことを意味するので、より少ないゾーンタイプ（より少ないバッチジョブ）をカバーするバッチを作成することが有利であり得る。いくつかの実施形態では、アクティブゾーンタイプは、より多くのアイテムを含み、高密度を有する。
【００６５】
いくつかの実施形態では、ＳＡＴシステム１０１は、（例えば、同じゾーンからのアイテムのみを一緒にバッチ処理することができるので）バッチ処理をより迅速にすることによって、システムに追加の効率を提供するために、１つまたは複数のゾーンタイプ（例えば、フルフィルメントセンターの別個の領域）でバッチを作成することができる。ＳＡＴシステム１０１は、Ａ＊探索アルゴリズムを使用して、位置ペア間の距離（例えば、フルフィルメントセンターの１つのフロアに格納されるアイテムの全ての可能な位置）を計算する。いくつかの実施形態では、Ａ＊探索アルゴリズムは、定期的に、例えば、１日に１回、計算コストが高くなる可能性があるので、スケジュールされ、実行されてもよい。いくつかの実施形態では、Ａ＊探索アルゴリズムは、ＦＣ  ２００内のアイテムの配列が変化するたびに（例えば、アイテムが移動される場合に）実行されてもよい。次に、ＳＡＴシステム１０１は、（例えば、外部フロントエンドシステム１０３から）注文を受信し、注文のアイテムをアイテムのリストに統合する。
【００６６】
ステップ３０６（ＫＮＮ-密集領域を識別する）において、ＳＡＴシステムは、Ｋ平均クラスタリングを使用し、第１の出荷を選択することができる。ＳＡＴシステム１０１は、ＦＣ  ２００内のバッチされていないアイテムの高密度領域を決定するために、すべてのバッチされていないアイテムについて「Ｋ」の最近傍（Ｋは静的または動的整数）を計算することができる。いくつかの実施形態では、「Ｋ」の最近傍を決定することは、３つのアイテムなどのＫ個のアイテムを選択することと、これらのアイテムを、高密度領域、例えば、フルフィルメントセンタ内の領域の一部であるとして分類することとを含み、アイテムは、フルフィルメントセンタ内の残りのアイテムよりも密にパックされ、互いにより近いアイテムを有する。例えば、いくつかの実施形態では、互いに最も近いアイテムは、高密度領域にあると判定されてもよい。いくつかの実施形態では、値Ｋは、入力サイズ／最大バッチサイズとして選択されてもよく、最大バッチサイズは、リビン壁内のスロットの数によって設定されてもよい。いくつかの実施形態では、ステップ３０６におけるＫ最近傍（ＫＮＮ）プロセスを使用して、高密度領域を識別することができる。いくつかの実施形態では、高密度領域は、高いクオリティのバッチを生成することができる。
【００６７】
ステップ３０７（勾配降下アルゴリズム）では、ＳＡＴシステム１０１は、すべての利用可能なアイテムについてアイテム当たりのピッキング距離増加を計算し、図６に関して以下に説明する交換オペレータを呼び出すことによって、最小ピッキング距離を有するアイテムを選択することができる。ＳＡＴシステム１０１は、図６の交換オペレータを使用して、例えば、１つ以上の「最悪」のアイテム（例えば、アイテムがピッキングのための平均移動距離をどれだけ増加させるかという観点から）を、アイテム当たりの平均ピッキング距離が１つ以上の「最良」アイテムをピッキングすることによってバッチで減少する場合に当初選択されなかった１つ以上の「最良」アイテムと交換することができる。したがって、バッチジョブの数の更新は、必要とされるバッチジョブの数（Ｎ＝Ｎ-ｎ）から、密度アルゴリズム３０４のこのサイクルにおいて作成されたバッチジョブの数を減算することによって実行されてもよい。ステップ３０７では、ＳＡＴシステム１０１は、勾配降下アルゴリズム３０７によって、高密度領域から１つまたは複数のアイテムを単一バッチに集める。いくつかの実施形態では、これは、領域の重心（例えば、アイテムのセットによって定義される領域の重心）を見つけ、次いで、その重心に最も近いアイテムの数を加えることを含む。ＳＡＴシステム１０１は、最大バッチサイズに達するまでアイテムの追加を実行する。追加する次のアイテムは、どのアイテムが平均距離（バッチ内のアイテムの数／移動した全距離）を最も増加させないことができるかを決定することによって選択することができる。ＳＡＴシステム１０１がバッチを決定した後、密度アルゴリズム３０４は、ＫＮＮを計算し、高密度領域からいくつかのアイテムを単一のバッチに集め（ＫＮＮ-高密度領域３０６および勾配降下アルゴリズム３０７を識別する）、残りのバッチされていないアイテムを再び用いて、新しいバッチを作成することができる。いくつかの実施形態では、そのようなプロセスは、バッチを生成するために５分ごとに実行されてもよい。この値は、ピッカーが平均バッチを選ぶための平均時間であるＰＰ  （プロセスパス）に基づく。
【００６８】
いくつかの実施形態では、勾配下降アルゴリズム３０７を使用して、ピッキング距離が短いバッチを作成してもよい。具体的には、勾配降下アルゴリズム３０７は、最小ピッキング距離を最小に増加させるバッチに追加する出荷を選択することができる。勾配降下アルゴリズム３０７は、最大バッチサイズに達するまでこのプロセスを繰り返すことができる。
【００６９】
ステップ３０７で勾配密度アルゴリズムを使用した後、プロセス３００はステップ３０８に進み、ここでＳＡＴシステム１０１は、Ｎ（現在の注文を満たすのに必要なバッチの残りの数）が０より大きいかどうかを判定する。ＹＥＳの場合、プロセス３００はステップ３０５（アクティブゾーンタイプおよび出荷選択）に戻り、より多くのアイテムを選択し、より多くのバッチを作成する。そうでない場合、密度アルゴリズムは、ステップ３０９において、作成されたバッチを出力する。作成されたバッチを出力することは、いくつかの実施形態では、各バッチ内のアイテムに関するデータを、アイテムを選択するための指示を表示するための命令と共にモバイルデバイス（例えば、１１９Ａ／１１９Ｂ）に送信することを含み得る。
【００７０】
いくつかの実施形態では、密度アルゴリズム３０４は、次のバッチのためにいくつかのアイテムを維持するために、バッチ当たりのアイテムの最大数（バッチ当たりのアイテムの最大数は異なるＰＰで変化する）の３倍のバッチングを防止する。これは、新しい注文が到来したときにバッチ化され得るアイテムが存在し得るので、ＳＡＴシステム１０１の処理効率を最大化する。これにより、ピッカーの効率と利用率が最大化され、移動距離も最小化される。いくつかの実施形態では、バッチ当たりのアイテムの最大数は、２、４、５、２０、または他の値であってもよい。
【００７１】
図４は、開示された実施形態と一致する、バッチ作成のデータフローを含む例示的なプロセス４００の概略図である。
【００７２】
プロセス４００は、図１Ａの１つ以上のシステムに接続されるサーバ間ネットワーク接続のための制御サーバ４０１を示す。いくつかの実施形態では、図１Ａのモバイルデバイス１０２Ａまたはコンピュータ１０２Ｂは、（例えば、図１Ｂ〜図１Ｅに関して上述したように）図１Ａの外部フロントエンドシステム１０３上でホストされるウェブサイトを介して注文情報（１つまたは複数の所望のアイテムを含む）を送信することができる。プロセス４００において、外部フロントエンドシステム１０３は、注文４０２を受け取り、それを図１Ａの出荷及び注文追跡システム１１１に転送することができ、それにより、フィールド制御サーバー４０３に記憶して転送することができる。（いくつかの実施形態では、フィールド制御サーバ４０３は、ＳＡＴシステム１０１に関して上述したように実装されてもよい）次に、フィールド制御サーバ４０３は、図３のバッチジョブ４０４（図３に記載され、示される）密度アルゴリズム３０４を作成してもよい。
【００７３】
プロセス４００はさらに、ピッキングのための命令が、ＳＡＴシステム１０１および／またはＷＭＳ  １１９によってユーザデバイス（例えば、図１Ａのモバイルデバイス／ＰＤＡ  １１９Ｂ）に送信されて、単一のバッチに追加／収集するためのバッチのアイテムのリストと、フルフィルメントセンタ４０５内のそれらのアイテムの位置と、を提供することができることを示す。ステップ４０６で、ＳＡＴシステム１０１は、バッチジョブ４０２からデバイス（例えば、モバイルデバイス／ＰＤＡ  １１９Ｂ）に情報を送信する。例えば、ピッキングは、図２のピッキングゾーン２０９で行われ、ピッカー作業者または機械は、バッチの個々の注文からアイテムをピッキングし、それらをトート、ボックス、カート、または別の可動コンテナまたは車両に／に配置する。ピッキングが完了すると、ＳＡＴシステム１０１は、ステップ４０８において、リバッチのためにピッキングされたアイテムを送信するように、モバイルデバイス（例えば、ピッカーによって操作される）に命令を送信することができる。再バッチステップ中に、トート内のアイテムは、出荷のために準備されるように再編成されてもよい。いくつかの実施形態では、ピッキングは、バッチの個々の注文からアイテムを選択し、それらをトートに入れることを伴う。いくつかの実施形態では、再バッチは、１つのバッチについてすべてのトートを収集し、同じトート内の１つの注文からのアイテムを有するようにトートを再結合することによってトートを再編成することを伴う。いくつかの実施形態では、レビンは、トートを出荷品に分類することを伴う。いくつかの実施形態では、梱包は、レビンされた注文を出荷のために準備し、箱詰めすることを伴う。ＳＡＴシステム１０１は、ピッキング／リバッチング／リビニングのための適切な動作を決定し、その動作に対応する命令を生成し、その命令をモバイルデバイスに送信して、ピッカに特定のタスクを実行するように命令することができる。
【００７４】
図５は、開示された実施形態に一致する、バッチ視覚化ツールを含む例示的なプロセス５００の概略図である。
【００７５】
プロセス５００において、ＳＡＴシステム１０１は、レイアウトドローイング５０１を受信し、コンピュータ５０２を使用して座標ａ  ５０４および座標ｂ  ５０５を有する位置ペア（ａ，ｂ）５０３を作成する。いくつかの実施形態では、レイアウト図５０１は、ＦＣ  ２００内のアイテムが格納される位置を表すデータを含むデジタル地図である。いくつかの実施形態では、レイアウト図５０１は、オペレータによって準備されてもよい。いくつかの例では、レイアウト描画５０１は、平文、ＸＭＬ  （ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＫＭＬ  （Ｋｅｙｈｏｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＧＭＬ  （Ｇｅｏｇｒａｐｈｙ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などを含む様々なフォーマットで提供され得る。
【００７６】
ステップ５０３において、ＳＡＴシステム１０１は、コンピュータ５０２を介して座標計算を実行し、座標ａ  （ｘ１，ｙ１）及びｂ  （ｘ２，ｙ２）５０６を生成する。プロセス５００はさらに、コンピュータ５０２を介してＡ＊最短経路アルゴリズムを使用して距離（ａ，ｂ）５０７を作成するＳＡＴシステム１０１を示す。いくつかの実施形態では、ＳＡＴシステム１０１は、Ａ＊アルゴリズムを用いて、フルフィルメントセンターの各フロアについて、すべての位置ペアの最短経路を計算する。
【００７７】
一部の実施形態では、Ａ＊は高効率最短経路アルゴリズムである。Ａ＊は、パス検索とグラフ探索（ノードと呼ばれる複数のポイント間のパスを見つけるプロセス）  で使用されるコンピュータアルゴリズムである可能性がある。いくつかの実施形態では、Ａ＊は、高い性能および精度を有し得る。しかしながら、実際のトラベルルーティングシステムでは、Ａ＊は、より良いパフォーマンスを達成するためにグラフを前処理することができるアルゴリズムによって上回ることがある。いくつかの実施形態では、Ａ＊を使用して、すべてのロケーション対の間の最短経路を見つけることができる。他の実施形態では、Ｄｉｊｋｓｔｒａアルゴリズムなどの最短経路探索アルゴリズムのために、代替の方法およびアルゴリズムを使用することができる。
【００７８】
ＳＡＴシステム１０１は、１つまたは複数のアイテムについて、アイテムと最も近い第２２のアイテム（closest second item）との間の距離をすべての最短距離ペア５０８に格納する。いくつかの実施形態では、ＳＡＴシステム１０１は、最短距離ペア５０８をファイルまたは他のデータ記憶装置（例えば、データベース）に記憶する。最短距離は、バッチ作成時に計算されるのではなく、ファイルに保存される場合がある。具体的には、最短距離ペア５０８は、迅速にアクセスされるためにメモリに記憶される。別々のフルフィルメントセンターやフロア用の別々のファイルでは、ファイルはロウ形式（バイナリファイル）  である場合がある。次いで、ＳＡＴシステム１０１は、最短距離対を、密度アルゴリズム５０９（図３の密度アルゴリズム３０４と同じ）と、バッチ内のすべてのアイテムをデジタルマップで示すバッチ視覚化ツール５１０とに提供する。デジタル地図は、バッチの詳細情報（例えば、距離）を含む。いくつかの実施形態では、デジタルマップは、単一のバッチで収集するためのアイテムのリストと、フルフィルメントセンタ内のそれらのアイテムの位置とを提供するユーザデバイス（例えば、図１Ａのモバイルデバイス／ＰＤＡ  １１９Ｂ）にピッキングするための命令と共に送信されてもよい。
【００７９】
いくつかの実施形態では、プロセス５００は維持される。レイアウト図５０１またはデジタル地図が変更されるたびに、ＳＡＴシステム１０１（または別のシステム）は、有向非循環グラフ（ＤＡＧ）をトリガして、新しいデジタル地図を生成することができる。いくつかの実施形態では、ＤＡＧは、関係、依存関係、および他のプロパティを反映するように編成されたタスクの集合とすることができる。例えば、ＤＡＧは、４つのタスク（Ａ、Ｂ、Ｃ、Ｄ）を含むことができ、ＤＡＧは、依存性と共に、それらのタスクの操作の順序を示す（例えば、Ｂは、Ｃが実行される前に完了しなければならないが、Ａは、いつ実行されてもよい）。ＤＡＧ  は、タスククラスター（または「ジョブ」）  のインスタンス化に使用できる。このようなクラスターは、単一のバッチ・ジョブ、複数のジョブを持つ対話式セッション、または継続的に要求を満たす長寿命サーバーに使用できる。いくつかの実施形態では、ＤＡＧタスクは、糸クラスタ内の最短経路を計算するためにスパークジョブをサブミットすることができる。
【００８０】
いくつかの実施形態では、ＳＡＴシステム１０１は、バッチのクオリティを測定するためにデジタルマップを使用する。いくつかの実施形態では、ＳＡＴシステム１０１は、バッチ内のアイテムが互いにどの程度近いかによってバッチのクオリティを測定する。いくつかの実施形態では、バッチピッキング距離は、デジタルマップを使用して計算されてもよい。いくつかの実施形態では、アイテムごとのピッキング距離が短いほど、バッチはより高いクオリティであってもよい。
【００８１】
図６は、開示された実施形態と一致する歩行距離最適化のための勾配降下アルゴリズムの結果を示す。
【００８２】
勾配降下アルゴリズム（図３のステップ３０７）は、バッチに追加されるアイテムのスコア候補を評価する。例えば、スコアＳｓは、Ｓｄ／Ｓｕとして計算することができる。勾配降下アルゴリズム３０７は、すべてのアイテムをバッチに追加しようとする。Ｓｕは出荷に含まれるユニットまたはアイテムの数を表す。Ｓｄは、計算されたピッキング距離をアイテムによって増加させたものである。勾配降下アルゴリズム３０７は、最小値Ｓｓを有するアイテムを選択し、そのアイテムをバッチに追加する。いくつかの実施形態では、最小値Ｓｓを有するアイテムを選択することは、最も低いスコアを有するアイテムを選択することを含む。いくつかの実施形態では、最小値Ｓｓを有するアイテムを選択することは、スコアを最小に増加させるアイテムを選択することを含む。いくつかの実施形態では、勾配降下アルゴリズム３０７は、出荷中のすべてのアイテムをピッキングするために最低の努力（ピッキング距離）を要することを意味する最低のスコアを有する出荷（多くのアイテムを含むことができる）を選択する。
【００８３】
また、勾配降下アルゴリズム３０７は、バッチにおける最悪出荷のスコアＳｗも評価する。さらに、ベストアイテムのスコアＳｂを評価することは、バッチでは関係ない。勾配降下アルゴリズム３０７は、Ｓｂ＞Ｓｗであるかどうかを判定する。そうであれば、勾配降下アルゴリズム３０７は２つの出荷物を交換し、総ピッキング距離が減少する可能性があり、これはバッチのクオリティを向上させる。いくつかの実施形態では、図６の交換オペレータは、バッチの最大サイズ出荷に達した後に使用されてもよい。いくつかの実施形態では、図６の交換オペレータは、バッチの全体のピッキング距離を短縮するために、バッチ内の最悪の出荷と交換するためのバッチ外の最良の出荷を見つけるために使用されてもよい。例えば、最悪の出荷を除去すると、バッチのピッキング距離全体が１０メートル減少し、最良の出荷（バッチ内にない）を加えると、ピッキング距離全体が５メートル増加し、これら２つの出荷を交換すると、ピッキング距離全体が５メートル減少する。
【００８４】
（多くのアイテムを含むことができる）出荷のスコアは、その出荷中のすべてのアイテムをピックするために費用がかかる平均ピック距離である。スコアが低い場合、それは、全てのアイテムをピックするために、より短いピッキング距離を費やすことを意味し、そうでない場合、より長いピッキング距離を費やすことになる。
【００８５】
図６のマップ６００および６５０は、ＦＣ  ２００のさまざまなロケーションにおけるアイテムを示す。丸は、現在バッチ内にあるアイテムを表す。三角形および四角形は、バッチ内のアイテムを置き換えるか、またはバッチに追加する候補であるアイテムを表す。候補アイテムの高いスコアは、それがバッチ内のアイテムに距離が近いことを示すことができる。
【００８６】
マップ６００では、四角形アイテムのスコアはｂｓであり、三角形アイテムのスコアはｇｓである。距離に関し、四角形のアイテムに比べて、三角形のアイテムはバッチ内のアイテムと近いので、そのアイテムのスコアが高い（ｇｓ＞ｂｓ）、したがって、勾配降下アルゴリズム３０７は、四角形のアイテムの代わりに三角形のアイテムを選択してバッチに配置してもよい。
【００８７】
図３に関して上述したように交換オペレータを例示する装置６５０では、バッチ内のアイテムＢは、バッチ内の他のアイテムと近接度に起因してバッチ内の最悪のアイテムであり、そのスコアはＢｗである。さらに、アイテムＡは、他の候補アイテムよりもバッチ内のアイテムに近く、そのスコアがＡｂであって、バッチ内のアイテム（円）を置換するための三角形の候補の中で最良のアイテムである。いくつかの実施形態では、Ａｂ＞Ｂｗである場合、グラデーション降下アルゴリズム３０７は、アイテムＡが高いスコアを有し、バッチ内のアイテムに対してアイテムＢよりも近いので、バッチからアイテムＢを除去し、アイテムＡに置き換えてもよい。
【００８８】
図７は、バッチ最適化のための例示的プロセスのブロック図である。プロセス７００は、例えば、ＳＡＴシステム１０１のプロセッサによって実行されてもよく、ＳＡＴシステムは、コンピュータ可読媒体記憶装置上で符号化された命令を実行する。ただし、プロセス７００の１つまたは複数のステップは、システム１００の他の構成要素（図示または図示せず）によって実施することができることを理解されたい。
【００８９】
ステップ７１０で、システム１００は、複数の注文を受信することができ、各注文は、ピッキングのための１つまたは複数のアイテムを含む。いくつかの実施形態では、各注文のアイテムは、図１Ａの外部フロントエンドシステム１０３上でホストされるウェブサイトを介して、図１Ａのデバイスモバイルデバイス１０２Ａまたはコンピュータ１０２Ｂにおいてユーザによって配置されていてもよい。
【００９０】
さらに、ＳＡＴシステム１０１は、注文中の１つまたは複数のアイテムをアイテムのリストに統合することができる。いくつかの実施形態では、アイテムのリストは、図３のＤＢ  ３０１からのデータに関して上述したように、データベースまたはメモリに格納されてもよい。ステップ７２０において、ＳＡＴシステム１０１は、検索アルゴリズムを使用してアイテムのリストからアイテムの１つまたは複数の位置ペア間の距離を計算し、密度アルゴリズム３０４に関して上述したように、すべてのアイテムについて最近傍アイテムを計算することによって、フルフィルメントセンタ内の１つまたは複数の高密度エリアを計算することができる。密度アルゴリズム３０４は、フルフィルメントセンターフロアの高密度領域を決定するために、全てのバッチ処理されていないアイテムについてＫＮＮ  （図３のＫＮＮ識別高密度領域３０６）を計算する。いくつかの実施態様において、図３の密度アルゴリズム３０４は、Ｋ個のアイテムを選択し、それらを高密度領域にセグメント化する。いくつかの実施形態では、値Ｋは、入力サイズ／最大バッチサイズとして選択されてもよく、最大バッチサイズは、リビン壁内のスロットの数によって設定されてもよい。
【００９１】
ステップ７３０では、図３のステップ３０３に関して上述し、図５に関して一般的に説明したように、ＳＡＴシステム１０１は、すべてのアイテムのすべての最短距離をメモリに記憶することができる。
【００９２】
ステップ７４０では、ステップ３０５および３０６に関して上述したように、ＳＡＴシステム１０１は、計算された１つまたは複数の高密度領域に基づいて１つまたは複数のバッチを作成することができる。
【００９３】
ステップ７５０では、ステップ３０７に関して上述したように、ＳＡＴシステム１０１は、勾配降下アルゴリズムを使用して、１つまたは複数の高密度領域からのアイテムを単一のバッチに追加することができ、この追加は、選択可能なアイテムの中で平均距離を最も増加させないアイテムに基づいて行われる。
【００９４】
ステップ７６０で、ＳＡＴシステム１０１は、単一のバッチで追加するためのアイテムのリストと、表示のためのユーザデバイス上の位置とを提供することができる。図１ＡのＳＡＴシステム１０１は、ワーカのＰＤＡ  （例えば、図１Ａのモバイルデバイス／ＰＤＡ  １１９Ｂ）にメッセージを送信して、単一のバッチで収集するためのアイテムのリストおよびそれらのアイテムの位置を提供することができる。ディスプレイ４００（図１Ａのタブレット１１９Ａ、モバイルデバイス／ＰＤＡ  １１９Ｂ、コンピュータ１１９Ｃに対応する）は、作業者に提示されるユーザインターフェースを含む。その結果、ＳＡＴシステム１０１は、作業者のＰＤＡ  （例えば、図１Ａのモバイルデバイス／ＰＤＡ  １１９Ｂ）に反映されたアイテムがより近く、より迅速にピックアップされ、作業者が次のバッチへより迅速に移動することができるので、注文をより迅速に仕上げることによってバッチ最適化による出荷プロセスを改善することができる。
【００９５】
本開示は、その特定の実施形態を参照して示され、説明されてきたが、本開示は、修正なしに、他の環境において実施され得ることが理解され得る。前述の説明は、例示の目的で提示されている。これは、網羅的ではなく、開示された正確な形態または実施形態に限定されない。当業者であれば、開示された実施形態の明細書および実施を考慮することにより、修正および適応が明らかであろう。さらに、開示された実施形態の態様は、メモリに格納されるものとして説明されているが、当業者は、これらの態様が、例えば、ハードディスクまたはＣＤ  ＲＯＭ、あるいは他の形態のＲＡＭまたはＲＯＭ、ＵＳＢ媒体、ＤＶＤ、ブルーレイ、または他の光学ドライブ媒体などの二次記憶デバイスなどの他のタイプのコンピュータ可読媒体に格納されてもよいことを理解することができる。
【００９６】
記載された説明および開示された方法に基づくコンピュータプログラムは、熟練した開発者の技術の範囲内である。様々なプログラムまたはプログラムモジュールは、当業者に知られている技法のいずれかを使用して作成することができ、または既存のソフトウェアに関連して設計することができる。例えば、プログラム・セクションまたはプログラム・モジュールは、Ｎｅｔ  Ｆｒａｍｅｗｏｒｋ、．ＮｅｔＣｏｍｐａｃｔ  Ｆｒａｍｅｗｏｒｋ  （およびＶｉｓｕａｌ  Ｂａｓｉｃ、Ｃ  などの関連言語）、Ｊａｖａ、Ｃ＋＋、Ｏｂｊｅｃｔｉｖｅ−Ｃ、ＨＴＭＬ、ＨＴＭＬ／ＡＪＡＸの組み合わせ、ＸＭＬ、またはＪａｖａ  アプレットを含むＨＴＭＬ内で、または、これらによって設計されてもよい。
【００９７】
さらに、例示的な実施形態が本明細書で説明されてきたが、本開示に基づいて当業者によって理解されるように、同等の要素、修正、省略、組み合わせ（例えば、様々な実施形態にわたる態様の）、適応、および／または変更を有する任意のおよびすべての実施形態の範囲。クレームの限定は、クレームに使用されている文言に広く基づいて解釈されるものとし、本明細書に記載されている例に限定されるものではなく、又は出願手続中に解釈されるものとする。実施例は、非排他的であると解釈されるべきである。さらに、開示された方法のステップは、ステップを並べ替えること、および／またはステップを挿入または削除することを含む、任意の方法で修正されてもよい。したがって、本明細書および実施例は、単に例示的なものとみなされ、真の範囲および精神は、以下の特許請求の範囲およびそれらの均等物の全範囲によって示されることが意図される。
【図１Ａ】
2021516803.tif 000003
【図１Ｂ】
2021516803.tif 000004
【図１Ｃ】
2021516803.tif 000005
【図１Ｄ】
2021516803.tif 000006
【図１Ｅ】
2021516803.tif 000007
【図２】
2021516803.tif 000008
【図３】
2021516803.tif 000009
【図４】
2021516803.tif 000010
【図５】
2021516803.tif 000011
【図６】
2021516803.tif 000012
【図７】
2021516803.tif 000013
【国際調査報告】
2021516803.tif 000014
2021516803.tif 000015