(57)【要約】  本開示の実施形態は、製品の割り当てを最適化するためのシステムおよび方法を提供し、複数のフルフィルメントセンターにおける複数の在庫管理単位の初期配分を有する解の初期のセットを受信することと、前記解の初期のセットの各解のシミュレーションを実行することとを含む。前記解の初期のセットの各解の寄与率が算出され、前記算出された寄与率に基づいて、前記解の初期のセットの各解用のスコアが決定されてよい。最も高い決定されたスコアを有する少なくとも１つの解が選択され、シミュレーションアルゴリズムに供給されて１以上の追加の解を生成してよい。最適解に基づいて、前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位の割り当てが修正され得る。最適解は、全ての生成された解の中でもっとも高い決定されたスコアを有するものであってよい。
2021513134.tif 000002
【特許請求の範囲】
【請求項１】
製品の割り当てを最適化するためのコンピュータ実装システムであって、
命令を格納するメモリと、
少なくとも１つのプロセッサと、を備え、
前記少なくとも１つのプロセッサは、前記命令を実行し、
複数のフルフィルメントセンターにおける複数の在庫管理単位の初期配分を有する解の初期のセットを受信し、
前記解の初期のセットの各解のシミュレーションを実行し、
前記解の初期のセットの各解の寄与率を算出し、
前記算出された寄与率に基づいて、前記解の初期のセットの各解用のスコアを決定し、
最も高い決定されたスコアを有する少なくとも１つの解を選択し、シミュレーションアルゴリズムに供給して１以上の追加の解を生成し、
全ての生成された解の中でもっとも高い決定されたスコアを有する最適解に基づいて、前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位の割り当てを修正するように構成される、システム。
【請求項２】
前記複数の在庫管理単位のそれぞれは、製造者、素材、サイズ、色、パッケージ、タイプまたは製品の重量のうちの少なくとも１つを示す、請求項１に記載のシステム。
【請求項３】
前記最適解は、少なくとも１つのフルフィルメントセンターの寄与率を２％高くする、請求項１に記載のシステム。
【請求項４】
前記シミュレーションアルゴリズムは、少なくとも１つの制約を含み、
前記制約は、前記フルフィルメントセンターのそれぞれにおける顧客の需要、前記フルフィルメントセンターの最大容量、フルフィルメントセンターとの互換性、または、フルフィルメントセンター間の転送コストの少なくとも１つを含む、請求項１に記載のシステム。
【請求項５】
前記最も高い決定されたスコアを有する少なくとも１つの解を選択し、シミュレーションアルゴリズムに供給して１以上の追加の解を生成することは、前記シミュレーションアルゴリズムを介して、前記少なくとも１つの選択された解と関連付けられた少なくとも１つのパラメータを変更して、前記１以上の追加の解を生成することを含む、請求項１に記載のシステム。
【請求項６】
前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位の初期配分は、ランダムに生成される、請求項１に記載のシステム。
【請求項７】
前記解の寄与率は、フルフィルメントセンターのネットワークからの製品の総出力に貢献したフルフィルメントセンターのパーセンテージを示す、請求項１に記載のシステム。
【請求項８】
前記少なくとも１つのプロセッサは、前記命令を実行し、さらに、
前記複数のフルフィルメントセンターのそれぞれでの顧客需要をシミュレートし、
前記シミュレートされた顧客需要に基づいて、前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位を割り当てるように構成される、請求項１に記載のシステム。
【請求項９】
前記少なくとも１つのプロセッサは、前記命令を実行し、さらに、前記シミュレーションアルゴリズムの少なくとも一部をキャッシュするように構成される、請求項１に記載のシステム。
【請求項１０】
前記キャッシュされたシミュレーションアルゴリズムの少なくとも一部は、前記シミュレーションアルゴリズムの実行ごとに実質的に一定のままである少なくとも１つの制約を含む、請求項９に記載のシステム。
【請求項１１】
製品の割り当てを最適化するためのコンピュータ実装方法であって、
複数のフルフィルメントセンターにおける複数の在庫管理単位の初期配分を有する解の初期のセットを受信することと、
前記解の初期のセットの各解のシミュレーションを実行することと、
前記解の初期のセットの各解の寄与率を算出することと、
前記算出された寄与率に基づいて、前記解の初期のセットの各解用のスコアを決定することと、
最も高い決定されたスコアを有する少なくとも１つの解を選択し、シミュレーションアルゴリズムに供給して１以上の追加の解を生成することと、
全ての生成された解の中でもっとも高い決定されたスコアを有する最適解に基づいて、前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位の割り当てを修正することと、を含む、方法。
【請求項１２】
前記解のそれぞれの寄与率は、フルフィルメントセンターのネットワークからの製品の総出力に貢献したフルフィルメントセンターのパーセンテージを示す、請求項１１に記載の方法。
【請求項１３】
前記最適解は、少なくとも１つのフルフィルメントセンターの寄与率を２％高くする、請求項１１に記載の方法。
【請求項１４】
前記シミュレーションアルゴリズムは、少なくとも１つの制約を含み、
前記制約は、前記フルフィルメントセンターのそれぞれにおける顧客の需要、前記フルフィルメントセンターの最大容量、フルフィルメントセンターとの互換性、または、フルフィルメントセンター間の転送コストの少なくとも１つを含む、請求項１１に記載の方法。
【請求項１５】
最も高い決定されたスコアを有する少なくとも１つの解を選択し、シミュレーションアルゴリズムに供給して１以上の追加の解を生成することは、前記シミュレーションアルゴリズムを介して、前記少なくとも１つの選択された解と関連付けられた少なくとも１つのパラメータを変更して、前記１以上の追加の解を生成することを含む、請求項１１に記載の方法。
【請求項１６】
前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位の初期配分は、ランダムに生成される、請求項１５に記載の方法。
【請求項１７】
前記複数のフルフィルメントセンターのそれぞれでの顧客の需要をシミュレートすることと、
前記シミュレートされた顧客需要に基づいて、前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位を割り当てることと、をさらに含む、請求項１１に記載の方法。
【請求項１８】
前記シミュレーションアルゴリズムの少なくとも一部をキャッシュすることをさらに含む、請求項１１に記載の方法。
【請求項１９】
前記キャッシュされたシミュレーションアルゴリズムの少なくとも一部は、前記シミュレーションアルゴリズムの実行ごとに実質的に一定のままである少なくとも１つの制約を含む、請求項１８に記載の方法。
【請求項２０】
製品の割り当てを最適化するためのコンピュータ実装システムであって、
命令を格納するメモリと、
少なくとも１つのプロセッサと、を備え、
前記少なくとも１つのプロセッサは、前記命令を実行し、
ランダムに生成される、複数のフルフィルメントセンターにおける複数の在庫管理単位の初期配分を有する解の初期のセットを受信し、
前記解の初期のセットの各解のシミュレーションを実行し、
前記解の初期のセットの各解の寄与率を算出し、
前記算出された寄与率に基づいて、前記解の初期のセットの各解用のスコアを決定し、
最も高い決定されたスコアを有する少なくとも１つの解を選択し、シミュレーションアルゴリズムに供給して１以上の追加の解を生成し、ここで、
前記シミュレーションアルゴリズムは、少なくとも１つの制約を含み、前記制約は、前記フルフィルメントセンターのそれぞれにおける顧客の需要、前記フルフィルメントセンターの最大容量、フルフィルメントセンターとの互換性、または、フルフィルメントセンター間の転送コストの少なくとも１つを含み、
前記シミュレーションアルゴリズムの実行ごとに実質的に一定のままである少なくとも１つの制約がキャッシュされ、
前記最も高い決定されたスコアを有する少なくとも１つの解を選択し、シミュレーションアルゴリズムに供給して１以上の追加の解を生成することは、前記シミュレーションアルゴリズムを介して、前記少なくとも１つの選択された解と関連付けられた少なくとも１つのパラメータを変更して、前記１以上の追加の解を生成することを含み、
前記複数のフルフィルメントセンターのそれぞれにおける顧客の需要をシミュレートし、
少なくとも、前記シミュレートされた顧客需要と、少なくとも１つのフルフィルメントセンターの寄与率を２％高くする最適解と、に基づいて、前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位の割り当てを修正するように構成される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、アウトバウンドフローをシミュレートし、製品の割り当てを最適化するためのコンピュータ化されたシステムおよび方法に関する。具体的には、本開示の実施形態は、アウトバウンドフローをシミュレートし、遺伝的アルゴリズムに基づいて製品の割り当てを最適化することに関連する、発明的および非従来型のシステムに関する。
【背景技術】
【０００２】
典型的には、顧客注文が行われるとき、注文は１つ以上のフルフィルメントセンターに転送されなければならない。しかしながら、顧客注文は、多くの異なる地域に位置する多くの異なる顧客によって行われ、したがって、注文は、多くの異なる目的地に向けられる。したがって、注文は、それらが適切なフルフィルメントセンターにルーティングされ、最終的には、それらの目的地に正しくルーティングされるように、適切にソートされなければならない。
【０００３】
出荷プラクティスを最適化し、出荷製品の出荷ルートを識別するためのシステムおよび方法は既に存在する。例えば、米国特許出願公開第２０１０／０２７４６０９号明細書には、出荷ルートに従って出荷をシミュレートする方法が記載されている。最適なルーティングプランを決定するために、代替ルーティングモジュールは、ユーザ入力に従ってパッケージルーティングデータを修正することができる。すなわち、ユーザは、元のパッケージ・ルーティング・データに関連するデータを手動で変更し、各ルーティング変更の効果を見ることができる。このプロセスは、最適なルーティング計画が決定されるまで繰り返される。
【０００４】
しかしながら、製品のアウトバウンドフローを最適化するためのこれらの従来のシステムおよび方法は、主に、パラメータの個々の組み合わせの手動の修正および繰り返しの試験を必要とするため、困難であり、時間がかかり、不正確である。特に、地域全体にわたって複数のフルフィルメントセンターを有するエンティティの場合、顧客注文が最初に受け取られるレベル、インバウンド／保管／在庫見積もりが決定されるレベル、および様々なフルフィルメントセンターに注文を割り当てるロジックが決定されるレベルを含む、すべてのレベルのプロセスで製品のアウトバウンドフローを複製することは、著しく困難であり、時間がかかる。加えて、従来のシステムおよび方法は、それぞれの修正の後に、手動での修正および繰り返しの試験を必要とするため、シミュレーションは、粒状スケールではなく、より大きなスケールでのみ行うことができる。例えば、シミュレーションは、ＳＫＵベースの在庫管理単位（Stock Keeping Unit：ＳＫＵ）ではなく、製品タイプごとにのみ行うことができる。
【０００５】
従って、アウトバウンドフローをシミュレートし、製品の配分を最適化するための改善されたシステムと方法が必要である。特に、パラメータの手動修正および各手動修正後の繰り返し試験の必要性を排除する、製品のアウトバウンドフローのシミュレーションを最適化するための改良されたシステムおよび方法が必要である。
【発明の概要】
【０００６】
本開示の一態様は、製品の割り当てを最適化するためのコンピュータ実装システムに関する。このシステムは、命令を格納するメモリと、前記命令を実行する少なくとも１つのプロセッサと、を備え得る。前記少なくとも１つのプロセッサは、前記命令を実行し、複数のフルフィルメントセンター（Fulfillment centers：ＦＣｓ）における複数の在庫管理単位（Stock keeping unit：ＳＫＵｓ）の初期配分を有する解の初期のセットを受信するように構成されてよい。前記少なくとも１つのプロセッサは、前記解の初期のセットの各解のシミュレーションを実行し、前記解の初期のセットの各解の寄与率を算出してよい。前記少なくとも１つのプロセッサは、前記算出された寄与率に基づいて、前記解の初期のセットの各解用のスコアを決定してよい。前記少なくとも１つのプロセッサは、最も高い決定されたスコアを有する少なくとも１つの解を選択し、シミュレーションアルゴリズムに供給して１以上の追加の解を生成してよい。前記少なくとも１つのプロセッサは、最適解に基づいて、前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位の割り当てを修正してよい。前記最適解は、全ての生成された解の中でもっとも高い決定されたスコアを有してよい。前記複数の在庫管理単位のそれぞれは、製造者、素材、サイズ、色、パッケージ、タイプまたは製品の重量のうちの少なくとも１つを示してよい。
【０００７】
ある態様では、前記最適解は、少なくとも１つのフルフィルメントセンターの寄与率を２％高くするものであってよい。別の態様では、前記シミュレーションアルゴリズムは、少なくとも１つの制約を含んでよく、前記制約は、前記フルフィルメントセンターのそれぞれにおける顧客の需要、前記フルフィルメントセンターの最大容量、フルフィルメントセンターとの互換性、または、フルフィルメントセンター間の転送コストの少なくとも１つを含み得る。ある実施形態では、  前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位の初期配分は、ランダムに生成されてよい。ある実施形態では、前記解の寄与率は、フルフィルメントセンターのネットワーク（例えば、全国ネットワーク、地域的なネットワークまたは州全体のネットワーク）からの製品の総出力に貢献したフルフィルメントセンターのパーセンテージを示してよい。他の実施形態では、前記最も高い決定されたスコアを有する少なくとも１つの解を選択し、シミュレーションアルゴリズムに供給して１以上の追加の解を生成することは、前記シミュレーションアルゴリズムを介して、前記少なくとも１つの選択された解と関連付けられた少なくとも１つのパラメータを変更して、前記１以上の追加の解を生成することを含んでよい。
【０００８】
また別の実施形態では、前記少なくとも１つのプロセッサは、前記命令を実行し、さらに、前記複数のフルフィルメントセンターのそれぞれでの顧客需要をシミュレートし、前記シミュレートされた顧客需要に基づいて、前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位を割り当てるように構成されてよい。前記少なくとも１つのプロセッサは、前記命令を実行し、さらに、前記シミュレーションアルゴリズムの少なくとも一部をキャッシュするように構成されてよい。前記キャッシュされたシミュレーションアルゴリズムの少なくとも一部は、前記シミュレーションアルゴリズムの実行ごとに実質的に一定のままである少なくとも１つの制約を含んでよい。
【０００９】
本開示の別の方法は、製品の割り当てを最適化するためのコンピュータ実装方法に関する。この方法は、複数のフルフィルメントセンター（Fulfilment centers：ＦＣｓ）における複数の在庫管理単位（Stock keeping unit：ＳＫＵｓ）の初期配分を有する解の初期のセットを受信することを含み得る。本方法は、前記解の初期のセットの各解のシミュレーションを実行することと、前記解の初期のセットの各解の寄与率を算出することと、を含み得る。本方法は、前記算出された寄与率に基づいて、前記解の初期のセットの各解用のスコアを決定することと、最も高い決定されたスコアを有する少なくとも１つの解を選択し、シミュレーションアルゴリズムに供給して１以上の追加の解を生成することと、を含み得る。本方法は、最適解に基づいて、前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位の割り当てを修正することを含み得る。最適解は、全ての生成された解の中でもっとも高い決定されたスコアを有してよい。
【００１０】
ある態様では、前記最適解は、少なくとも１つのフルフィルメントセンターの寄与率を２％高くするものであってよい。他の態様では、前記シミュレーションアルゴリズムは、少なくとも１つの制約を含みんでよく、前記制約は、前記フルフィルメントセンターのそれぞれにおける顧客の需要、前記フルフィルメントセンターの最大容量、フルフィルメントセンターとの互換性、または、フルフィルメントセンター間の転送コストの少なくとも１つを含み得る。前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位の初期配分は、ランダムに生成されてよい。ある実施形態では、前記解の寄与率は、フルフィルメントセンターのネットワーク（例えば、全国ネットワーク、地域的なネットワークまたは州全体のネットワーク）からの製品の総出力に貢献したフルフィルメントセンターのパーセンテージを示してよい。他の実施形態では、最も高い決定されたスコアを有する少なくとも１つの解を選択し、シミュレーションアルゴリズムに供給して１以上の追加の解を生成することは、前記シミュレーションアルゴリズムを介して、前記少なくとも１つの選択された解と関連付けられた少なくとも１つのパラメータを変更して、前記１以上の追加の解を生成することを含んでよい。
【００１１】
また別の実施形態では、本方法は、前記複数のフルフィルメントセンターのそれぞれでの顧客の需要をシミュレートすることと、前記シミュレートされた顧客需要に基づいて、前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位を割り当てることと、をさらに含んでよい。本方法は、前記シミュレーションアルゴリズムの少なくとも一部をキャッシュすることをさらに含んでよい。前記キャッシュされたシミュレーションアルゴリズムの少なくとも一部は、前記シミュレーションアルゴリズムの実行ごとに実質的に一定のままである少なくとも１つの制約を含んでよい。
【００１２】
本開示のまた別の態様は、製品の割り当てを最適化するためのコンピュータ実装システムに関する。本システムは、命令を格納するメモリと、前記命令を実行する少なくとも１つのプロセッサと、を備えてよい。前記少なくとも１つのプロセッサは、前記命令を実行し、ランダムに生成される、複数のフルフィルメントセンター（Fulfillment centers：ＦＣｓ）における複数の在庫管理単位（Stock keeping unit：SKUｓ）の初期配分を有する解の初期のセットを受信するように構成され得る。前記少なくとも１つのプロセッサは、前記解の初期のセットの各解のシミュレーションを実行し、前記解の初期のセットの各解の寄与率を算出するように構成され得る。前記少なくとも１つのプロセッサは、前記算出された寄与率に基づいて、前記解の初期のセットの各解用のスコアを決定するように構成され得る。前記少なくとも１つのプロセッサは、最も高い決定されたスコアを有する少なくとも１つの解を選択し、シミュレーションアルゴリズムに供給して１以上の追加の解を生成し得る。ある態様では、前記シミュレーションアルゴリズムは、少なくとも１つの制約を含む。前記少なくとも１つの制約は、前記フルフィルメントセンターのそれぞれにおける顧客の需要、前記フルフィルメントセンターの最大容量、フルフィルメントセンターとの互換性、または、フルフィルメントセンター間の転送コストの少なくとも１つを含み得る。別の態様では、前記シミュレーションアルゴリズムの実行ごとに実質的に一定のままである少なくとも１つの制約がキャッシュされ得る。他の実施形態では、前記最も高い決定されたスコアを有する少なくとも１つの解を選択し、シミュレーションアルゴリズムに供給して１以上の追加の解を生成することは、前記シミュレーションアルゴリズムを介して、前記少なくとも１つの選択された解と関連付けられた少なくとも１つのパラメータを変更して、前記１以上の追加の解を生成することを含み得る。
【００１３】
ある態様では、前記少なくとも１つのプロセッサは、前記複数のフルフィルメントセンターのそれぞれにおける顧客の需要をシミュレートしてよい。少なくとも、前記シミュレートされた顧客需要と、最適解と、に基づいて、前記少なくとも１つのプロセッサは、前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位の割り当てを修正してよい。ある実施形態では、前記複数のフルフィルメントセンターにおける前記複数の在庫管理単位の割り当てを修正することは、割り当てに関連付けられたデータを修正することを含み得る。最適解は、少なくとも１つのフルフィルメントセンターの寄与率を２％高くするものであってよい。
【００１４】
他のシステム、方法、およびコンピュータ可読媒体も、本明細書で説明される。
【図面の簡単な説明】
【００１５】
【図１Ａ】開示された実施形態と一致する、出荷、輸送、および物流オペレーションを可能にする通信のためのコンピュータ化されたシステムを備えるネットワークの例示的な実施形態を示す概略ブロック図である。
【図１Ｂ】開示された実施形態と矛盾しない、インタラクティブなユーザインタフェース要素と共に、検索要求を満たす１つ以上の検索結果を含む検索結果ページ（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）し、それを外部フロントエンド・システム１０３に送ることができる。これに応答して、外部フロントエンドシステム１０３は、選択された製品に関する情報を要求することができる。例えば、情報は、それぞれのＳＲＰ上の製品について提示される情報を超える追加の情報を含むことができる。これは、例えば、賞味期限、原産国、重量、サイズ、パッケージ内のアイテムの数、取扱説明書、または製品に関する他の情報を含むことができる。また、情報は、（例えば、この製品および少なくとも１つの他の製品を購入した顧客のビッグデータおよび／または機械学習分析に基づく）類似の製品に対する推奨、頻繁に質問される質問に対する回答、顧客からのレビュー、製造業者情報、写真などを含むことができる。
【００２５】
外部フロントエンドシステム１０３は、受信した製品情報に基づいてＳＤＰ  （単一詳細ページ）（例えば、図１Ｃ）を準備することができる。ＳＤＰは、「今すぐ買う」ボタン、「カードに追加する」ボタン、数量フィールド、アイテムの写真などの他の対話型要素も含むことができる。ＳＤＰは、製品を提供する売り手のリストをさらに含むことができる。リストは、各売り手が提供する価格に基づいて順序付けられてもよく、その結果、最低価格で製品を販売することを提案する売り手は、最上位にリストされてもよい。リストは、最高ランクの売り手が最上位にリストされるように、売り手ランキングに基づいて順序付けらてもよい。売り手ランキングは、例えば、約束されたＰＤＤを満たす売り手の過去の実績を含む、複数の要因に基づいて定式化されてもよい。外部フロントエンドシステム１０３は、（例えば、ネットワークを介して）要求側ユーザデバイスにＳＤＰを配信することができる。
【００２６】
要求ユーザデバイスは、製品情報をリストするＳＤＰを受信してもよい。その後、ＳＤＰを受信すると、ユーザデバイスはＳＤＰと対話することができる。例えば、要求ユーザ装置のユーザは、ＳＤＰ上の「カートに入れる」ボタンをクリックするか、または他の方法で対話することができる。これは、ユーザに関連付けられたショッピングカートに製品を追加する。ユーザ装置は、ショッピングカートに製品を追加するためのこの要求を外部フロントエンドシステム１０３に送信することができる。
【００２７】
外部フロントエンドシステム１０３は、カートページ（例えば、図１Ｄ）を生成することができる。カートページは、いくつかの実施形態では、ユーザが仮想「ショッピングカート」に追加した製品をリストし、ユーザデバイスは、ＳＲＰ、ＳＤＰ、または他のページ上のアイコンをクリックするか、または他の方法で対話することによって、カートページを要求してもよい。いくつかの実施形態では、カートページは、ユーザがショッピングカートに追加したすべての製品、ならびに各製品の数量、各製品毎の価格、関連する数量に基づく各製品の価格、ＰＤＤに関する情報、配送方法、配送コスト、ショッピングカート内の製品を修正するためのユーザインターフェース要素（例えば、数量の削除または修正）、他の製品を注文するためのオプション、または製品の定期的な配送を設定するためのオプション、利息支払いを設定するためのオプション、購入に進むためのユーザインターフェース要素などのカート内の製品に関する情報をリストすることができる。ユーザデバイスのユーザは、ショッピングカート内の製品の購入を開始するために、ユーザインターフェース要素（例えば、「今すぐ買う」と読むボタン）をクリックするか、さもなければユーザインターフェース要素と対話することができる。そうすると、ユーザ・デバイスは、購入を開始するためにこの要求を外部フロント・エンド・システム１０３に送信することができる。
【００２８】
外部フロントエンドシステム１０３は、購入を開始する要求の受信に応答して、注文ページ（例えば、図１Ｅ）を生成することができる。注文ページは、いくつかの実施形態では、ショッピングカートからアイテムを再リストし、支払いおよび出荷情報の入力を要求する。例えば、注文ページは、ショッピングカート内のアイテムの購入者に関する情報（例えば、名前、住所、電子メールアドレス、電話番号）、受取人に関する情報（例えば、名前、住所、電話番号、配達情報）、出荷情報（例えば、配達および／または集荷の速度／方法）、支払い情報（例えば、クレジットカード、銀行振込、小切手、格納クレジット）、現金受領を要求するためのユーザインターフェース要素（例えば、税務目的のための）などを要求するセクションを含むことができる。外部フロントエンドシステム１０３は、注文ページをユーザデバイスに送信することができる。
【００２９】
ユーザデバイスは、オーダページに情報を入力し、その情報を外部フロントエンドシステム１０３に送信するユーザインタフェース要素をクリックするか、または他の方法で対話することができる。そこから、外部フロントエンドシステム１０３は、システム１００内の異なるシステムに情報を送信して、ショッピングカート内の製品を用いた新しい注文の作成および処理を可能にすることができる。
【００３０】
いくつかの実施形態では、外部フロントエンドシステム１０３は、売り手が注文に関する情報を送受信することを可能にするようにさらに構成されてもよい。
【００３１】
内部フロントエンドシステム１０５は、いくつかの実施形態では、内部ユーザ（例えば、システム１００を所有し、操作し、またはリースする組織の従業員）がシステム１００内の１つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装され得る。例えば、ネットワーク１０１がシステムのプレゼンテーションを可能にして、ユーザがアイテムの注文を行うことを可能にする実施形態では、内部フロントエンドシステム１０５は、内部ユーザが注文に関する診断および統計情報を見ること、アイテム情報を修正すること、または注文に関する統計をレビューすることを可能にするウェブサーバとして実装されてもよい。例えば、内部フロントエンド・システム１０５は、Ａｐａｃｈｅ  ＨＴＴＰサーバ、Ｍｉｃｒｏｓｏｆｔインターネット・インフォメーション・サービス、ＮＧＩＮＸなどのソフトウェアを実行するコンピュータまたはコンピュータとして実現することができる。他の実施形態では、内部フロントエンドシステム１０５は、システム１００に示されているシステムまたは装置（および図示されていない他の装置）からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得された情報に基づいて受信された要求に応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行してもよい。
【００３２】
いくつかの実施形態では、内部フロントエンドシステム１０５は、ウェブキャッシングシステム、データベース、検索システム、支払いシステム、分析システム、注文監視システムなどのうちの１つまたは複数を含むことができる。一態様では、内部フロントエンドシステム１０５は、これらのシステムのうちの１つまたは複数を備えることができ、別の態様では、内部フロントエンドシステム１０５は、これらのシステムのうちの１つまたは複数に接続されたインターフェース（たとえば、サーバ間、データベース間、または他のネットワーク接続）を備えることができる。
【００３３】
輸送システム１０７は、いくつかの実施形態では、システム１００内のシステムまたはデバイスとモバイルデバイス１０７Ａ〜１０７Ｃとの間の通信を可能にするコンピュータシステムとして実装され得る。輸送システム１０７は、いくつかの実施形態では、１つまたは複数のモバイルデバイス１０７Ａ〜１０７Ｃ（例えば、携帯電話、スマートフォン、ＰＤＡなど）から情報を受信することができる。例えば、いくつかの実施形態では、モバイルデバイス１０７Ａ〜１０７Ｃは、配達員によって操作されるデバイスを備えてもよい。配達作業員は、正社員、一時社員、またはシフト社員であってもよく、モバイルデバイス１０７Ａ〜１０７Ｃを利用して、ユーザによって注文された製品を含む荷物の配達を行うことができる。例えば、荷物を配達するために、配達作業者は、どの荷物を配達すべきか、およびどこに配達すべきかを示す通知をモバイルデバイス上で受信することができる。配達作業者は、配達場所に到着すると、荷物を（例えば、トラックの後ろに、または荷物のクレートに）配置し、モバイルデバイスを使用して荷物上の識別子（例えば、バーコード、画像、テキストストリング、ＲＦＩＤタグなど）に関連するデータをスキャンまたは他の方法で取り込み、荷物を（例えば、前面ドアに置いたままにし、セキュリティガードを付けたままにし、受取人に渡すなどによって）配達することができる。さらに、モバイル機器１０７Ａ−Ｃは、モバイル機器１０７Ａ−Ｃが輸送システム１０７と通信することを可能にするアプリケーション及び／又は通信ソフトウェアを実行し、モバイル機器１０７Ａ−Ｃに含まれる表示装置を介してインターフェース上にコンテンツを生成し表示することができる。例えば、モバイルデバイス１０７Ａ〜Ｃは、配達関連情報を輸送システム１０７に送信するためにモバイルアプリケーションを実行することができる。いくつかの実施形態では、配達作業者は、荷物の写真（複数可）をキャプチャすることができ、および／またはモバイルデバイスを使用して署名を取得することができる。モバイルデバイスは、例えば、時間、日付、ＧＰＳ位置、写真、配達作業者に関連付けられた識別子、モバイルデバイスに関連付けられた識別子などを含む、配達に関する情報を含む通信を輸送システム１０７に送信することができる。輸送システム１０７は、システム１００内の他のシステムによるアクセスのために、この情報をデータベース（図示せず）に記憶することができる。輸送システム１０７は、いくつかの実施形態では、この情報を使用して、特定の荷物の位置を示す追跡データを準備し、他のシステムに送信することができる。
【００３４】
いくつかの実施形態では、あるユーザは、１つの種類のモバイルデバイスを使用することができる（例えば、正社員は、バーコードスキャナ、スタイラス、および他のデバイスなどのカスタムハードウェアを有する専用のＰＤＡを使用することができる）が、他のユーザは、他の種類のモバイルデバイスを使用することができる（例えば、一時的またはシフト労働者は、既製のモバイル電話および／またはスマートフォンを利用することができる）。
【００３５】
いくつかの実施形態では、輸送システム１０７は、ユーザを各デバイスに関連付けることができる。例えば、輸送システム１０７は、ユーザ（例えば、ユーザ識別子、従業員識別子、または電話番号によって表される）と移動装置（例えば、国際移動装置識別子（ＩＭＥＩ）、国際移動加入識別子（ＩＭＳＩ）、電話番号、汎用一意識別子（ＵＵＩＤ）、またはグローバル一意識別子（ＧＵＩＤ）によって表される）との間の関連付けを記憶することができる。輸送システム１０７は、とりわけ、作業者の位置、作業者の効率、または作業者の速度を決定するために、この関連付けを、配達時に受信されたデータと共に使用して、データベースに格納されたデータを分析することができる。
【００３６】
売り手ポータル１０９は、いくつかの実施形態では、売り手または他の外部エンティティがシステム１００内の１つまたは複数のシステムと電子的に通信することを可能にするコンピュータシステムとして実装され得る。例えば、売り手は、コンピュータシステム（図示せず）を利用して、売り手が売り手ポータル１０９を使用してシステム１００を通して売りたい製品について、製品情報、注文情報、連絡先情報などをアップロードまたは提供することができる。
【００３７】
いくつかの実施形態では、出荷および注文追跡システム１１１は、（例えば、デバイス１０２Ａ〜１０２Ｂを使用するユーザによって）顧客によって注文された製品を含むパッケージの位置に関する情報を受信し、格納し、転送するコンピュータシステムとして実装され得る。いくつかの実施形態では、出荷および注文追跡システム１１１は、顧客によって注文された製品を含むパッケージを配送する出荷会社によって運営されるウェブサーバ（図示せず）からの情報を要求または格納することができる。
【００３８】
いくつかの実施形態では、出荷および注文追跡システム１１１は、システム１００に示されるシステムからの情報を要求し、記憶することができる。例えば、出荷及び注文追跡システム１１１は、輸送システム１０７から情報を要求することができる。上述のように、輸送システム１０７は、ユーザ（例えば、配達作業員）または車両（例えば、配達トラック）のうちの１つ以上に関連付けられた１つ以上のモバイルデバイス１０７Ａ〜１０７Ｃ（例えば、携帯電話、スマートフォン、ＰＤＡなど）から情報を受信してもよい。いくつかの実施形態では、出荷および注文追跡システム１１１はまた、労働力管理システム（ＷＭＳ）１１９から情報を要求して、フルフィルメントセンター（例えば、フルフィルメントセンター２００）内の個々の製品の位置を決定することができる。出荷および注文追跡システム１１１は、輸送システム１０７またはＷＭＳ  １１９のうちの１つまたは複数からデータを要求し、それを処理し、要求に応じてそれをデバイス（たとえば、ユーザデバイス１０２Ａおよび１０２Ｂ）に提示することができる。
【００３９】
いくつかの実施形態では、フルフィルメント最適化（ＦＯ）システム１１３は、他のシステム（例えば、外部フロントエンドシステム１０３および／または出荷および注文追跡システム１１１）からの顧客注文に関する情報を記憶するコンピュータシステムとして実装されてもよい。ＦＯシステム１１３はまた、特定のアイテムがどこに保持または格納されるかを記述する情報を格納してもよい。たとえば、顧客が注文した特定のアイテムは１つのフルフィルメントセンターにのみ保存され、他の特定のアイテムは複数のフルフィルメントセンターに保存される場合がある。さらに他の実施形態では、特定のフルフィルメントセンターは、特定のセットのアイテム（例えば、生鮮食品または冷凍製品）のみを格納するように設計されてもよい。ＦＯシステム１１３は、この情報ならびに関連する情報（例えば、数量、サイズ、受領日、有効期限など）を格納する。
【００４０】
ＦＯシステム１１３はまた、各製品について対応するＰＤＤ  （約束納期）を計算することができる。ＰＤＤは、いくつかの実施形態では、１つまたは複数の要因に基づくことができる。例えば、ＦＯシステム１１３は、製品の過去の需要（例えば、その製品がある期間中に何回注文されたか）、製品の予想需要（例えば、来るべき期間中にその製品を注文するために何人の顧客が予想されるか）、ある期間中にいくつの製品が注文されたかを示すネットワーク全体の過去の需要、来るべき期間中にいくつの製品が注文されることが予想されるかを示すネットワーク全体の予想需要、各フルフィルメントセンタ２００に格納された製品の１つまたは複数のカウント、その製品の予想または現在の注文などに基づいて、製品のＰＤＤを計算することができる。
【００４１】
いくつかの実施形態では、ＦＯシステム１１３は、定期的に（例えば、１時間ごとに）各製品のＰＤＤを決定し、それをデータベースに格納して、検索または他のシステム（例えば、外部フロントエンドシステム１０３、ＳＡＴシステム１０１、出荷および注文追跡システム１１１）に送信することができる。他の実施形態では、ＦＯシステム１１３は、１つまたは複数のシステム（例えば、外部フロントエンドシステム１０３、ＳＡＴシステム１０１、出荷および注文追跡システム１１１）から電子要求を受信し、オンデマンドでＰＤＤを計算することができる。
【００４２】
フルフィルメントメッセージングゲートウェイ１１５は、いくつかの実施形態では、ＦＯシステム１１３などのシステム１００内の１つ以上のシステムから１つのフォーマットまたはプロトコルで要求または応答を受信し、それを別のフォーマットまたはプロトコルに変換し、変換されたフォーマットまたはプロトコルで、ＷＭＳ  １１９または３パーティフルフィルメントシステム１２１Ａ、１２１Ｂ、または１２１Ｃなどの他のシステムに転送するコンピュータシステムとして実装することができる。
【００４３】
サプライチェーン管理（ＳＣＭ）システム１１７は、いくつかの実施形態では、予測機能を実行するコンピュータシステムとして実装することができる。例えば、ＳＣＭシステム１１７は、例えば、製品に対する過去の需要、製品に対する予想される需要、ネットワーク全体の過去の需要、ネットワーク全体の予想される需要、各フルフィルメントセンタ２００に格納されたカウント製品、各製品に対する予想または現在の注文などに基づいて、特定の製品に対する需要のレベルを予測することができる。この予測されたレベルおよびすべてのフルフィルメントセンターにわたる各製品の量に応答して、ＳＣＭシステム１１７は、特定の製品に対する予測された需要を満たすのに十分な量を購入し、在庫するための１つまたは複数の購入注文を生成することができる。
【００４４】
労働力管理システム（ＷＭＳ）１１９は、ある実施形態では、ワークフローを監視するコンピュータシステムとして実装されてもよい。例えば、ＷＭＳ  １１９は、個別のイベントを示すイベントデータを個々のデバイス（例えば、デバイス１０７Ａ〜１０７Ｃまたは１１９Ａ〜１１９Ｃ）から受信することができる。例えば、ＷＭＳ  １１９は、パッケージを走査するためにこれらの装置の１つの使用を示すイベントデータを受信してもよい。フルフィルメントセンター２００および図２に関して以下で説明するように、フルフィルメントプロセス中に、パッケージ識別子（例えば、バーコードまたはＲＦＩＤタグデータ）を、特定の段階で機械によってスキャンまたは読み取ることができる（例えば、自動またはハンドヘルドバーコードスキャナ、ＲＦＩＤリーダ、高速カメラ、タブレット１１９Ａ、モバイルデバイス／ＰＤＡ  １１９Ｂ、コンピュータ１１９Ｃなどのデバイス）。ＷＭＳ  １１９は、パッケージ識別子、時間、日付、位置、ユーザ識別子、またはその他の情報と共に、パッケージ識別子の走査または読取りを示す各イベントを対応するデータベース（図示せず）に格納し、この情報を他のシステム（例えば、出荷および注文追跡システム１１１）に提供することができる。
【００４５】
ＷＭＳ  １１９は、いくつかの実施形態では、１つまたは複数のデバイス（たとえば、デバイス１０７Ａ〜１０７Ｃまたは１１９Ａ〜１１９Ｃ）をシステム１００に関連する１つまたは複数のユーザに関連付ける情報を記憶することができる。例えば、いくつかの状況では、ユーザ（パートまたはフルタイムの従業員など）は、ユーザがモバイルデバイスを所有するモバイルデバイス（例えば、モバイルデバイスはスマートフォンである）に関連付けられ得る。他の状況では、ユーザは、ユーザがモバイルデバイスを一時的に保管しているという点で、モバイルデバイスに関連付けられてもよい（例えば、ユーザは、日の始めにモバイルデバイスをチェックアウトし、日中にモバイルデバイスを使用し、日の終わりにモバイルデバイスを戻してもよい）。
【００４６】
ＷＭＳ  １１９は、いくつかの実施形態では、システム１００に関連する各ユーザの作業ログを維持することができる。例えば、ＷＭＳ  １１９は、任意の割り当てられたプロセス（例えば、トラックのアンロード、ピックゾーンからのアイテムのピッキング、リビン壁工事（rebin wall work）、アイテムのパッキング）、ユーザ識別子、位置（例えば、フルフィルメントセンタ２００内のフロアまたはゾーン）、従業員によってシステムを通って移動されたユニットの数（例えば、ピッキングされたアイテムの数、パッキングされたアイテムの数）、デバイス（例えば、デバイス１１９Ａ〜１１９Ｃ）に関連付けられた識別子などを含む、各従業員に関連付けられた情報を記憶することができる。いくつかの実施形態では、ＷＭＳ  １１９は、デバイス１１９Ａ〜１１９Ｃ上で動作するタイムキーピングシステムなどのタイムキーピングシステムからチェックインおよびチェックアウト情報を受信することができる。
【００４７】
第三者フルフィルメント（３ＰＬ）システム１２１Ａ〜１２１Ｃは、いくつかの実施形態では、ロジスティクスおよび製品のサードパーティプロバイダに関連するコンピュータシステムを表す。例えば、（図２に関して以下に説明するように）いくつかの製品がフルフィルメントセンター２００に保管されている間、他の製品はオフサイトで保管されてもよく、オンデマンドで生産されてもよく、またはそうでなければフルフィルメントセンター２００に保管するために利用できなくてもよい。３ＰＬシステム１２１Ａ〜１２１Ｃは、ＦＯシステム１１３から（例えば、ＦＭＧ  １１５を介して）注文を受信するように構成されてもよく、製品および／またはサービス（例えば、配送または設置）を顧客に直接提供してもよい。いくつかの実施形態では、３ＰＬシステム１２１Ａ〜１２１Ｃのうちの１つまたは複数は、システム１００の一部とすることができ、他の実施形態では、３ＰＬシステム１２１Ａ〜１２１Ｃのうちの１つまたは複数は、システム１００の外部（例えば、サードパーティプロバイダによって所有または運営される）とすることができる。
【００４８】
いくつかの実施形態では、フルフィルメントセンターオースシステム（ＦＣオース）１２３は、様々な機能を有するコンピュータシステムとして実装されてもよい。例えば、いくつかの実施形態では、ＦＣ  Ａｕｔｈ  １２３は、システム１００内の１つまたは複数の他のシステムのためのシングルサインオン（ＳＳＯ）サービスとして働くことができる。例えば、ＦＣ認証１２３は、ユーザが内部フロントエンドシステム１０５を介してログインすることを可能にし、ユーザが出荷および注文追跡システム１１１でリソースにアクセスする同様の特権を有することを決定し、ユーザが２回目のログインプロセスを必要とせずにそれらの特権にアクセスすることを可能にする。ＦＣオース１２３は、他の実施形態では、ユーザ（例えば、従業員）が特定のタスクに自分自身を関連付けることを可能にすることができる。例えば、従業員の中には、電子デバイス（デバイス１１９Ａ〜１１９Ｃなど）を持たないことがあり、代わりに、１日のコース中に、フルフィルメントセンタ２００内でタスクからタスクへ、およびゾーンからゾーンへ移動することがある。ＦＣ  Ａｕｔｈ  １２３は、それらの従業員が、彼らがどのタスクを実行しているか、および彼らが異なる時刻にどのゾーンにいるかを示すことを可能にするように構成され得る。
【００４９】
労働管理システム（ＬＭＳ）１２５は、いくつかの実施形態では、従業員（フルタイムおよびパートタイムの従業員を含む）のための出勤および残業情報を記憶するコンピュータシステムとして実装されてもよい。例えば、ＬＭＳ  １２５は、ＦＣ  Ａｕｔｈ  １２３、ＷＭＡ  １１９、デバイス１１９Ａ〜１１９Ｃ、輸送システム１０７、および／またはデバイス１０７Ａ〜１０７Ｃから情報を受信することができる。
【００５０】
図１Ａに示される特定の構成は、単なる例である。例えば、図１Ａは、ＦＯシステム１１３に接続されたＦＣオースシステム１２３を示すが、全ての実施形態がこの特定の構成を必要とするわけではない。実際、いくつかの実施形態では、システム１００内のシステムは、インターネット、イントラネット、ＷＡＮ  （ワイドエリアネットワーク）、ＭＡＮ  （メトロポリタンエリアネットワーク）、ＩＥＥＥ  ８０２．１１ａ／ｂ／ｇ／ｎ規格に準拠する無線ネットワーク、専用線などを含む１つまたは複数の公衆またはプライベートネットワークを介して互いに接続され得る。いくつかの実施形態では、システム１００内のシステムの１つ以上は、データセンター、サーバファームなどに実装された１つ以上の仮想サーバとして実装されてもよい。
【００５１】
図２は、フルフィルメントセンター２００を示す。フルフィルメントセンター２００は、注文時に顧客に出荷するためのアイテムを格納する物理的位置の一例である。フルフィルメントセンタ（ＦＣ）２００は、複数のゾーンに分割することができ、各ゾーンは図２に示されている。いくつかの実施形態では、これらの「ゾーン」は、アイテムを受け取り、アイテムを格納し、アイテムを取り出し、アイテムを出荷するプロセスの異なる段階間の仮想分割と考えることができ、したがって、「ゾーン」は図２に示されているが、ゾーンの他の分割も可能であり、図２のゾーンは、いくつかの実施形態では、省略、複製、または修正することができる。
【００５２】
インバウンドゾーン２０３は、図１Ａのシステム１００を使用して製品を販売したい売り手からアイテムが受け取られるＦＣ  ２００の領域を表す。例えば、売り手は、トラック２０１を使用してアイテム２０２Ａ及び２０２Ｂを配送することができる。アイテム２０２Ａは、それ自体の出荷パレットを占有するのに十分な大きさの単一のアイテムを表すことができ、アイテム２０２Ｂは、スペースを節約するために同じパレット上に一緒に積み重ねられたアイテムのセットを表すことができる。
【００５３】
作業者は、インバウンドゾーン２０３内のアイテムを受け取ることができ、任意選択で、コンピュータシステム（図示せず）を使用してアイテムの損傷および正しさをチェックすることができる。例えば、作業者は、コンピュータシステムを使用して、アイテム２０２Ａおよび２０２Ｂの数量をアイテムの注文数量と比較することができる。数量が一致しない場合、その作業者は、アイテム２０２Ａまたは２０２Ｂのうちの１つまたは複数を拒否することができる。量が一致した場合、作業者はそれらのアイテム（例えば、人形、手すり、フォークリフト、または手動で使用）を、ゾーン２０５を緩衝するように動かすことができる。バッファゾーン２０５は、例えば、予測される需要を満たすのに十分な量のアイテムがピッキングゾーン内にあるため、ピッキングゾーン内で現在必要とされていないアイテムのための一時保管領域であってもよい。いくつかの実施形態では、フォークリフト２０６は、物品をバッファゾーン２０５の周り、およびインバウンドゾーン２０３とドロップゾーン２０７との間で移動させるように動作する。ピッキングゾーンにアイテム２０２Ａまたは２０２Ｂが必要な場合（例えば、予想される需要のため）、フォークリフトは、アイテム２０２Ａまたは２０２Ｂを落下ゾーン２０７に移動させることができる。
【００５４】
ドロップゾーン２０７は、アイテムがピッキングゾーン２０９に移動される前にアイテムを格納するＦＣ  ２００の領域であってもよい。ピッキングタスクに割り当てられた作業者（「ピッカー」）は、ピッキングゾーン内のアイテム２０２Ａおよび２０２Ｂに接近し、ピッキングゾーンのバーコードをスキャンし、モバイルデバイス（例えば、デバイス１１９Ｂ）を使用してアイテム２０２Ａおよび２０２Ｂに関連付けられたバーコードをスキャンすることができる。次いで、ピッカーは、アイテムをピッキング・ゾーン２０９に（例えば、カートの上に置くか、またはそれを運ぶことによって）取り込むことができる。
【００５５】
ピッキングゾーン２０９は、アイテム２０８が保管（storage）ユニット２１０に保管されるＦＣ  ２００の領域であってもよい。いくつかの実施形態では、保管ユニット２１０は、物理的な棚、本棚、箱、運搬箱、冷蔵庫、冷凍庫、冷蔵庫などのうちの１つまたは複数を含むことができる。いくつかの実施形態では、ピッキングゾーン２０９は、複数のフロアに編成されてもよい。いくつかの実施形態では、作業者または機械は、例えば、フォークリフト、エレベータ、コンベヤベルト、カート、ハンドトラック、ドリー、自動ロボットまたは装置、あるいは手動を含む複数の方法で、物品をピッキングゾーン２０９に移動させることができる。例えば、ピッカーは、アイテム２０２Ａおよび２０２Ｂをドロップゾーン２０７内のハンドトラックまたはカート上に置き、アイテム２０２Ａおよび２０２Ｂをピッキングゾーン２０９まで歩くことができる。
【００５６】
ピッカーは、保管ユニット２１０上の特定のスペースのような、ピッキングゾーン２０９内の特定のスポットにアイテムを配置する（または「収納する」）命令を受け取ることができる。例えば、ピッカーは、モバイルデバイス（例えば、デバイス１１９Ｂ）を使用してアイテム２０２Ａをスキャンすることができる。デバイスは、例えば、通路、棚、および位置を示すシステムを使用して、ピッカーがアイテム２０２Ａを収納すべき場所を示すことができる。次に、デバイスは、その位置にアイテム２０２Ａを格納する前に、その位置でバーコードをスキャンするようにピッカーに促すことができる。装置は、図１のＷＭＳ  １１９のようなコンピュータシステムに（例えば、無線ネットワークを介して）データを送信し、装置１１９Ｂを使用するユーザによってアイテム２０２Ａがその場所に格納されたことを示すことができる。
【００５７】
ユーザが注文を出すと、ピッカは、保管ユニット２１０から１つまたは複数のアイテム２０８を取り出すために、デバイス１１９Ｂ上で命令を受け取ることができる。ピッカーは、アイテム２０８を取り出し、アイテム２０８上のバーコードをスキャンし、それを搬送機構２１４上に置くことができる。搬送機構２１４はスライドとして表されているが、いくつかの実施形態では、搬送機構は、コンベヤベルト、エレベータ、カート、フォークリフト、ハンドトラック、台車、カートなどのうちの１つまたは複数として実施することができる。次に、アイテム２０８は、パッキングゾーン２１１に到着することができる。
【００５８】
パッキングゾーン２１１は、アイテムがピッキングゾーン２０９から受け取られ、最終的に顧客に出荷するためにボックスまたはバッグにパッキングされるＦＣ  ２００の領域であってもよい。パッキングゾーン２１１では、アイテムを受け取るように割り当てられた作業者（「リビン（rebin）作業者」）は、ピッキングゾーン２０９からアイテム２０８を受け取り、それがどの注文に対応するかを決定することができる。例えば、リビン作業者は、アイテム２０８上のバーコードをスキャンするために、コンピュータ１１９Ｃなどのデバイスを使用することができる。コンピュータ１１９Ｃは、どの注文アイテム２０８が関連付けられているかを視覚的に示すことができる。これは、例えば、注文に対応する壁２１６上のスペースまたは「セル」を含むことができる。注文が完了すると（例えば、セルが注文のためのすべてのアイテムを含むため）、リビン作業者は、注文が完了したことをパッキング作業者（または「パッカー」）に示すことができる。パッカーは、セルからアイテムを取り出し、それらを出荷のために箱または袋に入れることができる。その後、パッカーは、例えば、フォークリフト、カート、ドリー、ハンドトラック、コンベヤーベルトを介して、又は他の方法で、箱又はバッグをハブゾーン２１３に送ることができる。
【００５９】
ハブゾーン２１３は、パッキングゾーン２１１から全てのボックスまたはバッグ（「パッケージ」）を受け取るＦＣ  ２００の領域であってもよい。ハブゾーン２１３内の作業者および／または機械は、小包２１８を取り出し、各小包が配達エリアのどの部分に行こうとするかを決定し、小包を適切なキャンプゾーン２１５にルーティングすることができる。例えば、配達エリアが２つのより小さいサブエリアを有する場合、パッケージは、２つのキャンプゾーン２１５のうちの１つに行くことができる。いくつかの実施形態では、作業者または機械は、（例えば、デバイス１１９Ａ〜１１９Ｃのうちの１つを使用して）パッケージをスキャンして、その最終的な宛先を決定することができる。パッケージをキャンプゾーン２１５にルーティングすることは、例えば、（例えば、郵便番号に基づいて）パッケージが向けられている地理的エリアの一部を決定することと、地理的エリアの一部に関連付けられたキャンプゾーン２１５を決定することとを含むことができる。
【００６０】
キャンプゾーン２１５は、いくつかの実施形態では、１つまたは複数の建物、１つまたは複数の物理的空間、または１つまたは複数のエリアを備えることができ、ハブゾーン２１３から受け取られたパッケージは、ルートおよび／またはサブルートに分類される。いくつかの実施形態では、キャンプゾーン２１５は、ＦＣ  ２００から物理的に分離されているが、他の実施形態では、キャンプゾーン２１５は、ＦＣ  ２００の一部を形成することができる。
【００６１】
キャンプゾーン２１５内の作業者および／または機械は、例えば、既存のルートおよび／またはサブルートに対する目的地の比較、各ルートおよび／またはサブルートに対する作業負荷の計算、時刻、出荷方法、パッケージ２２０を出荷するためのコスト、パッケージ２２０内のアイテムに関連付けられたＰＤＤなどに基づいて、パッケージ２２０がどのルートおよび／またはサブルートに関連付けられるべきかを決定することができる。いくつかの実施形態では、作業者または機械は、（例えば、デバイス１１９Ａ〜１１９Ｃのうちの１つを使用して）パッケージをスキャンして、その最終的な宛先を決定することができる。パッケージ２２０が特定のルートおよび／またはサブルートに割り当てられると、作業者および／または機械は、出荷されるパッケージ２２０を移動させることができる。例示的な図２において、キャンプゾーン２１５は、トラック２２２、自動車２２６、および配達作業員２２４Ａおよび２２４Ｂを含む。いくつかの実施形態では、トラック２２２は、配達作業員２２４Ａによって駆動されてもよく、配達作業員２２４Ａは、ＦＣ  ２００のパッケージを配達する常勤の従業員であり、トラック２２２は、ＦＣ  ２００を所有、リース、または運営する同じ会社によって所有、リース、または運営される。いくつかの実施形態では、自動車２２６は、配達作業者２２４Ｂによって駆動されてもよく、配達作業者２２４Ｂは、必要に応じて（例えば、季節的に）配達している「屈曲」または時折の作業者である。自動車２２６は、配達員２２４Ｂによって所有され、リースされ、または操作されてもよい。
【００６２】
図３を参照すると、アウトバウンドフローをシミュレートするための最適化システム３０１を備えるシステムの例示的実施形態を示す概略ブロック図３００が示される。最適化システム３０１は、図１Ａのシステム１００内の１つまたは複数のシステムに関連付けることができる。例えば、最適化システム３０１は、ＳＣＭシステム１１７の一部として実施することができる。いくつかの実施形態では、最適化システム３０１は、各ＦＣ  ２００に関する情報、ならびに他のシステム（例えば、外部フロントエンドシステム１０３、出荷および注文追跡システム１１１、および／またはＦＯシステム１１３）からの顧客注文に関する情報を格納するコンピュータシステムとして実装されてもよい。例えば、最適化システム３０１は、ＦＣ間のＳＫＵの配分を記述する情報を記憶し得る、１つ以上のプロセッサ３０５を含み得る。したがって、最適化システム３０１の１つ以上のプロセッサ３０５は、各ＦＣに記憶されるＳＫＵのリストを記憶することができる。１つ以上のプロセッサ３０５は、ＦＣの各々に関連する制約を記述する情報を記憶することもできる。例えば、特定のＦＣは、最大容量、サイズ、冷蔵の必要性、重量、または他のアイテム要件による特定のアイテムとの適合性、移送のコスト、建物の制約、および／またはそれらの任意の組み合わせを含む制約を有し得る。例として、特定のアイテムは、１つのフルフィルメントセンターにのみ格納されてもよく、一方、特定の他のアイテムは、複数のフルフィルメントセンターに格納されてもよい。さらに他の実施形態では、特定のフルフィルメントセンターは、特定のセットのアイテム（例えば、生鮮食品または冷凍製品）のみを格納するように設計されてもよい。１つまたは複数のプロセッサ３０５は、この情報ならびに各ＦＣに関する関連情報（例えば、数量、サイズ、受領日、有効期限など）を格納または取り出し得る。
【００６３】
他の実施形態では、各ＦＣ  ２００に関連付けられた前述の情報のそれぞれは、データベース３０４に格納され得る。したがって、最適化システム３０１は、ネットワーク３０２を介してデータベース３０４から情報を検索することができる。データベース３０４は、情報を記憶し、ネットワーク３０２を介してアクセスされる１つ以上のメモリ装置を含んでもよい。例として、データベース３０４は、ＯｒａｃｌｅTMデータベース、ＳｙｂａｓｅTMデータベース、またはその他のリレーショナルデータベース、あるいはＨａｄｏｏｐシーケンスファイル、ＨＢａｓｅ、またはＣａｓｓａｎｄｒａなどの非リレーショナルデータベースを含むことができる。データベース３０４は、システム３００に含まれるものとして示されているが、代替的に、システム３００から離れて配置されてもよい。他の実施形態では、データベース３０４は、最適化システム３０１に組み込まれてもよい。データベース３０４は、データベース３０４のメモリ装置に記憶されたデータの要求を受信し処理し、データベース３０４からデータを提供するように構成された計算コンポーネント（例えば、データベース管理システム、データベースサーバ等）を含んでもよい。
【００６４】
システム３００はまた、ネットワーク３０２およびサーバ３０３を含んでもよい。最適化システム３０１、サーバ３０３、およびデータベース３０４は、ネットワーク３０２を介して接続され、互いに通信可能であってもよい。ネットワーク３０２は、無線ネットワーク、有線ネットワーク、または無線ネットワークと有線ネットワークの任意の組み合わせのうちの１つ以上とすることができる。例えば、ネットワーク３０２は、ファイバ光ネットワーク、受動光ネットワーク、ケーブルネットワーク、インターネットネットワーク、衛星ネットワーク、無線ＬＡＮ、モバイル通信のためのグローバルシステム、パーソナルコミュニケーションサービス（「ＰＣＳ」）、パーソナルエリアネットワーク（「ＰＡＮ」）、Ｄ−ＡＭＰＳ、Ｗｉ−Ｆｉ、固定Ｗｉｒｅｌｅｓｓ  Ｄａｔａ、ＩＥＥＥ  ８０２．１１ｂ、８０２．１５．１、８０２．１１ｎ及び８０２．１１ｇ、又はデータを送受信するための有線又は無線ネットワークの１つ又は複数を含むことができる。
【００６５】
さらに、ネットワーク３０２は、電話回線、光ファイバ、ＩＥＥＥイーサネット（登録商標）９０２．３、ワイドエリアネットワーク（「ＷＡＮ」）、ローカルエリアネットワーク（「ＬＡＮ」）、またはインターネットなどのグローバルネットワークを含むことができるが、これらに限定されない。また、ネットワーク３０２は、インターネット・ネットワーク、無線通信ネットワーク、セルラ・ネットワークなど、またはこれらの任意の組み合わせをサポートしてもよい。ネットワーク３０２は、スタンドアロンネットワークとして、または互いに協働して動作する、１つのネットワーク、または任意の数の上述の例示的なタイプのネットワークをさらに含むことができる。ネットワーク３０２は、それらが通信可能に結合されている１つ以上のネットワーク要素の１つ以上のプロトコルを利用することができる。ネットワーク３０２は、他のプロトコルとの間で、またはネットワーク装置の１つ以上のプロトコルとの間で変換することができる。ネットワーク３０２は、単一のネットワークとして示されているが、１つ以上の実施形態によれば、ネットワーク３０２は、例えば、インターネット、サービスプロバイダのネットワーク、ケーブルテレビネットワーク、企業ネットワーク、およびホームネットワークなどの複数の相互接続されたネットワークを備えてもよいことを理解されたい。
【００６６】
サーバ３０３は、ウェブサーバであってもよい。サーバ３０３は、例えば、インターネットのようなネットワーク（例えば、ネットワーク３０２）を介して、例えばユーザによってアクセス可能なウェブコンテンツを配信するハードウェア（例えば、１つ以上のコンピュータ）および／またはソフトウェア（例えば、１つ以上のアプリケーション）を含み得る。サーバ３０３は、例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰまたはｓＨＴＴＰ）を使用して、ユーザと通信することができる。ユーザに配信されるウェブページは、例えば、ＨＴＭＬ文書を含み得、これは、テキストコンテンツに加えて、画像、スタイルシート、およびスクリプトを含み得る。
【００６７】
例えば、ウェブブラウザ、ウェブクローラ、またはネイティブモバイルアプリケーションなどのユーザプログラムは、ＨＴＴＰを使用して特定のリソースに対する要求を行うことによって通信を開始することができ、そうすることができない場合、サーバ３０３はそのリソースまたはエラーメッセージで応答することができる。サーバ３０３は、例えば、ファイルのアップロードを含むウェブフォームをユーザが送信することができるように、ユーザからのコンテンツの受信を可能にするか、または容易にすることもできる。サーバ３０３は、例えば、アクティブ・サーバ・ページ、ＰＨＰ、又は他のスクリプト言語を用いたサーバ・サイド・スクリプティングをサポートしてもよい。したがって、サーバ３０３の挙動は別々のファイルでスクリプト化することができ、一方で実際のサーバソフトウェアは変更されない。
【００６８】
他の実施形態では、サーバ３０３は、アプリケーションサーバであってもよく、これは、その適用されるアプリケーションをサポートするための手順（例えば、プログラム、ルーチン、スクリプト）の効率的な実行専用のハードウェアおよび／またはソフトウェアを含んでもよい。サーバ３０３は、例えば、Ｊａｖａアプリケーションサーバ（例えば、Ｊａｖａプラットフォーム、Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ  （Ｊａｖａ  ＥＥ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）からの．ＮＥＴフレームワークス、ＰＨＰ  アプリケーションサーバなどのフレームワーク）を含む１つ以上のアプリケーションサーバフレームワークを含むことができる。様々なアプリケーションサーバーフレームワークは、包括的なサービス層モデルを含む可能性がある。サーバ３０３は、プラットフォーム自体によって定義されたＡＰＩを介して、例えば、システム１００を実装するエンティティにアクセス可能なコンポーネントのセットとして働くことができる。
【００６９】
以下で詳細に説明するように、最適化システム３０１の１つまたは複数のプロセッサ３０５は、１つまたは複数のＦＣへの製品のアウトバウンドフローの１つまたは複数のシミュレーションを生成するために遺伝的アルゴリズムを実装することができる。例えば、データベース３０４に記憶された各ＦＣに関連する情報に基づいて、１つ以上のプロセッサ３０５は、１つ以上のＦＣの間の製品、例えばＳＫＵのアウトバウンドフローを最適化することができる。いくつかの実施形態では、１つまたは複数のプロセッサ３０５は、ＳＫＵマッピングを介してアウトバウンドフローを最適化することができる。ＳＫＵマッピングは、ＦＣへのＳＫＵの割り当てであり、アウトバウンドネットワーク最適化は、ＳＫＵマッピングによって達成され得る。１つまたは複数のプロセッサ３０５は、ＳＫＵマッピングを介してシミュレーションを生成することができ、各シミュレーションは、ＦＣ間のＳＫＵの異なる配分（distribution）を含むことができる。各シミュレーションは、ランダムに生成され得る。したがって、１つまたは複数のプロセッサ３０５は、１つまたは複数のシミュレーションを生成し、州全体のネットワーク、地域ネットワーク、または全国ネットワークにわたって１つまたは複数のＦＣの出力レートを最も改善する最適シミュレーションを選択することによって、最適シミュレーションを見つけることができる。出力レートを改善する最適シミュレーションを決定することは、製品のアウトバウンドフローを最適化する際に重要であり得る。例えば、各ＦＣに各アイテムのうちの１つを配置することはより容易であり得るが、これは、特定のアイテムに対する顧客の需要が急速に増加する場合、ＦＣがアイテムを急速に使い果たすため、最適ではない場合がある。同様に、１つのアイテムのすべてが単一のＦＣに配置される場合、これは、様々な場所からの顧客がアイテムを望む可能性があるため、最適ではない可能性がある。その場合、アイテムは単一のＦＣ内でのみ利用可能であるため、１つのＦＣから別のＦＣにアイテムを転送するためのコストが増加する可能性があり、したがって、システムは効率を失うことになる。したがって、製品のアウトバウンドフローを最適化することを対象とするコンピュータ化された実施形態は、ＦＣ間のＳＫＵの最適な配分を決定するための新規かつ重要なシステムを提供する。
【００７０】
さらに別の実施形態では、１つまたは複数のプロセッサ３０５は、ビジネス制約などの１つまたは複数の制約を遺伝的アルゴリズムに実装することができる。制約は、例えば、各ＦＣの最大容量、各ＦＣに関連付けられたアイテム互換性、ＦＣに関連付けられたコスト、または各ＦＣに関連付けられた任意の他の特性を含むことができる。各ＦＣの最大容量は、各ＦＣにおいていくつのＳＫＵを保持することができるかに関連する情報を含むことができる。各ＦＣに関連付けられたアイテム互換性は、アイテムのサイズ、アイテムの重量、冷蔵の必要性、またはアイテム／ＳＫＵに関連付けられた他の要件のために、特定のＦＣに保持することができない特定のアイテムに関連付けられた情報を含むことができる。また、特定のアイテムが保持されることを可能にし、特定のアイテムが各ＦＣで保持されることを防止する、各ＦＣに関連付けられた建物制約が存在し得る。各ＦＣに関連するコストは、ＦＣ間転送コスト、クラスタ間輸送コスト（例えば、複数のＦＣからのアイテムの輸送から生じる輸送コスト）、ＦＣ間のアイテムのクロスストッキングから生じる輸送コスト、すべてのＳＫＵを１つのＦＣ内に有することに関連するパーセル当たり単位（ＵＰＰ）コスト、またはそれらの任意の組合せを含むことができる。
【００７１】
他の実施形態では、１つまたは複数のプロセッサ３０５は、効率を高めるために、遺伝的アルゴリズムの１つまたは複数の部分をキャッシュすることができる。例えば、遺伝的アルゴリズムの１つまたは複数の部分をキャッシュして、シミュレーションが生成されるたびにアルゴリズムのすべての部分を再実行する必要をなくすことができる。１つ以上のプロセッサ３０５は、各反復において有意な変化があるかどうかに基づいて、遺伝的アルゴリズムのどの部分がキャッシュされ得るかを決定し得る。例えば、いくつかのパラメータは、シミュレーションが生成されるたびに一貫したままであってもよく、他のパラメータは変化してもよい。毎回一貫したままであるパラメータは、シミュレーションが生成されるたびに再実行される必要はない。したがって、１つ以上のプロセッサ３０５は、これらの一貫性のあるパラメータをキャッシュすることができる。例えば、各ＦＣにおける最大容量は、シミュレーションが生成されるたびに変化しないことがあり、したがって、キャッシュされることがある。一方、シミュレーションごとに変化し得るパラメータには、例えば、顧客注文プロファイル、地域にわたる各ＳＫＵにおける顧客の関心、または収納モデルが含まれ得る。顧客注文プロファイルは、州全体、地域、または全国的なネットワークにわたる顧客注文の挙動を指すことができる。例えば、顧客注文プロファイルは、州全体、地域、または全国的なネットワークにわたる顧客注文の注文パターンを指すことができる。各ＳＫＵへの顧客の関心は、州全体、地域、または全国的なネットワークにわたる各アイテムに対する顧客の需要量を指すことができる。格納モデルは、ピッキングゾーン２０９内の特定のスポット、または各ＦＣ内の記憶ユニット２１０上の特定のスペースなど、特定のアイテムがどこに配置されるかを示すモデルを指すことができる。ストーイング（stowing）モデルはＦＣごとに異なる場合がある。遺伝的アルゴリズムの１つまたは複数の部分をキャッシュすることによって、１つまたは複数のプロセッサ３０５は、効率を高め、処理容量を低減することができる。
【００７２】
いくつかの実施形態では、シミュレーションアルゴリズムに追加される別の制約は、各ＦＣにおける顧客需要を含むことができる。１つまたは複数のプロセッサ３０５は、ＦＣのそれぞれにおける注文履歴を調べることによって、ＦＣのそれぞれにおける顧客需要を決定することが可能であり得る。他の実施形態では、１つまたは複数のプロセッサ３０５は、ＦＣのそれぞれにおける顧客需要をシミュレートすることができる。例えば、各ＦＣにおける少なくとも注文履歴に基づいて、１つまたは複数のプロセッサ３０５は、各ＦＣにおける顧客需要を予測および／またはシミュレートすることができる。ＦＣのそれぞれにおけるシミュレートされた顧客需要に少なくとも基づいて、１つまたは複数のプロセッサ３０５は、ＳＫＵ割当て、ＳＫＵマッピング、および製品のアウトバウンドフローを最適化するために、ＦＣ間でＳＫＵを割り当てることができる。
【００７３】
図４は、製品のアウトバウンドフローをシミュレートおよび最適化するための例示的な方法４００を示すフローチャートである。この例示的な方法は、例として提供される。図４に示される方法４００は、様々なシステムの１つまたは複数の組合せによって実行されるか、さもなければ実行されることができる。以下に説明する方法４００は、一例として図３に示す最適化システム３０１によって実行することができ、そのシステムの様々な要素は、図４の方法を説明する際に参照される。図４に示される各ブロックは、例示的な方法４００における１つまたは複数のプロセス、方法、またはサブルーチンを表す。図４を参照すると、例示的な方法４００は、ブロック４０１で開始することができる。
【００７４】
ブロック４０１で、１つまたは複数のプロセッサ３０５は、ＦＣ間のＳＫＵの初期配分（initial distribution）を含む、解の初期セットを受信することができる。いくつかの実施形態では、解の各セットは、各ＦＣに格納される１つまたは複数のＳＫＵのリストを備えることができる。１つまたは複数のＳＫＵは、対応する各アイテムに固有のものとすることができ、したがって、製造業者、材料、色、包装タイプ、重量、または対応する各アイテムに関連する任意の他の特性を示すことができる。解の各セットはまた、対応するＦＣに格納される１つまたは複数のＳＫＵのリストに基づいて、各ＦＣ内のいくつかの総出力を備えることができる。いくつかの態様では、解の各セット内のＦＣ間のＳＫＵの配分は、ランダムに生成され得る。例えば、１つ以上のプロセッサ３０５が一組の解を生成するときはいつでも、１つ以上のＳＫＵが１つ以上のＦＣの間でランダムに配分されてもよい。１つまたは複数のプロセッサ３０５が解のセットを生成するたびに、解の各セットは、ＦＣ間のＳＫＵの異なる配分を含むことができる。他の態様では、一組の解を別のシステムまたはデータストアから受信することができる。例えば、解のセットは、ＳＫＵの現在の配分に基づくことができる。
【００７５】
上述のように、解の各セットは、各ＦＣに関連する１つまたは複数の制約を考慮に入れることもできる。たとえば、１つまたは複数のプロセッサ３０５は、１組の解を生成するときに、１つまたは複数の制約（たとえば、各ＦＣの最大容量、各ＦＣに関連するアイテム互換性、ＦＣに関連するコスト、または各ＦＣに関連する任意の他の特性）を適用することができる。したがって、解のセット（例えば、ＦＣ間のＳＫＵの配分）は、各ＦＣに関連する様々な制約も考慮に入れながら、ランダムに生成され得る。
【００７６】
解の初期セットが受信されると、方法４００はブロック４０２に進むことができる。ブロック４０２で、１つまたは複数のプロセッサ３０５は、解の初期セット内の各解のシミュレーションを実行することができる。例えば、１つまたは複数のプロセッサ３０５は、解の初期セット内のＦＣ間のＳＫＵの初期配分に基づいて、製品のアウトバウンドフローをシミュレートすることができる。１つまたは複数のプロセッサ３０５は、ＦＣ間のＳＫＵの初期配分がどのくらい良好に実行されるかを判定するために、解の初期セット内の各解のシミュレーションを実行することができる。いくつかの実施形態では、１つまたは複数のプロセッサ３０５は、解の初期セット内の各解のシミュレーションを実行することによって、出力データを取得することができる。出力データは、解の各セット内の各ＦＣにおける総出力を含むことができる。
【００７７】
解の初期セットにおける各解に対するシミュレーションが実行されると、方法４００はブロック４０３に進むことができる。ブロック４０３で、１つまたは複数のプロセッサ３０５は、受信した解の初期セットの適合度を評価することができる。例えば、１つまたは複数のプロセッサ３０５は、ＦＣ間のＳＫＵの配置のための解の初期セットが最適であるかどうかを評価することができる。１つまたは複数のプロセッサ３０５が、初期シミュレーションにおける解が最適であると判定した場合、方法４００は、ブロック４０３Ａに進むことができる。ブロック４０３Ａで、１つまたは複数のプロセッサ３０５は、解の初期セットが最適であるため、終了条件に達したと判定することができる。ブロック４０３Ａで、１つまたは複数のプロセッサ３０５が、解の初期セットが最適であり、終了条件に達したと判定した場合、方法４００は、ブロック４０７に進むことができ、そこで、１つまたは複数のプロセッサ３０５は、方法４００を終了することができる。以下で詳細に説明するように、解の初期セットの適合性を評価することは、例えば、各ＦＣにおける総出力を計算すること、各解について各ＦＣの寄与率（participation ratio）を計算すること、または寄与率に基づいて各解についてスコアを決定することを含むことができる。各ＦＣにおける総出力は、各ＦＣからの品目／製品の総出力を含むことができる。ＦＣの寄与率は、ＦＣのネットワークの総出力のパーセンテージを示すことができる。例えば、ＦＣのそのようなネットワークは、州全体、地域全体、または全国規模とすることができる。
【００７８】
１つまたは複数のプロセッサ３０５が、初期シミュレーションがまだ最適ではなく、ブロック４０３Ａにおいて終了条件に到達していないと判断した場合、方法４００はブロック４０４に進み続けることができる。例えば、１つまたは複数のＦＣにおける寄与率が所定のしきい値だけ増加する場合、１つまたは複数のプロセッサ３０５は、解の初期セットが最適であると判定することができる。所定の閾値は、０．５％と１０％との間であってもよい。一例として、１つまたは複数のＦＣの寄与率に２％の増加がある場合、１つまたは複数のプロセッサ３０５は、解の初期セットが最適であると判定することができる。しかしながら、１つまたは複数のＦＣにおける寄与率が所定の閾値だけ増加しない場合、１つまたは複数のプロセッサ３０５は、シミュレーションが最適でないと判断することができ、したがって、方法４００はブロック４０４に継続してもよい。
【００７９】
ブロック４０４で、１つまたは複数のプロセッサ３０５は、初期解集合から１つまたは複数の解を選択して、シミュレーションアルゴリズム（例えば、遺伝的アルゴリズム）に供給（feed）して、１つまたは複数の追加解を生成することができる。選択され、シミュレーションアルゴリズムに供給される１つまたは複数の解は、生成される１つまたは複数の追加の解において一定のままであってもよい。
【００８０】
１つまたは複数の新しい追加の解が生成されると、方法４００はブロック４０５に進むことができる。ブロック４０５において、１つ以上のプロセッサ３０５は、１つ以上の新しい解の適応度を再度評価してもよい。ブロック４０３と同様に、１つまたは複数のプロセッサ３０５は、ＦＣ間のＳＫＵの配置のための１つまたは複数の新しい解が最適であるかどうかを評価することによって、１つまたは複数の新しいシミュレーションの適合性を評価することができる。例えば、１つまたは複数の新しい解の適合度を評価することは、例えば、各ＦＣにおける総出力を計算すること、各ＦＣの寄与率を計算すること、または各解について計算された寄与率に基づいて各解についてスコアを決定することを含むことができる。
【００８１】
１つまたは複数の新しい解の適合性を評価した後、方法４００はブロック４０６に進むことができる。ブロック４０６で、１つまたは複数のプロセッサ３０５は、終了条件に達したかどうかを判定することができる。いくつかの実施形態では、１つまたは複数のプロセッサ３０５が、１つまたは複数のＦＣにおける寄与率が所定のしきい値だけ増加したと判定した場合、終了条件に到達することができる。例えば、上述のように、１つまたは複数のプロセッサ３０５が、１つまたは複数のＦＣにおける寄与率が０．５％〜１０％の間で増加したと判定した場合、１つまたは複数のプロセッサ３０５は、シミュレーションが最適であり、終了条件に達したと判定することができる。他の実施形態では、１つまたは複数のＦＣの寄与率に２％の増加がある場合、１つまたは複数のプロセッサ３０５は、終了条件に達したと判定することができる。
【００８２】
１つまたは複数のプロセッサ３０５が、終了条件に達したと判定した場合、方法４００はブロック４０７に進むことができる。ブロック４０７で、１つまたは複数のプロセッサ３０５は、最適化を終了することができる。例えば、１つまたは複数のプロセッサ３０５は、シミュレーションアルゴリズムの実行を停止することができる。しかしながら、１つ以上のプロセッサ３０５が終了条件に達していないことを決定した場合、方法４００はブロック４０４に戻ることができ、ここで、１つ以上のプロセッサ３０５は、受け取った解の初期セットに生成された１つ以上の新しい解を追加して、新しい解セットを形成することができる。次いで、１つまたは複数のプロセッサ３０５は、新しい解のセットから１つまたは複数の解を再び選択し、新しい解のセットから選択された１つまたは複数の解をシミュレーションアルゴリズムに供給して、１つまたは複数の追加の解を生成することができる。終了条件に達するまで、１つ以上のプロセッサ３０５がこのプロセスを繰り返すことができる。例えば、１つまたは複数のプロセッサ３０５は、１つまたは複数のＦＣにおける寄与率の増加が、２％の増加などの所定のしきい値に達するまで、プロセスを繰り返すことができる。
【００８３】
図５は、製品のアウトバウンドフローをさらに詳細にシミュレーションおよび最適化するための方法４００（図４において）を示すフローチャートである。この例示的な方法は、例として提供される。図５に示される方法５００は、実行されるか、さもなければ、様々なシステムの１つまたは複数の組合せによって実行され得る。以下に説明する方法５００は、一例として図３に示す最適化システム３０１によって実行することができ、そのシステムの様々な要素は、図５の方法を説明する際に参照される。図５に示される各ブロックは、例示的な方法５００における１つまたは複数のプロセス、方法、またはサブルーチンを表す。図５を参照すると、例示的な方法５００は、ブロック５０１で開始することができる。
【００８４】
ブロック５０１では、図４のブロック４０１と同様に、１つまたは複数のプロセッサ３０５が、ＦＣ間のＳＫＵの初期配分を含む解の初期セットを受信することができる。いくつかの実施形態では、解の初期セットは、各ＦＣに格納される１つまたは複数のＳＫＵのリストを含むことができる。１つまたは複数のＳＫＵは、対応する各アイテムに固有のものとすることができ、したがって、製造業者、材料、色、包装タイプ、重量、または対応する各アイテムに関連する任意の他の特性を示すことができる。いくつかの態様では、解の各セットは、ランダムに生成され得る。例えば、１つ以上のプロセッサ３０５が一組の解を生成するときはいつでも、１つ以上のＳＫＵが１つ以上のＦＣの間でランダムに配分されてもよい。１つまたは複数のプロセッサ３０５が解のセットを生成するたびに、各シミュレーションは、ＦＣ間のＳＫＵの異なる配分を含むことができる。例えば、解の各セットは、ＦＣ間のＳＫＵの異なる配分を含むことができる。
【００８５】
上述のように、解の各セットは、各ＦＣに関連する１つまたは複数の制約を考慮に入れることもできる。例えば、１つまたは複数のプロセッサ３０５は、解の各セットを生成するときに、１つまたは複数の制約（例えば、各ＦＣの最大容量、各ＦＣに関連するアイテム互換性、ＦＣに関連するコスト、または各ＦＣに関連する任意の他の特性）を適用することができる。したがって、解のセット（例えば、ＦＣ間のＳＫＵの配分）は、各ＦＣに関連する様々な制約も考慮に入れながら、ランダムに生成され得る。
【００８６】
解の初期セットが受信されると、方法５００はブロック５０２に進むことができる。ブロック５０２で、１つまたは複数のプロセッサ３０５は、解の初期セット内の各解のシミュレーションを実行することができる。例えば、１つまたは複数のプロセッサ３０５は、解の初期セット内のＦＣ間のＳＫＵの初期配分に基づいて、製品のアウトバウンドフローをシミュレートすることができる。１つまたは複数のプロセッサ３０５は、ＦＣ間のＳＫＵの初期配分がどのくらい良好に実行されるかを判定するために、解の初期セット内の各解のシミュレーションを実行することができる。いくつかの実施形態では、１つまたは複数のプロセッサ３０５は、解の初期セット内の各解のシミュレーションを実行することによって、出力データを取得することができる。出力データは、解の各セット内の各ＦＣにおける総出力を含むことができる。例えば、出力データは、対応するＦＣに格納される１つまたは複数のＳＫＵのリストに基づいて、各ＦＣ内のいくつかの総出力を含むことができる。
【００８７】
解の初期セット内の各解に対するシミュレーションが実行されると、方法５００はブロック５０３に進むことができる。ブロック５０３で、１つまたは複数のプロセッサ３０５は、解の初期セット内の各解に対する寄与率を計算することができる。各解の寄与率を計算するために、１つまたは複数のプロセッサ３０５は、各ＦＣからのアイテム／プロダクトの合計出力、ならびにＦＣのネットワーク（たとえば、全国ネットワーク、地域規模ネットワーク、または州規模ネットワーク）のアイテム／プロダクトの合計出力を決定することができる。ＦＣの寄与率は、ＦＣのネットワーク（例えば、州全体、地域全体、または全国全体）の総出力のパーセンテージを示すことができる。
【００８８】
各解に対する寄与率が計算されると、方法５００はブロック５０４に進むことができる。ブロック５０４で、計算された寄与率に基づいて、１つまたは複数のプロセッサ３０５は、解の初期セット内の各解についてのスコアを決定することができる。スコアは、各解および各ＦＣについての寄与率の増加を示すことができる。例えば、１つまたは複数のプロセッサ３０５は、各ＦＣでの初期出力（例えば、初期シミュレーションにおける）と新しい出力（例えば、新しいシミュレーションにおける）との間の差、ならびに初期寄与率（例えば、初期シミュレーションにおける）と新しい寄与率（例えば、新しいシミュレーションにおける）との間の差を決定することができる。計算された寄与率の差に基づいて、１つまたは複数のプロセッサ３０５は、各ＦＣの寄与率の増加または減少があったかどうかを判定することができる。寄与率の差に基づいて、１つまたは複数のプロセッサ３０５は、各解にスコアを割り当てることができる。割り当てられたスコアは、新しい解が、各ＦＣの寄与率をどのくらい増加または減少させることができたか（例えば、ＦＣのネットワークの総出力に対する各ＦＣの寄与）を示すことができる。ＦＣの寄与率は、ＦＣのネットワーク（州全体、地域全体、または全国）の総出力のパーセンテージを示すことができる。
【００８９】
スコアが決定されると、方法５００はブロック５０５に進むことができる。ブロック５０５で、１つまたは複数のプロセッサ３０５は、最も高い決定されたスコアを有する少なくとも１つの解を選択することができる。例えば、１つまたは複数のプロセッサ３０５は、最も高い決定されたスコアを有する解の初期セット内の少なくとも１つの解を選択することができる。いくつかの実施形態では、１つまたは複数のプロセッサ３０５は、解の初期セットにおいて１個から１０個の間で解を選択できる。選択された解は、ＦＣのネットワーク（例えば、全国的なネットワーク、地域的なネットワーク、または州全体のネットワーク）の全体的な出力に対する対応するＦＣの寄与を最良に改善する解を含むことができる。いくつかの実施形態では、１つまたは複数のプロセッサ３０５は、アルゴリズムを使用して、１つまたは複数の追加の解を生成するための入力として選択される解を決定することができる。例えば、アルゴリズムは、選択されるべき各解の確率を決定することができる。例として、アルゴリズムに基づいて、最も高い決定されたスコアを有する解は、より低い決定されたスコアを有する解のセットにおける他の解よりも高い選択される確率を有してもよい。したがって、最も高い決定されたスコアを有する解（複数可）は、１つまたは複数の追加の解を生成するために入力として選択される、より高い確率を有いてよい。選択されるべき各解の確率を決定するために使用されるアルゴリズムは、以下のようにすることができる：
【００９０】
【数１】
2021513134.tif 000003
ここで、Ｓｉは解ｉのスコアであり、Ｐｉは解ｉが選択される確率である。  
【００９１】
方法５００は、５０６をブロックするように進んでもよいが、この場合、１つ以上のプロセッサ３０５は、決定された得点の最も高い選択解をシミュレーションアルゴリズム（例えば、遺伝子アルゴリズム）に供給することができる。ブロック５０７で、１つまたは複数のプロセッサ３０５は、１つまたは複数の追加の解を生成することができる。例えば、１つ以上のプロセッサ３０５は、選択された解（複数可）（ブロック５０６内）を、受信された解の初期セット（ブロック５０１内）に追加して、新しい解のセットを生成することができる。いくつかの実施形態では、最高の決定されたスコアを有する選択された解（複数可）は、生成された解の新しいセットにおいて一定のままであることができ、一方、解の新しいセットにおける１つまたは複数の他の解は、ＦＣにおける１つまたは複数の制約を考慮に入れながら、再びランダムに生成されることができる。したがって、１つまたは複数のプロセッサ３０５は、最高の決定されたスコアを有する１から１０の解を選択し、それらをシミュレーションアルゴリズムに供給して、１つまたは複数の追加の解を生成することができる。シミュレーションアルゴリズムに多数の解を供給することにより、プロセスは、毎回、より多くの可能な解（例えば、ＳＫＵの全ての可能な組み合わせ）を生成するであろうシステムと比較して、プロセッサ負荷を減らし、効率を増加させる。
【００９２】
シミュレーションアルゴリズムに供給される解は、生成される追加解で一定のままになる場合がある。例えば、シミュレーションアルゴリズムに供給される選択された解は、対応するＦＣ間のＳＫＵの特定の配分を含み得る。選択された解におけるＦＣ間のＳＫＵの配分は、生成された追加の解において変化しないままであってもよい。
【００９３】
ブロック５０７で１つまたは複数の追加の解が生成されると、方法５００はブロック５０８に進むことができる。ブロック５０２と同様に、ブロック５０８で、１つまたは複数のプロセッサ３０５は、（ブロック５０７で）生成された１つまたは複数の追加の解のシミュレーションを実行することができる。例えば、１つまたは複数のプロセッサ３０５は、１つまたは複数の追加の解内のＦＣ間のＳＫＵの分散がどの程度良好に実行されるかを判定するために、１つまたは複数の追加の解のシミュレーションを実行することができる。いくつかの実施形態では、１つまたは複数のプロセッサ３０５は、１つまたは複数の追加の解のそれぞれのシミュレーションを実行することによって出力データを取得することができる。出力データは、１つまたは複数の追加の解のそれぞれにおける各ＦＣにおける総出力を含むことができる。例えば、出力データは、対応するＦＣに格納される１つまたは複数のＳＫＵのリストに基づいて、各ＦＣ内のいくつかの総出力を含むことができる。
【００９４】
１つまたは複数の追加の解のシミュレーションが実行されると、方法５００は、ブロック５０９および５１０に進むことができる。ブロック５０３と同様に、ブロック５０９で、１つ以上のプロセッサ３０５が、１つ以上の追加の解のそれぞれについて寄与率を計算してもよい。ブロック５０４と同様に、ブロック５１０で、１つまたは複数のプロセッサ３０５は、寄与率に基づいて、１つまたは複数の追加の解のそれぞれについてスコアを決定することができる。
【００９５】
（例えば、図４のブロック４０３に関して上述したように）１つまたは複数の追加の解の適合性（fitness）を評価した後、方法５００はブロック５１１に進むことができる。ブロック５１１で、１つまたは複数のプロセッサ３０５は、終了条件に達したかどうかを判定することができる。いくつかの実施形態では、１つまたは複数のプロセッサ３０５が、１つまたは複数のＦＣにおける寄与率が所定のしきい値だけ増加したと判定した場合、終了条件に到達することができる。例えば、上述のように、１つまたは複数のプロセッサ３０５が、１つまたは複数のＦＣにおける寄与率が０．５％〜１０％の間で増加したと判定した場合、１つまたは複数のプロセッサ３０５は、シミュレーションが最適であり、終了条件に達したと判定することができる。他の実施形態では、１つまたは複数のＦＣの寄与率に２％の増加がある場合、１つまたは複数のプロセッサ３０５は、終了条件に達したと判定することができる。
【００９６】
１つ以上のプロセッサ３０５が、終了条件に達したと判断した場合、方法５００は、ブロック５１２に進むことができる。ブロック５１２で、１つまたは複数のプロセッサ３０５は、最高スコアを有する最適解（best-performance solution）を選択し、最適化プロセスを終了することができる。例えば、１つ以上のプロセッサ３０５は、最も高い決定されたスコア（例えば、寄与率の最も高い増加）を有する解を選択してもよい。選択された解は、最適解であってもよい。
【００９７】
一方、ブロック５１１で、１つまたは複数のプロセッサ３０５が、終了条件に達していないと判定した場合、方法５００は、ブロック５１１Ａに進むことができる。ブロック５１１Ａで、１つまたは複数のプロセッサ３０５は、（ブロック５０７で）生成された１つまたは複数の追加の解を（ブロック５０１で）受信された解の初期セットに追加して、新しい解のセットを生成することができる。次いで、方法５００は、解の新しいセットを用いてブロック５０５に戻ることができ、１つまたは複数のプロセッサ３０５は、最高の決定されたスコアを有する解の新しいセットから少なくとも１つの解を選択することができる。
【００９８】
少なくとも１つの解が選択されると、方法５００は再びブロック５０６に進むことができ、ブロック５０７で、１つまたは複数のプロセッサが、選択された解を新しい解のセットからシミュレーションアルゴリズムに供給して、１つまたは複数の追加の解を生成する。いくつかの実施形態では、解の新しいセットから選択された解は、（ブロック５０７で）生成された追加の解のうちの１つまたは複数であってもよく、および／または（ブロック５０１で）受信された解の初期セット内の解のうちの１つまたは複数であってもよい。１つまたは複数のプロセッサ３０５は、終了条件に達するまで、ブロック５０５〜５１１Ａでプロセスを繰り返すことができる。例えば、１つまたは複数のプロセッサ３０５は、１つまたは複数のＦＣにおける寄与率の増加が、２％の増加などの所定のしきい値に達するまで、プロセスを繰り返すことができる。
【００９９】
他の実施形態では、１つまたは複数のプロセッサ３０５は、プロセスが繰り返された回数が所定の閾値を超えるまで、プロセスを繰り返すことができる。従って、１つまたは複数のプロセッサ３０５は、プロセスが所定回数繰り返された後に、シミュレーションプロセスを終了してもよい。たとえば、１つまたは複数のプロセッサ３０５がプロセスを繰り返した回数、たとえば、追加のシミュレーションを生成した回数が所定のしきい値を超えた場合、終了条件に達していなくても、１つまたは複数のプロセッサ３０５は方法５００を終了することができる。いくつかの実施形態では、１つまたは複数のプロセッサ３０５は、ブロック５１１Ａに進み、ブロック５０５〜５０７に戻って、方法５００を終了する前に、約１０回、９回、７回、５回、または３回、１つまたは複数の追加の解を生成することができる。
【０１００】
１つ以上のプロセッサ３０５がブロック５１１で終了条件（termination condition）に達したと判断し、１つ以上のプロセッサ３０５がブロック５１２で最適解を選択する場合、方法５００はブロック５１３に進むことができる。ブロック５１３において、１つ以上のプロセッサ３０５が、最適解に基づいて、ＦＣ間にＳＫＵを割り当てることができる。先に論じたように、１つまたは複数のプロセッサ３０５は、最適解でシミュレートされた配分に従って、ＦＣの間でＳＫＵを割り振ることができる。最適の解決策に従ってＦＣ間でＳＫＵを割り当てることによって、１つまたは複数のプロセッサ３０５は、製品のアウトバウンドフローを最適化することができる。
【０１０１】
次に、図６を参照すると、生成されたシミュレーションの結果を含む例示的なサマリーページの図が示される。上述のように、１つまたは複数のプロセッサ３０５は、各ＦＣのための解のセットを備えるシミュレーションを生成することができる。１つまたは複数のプロセッサ３０５は、生成されたシミュレーションの結果をシステム１００内の１つまたは複数のシステムに送信することができる。たとえば、１つまたは複数のプロセッサ３０５は、生成されたシミュレーションの結果を内部フロントエンドシステム１０５に送信して、結果を表示することができる。例示的なシミュレーションの例示的な要約ページ６００を図６に示す。図６に見られるように、１つまたは複数のプロセッサ３０５は、新しいシミュレーション（例えば、「出力後」）における各ＦＣでの総出力と同様に、初期シミュレーション（例えば、「出力前」）における各ＦＣでの総出力を決定することができる。いくつかの実施形態では、１つまたは複数のプロセッサ３０５は、初期シミュレーションにおける総出力と新しいシミュレーションにおける総出力との間の差（例えば、「分散（variance）」）をさらに決定してもよい。差を計算することによって、１つまたは複数のプロセッサ３０５は、新しいシミュレーションが、各ＦＣの初期総出力、ならびにＦＣのネットワーク（たとえば、全国ネットワーク、地域規模ネットワーク、または州規模ネットワーク）の全体出力に対する各ＦＣの初期寄与を改善したかどうかを判定することができる。いくつかの態様では、１つまたは複数のプロセッサ３０５は、パーセンテージの分散を計算することができる。
【０１０２】
上述したように、１つまたは複数のプロセッサ３０５は、初期シミュレーションおよび新しいシミュレーションにおける各ＦＣの寄与率をさらに計算することができる。寄与率は、ＦＣのネットワーク（例えば、全国的なネットワーク、地域的なネットワーク、または州全体のネットワーク）の総出力に対する各ＦＣの寄与を示すことができる。ＦＣの寄与率は、ＦＣのネットワーク（州全体、地域全体、または全国）の総出力のパーセンテージを示すことができる。いくつかの実施形態では、１つまたは複数のプロセッサ３０５は、初期シミュレーション（例えば、「寄与率前（before participation ratio）」）および新しいシミュレーション（例えば、「寄与率後（after participation ratio）」）における各ＦＣの参加比率の間の差を決定することができる。各ＦＣの参加比率の間の差に基づいて、１つまたは複数のプロセッサ３０５は、各ＦＣに関連付けられた各解についてのスコアを決定することができる。例として、最大数だけ特定のＦＣの寄与率を上げた解に、最大スコアを与えることができる。同様に、特定のＦＣの寄与率を最大数だけ減少させた解には、最小スコアを与えることができる。例えば、ＦＣの寄与率を約２％上昇させる解に最大スコアを与えてもよい。
【０１０３】
他の実施形態では、１つまたは複数のプロセッサ３０５は、少なくとも分散に基づいて各解のスコアを決定することができる。分散は各ＦＣの参加比率の変化と相関するので、１つまたは複数のプロセッサ３０５は、最高の分散を返した解に最大スコアを与え、最低の分散を返した解に最小スコアを与えることができる。上述したように、１つ以上のプロセッサ３０５は、最高スコアを有する１つ以上の解を選択し、これらの解をシミュレーションアルゴリズムに供給して、追加のシミュレーションを生成することができる。いくつかの実施形態では、１つまたは複数のプロセッサ３０５は、上位２つの最高スコアを有する２つの解、または上位３つの最高スコアを有する３つの解を選択することができる。選択され、シミュレーションアルゴリズムに供給される解は、「最適シミュレーション」と呼ばれることがある。
【０１０４】
本開示は、その特定の実施形態を参照して示され、説明されてきたが、本開示は、修正なしに、他の環境において実施され得ることが理解され得る。前述の説明は、例示の目的で提示されている。これは、網羅的ではなく、開示された正確な形態または実施形態に限定されない。当業者であれば、開示された実施形態の明細書および実施を考慮することにより、修正および適応が明らかであろう。さらに、開示された実施形態の態様は、メモリに格納されるものとして説明されているが、当業者は、これらの態様が、例えば、ハードディスクまたはＣＤ  ＲＯＭ、あるいは他の形態のＲＡＭまたはＲＯＭ、ＵＳＢ媒体、ＤＶＤ、ブルーレイ、または他の光学ドライブ媒体などの二次記憶デバイスなどの他のタイプのコンピュータ可読媒体に格納されてもよいことを理解することができる。
【０１０５】
記載された説明および開示された方法に基づくコンピュータプログラムは、熟練した開発者の技術の範囲内である。様々なプログラムまたはプログラムモジュールは、当業者に知られている技法のいずれかを使用して作成することができ、または既存のソフトウェアに関連して設計することができる。例えば、プログラム・セクションまたはプログラム・モジュールは、Ｎｅｔ  Ｆｒａｍｅｗｏｒｋ、．ＮｅｔＣｏｍｐａｃｔ  Ｆｒａｍｅｗｏｒｋ  （およびＶｉｓｕａｌ  Ｂａｓｉｃ、Ｃ  などの関連言語）、Ｊａｖａ、Ｃ＋＋、Ｏｂｊｅｃｔｉｖｅ−Ｃ、ＨＴＭＬ、ＨＴＭＬ／ＡＪＡＸの組み合わせ、ＸＭＬ、またはＪａｖａ  アプレットを含むＨＴＭＬ内で、または、これらによって設計されてもよい。
【０１０６】
さらに、例示的な実施形態が本明細書で説明されてきたが、本開示に基づいて当業者によって理解されるように、同等の要素、修正、省略、組み合わせ（例えば、様々な実施形態にわたる態様の）、適応、および／または変更を有する任意のおよびすべての実施形態の範囲。クレームの限定は、クレームに使用されている文言に広く基づいて解釈されるものとし、本明細書に記載されている例に限定されるものではなく、又は出願手続中に解釈されるものとする。実施例は、非排他的であると解釈されるべきである。さらに、開示された方法のステップは、ステップを並べ替えること、および／またはステップを挿入または削除することを含む、任意の方法で修正されてもよい。したがって、本明細書および実施例は、単に例示的なものとみなされ、真の範囲および精神は、以下の特許請求の範囲およびそれらの均等物の全範囲によって示されることが意図される。
【図１Ａ】
2021513134.tif 000004
【図１Ｂ】
2021513134.tif 000005
【図１Ｃ】
2021513134.tif 000006
【図１Ｄ】
2021513134.tif 000007
【図１Ｅ】
2021513134.tif 000008
【図２】
2021513134.tif 000009
【図３】
2021513134.tif 000010
【図４】
2021513134.tif 000011
【図５】
2021513134.tif 000012
【図６】
2021513134.tif 000013
【国際調査報告】
2021513134.tif 000014
2021513134.tif 000015