(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-20
(45)【発行日】2023-04-28
(54)【発明の名称】Eコマースフルフィルメント用の効率的な経路計画のシステム、装置、および方法
(51)【国際特許分類】
G06Q 10/047 20230101AFI20230421BHJP
【FI】
G06Q10/047
(21)【出願番号】P 2021148361
(22)【出願日】2021-09-13
(62)【分割の表示】P 2020537734の分割
【原出願日】2020-02-12
【審査請求日】2021-09-13
(32)【優先日】2019-03-01
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520244544
【氏名又は名称】クーパン コーポレイション
(74)【代理人】
【識別番号】230104019
【氏名又は名称】大野 聖二
(74)【代理人】
【識別番号】100167933
【氏名又は名称】松野 知紘
(74)【代理人】
【識別番号】100174137
【氏名又は名称】酒谷 誠一
(74)【代理人】
【識別番号】100184181
【氏名又は名称】野本 裕史
(72)【発明者】
【氏名】モ,ウェンティン
(72)【発明者】
【氏名】セン,ヤンヤン
【審査官】山内 裕史
(56)【参考文献】
【文献】特開2016-095752(JP,A)
【文献】特開2010-078571(JP,A)
【文献】特開2018-073032(JP,A)
【文献】特開2018-026086(JP,A)
【文献】特開2004-238129(JP,A)
【文献】特開2005-158046(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
荷物の集荷および配送用の経路計画の装置であって、
命令を格納するメモリと、
所定の位置を接続する所定の経路を表すデータを受け取り、
前記所定の経路に沿った前記所定の位置の連続的な近さに基づいて、地理的領域内の単位エリアを決定
することであって、当該所定の位置の中の2つの位置の連続的な近さは、当該2つの位置の位置ベクトル間の距離を含み、
前記単位エリアのそれぞれに対して、前記単位エリアのベクトル表現を決定し、
前記所定の位置をカバーする単位エリアの訓練配送パターンを決定し、各訓練配送パターンは、訪問順序で順序付けられた前記単位エリアの少なくとも1つを含み、
少なくとも1つの訓練配送パターン内の少なくとも1つの単位エリアのベクトル表現を追加することによって、少なくとも1つの訓練配送パターンのベクトル表現を決定し、
少なくとも1つの訓練配送パターンのベクトル表現を第1の機械学習モデルに入力することによって、少なくとも1つの訓練配送パターンのスコアを決定し、
前記第1の機械学習モデルのパラメータを更新し、
複数の訓練配送パターンのすべての訪問シーケンスが前記所定の経路と整合しているという決定に基づいて、配送パターンを生成するための前記第1の機械学習モデルを決定し、
単位エリアの少なくとも1つを接続する経路を決定するための配送パターンを生成し、各配送パターンは、訪問シーケンスに関連する単位エリアの少なくとも1つを含み、
目標位置の受け取りに応じて、配送パター
ンを使用して目標位置を訪問するための目標経路を決定し、
前記目標経路をモバイル機器に送信する、
命令を実行するように構成された少なくとも一つのプロセッサと、
を備える装置。
【請求項2】
前記単位エリアは、第1の単位エリアと第2の単位エリアとを含み、前記単位エリアは、前記第2の単位エリアの位置を訪問する前に、第1の単位エリアのすべての位置を訪問するように構成される
請求項1に記載の装置。
【請求項3】
前記単位エリアのそれぞれのベクトル表現を決定することは、グラフ埋め込み技術を前記単位エリアのぞれぞれ内の位置のアドレスに適用することを含む
請求項1に記載の装置。
【請求項4】
前記スコアは、前記訪問シーケンスに沿って前記単位エリアの少なくとも1つを訪問するための効率レベルを示す
請求項1に記載の装置。
【請求項5】
前記地理的領域内の前記単位エリアを決定することは更に、
前記地理的領域内で配送可能位置を受け取ること、
第2の機械学習モデルを用いて、配送可能位置のそれぞれに対する位置ベクトルを決定することであって、2つの位置ベクトル間の距離は、配送ルートに沿った当該2つの位置ベクトルに対応する2つの位置の連続的な近さを示すこと、
配送可能位置のそれぞれに対して、配送可能位置の位置ベクトルおよび位置属性を含む特徴ベクトルを決定すること、
前記特徴ベクトル間の距離に基づいて配送可能位置をグループ化することによって前記単位エリアを決定することであって、単位エリアにグループ化された配送可能位置の特徴ベクトル間の距離は、所定の閾値内にあること、
を含む請求項1に記載の装置。
【請求項6】
前記位置属性は、地理的座標、建物の数、エリアの名称、道路の名称、または郵便番号の少なくとも1つを含む
請求項5に記載の装置。
【請求項7】
前記第2の機械学習モデルは、ニューラルネットワークモデルを含み、少なくとも1つのプロセッサは更に、
前記所定の位置のそれぞれに対して位置ベクトルを決定し、位置ベクトルの要素は、前記所定の位置のそれぞれのアドレスの属性を含み、
前記ニューラルネットワークモデルに現在位置の位置ベクトルを入力することにより、前記所定の位置の現在位置の確率値を決定し、各確率値は前記所定の位置の1つに対応し、前記現在位置の直後に訪問される前記所定の位置の1つが訪問される確率を示し、
前記所定のルートに沿った現在位置の直後の次の位置が最高の確率値に対応するかどうかを決定し、
前記次の位置が最高の確率値に対応していないという決定に基づいて、ニューラルネットワークモデルのパラメータを更新し、
前記次の位置が最高の確率値に対応するという決定に基づいて、前記次の位置の位置ベクトルをニューラルネットワークモデルに入力することによって、前記次の位置の確率値を決定する、
命令を実行するように構成される
請求項5に記載の装置。
【請求項8】
少なくとも1つのプロセッサは更に、
前記所定の経路に沿った所定の位置のそれぞれに続く位置が、前記所定の位置のそれぞれに対するニューラルネットワークモデルによって決定された確率値の中で最高の確率値に対応するという決定に基づいて、配送可能位置のそれぞれに対する位置ベクトルを決定するためのニューラルネットワークモデルを決定する
命令を実行するようにさらに構成される
請求項7に記載の装置。
【請求項9】
前記第1の機械学習モデルは、ニューラルネットワークモデルを含み、前記配送パターンを生成するように構成された少なくとも1つのプロセッサは更に、
前記単位エリアを用いて候補配送パターンを決定し、各候補配送パターンは、訪問シーケンスで順序付けられた前記単位エリアの少なくとも1つを含み、
前記候補配送パターン内の前記単位エリアの少なくとも1つのベクトル表現を追加することによって、各候補配送パターンのベクトル表現を決定し、
各候補配送パターンのベクトル表現を第1の機械学習モデルに入力することによって、各候補配送パターンに対するスコアを決定し、
所定の閾値よりも高いスコアを有する候補配送パターンとして前記配送パターンを生成する
命令を実行するように構成される
請求項1に記載の装置。
【請求項10】
少なくとも1つのプロセッサは更に、
訪問する
前記目標
位置を含むタスクデータを受け取り、
前記目標位置をカバーする単位エリアとして目標単位エリアを決定し、
前記目標単位エリアを結ぶ目標経路を決定し、各目標単位エリアは、目標ルートに沿って1回訪問される
命令を実行するように構成される
請求項1に記載の装置。
【請求項11】
前記第1の機械学習モデルは、ニューラルネットワークモデルを含み、前記目標単位エリアを結ぶ目標ルートを決定するように構成された少なくとも1つのプロセッサは更に、
前記目標単位エリアを結ぶ実行可能な配送パターンの少なくとも1つのセットを決定し、
前記目標単位エリアのすべてを訪問するための最短時間を有する実現可能な配送パターンとして、前記目標経路を決定する
命令を実行するように構成される
請求項10に記載の装置。
【請求項12】
荷物の集荷および配送用の経路計画のコンピュータ実装方法であって、
所定の位置を接続する所定の経路を表すデータを受け取ること、
少なくとも一つのプロセッサによって、前記所定の経路に沿った前記所定の位置の連続的な近さに基づいて、地理的領域内の単位エリアを決定すること
であって、当該所定の位置の中の2つの位置の連続的な近さは、当該2つの位置の位置ベクトル間の距離を含み、
少なくとも一つのプロセッサによって、前記単位エリアのそれぞれに対して、前記単位エリアのベクトル表現を決定すること、
少なくとも一つのプロセッサによって、前記単位エリアのそれぞれに対して、前記単位エリアのベクトル表現を決定すること、
少なくとも一つのプロセッサによって、前記所定の位置をカバーする単位エリアの訓練配送パターンを決定することであって、各訓練配送パターンは、訪問順序で順序付けられた前記単位エリアの少なくとも1つを含むこと、
少なくとも一つのプロセッサによって、少なくとも1つの訓練配送パターン内の少なくとも1つの単位エリアのベクトル表現を追加することによって、少なくとも1つの訓練配送パターンのベクトル表現を決定すること、
少なくとも一つのプロセッサによって、少なくとも1つの訓練配送パターンのベクトル表現を第1の機械学習モデルに入力することによって、少なくとも1つの訓練配送パターンのスコアを決定すること、
少なくとも一つのプロセッサによって、前記第1の機械学習モデルのパラメータを更新すること、
少なくとも一つのプロセッサによって、複数の訓練配送パターンのすべての訪問シーケンスが前記所定の経路と整合しているという決定に基づいて、配送パターンを生成するための前記第1の機械学習モデルを決定すること、
少なくとも一つのプロセッサによって、単位エリアの少なくとも1つを接続する経路を決定するための配送パターンを生成することであって、各配送パターンは、訪問シーケンスに関連する単位エリアの少なくとも1つを含むこと、
少なくとも一つのプロセッサによって、目標位置の受け取りに応じて、配送パター
ンを使用して目標位置を訪問するための目標経路を決定すること、
前記目標経路をモバイル機器に送信すること、
を含むコンピュータ実装方法。
【請求項13】
前記スコアは、前記訪問シーケンスに沿って前記単位エリアの少なくとも1つを訪問するための効率レベルを示す
請求項12に記載のコンピュータ実装方法。
【請求項14】
前記単位エリアを決定することは更に、
前記地理的領域内で配送可能位置を受け取ること、
第2の機械学習モデルを用いて、配送可能位置のそれぞれに対する位置ベクトルを決定することであって、2つの位置ベクトル間の距離は、配送ルートに沿った当該2つの位置ベクトルに対応する2つの位置の連続的な近さを示すこと、
配送可能位置のそれぞれに対して、配送可能位置の位置ベクトルおよび位置属性を含む特徴ベクトルを決定すること、
前記特徴ベクトル間の距離に基づいて配送可能位置をグループ化することによって前記単位エリアを決定することであって、単位エリアにグループ化された配送可能位置の特徴ベクトル間の距離は、所定の閾値内にあること、
を含む請求項12に記載のコンピュータ実装方法。
【請求項15】
前記位置属性は、地理的座標、建物の数、エリアの名称、道路の名称、または郵便番号の少なくとも1つを含む
請求項14に記載のコンピュータ実装方法。
【請求項16】
前記第2の機械学習モデルは、ニューラルネットワークモデルを含み、当該方法は更に、
前記所定の位置のそれぞれに対して位置ベクトルを決定することであって、位置ベクトルの要素は、前記所定の位置のそれぞれのアドレスの属性を含むこと、
前記ニューラルネットワークモデルに現在位置の位置ベクトルを入力することにより、前記所定の位置の現在位置の確率値を決定することであって、各確率値は前記所定の位置の1つに対応し、前記現在位置の直後に訪問される前記所定の位置の1つが訪問される確率を示すこと、
前記所定のルートに沿った現在位置の直後の次の位置が最高の確率値に対応するかどうかを決定すること、
前記次の位置が最高の確率値に対応していないという決定に基づいて、ニューラルネットワークモデルのパラメータを更新すること、
前記次の位置が最高の確率値に対応するという決定に基づいて、前記次の位置の位置ベクトルをニューラルネットワークモデルに入力することによって、前記次の位置の確率値を決定すること、
を含む請求項14に記載のコンピュータ実装方法。
【請求項17】
前記所定の経路に沿った所定の位置のそれぞれに続く位置が、前記所定の位置のそれぞれに対するニューラルネットワークモデルによって決定された確率値の中で最高の確率値に対応するという決定に基づいて、配送可能位置のそれぞれに対する位置ベクトルを決定するためのニューラルネットワークモデルを決定すること
を更に含む請求項16に記載のコンピュータ実装方法。
【請求項18】
各訓練配送パターンは、最大3つの単位エリアを含む
請求項12に記載のコンピュータ実装方法。
【請求項19】
前記第1の機械学習モデルは、ニューラルネットワークモデルを含み、前記配送パターンを生成することは、
前記単位エリアを用いて候補配送パターンを決定することであって、各候補配送パターンは、訪問シーケンスで順序付けられた前記単位エリアの少なくとも1つを含むこと、
前記候補配送パターン内の前記単位エリアの少なくとも1つのベクトル表現を追加することによって、各候補配送パターンのベクトル表現を決定すること、
各候補配送パターンのベクトル表現を第1の機械学習モデルに入力することによって、各候補配送パターンに対するスコアを決定すること、
所定の閾値よりも高いスコアを有する候補配送パターンとして前記配送パターンを生成すること、
を含む請求項12に記載のコンピュータ実装方法。
【請求項20】
訪問する
前記目標
位置を含むタスクデータを受け取ること、
前記目標位置をカバーする単位エリアとして目標単位エリアを決定すること、
前記目標単位エリアを結ぶ目標経路を決定することであって、各目標単位エリアは、目標ルートに沿って1回訪問されること、
を更に含む請求項14に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、集荷および配送のための効率的な経路計画のためのコンピュータ化されたシステムおよび方法に関する。具体的には、本開示の実施形態が、迅速なEコマース注文フルフィルメント用の効率的な経路計画に関する、独創的な非従来型システムに関する。
【背景技術】
【0002】
オンラインショッピングは最近人気がある。電子商取引(または「Eコマース」)業者は注文が発注されてから購入者に配送される注文の荷物までの時間を最小限に抑えることによって、ユーザ体験を改善しようと努力する。フルフィルメントプロセスの1つの時間のかかる部分は「ラストマイル配送」(輸送拠点から最終目的地までの配送)である。人口密度の高い都市部では、ラストマイル配送は配送需要が高く、人件費が高く、約束配送期間が厳しく、交通規制が複雑で、道路状況が急速に変化するため、とりわけ難しい場合がある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
都市部における配送経路計画のための従来の方法は、典型的にはトラックドライバーのような経験豊富な配送作業員に依存する。運転者は効率的な経路を発見するために、3~5年間同じ経路を運転しなければならない場合がある。経路計画のための従来のバックエンド・コンピュータシステムは、経路計画におけるそのような経験を内部化するには不十分な能力しか有していない。また、そのような発見された経路は一般に「柔軟性がない」ものであり、すなわち、従来のバックエンドシステムは、変化する配送状態に応じてそれらを調整することが難しく、ロードバランス問題につながる可能性がある。例えば、発見された経路のいくつかの目的地がいつかの日に異常に高い需要を有する場合、その経路の運転手は過負荷になることがあり、他の経路の運転手は十分に利用されないことがある。しかしながら、従来のバックエンドシステムは、この問題を処理するためにドライバの割り当てを適応的に再配置する際に最適化することができない。
【0004】
配送経路計画における別の課題は修復、すなわち、空間利用を最適化するために搬送車において荷物を分類することである。通常、宛先を訪れる順序は、復元に影響を及ぼす。例えば、配送または集荷のための荷物は、それらを記憶する逆順でドロップオフされる。それは、それらの場所および配置を調整することが困難である。復旧問題は、従来のバックエンドシステムが適応性で扱いにくい配送経路計画問題と相関がある。
【0005】
いくつかの配送経路計画方法は巡回セールスマン問題(TSP)として問題を扱い、それに対する近似解を求めることを試みる。TSPを解決する目的は、配送作業員(「巡回セールスマン」と同様)がすべての目的地を訪れるまでの期間を最小限に抑えることである。しかしながら、従来のバックエンドシステムは、右折が左折よりも容易であること、駐車スポットの駐車困難レベル、近隣の運転アクセシビリティ、Uターンのための運転時間等のような、TSPソリューションへの荷物配送又は集荷におけるいくつかのタスク特性又は状態を要因とするように最適化されていない。
【0006】
したがって、電子商取引の実行のための効率的で動的な経路計画が必要とされている。
【課題を解決するための手段】
【0007】
本発明の一態様は、荷物集荷および配送用の経路計画のコンピュータ実装方法を対象とする。このコンピュータ実装方法は少なくとも1つのプロセッサを介して、地理的領域内の所定の場所と、当該所定の場所を接続する所定の経路を表すデータとを受け取るステップと、少なくとも1つのプロセッサを使用して、所定の経路に沿った所定の場所の連続的な近さに基づいて、地理的領域内の単位エリアを決定するステップであって、単位エリアは第1の単位エリアおよび第2の単位エリアを含み、単位エリアは第1の単位エリア内のすべての場所が第2の単位エリアの訪問前に訪問されるように構成されるステップと、少なくとも1つのプロセッサを使用して、単位エリアのうちの少なくとも1つを接続する経路を決定するための配送パターンを生成するステップであって、配送パターンそれぞれが訪問順序に関連する単位エリアのうちの少なくとも1つを含むステップと、訪問する目標場所を含むタスクデータを受信することに応じて、配送パターンおよび目標データを使用して目標場所を訪問するための目標経路を決定するステップと、目標経路をモバイル装置へ送信するステップとを含む。
【0008】
本発明の別の態様は、荷物の集荷および配送のための経路計画の装置を対象とする。この装置は、メモリと、少なくとも1つのプロセッサとを含む。メモリは命令を記憶し、少なくとも1つのプロセッサは、地理的領域内の所定の場所と、当該所定の場所を接続する所定の経路を表すデータとを受信し、所定の経路に沿った所定の場所の連続的な近さに基づいて地理的領域内の単位エリアを決定し、単位エリアは第1の単位エリア内のすべての場所が第2の単位エリアの訪問場所の前に訪問されるように構成され、単位エリアのうちの少なくとも1つを接続する経路を決定するための配送パターンを生成し、配送パターンそれぞれは訪問シーケンスに関連付けられた単位エリアのうちの少なくとも1つを含み、訪問する目標場所を含むタスクデータを受信することに応じて、配送パターンおよび目標データを使用して目標場所を訪問するための目標経路を決定し、目標経路をモバイル装置へ送信する命令を実行するように構成されている。
【0009】
本発明のさらに別の態様は、集荷および配送のための経路計画のシステムに関する。このシステムは少なくとも1つのモバイル装置と、ネットワークを使用して前記少なくとも1つのモバイル装置に接続された経路計画コンピュータシステムとを含み、前記少なくとも1つのモバイル装置は命令を記憶するメモリと、前記モバイル装置の場所を示す場所データを決定し、前記場所データを前記経路計画コンピュータシステムへ送信する命令を実行するように構成された少なくとも1つのプロセッサと、を含む。前記経路計画コンピュータシステムは命令を記憶するメモリと、前記少なくとも1つのモバイル装置から、前記場所データを受け取る命令、当該場所データから、地理的領域内のテンプレート場所、および前記テンプレート場所を接続するテンプレート経路を表すデータを選択する命令、前記テンプレート経路に沿った前記テンプレート場所の連続した近さに基づいて当該地理的領域内の単位エリアを決定する命令、当該単位エリアは第1の単位エリアと第2の単位エリアとを含み、当該単位エリアは当該第2の単位エリアの訪問場所の前に当該第1の単位エリア内のすべての場所が訪問されるように構成されており、当該単位エリアのうちの少なくとも1つを決定するための配送パターンを生成する命令、配送パターンそれぞれは訪問シーケンスに関連する当該単位エリアのうちの少なくとも1つを含み、訪問する目標場所を含むタスクデータを少なくとも1つのモバイル装置から受け取る命令、当該配送パターンおよび当該目標データを使用して目標場所を訪問する用の目標経路を決定する命令、当該目標経路を当該少なくとも一つのモバイル装置のうちの一つへ送信する命令、を実行するように構成された少なくとも1つのプロセッサと、を備える。
【0010】
他のシステム、方法、およびコンピュータ可読媒体も、本明細書で説明される。
【図面の簡単な説明】
【0011】
【
図1A】
図1Aは、開示された実施形態と一致する、出荷、輸送、および物流オペレーションを可能にする通信のためのコンピュータ化されたシステムを備えるネットワークの例示的な実施形態を示す概略ブロック図である。
【
図1B】
図1Bは、サンプル検索結果を示す: 開示された実施形態と矛盾しない、インタラクティブなユーザインタフェース要素と共に、検索要求を満たす1つ以上の検索結果を含むページ(SRP)を示す。
【
図1C】
図1Cは、開示された実施形態と一致する、対話型ユーザインターフェース要素と共に製品および製品に関する情報を含む例示的な単一ディスプレイページ(SDP)を示す。
【
図1D】
図1Dは、開示された実施形態と一致する、対話型ユーザインターフェース要素と共に仮想ショッピングカート内のアイテムを含むサンプルカートページを示す。
【
図1E】
図1Eは開示された実施形態に一致する、仮想ショッピングカートからのアイテムを、購入および出荷に関する情報とともに、対話型ユーザインターフェース要素とともに含むサンプル注文ページを示す。
【
図2】
図2は、開示された実施形態と一致する、開示されたコンピュータ化されたシステムを利用するように構成された例示的なフルフィルメントセンタの概略図である。
【
図3】
図3は、開示された実施形態に一致する、集荷および配送のための経路計画の例示的な系の概略図である。
【
図4】
図4は、開示された実施形態に一致する、集荷および配送のための経路計画の例示的な処理の流れ図である。
【
図5】
図5は、開示された実施形態に一致する、例示的な単位エリアおよび例示的な配送模様を示す図である。
【
図6】
図6は、開示された実施形態と一致する、経路生成のための機械学習モデルを訓練する例示的プロセスのフローチャートである。
【
図7】
図7は、開示された実施形態に一致する、荷物集荷および配送のための経路生成の例示的な処理の流れ図である。
【発明を実施するための形態】
【0012】
以下の詳細な説明は、添付の図面を参照する。可能な限り、図面および以下の説明では、同一または類似の部分を参照するために、同一の参照番号が使用される。いくつかの例示的な実施形態が本明細書に記載されているが、修正、適応、および他の実施形態が可能である。例えば、置換、追加、または修正が図面に示された構成要素およびステップに行われてもよく、本明細書に記載された例示的な方法は、開示された方法にステップを置換、並べ替え、除去、または追加することによって修正されてもよい。したがって、以下の詳細な説明は、開示された実施形態および実施例に限定されない。むしろ、本発明の適切な範囲は、添付の特許請求の範囲によって定義される。
【0013】
本開示の実施形態は、効率的な経路計画のために構成されたシステム、装置、および方法を対象とする。本明細書で開示される実施形態によれば、システムは候補経路と候補経路に関連付けられた候補作業員との組み合わせを決定するためのヒューリスティック方法(または簡潔にするために「ヒューリスティック」)を生成するために、地理的領域内の経験配送作業員によって発見された効率的な経路を機械学習技法の入力として使用することができる。幾つかの実施例では機械学習技術が地理的領域を配送のための多数の単位エリアに分割することができ、これは発見的方法を生成するためのグラフ埋め込み方法のためのユニットとして使用され得る。
【0014】
本明細書に開示される実施形態によれば、システムはタスクの組み合わせを生成するために、ヒューリスティックに対するいくつかの利用可能な配送作業員およびいくつかの宛先場所を含む配送タスクデータを受信することができる。いくつかの実施形態では、利用可能な作業員が装置によって集荷されたそれらの動作状態データによって決定されてもよい。いくつかの実施形態では、ヒューリスティックが候補経路にサブ経路を追加または削
除することによって、または異なる複雑さの候補経路をそれぞれのタスク組合せにおける異なる分類の候補作業員に関連付けることによってなど、ロード不均衡を低減するタスク組合せを生成することができる。いくつかの実施形態では、ヒューリスティックが候補経路に沿った宛先場所の順序を決定することなどによって、復元問題も共緩和するタスク組合せを生成することができる。
【0015】
いくつかの実施形態では、システムが改良または最適化技法を使用して、対象作業員および目標経路を含む対象組合せを決定することができる。標的作業員は、標的組合せのための候補作業員から選択される。目標経路は、目標組合せの候補経路から選択される。タスクの組合せごとに、候補タスク持続時間は、候補作業員が目標経路の場所を訪れて配送および/または集荷タスクを完了するために推定される持続時間として決定することができる。最適化技法の結果として、対象タスク組合せに関連するタスク持続時間は、すべての候補タスク組合せの候補タスク持続時間の中で最も短いものとすることができる。言い換えれば、対象タスクの組み合わせは、トラベリングセールスマン問題(TSP)に対するヒューリスティック解であってもよい。発見的解は経験的配送作業員により発見された能率経路を用いて発見的手法を生成することにより、タスク特性に要因を与えることができる。
【0016】
図1Aを参照すると、出荷、輸送、および物流動作を可能にする通信のためのコンピュータ化されたシステムを含むシステムの例示的な実施形態を示す概略ブロック
図100が示されている。
図1Aに示すように、システム100は様々なシステムを含むことができ、その各々は、1つまたは複数のネットワークを介して互いに接続することができる。システムはまた、例えばケーブルを使用して、直接接続を介して互いに接続されてもよい。図示のシステムは、出荷権限技術(SAT)システム101、外部フロントエンドシステム103、内部フロントエンドシステム105、輸送システム107、モバイルデバイス107A、107B、107C、売り手ポータル109、出荷および注文追跡(SOT)システム111、フルフィルメント(履行)最適化(FO)システム113、フルフィルメントメッセージングゲートウェイ(FMG)115、サプライチェーン管理(SCM)システム117、労働力管理システム119、モバイルデバイス119A、119B、119C(フルフィルメントセンタ(FC)200の内部にあるものとして図示)、第三者フルフィルメントシステム121A、121B、121C、フルフィルメントセンタ認証システム(FC認証)123、労働管理システム(LMS)125を含む。
【0017】
SATシステム101は、いくつかの実施形態では注文ステータスおよび配送ステータスを監視するコンピュータシステムとして実装されてもよい。例えば、SAT装置101は注文がその約束配送日(PDD)を過ぎているかどうかを決定し、新しい注文を開始すること、配送されていない注文の品目を再出荷すること、配送されていない注文をキャンセルすること、注文するカスタマとのコンタクトを開始することなどを含む、適切な行動をとることができる。SAT装置101は、(特定の期間中に出荷された荷物の数などの)出力及び(出荷に使用するために受け取った空のボール紙箱の数などの)入力を含む他のデータを監視することもできる。また、SATシステム101はシステム100内の異なるデバイス間のゲートウェイとして機能し、外部フロントエンドシステム103およびFOシステム113などのデバイス間の通信(例えば、ストアアンドフォワードまたは他の技術を使用する)を可能にしてもよい。
【0018】
いくつかの実施形態では、外部フロントエンドシステム103が外部ユーザがシステム100内の1つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装することができる。例えば、システム100がシステムの提示によってユーザがアイテムの注文を行うことができるようにする実施形態では、外部フロントエンドシステム103が検索リクエストを受信し、アイテムページを提示し、決済情報を要請するウ
ェブサーバとして実装されてもよい。例えば、外部フロントエンドシステム103は、アパッチHTTPサーバー、マイクロソフトインターネットインフォメーションサービス、NGINX等のソフトウェアを実行するコンピュータ又はコンピュータとして実施することができる。他の実施形態では、外部フロントエンドシステム103が外部デバイス(例えば、モバイルデバイス102Aまたはコンピュータ102B)からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得した情報に基づいて受信した要求に対する応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行することができる。
【0019】
いくつかの実施形態では、外部フロントエンドシステム103がウェブキャッシングシステム、データベース、検索システム、または支払いシステムのうちの1つまたは複数を含むことができる。一態様では外部フロントエンドシステム103がこれらのシステムのうちの1つまたは複数を備えることができ、別の態様では外部フロントエンドシステム103がこれらのシステムのうちの1つまたは複数に接続されたインターフェース(例えば、サーバ間、データベース間、または他のネットワーク接続)を備えることができる。
【0020】
図1B、
図1C、
図1D、および
図1Eによって示されるステップの例示的な組は、外部フロントエンドシステム103のいくつかの動作を説明するのに役立つ。外部フロントエンドシステム103は提示および/またはディスプレイのために、システム100内のシステムまたはデバイスから情報を受信することができる。例えば、外部フロントエンドシステム103は、検索結果を含む1つ以上のウェブページをホスティングまたは提供することができる: ページ(SRP)(例えば、
図1B)、単一詳細ページ(SDP)(例えば
、
図1C)、カードページ(例えば、
図1D)、または注文ページ(例えば、
図1E)。ユーザデバイス(例えば、モバイルデバイス102Aまたはコンピュータ102Bを使用する)は外部フロントエンドシステム103にナビゲートし、サーチボックスに入力することによってサーチをリクエストすることができる。外部フロントエンドシステム103は、システム100内の1つまたは複数のシステムからリクエストすることができる。例えば、外部フロントエンドシステム103は、検索要求を満たす情報をFOシステム113に要求してもよい。また、外部フロントエンドシステム103は検索結果に含まれる商品ごとに、約束配送日または「PDD」を(FOシステム113から)リクエストし、受信することもできる。PDDは、いくつかの実施形態では、製品を含む荷物がいつユーザの所望の場所に到着するかの推定値、または、特定の期間内、例えば、その日の最後(午後11時59分)までに注文された場合、製品がユーザの所望の場所に配送されることを約束される日付の推定値を表すことができる(PDDはFOシステム113に関して以下でさらに説明される)。
【0021】
外部フロントエンドシステム103がその情報に基づいてSRP(例えば、
図1B)を
準備することができる。SRPは、検索要求を満たす情報を含むことができる。例えば、これは、検索要求を満たす製品の写真を含むことができる。SRPはまた、各製品についてのそれぞれの価格、または各製品についての強化された配送オプション、PDD、重み、規模、オファー、割引などに関する情報を含んでもよい。外部フロントエンドシステム103は(例えば、ネットワークを介して)要求側ユーザデバイスにSRPを送信することができる。
【0022】
次いで、ユーザデバイスは例えば、ユーザインターフェースをクリックまたはタップすることによって、または別の入力デバイスを使用して、SRP上で表される製品を選択することによって、SRPから製品を選択することができる。ユーザデバイスは選択された商品に関するリクエストを作成し、それを外部フロントエンドシステム103に送ることができる。これに応じて、外部フロントエンドシステム103は、選択された商品に関する情報をリクエストすることができる。例えば、情報は、それぞれのSRP上の製品につ
いて提示される情報を超える追加の情報を含むことができる。これは、例えば、貯蔵寿命、原産国、体重、大きさ、荷物中の品目の個数、取扱説明書、または生成物に関する他の事項を含むことができる。また、情報は(例えば、この製品および少なくとも1つの他の製品を購入した顧客のビッグデータおよび/または機械学習分析に基づく)類似の製品に対する推奨、頻繁に質問される質問に対する回答、顧客からのレビュー、製造業者情報、写真などを含むことができる。
【0023】
外部フロントエンドシステム103は受信したプロダクトインフォメーションに基づいて、SDP(単一ディテールページ)(例えば、
図1C)を準備することができる。SD
Pは、「今すぐ買う」ボタン、「カードに追加する」ボタン、数量フィールド、アイテムの写真などの他の対話型要素も含むことができる。SDPは、製品を提供する売り手のリストをさらに含むことができる。リストは各売り手が提供する価格に基づいて注文されてもよく、その結果、最低価格で製品を販売することを提案する売り手は最上位にリストされてもよい。リストは最高ランクの売り手が最上位にリストされるように、売り手ランキングに基づいて注文されてもよい。売り手ランキングは例えば、約束されたPDDを満たす売り手の過去の実績を含む、複数の要因に基づいて定式化されてもよい。外部フロントエンドシステム103は(例えば、ネットワークを介して)要求側ユーザデバイスにSDPを配送することができる。
【0024】
要求側ユーザデバイスは、製品情報をリストするSDPを受信してもよい。その後、SDPを受信すると、ユーザデバイスはSDPと対話することができる。例えば、要求側ユーザデバイスのユーザは、SDP上の「カートに入れる」ボタンをクリックするか、または他の方法で対話することができる。これは、ユーザに関連付けられたショッピングカートに製品を追加する。ユーザデバイスは、このリクエストを送信して、商品をショッピングカートに追加することができる(103)。
【0025】
外部フロントエンドシステム103はカートページ(例えば、
図1D)を生成することができる。カートページはいくつかの実施形態ではユーザが仮想「ショッピングカート」に追加した製品をリストし、ユーザデバイスは、SRP、SDP、または他のページ上のアイコンをクリックするか、または他の方法で対話することによって、カートページを要求してもよい。いくつかの実施形態では、カートページがユーザがショッピングカートに追加したすべての製品、ならびに各製品の数量、各製品毎の価格、関連する数量に基づく各製品の価格、PDDに関する情報、配送方法、出荷費用、ショッピングカート内の製品を修正するためのユーザインターフェース要素(例えば、数量の削除または修正)、他の製品を注文するかまたは製品の定期的な配送を設定するためのオプション、利息支払いを設定するためのオプション、購入を進めるためのユーザインターフェース要素などのカート内の製品に関する情報を列挙することができる。ユーザデバイスのユーザはショッピングカート内の製品の購入を開始するために、ユーザインターフェース要素(例えば、「今すぐ買う」と読むボタン)をクリックするか、さもなければユーザインターフェース要素と対話することができる。そうすると、ユーザデバイスは、購買を開始するためにこのリクエストを外部フロントエンドシステム103へ送信することができる。
【0026】
外部フロントエンドシステム103は購買を開始するためのリクエストを受信することに応じて、オーダーページ(例えば、
図1E)を生成することができる。注文ページはいくつかの実施形態ではショッピングカートからアイテムを再リストし、支払いおよび出荷情報の入力を要求する。例えば、注文ページはショッピングカート内のアイテムの購入者に関する情報(例えば、名前、住所、電子メールアドレス、電話番号)、受取人に関する情報(例えば、名前、住所、電話番号、配送情報)、出荷情報(例えば、配送および/または集荷の速度/方法)、支払情報(例えば、クレジットカード、銀行振込、小切手、記憶クレジット)、現金受領を要求するためのユーザインターフェース要素(例えば、税務
目的のための)などを要求する区画を含むことができる。外部フロントエンドシステム103は、注文ページをユーザデバイスへ送信することができる。
【0027】
ユーザデバイスはオーダページに情報を入力し、その情報を外部フロントエンドシステム103へ送信するユーザインターフェース要素をクリックするか、または他の方法で対話することができる。そこから、外部フロントエンドシステム103は買い物かご内の製品を用いて新しい注文の作成および加工を可能にするために、システム100内の様々なシステムに情報を送信することができる。
【0028】
いくつかの実施形態では、外部フロントエンドシステム103が売り手が注文に関する情報を送受信することを可能にするようにさらに構成されてもよい。
【0029】
内部フロントエンドシステム105はいくつかの実施形態では内部ユーザ(例えば、システム100を所有し、運営し、またはリースする団体の従業員)がシステム100内の1つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装することができる。例えば、ネットワーク101がシステムの提示によってユーザが品目の注文を行うことができるようにする実施形態では、内部フロントエンドシステム105は内部ユーザが注文に関する診断および統計情報を表示したり、品目情報を変更したり、注文に関する統計をレビューしたりすることができるウェブサーバとして実装されてもよい。例えば、内蔵フロントエンドシステム105は、アパッチHTTPサーバー、マイクロソフトインターネットインフォメーションサービス、NGINX等のソフトウェアを実行するコンピュータ又はコンピュータとして実現することができる。他の実施形態では、内蔵フロントエンドシステム105がシステム100に示されたシステムまたはデバイス(ならびに図示されていない他のデバイス)からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得された情報に基づいて受信された要求への応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行することができる。
【0030】
いくつかの実施形態では、内蔵フロントエンドシステム105がウェブキャッシングシステム、データベース、検索システム、支払いシステム、分析システム、注文監視システムなどのうちの1つまたは複数を含むことができる。一態様では内部フロントエンドシステム105がこれらのシステムのうちの1つまたは複数を備えることができ、別の態様では内部フロントエンドシステム105がこれらのシステムのうちの1つまたは複数に接続されたインターフェース(たとえば、サーバ間、データベース間、または他のネットワーク接続)を備えることができる。
【0031】
輸送システム107は、いくつかの実施形態ではシステム100内のシステムまたはデバイスとモバイルデバイス107A~107Cとの間の通信を可能にするコンピュータシステムとして実装されてもよい。いくつかの実施形態では、トランスポーテーションシステム107が1つまたは複数のモバイルデバイス107A~107C(例えば、携帯電話、スマートフォン、PDAなど)から受信することができる。例えば、いくつかの実施形態では、モバイルデバイス107A~107Cが配送作業員によって操作されるデバイスを含むことができる。配送作業員は、正社員、臨時社員、または交替社員であってもよく、モバイルデバイス107A~107Cを利用して、ユーザによって注文された製品を含む荷物の配送を行うことができる。例えば、荷物を配送するために、配送作業員は、どの荷物を配送すべきか、およびそれをどこに配送すべきかを示す通知をモバイルデバイス上で受信することができる。配送場所に到着すると、配送作業員は荷物を(例えば、トラックの後ろに、または荷物の箱に)配置し、モバイルデバイスを使用して荷物上の識別情報(例えば、バーコード、イメージ、文字列、RFIDタグなど)に関連するデータを走査または捕捉し、荷物を(例えば、前扉に置いたままにするか、警備員を置いたままにする
か、受信者に渡すなどによって)配送することができる。いくつかの実施形態では、配送作業員が荷物の写真をキャプチャすることができ、および/またはモバイルデバイスを使用してシグネチャを取得することができる。モバイルデバイスは例えば、時刻、日付、GPS場所、写真、配送作業員に関連付けられた識別子、モバイルデバイスに関連付けられた識別子などを含む配送に関する情報を含む情報を輸送機関107へ送信することができる。輸送システム107はシステム100内の他のシステムによるアクセスのために、この情報をデータベース(図示せず)に記憶することができる。輸送システム107はいくつかの実施形態ではこの情報を使用して、特定の荷物の場所を示す追跡データを準備し、他のシステムへ送信することができる。
【0032】
いくつかの実施形態ではあるユーザが1つの種類のモバイルデバイスを使用することができる(例えば、永久作業員はバーコードスキャナ、スタイラス、および他のデバイスなどのカスタムハードウェアと共に専用のPDAを使用することができる)が他のユーザは他の種類のモバイルデバイスを使用することができる(例えば、一時的または移動作業員は既製の携帯電話および/またはスマートフォンを利用することができる)。
【0033】
いくつかの実施形態では、輸送システム107がユーザを各デバイスに関連付けることができる。例えば、輸送システム107はユーザ(例えば、ユーザ識別子、従業員識別子、または電話番号)とモバイルデバイス(例えば、国際モバイル装置識別子(IMEI)、国際移動加入識別子(IMSI)、電話番号、汎用一意識別子(UUID)、またはグローバル一意識別子(GUID)によって表される)との間の関連を記憶することができる。交通機関107はこの関連付けを、配送上で受信されたデータと共に使用して、とりわけ、作業員の場所、作業員の有効性、または作業員のスピードを決定するために、データベースに格納されたデータを分析することができる。
【0034】
売り手ポータル109は、いくつかの実施形態では売り手または他の外部エンティティがシステム100内の1つまたは複数のシステムと電子的に通信することを可能にするコンピュータシステムとして実装され得る。例えば、売り手は、コンピュータシステム(図示せず)を利用して、売り手が売り手ポータル109を使用してシステム100を通して売りたい製品について、製品情報、注文情報、連絡先情報などをアップロードまたは提供することができる。
【0035】
出荷および注文追跡システム111はいくつかの実施形態では(例えば、デバイス102A~102Bを使用するユーザによって)顧客によって注文された製品を含む荷物の場所に関する情報を受信し、格納し、転送するコンピュータシステムとして実装され得る。いくつかの実施形態では、出荷および注文追跡装置111が顧客が注文した製品を含む荷物を配送する出荷会社によって運営されるウェブサーバ(図示せず)からの情報をリクエストまたは記憶することができる。
【0036】
いくつかの実施形態では、出荷および注文追跡システム111がシステム100に示されたシステムからの情報をリクエストし、記憶することができる。例えば、出荷および注文追跡システム111は、輸送システム107にリクエストすることができる。上述のように、交通機関107はユーザ(例えば、配送作業員)または乗り物(例えば、配送車)のうちの1つまたは複数に関連付けられた1つまたは複数のモバイルデバイス107A~107C(例えば、携帯電話、スマートフォン、PDAなど)から受信することができる。いくつかの実施形態では、出荷および注文追跡装置111がフルフィルメントセンタ(例えば、フルフィルメントセンタ200)内の個々の製品の場所を決定するために、労働力管理システム(WMS)119にリクエストすることもできる。出荷および注文追跡システム111は輸送システム107またはWMS 119のうちの1つまたは複数からデ
ータを要求し、それを処理し、要求に応じてそれを装置(例えば、ユーザデバイス102
Aおよび102B)に提示することができる。
【0037】
フルフィルメント(履行)最適化(FO)システム113はいくつかの実施形態では他のシステム(例えば、外部フロントエンドシステム103および/または出荷および注文追跡システム111)からの顧客注文に関する情報を記憶するコンピュータシステムとして実装されてもよい。FOシステム113はまた、特定のアイテムがどこに保持または格納されるかを記述する情報を格納してもよい。たとえば、特定の項目は1つのフルフィルメントセンタにのみ格納され、他の特定の項目は複数のフルフィルメントセンタに格納される場合がある。さらに他の実施形態では、特定のフルフィルメントセンタが特定のセットのアイテム(例えば、生鮮食品または冷凍製品)のみを格納するように設計されてもよい。FOシステム113はこの情報ならびに関連する情報(例えば、数量、サイズ、受領日、有効期限など)を格納する。
【0038】
また、FOシステム113は、商品毎に対応するPDD(約束配送日)を計算してもよ
い。PDDは、いくつかの実施形態では1つまたは複数の要因に基づくことができる。例えば、FOシステム113は製品に対する過去の需要(例えば、その製品がある期間中に何回注文されたか)、製品に対する予想需要(例えば、来るべき期間中にその製品を注文するために何人の顧客が予想されるか)、ある期間中にいくつの製品が注文されたかを示すネットワーク全体の過去の需要、来るべき期間中にいくつの製品が注文されることが予想されるかを示すネットワーク全体の予想需要、各フルフィルメントセンタ200に記憶された製品の1つ以上のカウント、その製品に対する各製品、予想または現行の注文などに基づいて、製品に対するPDDを計算することができる。
【0039】
いくつかの実施形態では、FOシステム113が定期的に(例えば、1時間ごとに)商品ごとにPDDを決定し、それを検索または他のシステム(例えば、外部フロントエンドシステム103、SATシステム101、出荷および注文追跡システム111)へ送信するためにデータベースに格納することができる。他の実施形態では、FOシステム113が1つまたは複数のシステム(例えば、外部フロントエンドシステム103、SATシステム101、出荷および注文追跡システム111)から電子要求を受信し、オンデマンドでPDDを計算することができる。
【0040】
フルフィルメントメッセージングゲートウェイ115はいくつかの実施形態ではFOシステム113などのシステム100の1つ以上のシステムから1つのフォーマットまたはプロトコルで要求または応答を受信し、それを別のフォーマットまたはプロトコルに変換し、変換されたフォーマットまたはプロトコルで、WMS 119または第三者フルフィ
ルメントシステム121A、121B、または121Cなどの他のシステムに転送するコンピュータシステムとして実装されてもよい。
【0041】
サプライチェーン管理(SCM)システム117は、いくつかの実施形態では予測機能を実行するコンピュータシステムとして実装することができる。例えば、SCMシステム117は例えば、製品に対する過去の需要、製品に対する予想される需要、ネットワーク全体の過去の需要、ネットワーク全体の予想される需要、各フルフィルメントセンタ200に記憶された計数製品、各製品に対する予想または現在の注文などに基づいて、特定の製品に対する需要の水準を予測することができる。この予測された水準およびすべてのフルフィルメントセンタにわたるそれぞれの製品の量に応じて、SCMシステム117は特定の製品に対する予測された需要を満たすのに充分な量を購入し、在庫するための1つまたは複数の購入注文を生成することができる。
【0042】
労働力管理システム(WMS)119は、いくつかの実施形態ではワークフローをモニタするコンピュータシステムとして実装されてもよい。例えば、WMS 119は個別の
イベントを示すイベントデータを個々のデバイス(例えば、デバイス107A~107Cまたは119A~119C)から受信することができる。例えば、WMS 119は、荷
物を走査するためにこれらの装置の1つの使用を示すイベントデータを受信してもよい。フルフィルメントセンタ200および
図2に関して以下で論じるように、実行処理中に、荷物識別器(例えば、バーコードまたはRFIDタグデータ)は特定の段階で機械によってスキャンまたは読み取ることができる(例えば、自動またはハンドヘルドバーコードスキャナ、RFIDリーダ、高速カメラ、タブレット119A、モバイルデバイス/PDA
119B、コンピュータ119Cなどのデバイス)。WMS 119は荷物識別子、時刻、日付、場所、ユーザ識別子、または他の情報と共に、対応するデータベース(図示せず)に、荷物識別子の走査または読み取りを示すそれぞれの事象を格納することができ、この情報を他のシステム(例えば、出荷および注文追跡システム111)に提供することができる。
【0043】
WMS 119はいくつかの実施形態では1つまたは複数のデバイス(たとえば、デバ
イス107A~107Cまたは119A~119C)をシステム100に関連する1つまたは複数のユーザに関連付ける情報を記憶することができる。例えば、いくつかの状況では、ユーザ(パートまたはフルタイムの従業員など)がユーザがモバイルデバイスを所有する(例えば、モバイルデバイスがスマートフォンである)という点で、モバイルデバイスに関連付けられてもよい。他の状況では、ユーザがユーザが一時的にモバイルデバイスを保管している(例えば、ユーザは日の始めにモバイルデバイスをチェックアウトし、日中にそれを使用し、日の終わりにそれを返す)という点で、モバイルデバイスに関連付けられてもよい。
【0044】
WMS 119は、いくつかの実施形態ではシステム100に関連する各ユーザの作業
ログを維持することができる。例えば、WMS 119は任意の割り当てられたプロセス
(例えば、トラックのアンロード、ピックゾーンからのアイテムのピッキング、リビン(
rebin)ウォールワーク、パッキングアイテム)、ユーザ識別子、場所(例えば、フ
ルフィルメントセンタ200内のフロアまたはゾーン)、従業員によってシステム内を移動されたユニットの数(例えば、ピッキングされたアイテムの数、パッキングされたアイテムの数)、装置に関連する識別子(例えば、装置119A~119C)などを含む、各従業員に関連する情報を記憶することができる。いくつかの実施形態では、WMS 11
9がデバイス119A~119C上で動作するタイムキーピングシステムなどのタイムキーピングシステムからチェックインおよびチェックアウト情報を受信することができる。
【0045】
第三者フルフィルメント(3PL)システム121A~121Cは、いくつかの実施形態では物流および製品のサードパーティプロバイダに関連するコンピュータシステムを表す。例えば、(
図2に関して以下に説明するように)いくつかの製品がフルフィルメントセンタ200に格納されている間、他の製品は、オフサイトで格納されてもよく、オンデマンドで生産されてもよく、またはフルフィルメントセンタ200に格納するために利用できなくてもよい。3PLシステム121A~121CはFOシステム113から(例えば、FMG 115を介して)注文を受信するように構成されてもよく、製品および/ま
たはサービス(例えば、配送または設置)を顧客に直接的に提供してもよい。いくつかの実施形態では3PLシステム121A~121Cのうちの1つまたは複数がシステム100の一部とすることができ、他の実施形態では3PLシステム121A~121Cのうちの1つまたは複数がシステム100の外部(例えば、サードパーティプロバイダによって所有または運営される)とすることができる。
【0046】
フルフィルメントセンタ自動システム(FC認証)123は、いくつかの実施形態では様々な機能を有するコンピュータシステムとして実装され得る。例えば、いくつかの実施形態では、FC認証123がシステム100内の1つまたは複数の他のシステムのための
シングルサインオン(SSO)サービスとして動作することができる。例えば、FC認証123はユーザが内部フロントエンドシステム105を介してログインすることを可能にし、ユーザが出荷および注文追跡系111においてリソースにアクセスするための同様の特権を有していることを決定し、ユーザが2回目のログイン処理を必要とせずにそれらの特権にアクセスすることを可能にしてもよい。他の実施形態では、FC認証123がユーザ(例えば、従業員)が自分自身を特定の作業に関連付けることを可能にすることができる。例えば、従業員の中には、電子装置(装置119A~119Cなど)を持たない者もいれば、その代わりに、1日の過程中に、フルフィルメントセンタ200内で、タスクからタスクへ、およびゾーンからゾーンへ移動することができる。FC認証123は、それらの従業員が彼らがどの仕事をしているか、および彼らが様々な時刻にどの区域にいるかを示すことを可能にするように構成されてもよい。
【0047】
労働管理システム(LMS)125は、いくつかの実施形態では従業員(フルタイムおよびパートタイムの従業員を含む)のための出勤および残業を記憶するコンピュータシステムとして実装されてもよい。例えば、LMS 125は、FC認証123、WMA 119、装置119A~119C、輸送装置107、および/または装置107A~107Cから受信することができる。
【0048】
図1Aに示される特定の構成は単なる例である。例えば、
図1AはFOシステム113に接続されたFC認証システム123を示すが、全ての実施形態がこの特定の構成を必要とするわけではない。実際、いくつかの実施形態では、システム100内のシステムがインターネット、イントラネット、WAN(ワイドエリアネットワーク)、MAN(メトロポリタンエリアネットワーク)、IEEE 802.11a/b/g/n規格に準拠する無
線ネットワーク、専用線などを含む1つまたは複数の公衆またはプライベートネットワークを介して互いに接続され得る。いくつかの実施形態では、システム100内のシステムの1つ以上がデータセンター、サーバファームなどに実装された1つ以上の仮想サーバとして実装されてもよい。
【0049】
図2は、フルフィルメントセンタ200を示す。フルフィルメントセンタ200は、注文時に顧客に出荷するためのアイテムを格納する物理的な場所の実例である。フルフィルメントセンタ(FC)200は多数のゾーンに分割することができ、その各々を
図2に示す。いくつかの実施形態ではこれらの「ゾーン」がいくつかの実施形態ではアイテムを受け取り、アイテムを格納し、アイテムを取り出し、アイテムを出荷するプロセスの異なる段階間の仮想分割と考えることができ、したがって、「ゾーン」は
図2に示されているが、ゾーンの他の分割も可能であり、
図2のゾーンはいくつかの実施形態では省略、複製、または修正することができる。
【0050】
インバウンドゾーン203は、
図1Aのシステム100を使用して製品を販売したい売り手からアイテムが受け取られるFC 200の領域を表す。例えば、売り手は、トラッ
ク201を使用してアイテム202A及び202Bを配送することができる。アイテム202Aはそれ自体の出荷パレットを占有するのに十分な大きさの単一のアイテムを表すことができ、アイテム202Bは、スペースを節約するために同じパレット上に一緒に積み重ねられたアイテムのセットを表すことができる。
【0051】
作業員はインバウンドゾーン203内のアイテムを受け取り、オプションとして、コンピュータシステム(図示せず)を使用して、アイテムの破損および正当性を検査することができる。例えば、作業員は、コンピュータシステムを使用して、品目202Aおよび202Bの数量を品目の注文数量と比較することができる。数量が合致しない場合、その作業員は、項目202Aまたは202Bのうちの1つまたは複数を拒否することができる。もし量が一致すれば、作業員はそれらのアイテムを(例えば、人形、手すり、フォークリ
フト、または手動で使用して)緩衝区域205に移動させることができる。バッファゾーン205は例えば、予測される需要を満たすのに十分な量のアイテムがピッキングゾーン内にあるため、ピッキングゾーン内で現在必要とされていないアイテムのための一時記憶領域であってもよい。いくつかの実施形態では、フォークリフト206が物品をバッファゾーン205の周り、およびインバウンドゾーン203とドロップゾーン207との間で移動させるように動作する。ピッキングゾーンに品目202Aまたは202Bが必要な場合(例えば、予想される需要のため)、フォークリフトは、品目202Aまたは202Bを落下ゾーン207に移動させることができる。
【0052】
ドロップゾーン207は、アイテムがピッキングゾーン209に移動される前にアイテムを格納するFC 200の領域であってもよい。ピッキングタスクに割り当てられた作
業員(「ピッカ」)はピッキングゾーン内のアイテム202Aおよび202Bに接近し、ピッキングゾーンのバーコードをスキャンし、モバイルデバイス(例えば、装置119B)を使用してアイテム202Aおよび202Bに関連するバーコードをスキャンすることができる。次いで、ピッカーはアイテムをピッキングゾーン209に(例えば、カートの上に置くか、またはそれを運ぶことによって)取り込むことができる。
【0053】
ピッキングゾーン209は、アイテム208が記憶ユニット210に記憶されるFC
200の領域であってもよい。いくつかの実施形態では、貯蔵ユニット210が物理的な棚、本棚、箱、運搬箱、冷蔵庫、冷凍庫、冷蔵庫などのうちの1つまたは複数を含むことができる。いくつかの実施形態では、ピッキングゾーン209が複数のフロアに編成されてもよい。いくつかの実施形態では、作業員または機械が例えば、フォークリフト、エレベータ、コンベアベルト、カート、ハンドトラック、ドリー、自動ロボットもしくは装置、または手動を含む多数の方法で、物品をピッキングゾーン209に移動させてもよい。例えば、ピッカーはアイテム202Aおよび202Bをドロップゾーン207内のハンドトラックまたはカート上に置き、アイテム202Aおよび202Bをピッキングゾーン209まで歩くことができる。
【0054】
ピッカーは、保管ユニット210上の特定のスペースのような、ピッキングゾーン209内の特定のスポットにアイテムを配置する(または「収納する」)命令を受け取ることができる。例えば、ピッカーはモバイルデバイス(例えば、装置119B)を使用してアイテム202Aを走査することができる。デバイスは例えば、通路、棚、および場所を示すシステムを使用して、ピッカーがアイテム202Aを収納すべき場所を示すことができる。次に、デバイスはその場所にアイテム202Aを格納する前に、その場所でバーコードをスキャンするようにピッカーに促すことができる。装置は
図1AのWMS 119の
ようなコンピュータシステムに(例えば、無線ネットワークを介して)データを送信し、装置119Bを使用するユーザによってアイテム202Aがその場所に格納されたことを示すことができる。
【0055】
ユーザが注文を出すと、ピッカーは記憶ユニット210から1つまたは複数のアイテム208を取り出すために、デバイス119B上で命令を受け取ることができる。ピッカーはアイテム208を取り出し、アイテム208上のバーコードをスキャンし、それを搬送機構214上に置くことができる。搬送機構214はスライドとして表されているが、いくつかの実施形態では搬送機構がコンベヤベルト、エレベータ、カート、フォークリフト、ハンドトラック、台車、カートなどのうちの1つまたは複数として実施することができる。次に、品目208は、パッキングゾーン211に到着することができる。
【0056】
パッキングゾーン211は、アイテムがピッキングゾーン209から受け取られ、最終的に顧客に出荷するためにボックスまたはバッグにパッキングされるFC 200の領域
であってもよい。パッキングゾーン211では受取アイテム(「リビン(rebin)作業
員」)に割り当てられた作業員がピッキングゾーン209からアイテム208を受け取り、それがどの注文に対応するかを決定する。例えば、リビン(rebin)作業員はアイテム208上のバーコードを走査するために、コンピュータ119Cなどの装置を使用することができる。コンピュータ119Cはどの注文アイテム208が関連付けられているかを視覚的に示すことができる。これは例えば、注文に対応する壁面216上の空間または「セル」を含むことができる。注文が完了すると(例えば、セルが注文のためのすべてのアイテムを含むため)、リビン(rebin)作業員は注文が完了したことをパッキング作業員(または「パッカー」)に示すことができる。梱包業者はセルから品目を取り出し、それらを出荷のために箱または袋に入れることができる。その後、パッカーは例えば、フォークリフト、カート、ドリー、ハンドトラック、コンベヤベルトを介して、又は他の方法で、箱又はバッグをハブゾーン213に送ることができる。
【0057】
ハブゾーン213は、パッキングゾーン211から全てのボックスまたはバッグ(「荷物」)を受け取るFC 200の領域であってもよい。ハブゾーン213内の作業員およ
び/またはマシンは荷物218を検索し、それぞれの荷物が行こうとする配送領域の一部を決定し、荷物を適切なキャンプゾーン215にルーティングすることができる。例えば、配送領域が2つのより小さいサブ領域を有する場合、荷物は2つのキャンプゾーン215のうちの1つに進む。いくつかの実施形態では、作業員またはマシンが(例えば、デバイス119A~119Cのうちの1つを使用して)荷物を走査して、その最終的な宛先を決定することができる。荷物をキャンプゾーン215にルーティングすることは、例えば、荷物が向けられている地理的エリアの一部を(例えば、郵便番号に基づいて)決定することと、地理的エリアの一部に関連付けられたキャンプゾーン215を決定することとを含むことができる。
【0058】
キャンプゾーン215はいくつかの実施形態では1つまたは複数の建物、1つまたは複数の物理的な空間、または1つまたは複数のエリアを備えることができ、荷物は、経路および/またはサブ経路に分類するためにハブゾーン213から受け取られる。いくつかの実施形態ではキャンプゾーン215がFC 200から物理的に分離されているが、他の
実施形態ではキャンプゾーン215がFC 200の一部を形成することができる。
【0059】
キャンプゾーン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によって所有され、リースされ、または操作され得る。
【0060】
いくつかの実施形態では、注文のアイテムのソートがFC 200において実施されて
もよい。例えば、仕分けは、仕分け装置216を使用して梱包ゾーン211内で実施する
ことができる。
【0061】
図3は、開示された実施形態に一致する、集荷および配送のための経路計画のための例示的な装置300の概略図である。装置300は少なくとも1つのモバイルデバイス(例えば、モバイルデバイス107A-107C)及び少なくとも1つのコンピュータ(例えば、コンピュータ302)を含む。
図3には一例として1つのコンピュータ302しか示されていないが、コンピュータ302に類似した2つ以上のコンピュータをシステム300に含めることができることを理解されたい。モバイルデバイス107A~107Cは、ネットワーク310を使用してコンピュータ302に接続される。いくつかの実施形態では、コンピュータ302がSAT 101、輸送システム107、SOT 111、FO
113、またはWMS 119内のコンピュータとして実装することができる。いくつか
の実施形態では、ネットワーク310がシステム100の一部または全部であってもよい。
【0062】
コンピュータ302は、マイクロコンピュータ、メインフレームコンピュータ、スーパーコンピュータ、汎用コンピュータ、特殊目的コンピュータ、統合/組み込みコンピュータ、サーバコンピュータ、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話、パーソナルデータアシスタント(PDA)、ウェアラブルコンピューティングデバイス、クラウドコンピュータなど、任意の数の任意のタイプのコンピュータの任意の組み合わせとして実現することができる。コンピュータ302のようなシステム300内のコンピュータはネットワーク(例えば、ネットワーク310)を用いて相互接続された異なる地理的場所に場所する複数のコンピュータを含む仮想コンピュータとして実施することもできる。
【0063】
コンピュータ302は、データベース304、プロセッサ306、およびメモリ308を含む。メモリ308は、経路計画のためのプロセスまたは手順を実施するためにプロセッサ306によって実行され得る命令を記憶することができる。データベース304は、1つ以上のローカルまたはリモートコンピュータまたは分散コンピュータシステムに記憶され、他のコンピュータにアクセス可能な構造化データのコレクションの任意の形態として実施可能である。
【0064】
プロセッサ306は、情報を操作または処理することができる汎用または特定の電子デバイスとすることができる。例えば、プロセッサ306は、任意の数の中央処理ユニット(または「CPU」)、グラフィックス処理ユニット(または「GPU」)、光プロセッサ、プログラマブル論理コントローラ、マイクロコントローラ、マイクロプロセッサ、デジタル信号プロセッサ、知的財産(IP)コア、プログラマブル論理アレイ(PLA)、プログラマブルアレイ論理(PAL)、ジェネリックアレイ論理(GAL)、コンプレックスプログラマブル論理デバイス(CPLD)、フィールドプログラマブルゲートアレイ(FPGA)、システムオンチップ(SoC)、特定用途向け集積回路(ASIC)、およびデータ処理が可能な任意のタイプの回路の任意の組み合わせを含んでもよい。プロセッサ306はネットワーク(例えば、ネットワーク310)を介して接続された複数のマシンまたは装置に分散された1つ以上のプロセッサを含む仮想プロセッサであってもよい。
【0065】
メモリ308はプロセッサ306によってアクセス可能な(例えば、図示されていないバスを介して)コードおよびデータを記憶することができる汎用または特定の電子装置であってもよい。例えば、メモリ308は、任意の数のランダム・アクセス・メモリ、リード・オンリー・メモリ、光ディスク、磁気ディスク、ハード・ドライブ、ソリッド・ステート・ドライブ、フラッシュ・ドライブ、セキュリティ・デジタル(SD)カード、メモリ・スティック、コンパクト・フラッシュ(CF)カード、または任意のタイプの記憶装
置の任意の組み合わせを含むことができる。コードには、オペレーティング・システム(OS)と、特定のタスクのための1つ以上のアプリケーション・プログラム(または「アプリ」)が含まれる場合がある。メモリ308はネットワーク(例えば、ネットワーク310)を介して接続された複数のマシンまたは装置に分散された1つ以上のメモリを含む仮想メモリであってもよい。
【0066】
ネットワーク310は、1つまたは複数のパブリックまたはプライベート通信ネットワークとすることができる。例えば、ネットワーク310は、任意の数のインターネット、イントラネット、ローカルエリアネットワーク、ワイドエリアネットワーク、メトロポリタンエリアネットワーク、仮想プライベートネットワーク、無線ネットワーク、有線ネットワーク、専用線、セルラデータネットワーク、およびブ経路ゥース接続、赤外線接続、または近距離無線通信(NFC)接続を使用するネットワークの任意の組み合わせを含むことができる。
【0067】
いくつかの実施形態では、配送作業員が雇用状況(例えば、正社員、臨時社員、または交代勤務従業員)、年功序列(例えば、年功従業員または初心者)、勤務シフト(例えば、終日または半日従業員)、輸送方法(例えば、歩行、自転車または運転従業員)などの異なる基準によって分類され得、異なる需要特性を有する配送のタスクに、異なる分類の作業員を割り当てることができる。いくつかの実施形態では配送作業員の識別子がレコードとしてデータベース404に格納されてもよく、配送作業員の分類はレコードの属性として格納されてもよい。本明細書における「配送作業員」は、荷物の配送、荷物の集荷、またはそれらの組合せの作業を実行することができることに留意されたい。
【0068】
いくつかの実施形態では、配送作業員の識別子とモバイルデバイスの識別子との間の関連付けはレコードとしてデータベース304に格納されてもよい。例えば、データベース304は作業員の識別子の関連を記憶することができ、モバイルデバイスの識別子はエントリーとして記憶することができる。いくつかの実施形態では、モバイルデバイス107A~107Cが配送作業員および/または配送車と関連付けられてもよい。そのような団体は,所有権,指定又は一時的所有に基づくことができる。例えば、配送作業員はモバイルデバイス107A(例えば、スマートフォン)を所有し、それに関連付けられてもよい。別の例として、モバイルデバイス107B(例えば、既製のPDA)は、配送トラックに割り当てられ、関連付けられてもよい。別の例では、配送作業員がモバイルデバイス107C(例えば、ウェアラブルデバイス)にログインし、それに関連付けられてもよい。
【0069】
いくつかの実施形態では、モバイルデバイス107A~107Cを使用して、配送作業員または車両の状態を監視および更新し、その状態データを示すデータを、ネットワーク310を介してコンピュータ302へ送信することができる。ステータスデータは例えば、配送作業員または車両がタスクにアイドル状態またはビジー状態であるか否か、配送作業員または車両が新規の配送タスクに割り当てられるために利用可能であるか否か、配送作業員または車両の場所、配送作業員の出勤および残業情報、配送作業員がとった経路、配送作業員または車両の走行距離、または配送タスクマネジメントに関連する他のステータス情報を示すことができる。
【0070】
本発明に従って実施される荷物集荷および配送のための経路計画の方法、装置、およびシステムは、以下のように
図4~
図7に関連して詳細に説明される。
図4-7において、プロセス400、600、および700は、コンピュータ読み取り可能な記憶媒体に記憶された、プログラムコードまたは命令などのソフトウェアまたはファームウェアとして実施することができる。プログラムコードまたは命令は、プロセッサによって読み取られて実行され、前述のプロセスを実装することができる。例えば、コンピュータ可読記憶媒体はメモリ308であってもよく、プロセッサはプロセッサ306であってもよい。いくつ
かの実施形態では、前述のプロセスがPLA、PAL、GAL、CPLD、FPGA、SoC、またはASICなどの専用ハードウェアとして実装され得る。前述のプロセスは、アルゴリズムによって指定された動作を実行することができる専用ハードウェアにプログラムされたアルゴリズムとして実装することができる。いくつかの実施形態では、前述のプロセスが前述のソフトウェアとハードウェアとの組み合わせとして実装されてもよい。
【0071】
図4は、開示された実施形態に従った、集荷および配送のための経路計画の例示的な処理400の流れ図である。
【0072】
工程402において、プロセッサ306は、地理的領域内の所定の地理的場所と、所定の地理的場所を接続する所定の経路を表すデータとを受信する。いくつかの実施形態では、所定の地理的場所および所定の経路が地理的領域で働く経験豊富な配送作業員によって使用される経路であってもよい。それらは、監督者の評価などによって手動で、または機械などによって自動的に予め決定されてもよい。例えば、プロセッサ306は、配送作業員の配送経路の得点を決定することができる。得点は、配送経路で働く配送作業員の配送的な有効性または体験の程度を示すことができる。いくつかの実施形態では、得点が経路に沿った配送を完了するのに費やされた時間、経路のために配送または拾われた荷物の数、様々な郵便番号間の移動に費やされた時間などの様々な要因に基づいて計算することができる。いくつかの実施形態では、得点が配送効率に比例し得る。いくつかの実施形態では、得点が配送効率に反比例し得る。所定の場所および所定の経路は経路計画のためのテンプレートとして使用されてもよく、代替的に、それぞれ「テンプレート場所」および「テンプレート経路」と呼ばれてもよい。テンプレート場所のテンプレート経路を決定するために、いくつかの実施形態では、プロセッサ306がスコアが配送効率に比例すると仮定して、テンプレート場所を接続し、最も高いスコアを有する経路をテンプレート経路として選択することができる。いくつかの実施形態では、プロセッサ306がテンプレート場所を接続し、最も短い移動時間を有する経路をテンプレート経路として選択することができる。
【0073】
上記の例では、得点が所定の数値を上回る場合、プロセッサ306は配送経路を所定の経路として決定し、配送経路の地理的場所を所定の地理的場所として決定することができる。いくつかの実施形態では、プロセッサ306が地理的領域内のすべての配送作業員についてスコアを分類し、経験作業員としてそれらの上位パーセントを選択することができる。プロセッサ306は、インプットとして、選択された経験豊富な作業員が訪れた地理的場所および経路を使用することができる。
【0074】
別の例として、経験豊富な配送作業員によって使用される経路は、配送作業員の識別子、および訪問先場所の経路またはシーケンスの全方向に従って分類されてもよい。同じ場所の組に対して、異なる配送作業員は、異なる経路に対して、ほぼ同じ水準の有効性をもたらすことができる。これらの異なる経路は、経路計画における異なる考慮事項および/または制限を含むことができる。これらの異なる経路を含め、分類することによって、これらの考慮事項および制限事項の特徴および特徴は、経路計画のためのシステムにおいて考慮され得る。
【0075】
工程404において、プロセッサ306は、所定の経路に沿った所定の場所の連続的な近さに基づいて、地理的領域内の単位エリアを決定する。単位エリアは、配送作業員が訪れるための独立した地理的グラニュールであり得る1組の地理的ユニットを含む地理的エリアである。例えば、単位エリアは、建物、モール、近隣、道路によって囲まれたエリア、コミュニティ、または任意の場所のセットであってもよい。地理的単位は、家、アパート、店、オフィス、建物内の部屋、またはコミュニティ内の建物であってもよい。
【0076】
図5は、開示された実施形態に一致する例示的な単位エリアを示す図である。
図5において、ドットは地理的単位を表し、ポリゴン502~508は単位エリアを表す。単位エリア502には5つの地理的単位があり、単位エリア504には4つの地理的単位があり、単位エリア506には2つの地理的単位があり、単位エリア508には3つの地理的単位がある。単位エリア502~508は、配送作業員が単位エリア502~508のうちの1つの中の地理的単位を連続して訪問し、その後、任意の他の単位エリア内の任意の他の建物を訪問することができるように分割される。いくつかの実施形態では、地理的ユニットの異なる部分が異なる単位エリアに属すると決定されてもよい。例えば、複数の入口単位エリア(例えば、モール)は広いエリアをカバーすることがあり、その中で、地理的ユニット(例えば、部屋又は店舗)は、各入口までの距離が異なることがある。これらの入口は、第1の入口および第2の入口が異なる通りにあるなど、第2の入口から離れた第1の入口を含むことができる。第1の入口付近の第1の地理的ユニットと第2の入口付近の第2の地理的ユニットに対して、第1の地理的ユニットと第2の地理的ユニットは効率的な経路計画のために、2つの異なる単位エリアに分割することができる。
【0077】
いくつかの実施形態では、単位エリアが経路計画および生成のための単位として使用されてもよい。例えば、所与の一組の場所に対する経路を生成するために、1つの単位エリア内のすべての場所は経路内の1つの停車場として集合的に扱われてもよく、すなわち、配送作業員(例えば、トラックドライバー)は荷物配送または集荷のためにそれらの場所に停車し、現単位エリア内で配送の作業を完了するときに次回の停車場に出発してもよい。経路計画および生成のためのユニットとして単位エリアを使用することは、計算費用および計算量を削減し、配送効率を向上させることができる。例えば、
図5において、単位エリア502~508は、計画された経路の停留所として扱われてもよい。
【0078】
図4に戻って、工程406において、プロセッサ306は、単位エリアの少なくとも1つを接続する経路を決定するための配送パターンを生成する。各々の配送模様は単位エリアのうちの少なくとも1つを含むことができ、単位エリアのうちの少なくとも1つは、訪問順序に関連付けられることができる。前記訪問順序は、前記単位エリアのうちの少なくとも一つを配送形態で訪問する順序を表すことができる。配送方式では、訪問順序は固定であってもよい。例えば、
図5では、配送パターン500が単位エリア502~506を含み、単位エリア502~506が
図5の矢印で示される訪問シークエンス502504506に関連する。これらの配送パターンは、経路計画に使用することができる。
【0079】
ステップ408で、プロセッサ306が、訪問する目標場所を含むタスクデータを受信した場合、プロセッサ306は、配送パターンおよび目標データを使用して、目標場所を訪問するための目標経路を決定する。いくつかの実施形態では、タスクデータはSAT
101から受信されてもよい。
【0080】
ステップ410において、プロセッサ306は、目標経路をモバイル装置へ送信する。例えば、モバイルデバイス107A~107Cのいずれかであってもよい。いくつかの実施形態では、モバイル装置が配送作業員によって運ばれてもよい。配送作業員は、モバイル装置によって受信された目標経路に沿って荷物を配送または集荷のための作業に割り当てられてもよい。
【0081】
いくつかの実施形態ではステップ404において、プロセッサ306は所定の経路に沿った所定の場所の連続的な近さに基づいて単位エリアを決定することができる。例えば、プロセッサ306は、地理的領域内の配送可能な場所を受信することができる。配送可能な場所は、配送および集荷に利用可能な場所であってもよい。
【0082】
プロセッサ306は、第1の機械学習モデルを使用して、配送可能な場所のそれぞれに
ついて場所ベクトルを決定することができる。場所ベクトルは、配送可能な場所のベクトル表現であってもよく、2つの場所ベクトル間の距離が配送経路に沿った2つの場所ベクトルに対応する2つの場所の連続的な近さを示してもよいように決定されてもよい。距離は、2つの場所ベクトルの間の差として決定され得る。連続的な近さは、配送経路に沿って2つの場所に行く距離を指すことができる。いくつかの実施形態では、第1の機械学習モデルが第1のニューラルネットワークモデルであってもよい。例えば、第1のニューラルネットワークモデルは、word2vecモデルのニューラルネットワークに類似し得る。いくつかの実施形態では、第1のニューラルネットワークモデルがワンホットベクトルフォーマットの配送可能な場所のアドレスを入力として使用し、配送可能な場所の場所ベクトルを決定することができる。第1のニューラルネットワークモデルは、ステップ402において、所定の場所を使用して生成され、訓練されてもよい。
【0083】
次いで、プロセッサ306は、配送可能な場所のそれぞれについて特徴ベクトルを決定することができる。特徴ベクトルは、配送可能な場所の場所ベクトルおよび場所属性を含むことができる。いくつかの実施形態では、場所特徴が地理座標、建物の番号、エリアの名前、道路の名前、または郵便番号のうちの少なくとも1つを含むことができる。例えば、特徴ベクトルは建物番号、コミュニティの名前、および([0.1,0.5,0.3]、3、「A」、10010)のような郵便番号を含むことができ、[0.1,0.5,0.3]は場所ベクトルであり、3は建物番号であり、「A」はコミュニティの名前であり、10010は郵便番号である。
【0084】
次いで、プロセッサ306は、特徴ベクトル間の距離に基づいて配送可能な場所をグループ化することによって、単位エリアを決定することができる。2つの特徴ベクトル間の距離は、2つの特徴ベクトル間の差として決定され得る。1つの単位エリアにグループ化された配送可能な場所の特徴ベクトル間の距離は、所定の閾値内であってもよい。例えば、第1の特徴ベクトル([0.1、0.5、0.3]、3、「A」、10010)および第2の特徴ベクトル([0.12、0.48、0.3]、5、「A」、10010)について、距離は、([0.02、-0.02、0]、2、0、0)などの2つの特徴ベクトル間の直接減算として決定される差分ベクトルの大きさとして決定され得る。文字の場合、減算はASCII 値を使用して実行できる。差分ベクトルの大きさが所定の閾値内に
ある場合、2つの対応する配送可能な場所は、同じ単位エリアにグループ化されてもよい。いくつかの実施形態では、2つの配送可能な場所が同じ建物番号、コミュニティの同じ名前、または同じ郵便番号を共有する場合であっても、差分ベクトルの大きさが所定の閾値を超える限り、それらは異なる単位エリアにグループ化されてもよい。
【0085】
いくつかの実施形態では、ステップ402において、場所ベクトルを決定するための第1のニューラルネットワークモデルは以下のように、所定の場所を使用して訓練されてもよい。プロセッサ306は、所定の場所の各々について場所ベクトルを決定することができる。例えば、場所ベクトルの要素は、所定の場所のアドレスの属性を含むことができる。属性は例えば、街路番号、街路名、部屋番号、都市、地方又は州、又は郵便番号を含むことができる。
【0086】
次いで、プロセッサ306は、第1のニューラルネットワークモデルに現在の場所の場所ベクトルを入力することによって、所定の場所の現在の場所の確率値を決定することができる。各確率値は所定の場所の1つに対応することができ、所定の場所の1つが現在の場所の直後に訪れる確率を示すことができる。次いで、プロセッサ306は、第1の所定の場所から始まる所定の経路の順序で、所定の場所のそれぞれについての確率値を決定することができる。現在の場所は、確率値が現在決定されている所定の場所であってもよい。
【0087】
次に、プロセッサ306は、後続の場所が最高確率値に対応するかどうかを判定することができる。次の場所は、所定の経路に沿った現在の場所の直後の場所である。このステップは、第1のニューラルネットワークモデルが正しく訓練されているかどうかを測定することである。もしそれが正しく訓練されていれば、後続の場所は最高の確率値を有するのであろう。すなわち、第1のニューラルネットワークモデルは、現在の場所の後に訪れるべき次の場所として、後続の場所を正しく予測する。
【0088】
後続の場所が最高確率値に対応しない場合、プロセッサ306は、第1のニューラルネットワークモデルのパラメータを更新することができる。いくつかの実施形態では、第1のニューラルネットワークモデルが少なくとも1つの隠れ層を含むことができる。パラメータは、隠れ層の各ノードに関連する重みであってもよい。更新は例えば、バックプロパゲーションを使用して実施することができる。
【0089】
後続の場所が最高確率値に対応する場合、プロセッサ306は、第1のニューラルネットワークモデルに後続の場所の場所ベクトルを入力することによって、現在の場所、すなわち後続の場所に続く場所の確率値を決定することに進むことができる。このような動作は、所定の経路に沿った全ての所定の場所が処理されるまで繰り返されてもよい。それまで、第1のニューラルネットワークは所定の場所のいずれかが与えられると、第1のニューラルネットワークモデルが所定の経路に沿って訪れる次の場所を正しく予測するように、正しく訓練される。
【0090】
所定の経路に沿った所定の場所の各々に続く場所が所定の場所の各々について第1のニューラルネットワークモデルによって決定された確率値における最高確率値に対応する場合、プロセッサ306は、ステップ404において、配送可能な場所の各々について場所ベクトルを決定するための第1のニューラルネットワークモデルを決定することができる。第1のニューラルネットワークモデルを使用することによって、プロセッサ306は、より高い精度およびより効率で場所ベクトルを決定することができる。
【0091】
図6は、開示された実施形態に一致する、経路生成のための機械学習モデルを訓練する例示的なプロセス600のフローチャートである。プロセス600では、プロセス400の工程406で生成された配送パターンを経路生成に使用することができる。
【0092】
ステップ602において、プロセッサ306は、単位エリアの各々について、単位エリアのベクトル表現を決定する。いくつかの実施形態では、プロセッサ306が単位エリア内の場所のアドレスにグラフ埋め込み技法を適用することによってベクトル表現を決定することができる。グラフ埋め込み技術は高次元情報(例えば、グラフ)を低次元情報(例えば、ベクトル)にマッピングするために使用されてもよい。いくつかの実施形態では、アドレスがアドレスが訪問されたかどうかを示すタグに関連付けられてもよい。グラフ埋め込み技術は、このようなタグをアドレスの埋め込み関数に含めることができる。
【0093】
工程604において、プロセッサ306は、所定の場所をネットワーク羅する単位エリアのための訓練配送パターンを決定する。それぞれの訓練配送パターンは、訪問順序で順序付けられた単位エリアのうちの少なくとも1つを含むことができる。訓練配送パターンは、機械学習モデルのみを訓練するために決定されてもよい。例えば、訓練配送パターンは、所定の場所のうちの少なくとも1つを含むものとして識別された全ての単位エリアから決定されてもよい。いくつかの実施形態では、訓練配送パターンが識別された単位エリアを所定の経路に沿ってグループ化することによって決定されてもよい。いくつかの実施形態では、訓練配送パターンの各々が多くても3つの単位エリアを含むことができる。
【0094】
いくつかの実施形態では、訓練配送パターンが工程400の工程404において、単位
エリアと実質的に同時に決定され、記憶されてもよい。これらの実施形態では、プロセッサ306が工程604で、記憶された訓練配送パターンを取り出すことができる。
【0095】
いくつかの実施形態では工程404において、プロセッサ306は第1のニューラルネットワークモデルを使用して、単位エリアおよび訓練配送パターンを実質的に同時に決定することができる。例えば、プロセッサ306はパターン接続(例えば、場所間の関係、セグメント、または他の対応)を生成するために、第1のニューラルネットワークモデルによって決定された現在の場所および以前の場所を記録することができる。
【0096】
一例では、プロセッサ306が次いで、特定のパターン接続が1つまたは複数の所定の経路でどのくらいの頻度で発生するかを反映する周波数値を決定することができる。そのパターン接続が所定の値(例えば、2、3、4、または任意の正の整数)を超える頻度値に対応する場合、プロセッサ306は、パターン接続を受け入れ、それを使用して、訓練配送パターンを生成することができる。
【0097】
別の例では、プロセッサ306が次いで、第1のニューラルネットワークモデルによって現在の場所について決定された確率値に基づいて、現在の接続を受け入れるかどうかを決定することができる。この例では現在の場所が以前の場所の後続の場所としての最高確率値に対応する場合、プロセッサ306は現在のコネクションを受け入れ、それを使用して訓練配送パターンを生成することができる。
【0098】
工程606において、プロセッサ306は、それぞれの訓練配送パターンについてベクトル表現を決定する。いくつかの実施形態では、配送模様のベクトル表現が単位エリアのベクトル表現と同様であってもよい。いくつかの実施形態では、訓練配送パターンのベクトル表現がその中の単位エリアのベクトル表現を追加することによって決定されてもよい。
【0099】
工程608において、プロセッサ306は、それぞれの訓練配送パターンについて得点を決定する。スコアは、訪問シーケンスに沿って単位エリアを訪問するための効率レベルを示すことができる。いくつかの実施形態では、プロセッサ306が訓練配送パターンのベクトル表現を機械学習モデルに入力することによって得点を決定することができる。いくつかの実施形態では異なる訓練配送パターンが同じ組の単位エリアを含むことができるが、異なる訪問シーケンスを有することができる。スコアの各々についてスコアを計算することによって、異なる訪問シーケンスの効率レベルを決定し、これを使用して、同じ組の単位エリアについて最も効率的な経路を決定することができる。
【0100】
ステップ610において、訪問シーケンスが所定の経路と一致しない場合、プロセッサ306は機械学習モデルのパラメータを更新する。いくつかの実施形態では訪問シーケンスが所定の経路の任意の部分と同じでない場合、プロセッサ306は訪問シーケンスが所定の経路と一致しないと判定することができる。いくつかの実施形態では、機械学習モデルが第2のニューラルネットワークモデルであってもよい。いくつかの実施形態では、第2のニューラルネットワークモデルが少なくとも1つの隠れ層を含むことができる。パラメータは、隠れ層の各ノードに関連する重みであってもよい。更新は例えば、バックプロパゲーションを使用して実施することができる。
【0101】
工程612において、訓練配送パターンの全ての訪問シーケンスが所定の経路と一致する場合、プロセッサ306は、配送パターンを生成するための機械学習モデルを決定する。いくつかの実施形態では任意の訓練配送パターンの訪問シーケンスが所定の経路の一部と一致する場合、プロセッサ306は訓練配送パターンのすべての訪問シーケンスが所定の経路と一致すると判定することができる。このステップまで、機械学習モデルは、正し
く訓練され得る。機械学習モデルを使用することによって、プロセッサ306は、より高い精度およびより効率的に配送パターンを生成することができる。
【0102】
いくつかの実施形態では、
図4のステップ406で配送パターンを生成することはプロセス600で決定された機械学習モデルを使用して実施されてもよい。例えば、プロセッサ306は、単位エリアを使用して候補配送パターンを決定することができる。それぞれの配送パターンは、訪問順に順序付けられた単位エリアのうちの少なくとも1つを含むことができる。このステップは、ステップ604と同様に実施することができる。いくつかの実施形態では、単位エリアの全ての実現可能な組み合わせが生成され、候補配送パターンとして決定されてもよい。
【0103】
次いで、プロセッサ306は、それぞれの候補配送パターンについてベクトル表現を決定することができる。いくつかの実施形態では、候補配送パターンのベクトル表現が候補配送パターン内の単位エリアのベクトル表現を追加することによって決定されてもよい。このステップは、ステップ606と同様に実施することができる。
【0104】
プロセッサ306は次に、候補配送パターンのベクトル表現を訓練された機械学習モデルに入力することによって、それぞれの候補配送パターンの得点を決定することができる。このステップは、ステップ608と同様に実施することができる。
【0105】
次いで、プロセッサ306は、所定のしきい値よりも高いスコアを有する候補配送パターンとして配送パターンを生成することができる。プロセッサ306(または別の装置)は
図7に関して以下で説明するように、配送パターンを使用して経路を生成することができる。
【0106】
図7は、開示された実施形態に一致する、荷物集荷および配送のための経路生成の例示的な処理700の流れ図である。
【0107】
ステップ702で、プロセッサ306は、訪問する目標場所を含むタスクデータを受信する。例えば、目標場所は、顧客の住所のような配送または集荷先であってもよい。目標場所は、処理400の工程402と同じ地理的領域にあってもよい。いくつかの実施形態では、目標データが目標場所間の距離をさらに含むことができる。
【0108】
ステップ704において、プロセッサ306は、目標単位エリアを目標場所をカバーする単位エリアとして決定する。例えば、目標単位エリアは、目標場所のうちの少なくとも1つを含む全ての単位エリアを含むことができる。一部の実施形態では、目標単位エリア間の距離が目標場所間の距離から決定されてもよい。
【0109】
ステップ706において、プロセッサ306は、目標単位エリアをリンクする目標経路を決定する。配送作業員は、目標経路に沿って1回、それぞれの目標単位エリアを訪れることができる。いくつかの実施形態では、プロセッサ306が以下のように目標経路を決定することができる。
【0110】
プロセッサ306は、目標単位エリアをリンクする実現可能な配送パターンの少なくとも1つの組を決定することができる。いくつかの実施形態では、実現可能な配送パターンが目標場所をネットワーク羅し、所定のしきい値よりも高いスコアを有することができる、工程406で生成されたすべての配送パターンを含む。実現可能な配送パターンの訪問シーケンスをエンド・ツー・エンド方式でリンクすることによって、目標単位エリアを単一の候補経路でリンクすることができる。いくつかの実施形態では、単一の候補経路内の目標単位エリアを連結することができる実現可能な配送パターンの2つ以上の組合せが存
在することができる。言い換えれば、目標単位エリアをリンクするための複数の候補経路があってもよい。その場合、プロセッサ306は、以下のように目標経路を決定することができる。
【0111】
次いで、プロセッサ306は、配送作業員が目標単位エリアを訪れるのに最短の時刻を有する実現可能な配送パターンとして目標経路を決定することができる。いくつかの実施形態では、工程704で決定された単位エリア間の距離に基づいて、配送作業員が目標単位エリアを訪れるために候補経路に沿って移動する期間を推定することができる。目標経路は、最も短い持続時間を有する候補経路として決定されてもよい。
【0112】
本開示はその特定の実施形態を参照して示され、説明されてきたが、本開示は修正なしに、他の環境において実施され得ることが理解されるのであろう。前述の説明は、例示の目的で提示されている。これは、ネットワーク羅的ではなく、開示された正確な形態または実施形態に限定されない。当業者には、開示された実施形態の明細書および実施を考慮することによって、修正および適合が明らかになるのであろう。加えて、開示された実施形態の態様はメモリに格納されるものとして説明されているが、当業者はこれらの態様が例えばハードディスクまたはCD ROM、あるいは他の形態のRAMまたはROM、USB媒体、DVD、ブルーレイ、または他の光学ドライブ媒体などの二次記憶デバイスなどの他のタイプのコンピュータ可読媒体に格納されてもよいことを理解するのであろう。
【0113】
記載された説明および開示された方法に基づくコンピュータプログラムは、熟練した開発者の技術の範囲内である。様々なプログラムまたはプログラムモジュールは当業者に知られている技法のいずれかを使用して作成することができ、または既存のソフトウェアに関連して設計することができる。例えば、プログラムセクションまたはプログラムモジュールは、.Net Framework、.Net Compact Framework(およびVisual Basic、C などの関
連言語)、Java、C++、Objective-C、HTML、HTML/AJAXの組み合わせ、XML、またはJavaアプレットを含むHTML内またはこれらの手段によって設計することができる。
【0114】
さらに、例示的な実施形態が本明細書で説明されてきたが、本開示に基づいて当業者によって理解されるように、同等の要素、修正、省略、組み合わせ(例えば、様々な実施形態にわたる態様の)、適応、および/または変更を有する任意のおよびすべての実施形態の範囲。クレームの限定はクレームに使用されている文言に広く基づいて解釈されるものとし、本明細書に記載されている例に限定されるものではなく、又は出願手続中に解釈されるものとする。実施例は、非排他的であると解釈されるべきである。さらに、開示された方法のステップは、ステップを並べ替えること、および/またはステップを挿入または削除することを含む、任意の方法で修正されてもよい。したがって、本明細書および実施例は単に例示的なものとみなされ、真の範囲および精神は以下の特許請求の範囲およびそれらの均等物の全範囲によって示されることが意図される。