IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アクセンチュア グローバル ソリューションズ リミテッドの特許一覧

<>
  • 特許-物流配送の最適ルートの決定 図1A
  • 特許-物流配送の最適ルートの決定 図1B
  • 特許-物流配送の最適ルートの決定 図1C
  • 特許-物流配送の最適ルートの決定 図1D
  • 特許-物流配送の最適ルートの決定 図1E
  • 特許-物流配送の最適ルートの決定 図2
  • 特許-物流配送の最適ルートの決定 図3
  • 特許-物流配送の最適ルートの決定 図4
  • 特許-物流配送の最適ルートの決定 図5
  • 特許-物流配送の最適ルートの決定 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-17
(45)【発行日】2022-03-28
(54)【発明の名称】物流配送の最適ルートの決定
(51)【国際特許分類】
   G06Q 10/08 20120101AFI20220318BHJP
   G01C 21/34 20060101ALI20220318BHJP
   G08G 1/137 20060101ALI20220318BHJP
【FI】
G06Q10/08 300
G01C21/34
G08G1/137
【請求項の数】 16
【外国語出願】
(21)【出願番号】P 2020093056
(22)【出願日】2020-05-28
(65)【公開番号】P2021036417
(43)【公開日】2021-03-04
【審査請求日】2020-05-28
(31)【優先権主張番号】16/510,412
(32)【優先日】2019-07-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】516172237
【氏名又は名称】アクセンチュア グローバル ソリューションズ リミテッド
(74)【代理人】
【識別番号】100102406
【弁理士】
【氏名又は名称】黒田 健二
(74)【代理人】
【識別番号】100100240
【弁理士】
【氏名又は名称】松本 孝
(72)【発明者】
【氏名】シャーマ,ディーパック エー.
(72)【発明者】
【氏名】ビスワナス,ロメシュ
(72)【発明者】
【氏名】モヘン ベンカタクリシュナン,ラム モヘン
(72)【発明者】
【氏名】バブ クナプレディ,トリナデ
(72)【発明者】
【氏名】スリニバサン,カーシック
【審査官】岡北 有平
(56)【参考文献】
【文献】特表2019-513276(JP,A)
【文献】米国特許出願公開第2019/0164079(US,A1)
【文献】田中 宗 ,量子アニーリングの基礎と応用事例,知能と情報 ,日本,日本知能情報ファジィ学会 ,2018年02月15日,第30巻 第1号,第42-47ページ
【文献】田中 宗 ,量子アニーリングの基礎と応用事例,知能と情報 ,日本,日本知能情報ファジィ学会 ,2018年02月15日,第30巻 第1号,第42-47ページ
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
G01C 21/34
G08G 1/137
(57)【特許請求の範囲】
【請求項1】
デバイスによって、複数の場所に関する第1の情報と、前記複数の場所に対するルート順序を決定するための複数の選好に関する第2の情報とを受信するステップであって、
前記第1の情報は、前記複数の場所の間の距離、前記複数の場所の間の移動時間、および前記複数の場所に関連する個々の価値評価を含み、
前記第2の情報は、前記複数の選好の個々の優先度に関し、
前記複数の選好は、前記ルート順序に関連する評価価値の最大化、前記ルート順序に関連する距離の最小化、および前記ルート順序に関連する移動時間の最小化に関する、
前記受信するステップと、
前記複数の場所に対する前記ルート順序を決定するための1つ以上のパラメータを、前記デバイスによって特定するステップであって、
前記1つ以上のパラメータは、前記ルート順序に関連する評価価値の最大化、前記ルート順序に関連する距離の最小化、および前記ルート順序に関連する移動時間の最小化に関する前記複数の選好の優先度を指定するパラメータを含む、
前記特定するステップと、
前記デバイスによって、前記第1の情報、前記第2の情報、および前記1つ以上のパラメータに基づき量子モデルを生成するステップと、
前記デバイスによって、量子ソルバを使用して前記量子モデル最小エネルギー状態を判断するステップであって、
前記最小エネルギー状態は、前記複数の場所に対する候補ルート順序に対応する、
前記判断するステップと、
前記デバイスによって、前記候補ルート順序に基づき、前記複数の場所の間のルートを決定するステップと
を含む方法。
【請求項2】
前記量子モデルの最小エネルギー状態を判断するステップは、
アプリケーションプログラミングインターフェースを介して、前記量子モデルを量子ソルバに提供するステップと、
前記量子ソルバを使用して、前記量子モデルの最小エネルギー状態を判断するステップと
を含む、請求項1に記載の方法。
【請求項3】
前記複数の場所に関連する個々の評価価値は、
個々の場所に配送される個々の貨物の個々のコスト、
個々の場所に配送される個々の貨物の個々の価値、または
個々の場所に個々の貨物を配送することに関連する個々の収入
のうちの少なくとも一つに関する、請求項1に記載の方法。
【請求項4】
前記量子モデルを生成するステップは、
前記第2の情報および前記1つ以上のパラメータに基づき前記第1の情報の二次制約なし二値最適化(QUBO)を生成するステップと、
前記QUBOを行列に変換するステップと
を含む、請求項1に記載の方法。
【請求項5】
前記1つ以上のパラメータは、
前記複数の場所のうちの各場所が前記ルート順序に1回だけ含められることを指定するパラメータ、または
前記複数の場所のうちの各場所が前記ルート順序に含められることを指定するパラメータ
のうちの少なくとも1つをさらに含む、請求項1に記載の方法。
【請求項6】
1つ以上のメモリと、
前記1つ以上のメモリに通信結合された1つ以上のプロセッサと
を含むデバイスであって、前記1つ以上のプロセッサは、
複数の場所に関する第1の情報と、前記複数の場所に対するルート順序を決定するための複数の選好に関する第2の情報とを受信することであって、
前記第1の情報は、前記複数の場所の間の距離、前記複数の場所の間の移動時間、および前記複数の場所に関連する個々の価値評価に関し、
前記第2の情報は、前記複数の選好の個々の優先度に関し、
前記複数の選好は、前記ルート順序に関連する価値評価の最大化、前記ルート順序に関連する距離の最小化、および前記ルート順序に関連する移動時間の最小化関する、
前記受信することと、
前記複数の場所に対する前記ルート順序を決定するための1つ以上のパラメータを特定することであって、
前記1つ以上のパラメータは、前記ルート順序に関連する評価価値の最大化、前記ルート順序に関連する距離の最小化、および前記ルート順序に関連する移動時間の最小化に関する前記複数の選好の優先度を指定するパラメータを含む、
前記特定することと、
前記第1の情報、前記第2の情報、および前記1つ以上のパラメータに基づき量子モデルを生成することと、
量子ソルバを使用して前記量子モデルの最小エネルギー状態を判断することであって、
前記最小エネルギー状態は、前記複数の場所に対する候補ルート順序に対応する、
前記判断することと、
前記候補ルート順序に基づき、前記複数の場所の間のルートを決定することと
をする、デバイス。
【請求項7】
前記1つ以上のプロセッサは、前記量子モデルの前記最小エネルギー状態を判断するとき、
アプリケーションプログラミングインターフェースを介して前記量子モデルを前記量子ソルバに提供することと、
前記量子ソルバを使用して前記量子モデルの前記最小エネルギー状態を判断することと
をする、請求項に記載のデバイス。
【請求項8】
前記1つ以上のプロセッサはさらに、
ユーザインターフェースにおいて表示するために前記複数の場所の間の前記ルートの視覚化を生成する、請求項に記載のデバイス。
【請求項9】
前記複数の場所に関連する個々の評価価値は、
個々の場所に配送される個々の貨物の個々のコスト、
個々の場所に配送される個々の貨物の個々の価値、または
個々の場所に個々の貨物を配送することに関連する個々の収入
のうちの少なくとも一つに関する、請求項に記載のデバイス。
【請求項10】
前記1つ以上のプロセッサは、前記量子モデルを生成するとき、
前記第2の情報および前記1つ以上のパラメータに基づき前記第1の情報の二次制約なし二値最適化(QUBO)を生成することと、
前記QUBOを行列に変換することと
をする、請求項に記載のデバイス。
【請求項11】
前記1つ以上のパラメータは、
前記複数の場所のうちの各場所が前記ルート順序に1回だけ含められることを指定するパラメータ、または
前記複数の場所のうちの各場所が前記ルート順序に含められることを指定するパラメータ
のうちの少なくとも1つをさらに含む、請求項に記載のデバイス。
【請求項12】
前記1つ以上の選好の前記優先度または前記個々の優先度のそれぞれは、前記選好のランキングまたは前記選好のスコアに関する、請求項に記載のデバイス。
【請求項13】
命令を記憶する非一時的コンピュータ可読媒体であって、前記命令は、
1つ以上の命令
を含み、前記1つ以上の命令は、1つ以上のプロセッサにより実行されると前記1つ以上のプロセッサに、
複数の場所の表現を、前記複数の場所に関する情報に基づき決定することであって、 前記複数の場所に関する情報は、前記複数の場所の間の距離、前記複数の場所の間の移動時間、および前記複数の場所に関連する個々の価値評価に関する、
前記決定することと、
前記複数の場所に対するルート順序を決定するための複数の選好の個々の優先度を特定することであって、
前記複数の選好は、前記ルート順序に関連する評価価値の最大化、前記ルート順序に関連する距離の最小化、および前記ルート順序に関連する移動時間の最小化に関する、
前記個々の優先度を特定することと、
前記複数の場所に対する前記ルート順序を決定するための1つ以上のパラメータを特定することであって、
前記1つ以上のパラメータは、前記ルート順序に関連する評価価値の最大化、前記ルート順序に関連する距離の最小化、および前記ルート順序に関連する移動時間の最小化に関する前記複数の選好の優先度を指定するパラメータを含む、
前記1つ以上のパラメータを特定することと、
前記表現、前記複数の選好、および前記1つ以上のパラメータに基づき量子モデルを生成することと、
量子ソルバを使用して前記量子モデル最小エネルギー状態を判断することであって、
前記最小エネルギー状態は、前記複数の場所に対する候補ルート順序に対応する、
前記判断することと、
前記候補ルート順序に基づき、前記複数の場所の間のルートを特定することと
をさせる、非一時的コンピュータ可読媒体。
【請求項14】
前記表現は、行列またはグラフである、請求項13に記載の非一時的コンピュータ可読媒体。
【請求項15】
前記1つ以上のパラメータは、
前記複数の場所のうちの各場所が前記ルート順序に1回だけ含められることを指定するパラメータ、または
前記複数の場所のうちの各場所が前記ルート順序に含められることを指定するパラメータ
のうちの少なくとも1つをさらに含む、請求項13に記載の非一時的コンピュータ可読媒体。
【請求項16】
前記1つ以上の命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサにさらに、
前記複数の場所の間の前記ルートに関連する道順を決定することと、
ユーザインターフェースを介して前記道順を提供することと
をさせる、請求項13に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本開示は、全般的に、物流配送の最適ルートを判断するシステムおよび方法に関する。
【0002】
関連出願
本願は、2019年5月1日出願の米国特許出願第16/400,797号(「セルリソース割り当て(CELL RESOURCE ALLOCATION)」)の一部継続出願(CIP:CONTINUATION-IN-PART)であり、その内容全体が参照により本願明細書に援用される。
【背景技術】
【0003】
配送物流管理は、貨物(例えば商品、小包、および/または同様のもの)を輸送する物理的なプロセスに関する。例として、1つ以上の車両に、複数の場所に貨物を配送するために通過され得るルートが割り当てられることが考えられる。
【発明の概要】
【課題を解決するための手段】
【0004】
一部の実装によれば、方法は、デバイスによって、複数の場所に関する第1の情報と、複数の場所に対するルート順序を決定するための1つ以上の選好に関する第2の情報とを受信するステップであって、第1の情報は、複数の場所の間の距離を含み、第2の情報は、1つ以上の選好の個々の優先度に関する、受信するステップと、複数の場所に対するルート順序を決定するための1つ以上のパラメータを、デバイスによって特定するステップと、デバイスによって、第1の情報、第2の情報、および1つ以上のパラメータに基づき量子モデルを生成するステップと、デバイスによって、量子ソルバを使用して量子モデルの1つ以上の最小エネルギー状態を判断するステップであって、1つ以上の最小エネルギー状態は、複数の場所に対する個々の候補ルート順序に対応する、判断するステップと、デバイスによって、1つ以上の最小エネルギー状態のうちの或る最小エネルギー状態に対応する候補ルート順序に基づき、複数の場所の間のルートを決定するステップとを含んでもよい。
【0005】
上記の方法の一部の実装によれば、ルートを決定するステップは、最小エネルギー状態に対応する候補ルート順序を、アプリケーションプログラミングインターフェースを介して最短路ソルバに提供するステップと、最短路ソルバを使用して複数の場所の間のルートを決定するステップとを含んでもよい。
【0006】
上記の方法の一部の実装によれば、本方法は、複数の場所に配送される製品に関する価値評価データを受信するステップをさらに含んでもよく、量子モデルは、価値評価データにさらに基づいて生成される。
【0007】
上記の方法の一部の実装によれば、量子モデルを生成するステップは、第2の情報および1つ以上のパラメータに基づき第1の情報の二次制約なし二値最適化(QUBO:quadratic unconstrained binary optimization)を生成するステップと、QUBOを行列に変換するステップとを含んでもよい。
【0008】
上記の方法の一部の実装によれば、複数の場所は配送場所であってもよく、ルートは配送ルートであってもよい。
【0009】
上記の方法の一部の実装によれば、1つ以上のパラメータは、複数の場所のうちの各場所がルート順序に1回だけ含められることを指定するパラメータ、または複数の場所のうちの各場所がルート順序に含められることを指定するパラメータのうちの少なくとも1つを含んでもよい。
【0010】
上記の方法の一部の実装によれば、1つ以上の選好は、ルート順序に関連する価値評価の最大化、ルート順序に関連する距離の最小化、ルート順序に関連する移動時間の最小化、またはルート順序に関連するコストの最小化に関してもよい。
【0011】
一部の実装によれば、デバイスは、1つ以上のメモリと、1つ以上のプロセッサとを含んでもよく、1つ以上のプロセッサは、複数の場所に関する第1の情報と、複数の場所に対するルート順序を決定するための1つ以上の選好に関する第2の情報とを受信することであって、第1の情報は、複数の場所の間の距離、複数の場所の間の移動時間、または複数の場所に関連する個々の価値評価に関し、第2の情報は、1つ以上の選好の個々の優先度に関し、1つ以上の選好は、ルート順序に関連する価値評価の最大化、ルート順序に関連する距離の最小化、ルート順序に関連する移動時間の最小化、またはルート順序に関連するコストの最小化に関する、受信することと、複数の場所に対するルート順序を決定するための1つ以上のパラメータを特定することと、第1の情報、第2の情報、および1つ以上のパラメータに基づき量子モデルを生成することと、量子ソルバを使用して量子モデルの最小エネルギー状態を判断することであって、最小エネルギー状態は、複数の場所に対する候補ルート順序に対応する、判断することと、候補ルート順序に基づき、複数の場所の間のルートを決定することとをする。
【0012】
上記のデバイスの一部の実装によれば、1つ以上のプロセッサは、量子モデルの最小エネルギー状態を判断するとき、アプリケーションプログラミングインターフェースを介して量子モデルを量子ソルバに提供することと、量子ソルバを使用して量子モデルの最小エネルギー状態を判断することとをしてもよい。
【0013】
上記のデバイスの一部の実装によれば、1つ以上のプロセッサはさらに、ユーザインターフェースにおいて表示するために複数の場所の間のルートの視覚化を生成してもよい。
【0014】
上記のデバイスの一部の実装によれば、複数の場所は、配送場所であってもよく、配送場所に関連する価値評価は、配送場所に配送される貨物の価値に関してもよい。
【0015】
上記のデバイスの一部の実装によれば、1つ以上のプロセッサは、量子モデルを生成するとき、第2の情報および1つ以上のパラメータに基づき第1の情報の二次制約なし二値最適化(QUBO)を生成することと、QUBOを行列に変換することとをしてもよい。
【0016】
上記のデバイスの一部の実装によれば、1つ以上のパラメータは、複数の場所のうちの各場所がルート順序に1回だけ含められることを指定するパラメータ、または複数の場所のうちの各場所がルート順序に含められることを指定するパラメータのうちの少なくとも1つを含んでもよい。
【0017】
上記のデバイスの一部の実装によれば、1つ以上の選好の優先度または個々の優先度のそれぞれは、選好のランキングまたは選好のスコアに関する。
【0018】
一部の実装によれば、非一時的コンピュータ可読媒体は1つ以上の命令を記憶してもよく、1つ以上の命令は、1つ以上のプロセッサにより実行されると1つ以上のプロセッサに、複数の場所の表現を、複数の場所に関する情報に基づき決定することと、複数の場所に対するルート順序を決定するための1つ以上の選好の個々の優先度と、複数の場所に対するルート順序を決定するための1つ以上のパラメータとを特定することと、表現、1つ以上の選好、および1つ以上のパラメータに基づき量子モデルを生成することと、量子ソルバを使用して量子モデルの1つ以上の最小エネルギー状態を判断することであって、1つ以上の最小エネルギー状態は、複数の場所に対する個々の候補ルート順序に対応する、判断することと、1つ以上の最小エネルギー状態のうちの或る最小エネルギー状態に対応する候補ルート順序に基づき、複数の場所の間のルートを特定することとをさせてもよい。
【0019】
上記の非一時的コンピュータ可読媒体の一部の実装によれば、表現は、行列またはグラフであってもよい。
【0020】
上記の非一時的コンピュータ可読媒体の一部の実装によれば、情報は、複数の場所の間の距離、複数の場所の間の移動時間、または複数の場所に関連する個々の価値評価に関してもよい。
【0021】
上記の非一時的コンピュータ可読媒体の一部の実装によれば、1つ以上の選好は、ルート順序に関連する価値評価の最大化、ルート順序に関連する距離の最小化、ルート順序に関連する移動時間の最小化、またはルート順序に関連するコストの最小化に関してもよい。
【0022】
上記の非一時的コンピュータ可読媒体の一部の実装によれば、1つ以上のパラメータは、複数の場所のうちの各場所がルート順序に1回だけ含められることを指定するパラメータ、または複数の場所のうちの各場所がルート順序に含められることを指定するパラメータのうちの少なくとも1つを含んでもよい。
【0023】
上記の非一時的コンピュータ可読媒体の一部の実装によれば、1つ以上の命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサにさらに、複数の場所の間のルートに関連する道順を決定することと、ユーザインターフェースを介して道順を提供することとをさせてもよい。
【図面の簡単な説明】
【0024】
図1A】本願明細書に記載される例示の1つ以上の実装の図である。
図1B】本願明細書に記載される例示の1つ以上の実装の図である。
図1C】本願明細書に記載される例示の1つ以上の実装の図である。
図1D】本願明細書に記載される例示の1つ以上の実装の図である。
図1E】本願明細書に記載される例示の1つ以上の実装の図である。
図2】本願明細書に記載されるシステムおよび/または方法が実装され得る例示の環境の図である。
図3図2の1つ以上のデバイスの例示のコンポーネントの図である。
図4】各場所に対するルート順序を決定する例示のプロセスのフローチャートである。
図5】各場所に対するルート順序を決定する例示のプロセスのフローチャートである。
図6】各場所に対するルート順序を決定する例示のプロセスのフローチャートである。
【発明を実施するための形態】
【0025】
以下の例示の実装の詳細な説明は、添付の図面を参照する。異なる図面にある同じ参照番号は、同じまたは類似の構成要素を特定し得る。
【0026】
車両は、航空便、陸便、船便、および/または同様のもので、貨物(例えば1つ以上の商品、1つ以上の小包、1つ以上の製品、および/または同様のもの)を輸送するために使用され得る。例として、車両は、或る地理的エリアにわたる様々な目的地に貨物を輸送するために使用され得る。そのような事例において、車両に関連する物流会社(例えば貨物運送会社、宅配会社、ライドシェア会社、および/または同様のもの)が、車両が訪問する複数の配送場所の間の最適ルートを決定しようと試みることがある。
【0027】
現在の手法では、物流会社が複数の配送場所の間の最短ルートを(例えばコンピューティングデバイスを使用して)決定することはできるかもしれない。しかしながら、一部の事例において、物流会社は、最短ルート以外のルートを望むかもしれないし、または距離とともに他の要因を考慮したルートを望むかもしれない。例として、物流会社は、ルートに関連する距離、時間、および/またはコストを最小化し、且つ/またはルートに関連する配送価値を最大化するルートを望むかもしれない。さらに物流会社は、ルートに関連する距離、時間、コスト、および/または配送価値に関する1つ以上の選好を有するかもしれない。例として、物流会社は、ルートに関連するコストの最小化に、より高い優先度を付与し、ルートに関連する配送価値の最大化に、より低い優先度を付与するかもしれない。かかる選好に従って数十または数百の配送場所の間のルートを決定するのは、技術的に複雑であり、現在の手法によるコンピューティングデバイス上で実行されると、かなりのコンピューティングリソースを費やす可能性、コンピューティングデバイスのフリーズまたはクラッシュを引き起こす可能性、および/または同様の可能性がある。
【0028】
本願明細書に記載される一部の実装によれば、ルートプラットフォームは、複数の場所の間のルートの効率的な決定を促進し得る。一部の実装において、ルートプラットフォームは、複数の場所に関する場所情報、および複数の場所に対するルート順序を決定するための1つ以上の選好に関する選好情報を受信してもよい。例として、場所情報は、複数の場所の間の距離、複数の場所の間の時間、複数の場所に関連する個々の価値評価、および/または同様のものに関してもよく、選好情報は、1つ以上の選好に対する個々の優先度に関してもよく、これは、ルート順序に関連する価値評価の最大化、ルート順序に関連する距離の最小化、ルート順序に関連する時間の最小化、ルート順序に関連するコストの最小化、および/または同様のものに関してもよい。
【0029】
一部の実装において、ルートプラットフォームは、複数の場所に対するルート順序を決定するための1つ以上のパラメータを特定してもよい。例として、1つ以上のパラメータは、複数の場所のうちの各場所がルート順序に1回だけ含められることを指定するパラメータ、複数の場所のうちの各場所がルート順序に含められることを指定するパラメータ、および/または同様のものを含んでもよい。ルートプラットフォームは、場所情報、選好情報、および1つ以上のパラメータに基づいて量子モデルを生成し、量子ソルバを使用して量子モデルの最小エネルギー状態を判断してもよい。そのような事例において、最小エネルギー状態は、複数の場所に対する候補ルート順序に対応してもよい。さらに、ルートプラットフォームは、候補ルート順序に基づき、複数の場所の間のルートを決定し、ユーザインターフェースにおいて表示するために複数の場所の間のルートの視覚化を生成してもよい。
【0030】
このように、ルートプラットフォームは、多数の場所(例えば数十または数百の配送場所)の間の高速且つ効率的なルート決定を提供する。さらに、現在の手法と比べて、ルートプラットフォームは、コンピューティングリソースを節約し、コンピュータのクラッシュを削減するかもしくはなくす形で、1つ以上の選好に従って多数の場所の間のルートを決定することができる。さらに、ルートプラットフォームは、物流会社が配送リソースを節約すること、配送リソースを効率的に配分すること、配送遅延を削減すること、および/または同様のことをできるようにする、最適化された配送ルートを提供する。
【0031】
図1A図1Eは、本願明細書に記載される例示の1つ以上の実装100の図である。図1A図1Eに示されているように、例示の実装(単数または複数)100は、ルートプラットフォームを含んでもよい。ルートプラットフォームは、複数の場所に対するルート順序を決定するために、場所に関する情報、ルート順序を決定するための選好、ルート順序を決定するためのパラメータ、および/または同様のものを処理する、コンピューティングデバイス、サーバ、クラウドコンピューティングデバイス、および/または同様のものであってもよい。ルートプラットフォームは、貨物運送会社、輸送会社(例えば航空会社)、宅配会社、ライドシェア会社、および/または同様のものなどの物流会社に関連してもよい。物流会社は、商品、生産物、小包、製品、および/または同様のものなどの貨物の配送に関与することもあり、または人々の輸送に関与することもある。本願明細書で使用されるとき、「配送」という用語は、貨物の配送または人々の輸送を指し得る。物流会社は、貨物の配送に使用される1つ以上の車両(例えば自動車、トラック、船舶、航空機、自転車、および/または同様のもの)に関連し得る。
【0032】
図1Aに参照番号105により示されているように、ルートプラットフォームは、ルート管理ユーザインターフェースを提供してもよく、これは、複数の場所(例えば配送場所)を特定するため、複数の場所に関する情報を特定するため、1つ以上の選好を特定するため、複数の場所に関連するルート(例えば配送ルート)を視覚化するため、および/または同様のことのために使用されてもよい。ルート管理ユーザインターフェースは、マップが場所のオーバーレイとともに表示され得るグラフィカルユーザインターフェースを含んでもよい。マップは、ナビゲーションマップ、衛星画像マップ、トポロジカルマップ、および/または同様のものを含んでもよい。さらに、ルート管理ユーザインターフェースは、ユーザがルートプラットフォームに対する情報および/または命令を提供することを可能にする1つ以上の入力要素を含んでもよい。例として、1つ以上の入力要素は、ユーザが(例えばマップ上をクリックすること、住所を入力すること、座標を入力すること、および/または同様のことによって)1つ以上の場所を特定すること、(例えば情報を入力することによって)1つ以上の場所に関する情報を特定すること、(例えば1つ以上の選好を入力すること、1つ以上の選好を選択すること、および/または同様のことによって)1つ以上の選好を特定すること、および/または同様のことをできるようにしてもよい。
【0033】
一部の実装において、(例えばルート管理ユーザインターフェースを使用する)ユーザは、ルートプラットフォームがルート(例えばルート順序)を決定する複数の場所を特定してもよい。さらに、または代わりに、ルートプラットフォームは、ルートプラットフォームがルート(例えばルート順序)を決定する複数の場所を自動的に特定してもよい。例としてルートプラットフォームは、物流会社が受け付ける注文、物流会社が受け付ける配送作業、物流会社が発行する貨物引換証、および/または同様のものに基づき、複数の場所を自動的に特定してもよい。
【0034】
複数の場所は、個々の座標(例えば経度および緯度座標)に関連してもよい。したがって、ルートプラットフォームは(例えばルート管理ユーザインターフェースのマップに従って)複数の場所の個々の座標を取得してもよい。一部の実装において、ルートプラットフォームは、場所の座標を場所の識別子にマッピングしてもよい。例として、ルートプラットフォームは、シカゴの或る場所に関連する座標(例えば41.8339042、-88.0121522)を、シカゴのその場所の識別子(例えば場所「A」)にマッピングしてもよく、コロンバスの或る場所に関連する座標(例えば39.9831302、-83.1309142)を、コロンバスのその場所の識別子(例えば場所「B」)にマッピングしてもよく、さらに/または同様のことをしてもよい。
【0035】
図1Bに参照番号110により示されているように、ルートプラットフォームは、複数の場所に関する情報を取得してもよい。複数の場所に関する情報は、複数の場所のうちのいずれか1つの場所と、複数の場所のうちの他のいずれかの場所との間の距離(例えば特定の移動様式に従った最短距離)および/または移動時間(例えば特定の移動様式に従った最短移動時間)を含んでもよい。言い換えれば、複数の場所に関する情報は、複数の場所のうちの2つの場所のすべての可能な組み合わせの間の距離および/または移動時間を含んでもよい。例として、複数の場所に含まれる第1、第2、および第3の場所がある場合、ルートプラットフォームは、第1の場所と第2の場所との間、第1の場所と第3の場所との間、および第2の場所と第3の場所との間の距離および/または移動時間に関する情報を取得してもよい。
【0036】
一部の実装において、ルートプラットフォームは、最短路ソルバを使用して、複数の場所の間の距離および/または移動時間を判断してもよい。一部の実装において、ルートプラットフォームは、複数の場所の個々の座標を最短路ソルバにAPI(例えば表現状態転送(REST:representational state transfer)APIおよび/または別のタイプのAPI)を介して提供してもよい。
【0037】
ルートプラットフォームは、複数の場所の個々の座標を最短路ソルバに提供してもよく、最短路ソルバは、座標に基づいて、複数の場所の間の距離および/または移動時間を判断してもよい。例として、物流会社により使用される移動様式が自動車またはトラックである場合、最短路ソルバは、既存の道路に従って複数の場所の間の距離および/または移動時間を判断してもよい。そのような事例において、距離は、既存の道路を使用したいずれか1つの場所と他のいずれかの場所との間の最短路に関してもよく、移動時間は、既存のまたは予想される車道条件、交通量、速度規制、および/または同様のものに従った最短路に関連する移動時間に関してもよい。
【0038】
一部の実装において、複数の場所に関する情報は、複数の場所の個々の価値評価を含んでもよい。一部の事例において、(例えばルート管理ユーザインターフェースを使用する)ユーザは、複数の場所の個々の価値評価を特定してもよい。さらに、または代わりに、ルートプラットフォームは、(例えば物流会社が受け付ける注文、物流会社が受け付ける配送作業、物流会社が発行する貨物引換証、および/または同様のものに基づき)複数の場所の個々の価値評価を自動的に特定してもよい。さらに、または代わりに、ルートプラットフォームは、複数の場所に配送される製品に関する価値評価データを受信して、価値評価データと、複数の場所に配送される製品の個々のセットに関する情報とに基づき、複数の場所の個々の価値評価を特定してもよい。場所に対する価値評価は、その場所に配送される貨物のコスト(例えば物流会社または貨物の別の所有者にとっての貨物のコスト)、その場所に配送される貨物の価値(例えば貨物の市場価値)、その場所に貨物を配送することに関連する収入(例えば貨物をその場所に配送することで物流会社が得た、または得るであろう収益)、および/または同様のものに関してもよい。
【0039】
一部の実装において、ルートプラットフォームは、複数の場所の表現を、複数の場所に関する情報に基づき決定してもよい。例として、ルートプラットフォームは、複数の場所の間の距離および/もしくは移動時間、ならびに/または複数の場所の個々の価値評価を表す行列を生成してもよい。さらに、または代わりに、ルートプラットフォームは、複数の場所の間の距離および/もしくは移動時間、ならびに/または複数の場所の個々の価値評価を表すグラフを生成してもよい。例として、ルートプラットフォームは、複数の場所のモデルを表し得る複数の場所のグラフを生成してもよい。グラフの頂点(またはノード)は、複数の場所のうちの個々の場所を表してもよい。グラフのエッジは、各場所の間の距離および/もしくは移動時間、ならびに/または場所の訪問に関連する価値評価を表してもよい。
【0040】
図1Cに参照番号115により示されているように、ルートプラットフォームは、複数の場所に対するルート(例えばルート順序)を決定するための1つ以上の選好に関する情報を取得してもよい。一部の事例において、(例えばルート管理ユーザインターフェースを使用する)ユーザは、1つ以上の選好に関する情報を特定してもよい。1つ以上の選好は、複数の場所に対するルート(例えばルート順序)に関連する価値評価の最大化(例えばより低い価値評価の場所の前により高い価値評価に関連する場所に配送する)、距離の最小化、移動時間の最小化、および/またはコスト(例えば燃料、運転手の賃金、車両の劣化、および/または同様のものに関連するコスト)の最小化に関してもよい。
【0041】
1つ以上の選好に関する情報は、1つ以上の選好の個々の優先度を含んでもよい。例として、情報は、価値評価の最大化、距離の最小化、移動時間の最小化、および/またはコストの最小化に関連する個々の優先度を含んでもよい。個々の優先度は、物流会社の望む特定の目標に従って物流会社により選ばれてもよい。
【0042】
一部の実装において、個々の優先度は、ランキングを1つ以上の選好に付与してもよい。例として、個々の優先度は、選好のうちの第1のもの(例えば価値評価の最大化、距離の最小化、移動時間の最小化、またはコストの最小化)を最高優先度として特定し、選好のうちの第2のものを2番目に高い優先度として特定するなどしてもよい。さらに、または代わりに、個々の優先度は、個々のスコアを1つ以上の選好に付与してもよい。スコアは、選好の重要度を表してもよい。例として、選好のうちの第1のもの(例えば価値評価の最大化、距離の最小化、移動時間の最小化、またはコストの最小化)に第1のスコア(例えば10のうち5)が付与されてもよく、選好のうちの第2のものに第2のスコア(例えば10のうち9)が付与されるなどしてもよい。
【0043】
図1Dに参照番号120により示されているように、ルートプラットフォームは、複数の場所に対するルート(例えばルート順序)を決定するための1つ以上のパラメータを特定してもよい。1つ以上のパラメータは、ルート(例えばルート順序)の決定法に従って設定可能であってもよい。一部の実装において、1つ以上のパラメータは、複数の場所のうちの各場所がルート順序に1回だけ含められることを指定するパラメータ、複数の場所のうちの各場所がルート順序に含められることを指定するパラメータ、および/または同様のものを含んでもよい。
【0044】
参照番号125により示されているように、ルートプラットフォームは、量子モデルを生成してもよい。例として、ルートプラットフォームは、複数の場所に関する情報、1つ以上の選好に関する情報、および/または1つ以上のパラメータに基づき量子モデルを生成してもよい。
【0045】
一部の実装において、ルートプラットフォームは、複数の場所を表す複数の列および行を含んでもよい行列として量子モデルを生成してもよい。例として、参照番号125により示される例示の行列において、A、B、およびCは、場所(例えば図1Bに示されているように、それぞれシカゴ(Chicago)、コロンバス(Columbus)およびルイビル(Louisville))を表し、0、1、および2はルート順序の中の場所の順位を表す。行列の要素は、複数の場所のうちの2つの場所の間の移動を表してもよい。例として、参照番号125により示されている例示の行列において、A0とB1との交点にある要素は、場所Aが第1に訪問され、場所Bが第2に訪問されるルート順序を表す。行列を生成するために、ルートプラットフォームは、二次制約なし二値最適化(QUBO)問題を複数の場所に関する情報に基づき(例えば複数の場所の表現に基づき)生成してもよく、さらに、QUBO問題を行列に変換してもよい。QUBOは制約なし問題であるので、ルートプラットフォームは、1つ以上の制約をQUBO問題に適用して、制約付きQUBO問題を得てもよい。1つ以上の制約は、1つ以上の選好および/または1つ以上のパラメータに関する情報に基づいてもよい。
【0046】
例として、複数の場所のうちの各場所がルート順序に1回だけ含められることを指定するパラメータは、式1により表されてもよい。
【0047】
【数1】
【0048】
式中、gは、値が最大化されるかまたは最小化されるかを特定するラグランジュ乗数を表し、cは、複数の場所のうちの或る場所を表し、nは、複数の場所の中の場所の数を表し、jは、ルート順序の中の場所の順位を表し、Nは、ルート順序の中の順位の数を表し、xc,jは、ルート順序の中の順位jにある場所cを表す。
【0049】
別の例として、複数の場所のうちの各場所がルート順序に含められることを指定するパラメータは、式2により表されてもよい。
【0050】
【数2】
【0051】
式中、gは、値が最大化されるかまたは最小化されるかを特定するラグランジュ乗数を表し、cは、複数の場所のうちの或る場所を表し、nは、複数の場所の中の場所の数を表し、jは、ルート順序の中の場所の順位を表し、Nは、ルート順序の中の順位の数を表し、xc,jは、ルート順序の中の順位jにある場所cを表す。
【0052】
さらなる例として、価値評価の最大化と、時間の最小化および距離の最小化に関する選好の優先度が、式3により表され得る。
【0053】
【数3】
【0054】
式中、gは、値が最大化されるかまたは最小化されるかを特定するラグランジュ乗数を表し、jは、ルート順序の中の或る場所の順位を表し、Nは、ルート順序の中の順位の数を表し、p、p、およびpは、価値評価の最大化、時間の最小化、および距離の最小化に付与される個々の優先度に従った重み付けを表し、bおよびcは、複数の場所のうちの個々の場所を表し、xb,jは、ルート順序の中の順位jにある場所bを表し、xc,j+1は、ルート順序の中の順位j+1にある場所cを表し、Distancebcは、場所bと場所cとの間の距離を表し、Timebcは、場所bと場所cとの間の移動時間を表し、Valuationは、場所bに関連する価値評価を表し、Valuationは、場所cに関連する価値評価を表す。
【0055】
一部の実装において、ルートプラットフォームは、式1、式2、および式3の和として制約付きQUBO問題を判断してもよい。ルートプラットフォームは、制約付きQUBO問題を行列に変換することによって量子モデルを生成してもよい。一部の実装において、制約付きQUBO問題を行列に変換することなく、量子モデルは制約付きQUBO問題であってもよい。
【0056】
参照番号130により示されているように、ルートプラットフォームは、量子モデルの最小エネルギー状態を判断してもよい。モデル化され得る場所の数は、潜在的に数十または数百の場所を含むので、ルートプラットフォームは、場所に対する1つ以上のルート順序を決定するための処理時間を短縮するために量子コンピューティング環境を提供してもよい。量子コンピューティング環境は、複数の候補ルート順序を並行して生成できる、ハードウェア(例えば1つ以上の量子処理ユニット(QPU:quantum processing unit))およびソフトウェア(例えば1つ以上の量子ソルバ、1つ以上の量子サンプラ、および/または同様のもの)の組み合わせを含んでもよい。
【0057】
したがって、ルートプラットフォームは、ルートプラットフォームが1つ以上のQPUおよび1つ以上の量子ソルバを使用して量子モデルを処理できるように、量子モデルを量子コンピューティング環境に提供してもよい。一部の実装において、ルートプラットフォームは、量子モデルをAPI(例えばREST APIおよび/または別のタイプのAPI)を介して1つ以上の量子ソルバに提供してもよい。
【0058】
ルートプラットフォームは、1つ以上のQPUおよび1つ以上の量子ソルバを使用して量子モデルを処理してもよい。1つ以上の量子ソルバの出力は、複数の場所に対する1つ以上の候補ルート順序(例えば複数の場所の順序付けされたリスト)であってもよい。例として、候補ルート順序は、C0、B1、A2(例えば参照番号125により示される例示の行列に関連する)であってもよく、これは、候補ルート順序に従って、場所Cが第1に訪問され、場所Bが第2に訪問され、場所Aが第3に訪問されることを示してもよい。候補ルート順序は、量子モデルの最小エネルギー状態をもたらすルート順序を表してもよい。量子モデルの最小エネルギー状態は、量子モデルから出力される最低値をもたらす候補ルート順序を含んでもよい。一部の実装において、量子モデルから出力される最低値は、ゼロ値または負の値であってもよい。
【0059】
一部の実装において、ルートプラットフォームは、量子モデルの最小エネルギー状態をもたらす候補ルート順序を選択してもよい。一部の実装において、複数の候補ルート順序が最小エネルギー状態をもたらす(例えば複数の候補ルート順序がそれぞれ量子ソルバからのゼロ出力値をもたらす)場合、ルートプラットフォームは、複数のルート順序から候補ルート順序を選択してもよい。例として、ルートプラットフォームは、ユーザまたは物流会社の追加の1つ以上の選好に従って候補ルート順序を選択してもよい。例として、追加の選好は、特定の配送が最初または最後に発生することの選好、特定の配送ができる限り早く発生することの選好、および/または同様のものに関してもよい。
【0060】
図1Eに参照番号135により示されているように、ルートプラットフォームは、最小エネルギー状態に関連する候補ルート順序に基づき、または最小エネルギー状態に関連する複数の候補ルート順序から選択された候補ルート順序に基づき、ルートを決定してもよい。候補ルート順序は、複数の場所の個々の場所識別子に従ってルート順序を特定してもよい。例として、候補ルート順序は、第1の場所(例えば場所「B」)、第2の場所(例えば場所「A」)などを順に特定してもよい。したがって、ルートを決定する前に、ルートプラットフォームは、候補ルート順序の複数の場所を個々の座標に変換してもよい。例として、上述のように、ルートプラットフォームは、座標に対する場所識別子のマッピングを使用して、候補ルート順序の複数の場所を個々の座標に変換してもよい。
【0061】
複数の場所の個々の座標に基づき、ルートプラットフォームは、候補ルート順序に従い複数の場所の間のルートを決定してもよい。例として、ルートプラットフォームは、最短路ソルバを使用してルートを決定してもよい。一部の実装において、ルートプラットフォームは、複数の場所の個々の座標をAPI(例えばREST APIおよび/または別のタイプのAPI)を介して最短路ソルバに提供してもよい。
【0062】
ルートプラットフォームは、候補ルート順序に従って、複数の場所の個々の座標を最短路ソルバに提供してもよく、最短路ソルバは、候補ルート順序をたどる複数の場所の間の最短路を判断してもよい。例として、物流会社により使用される移動様式が自動車またはトラックである場合、最短路ソルバは、既存の道路に従って、候補ルート順序をたどる複数の場所の間の最短路を判断してもよい。
【0063】
参照番号140により示されているように、ルートプラットフォームは、決定されたルートを表示してもよい。つまり、ルートプラットフォームは、決定されたルートの視覚表現を表示してもよい。ルートプラットフォームは、ルート管理ユーザインターフェースにおいてルートの視覚表現を表示してもよい。例としてルートプラットフォームは、ルート管理ユーザインターフェースに表示されるマップ上のオーバーレイとしてルートの視覚表現を表示してもよい。さらに、ルート管理ユーザインターフェースは、ルートに関連するルート順序を視覚的に示してもよい。例として、ルート順序は、マップ上にオーバーレイされる数字の識別子(例えば1、2、3、および/または同様のもの)により視覚的に示されてもよい。あるいは、ルート管理ユーザインターフェースは、ルートに関連するルート順序の順序付けされたリストを提供してもよい。
【0064】
一部の実装において、ルートプラットフォームは、ルートに関連する距離情報、移動時間情報、コスト情報、および/または価値評価情報を提供してもよい。ルートプラットフォームは、上述のように、最短路ソルバを使用して距離情報および/または移動時間情報を判断してもよい。ルートプラットフォームは、距離情報および/または移動時間情報に基づき、さらに物流会社に関連するマイルあたりおよび/または時間あたりのコスト(例えば燃料コスト、運転手の賃金コスト、劣化コスト、および/または同様のもの)に基づき、コスト情報を判断してもよい。ルートプラットフォームは、ルートに関連する様々な時点で(例えばルートの各場所にて)獲得または実現される累積の価値評価として価値評価情報を判断してもよい。ルートプラットフォームは、ルート管理ユーザインターフェースにおいて距離情報、移動時間情報、コスト情報、および/または価値評価情報を提供してもよい。
【0065】
一部の実装において、ルートプラットフォームは、ルートに関連する道順(例えばターンバイターンの道順)を決定してもよい。例として、ルートプラットフォームは、最短路ソルバを使用して道順を決定してもよい。ルートプラットフォームは、ルート管理ユーザインターフェースにおいて道順を提供してもよい。一部の実装において、ルート管理ユーザインターフェースはさらに、ユーザが、ルートをクリアまたはリセットすること、ルートを変更すること、複数の場所に対して1つ以上の場所の削除および/もしくは追加を行うこと、ルートを決定するためのユーザ選好(例えば高速道路を避ける、有料道路を避ける、さらに/または同様のこと)を特定すること、ならびに/または同様のことをできるように、ボタンおよび/または他のタイプの入力手段を提供してもよい。
【0066】
このように、ルートプラットフォームは、物流会社の1つ以上の選好に従って最適化される、多数の場所(例えば数十または数百の場所)の間のルートを提供する。ルートプラットフォームは、現在の手法と比べて改善されたスピードでのルートの効率的な決定を促進する。したがって、ルートプラットフォームは、現在の手法に比べてコンピューティングリソースを節約し、コンピュータのクラッシュを削減し、且つ/または同様のことをする。さらに、物流会社の1つ以上の選好に従ってルートを決定することにより、ルートプラットフォームは、物流会社の配送リソースの節約および物流会社の配送リソースの効率的な配分を促進し、その一方で、時間どおりに配送されるよう改善し、配送遅延を削減し、配送コストを削減し、且つ/または同様のことをする。
【0067】
上記で指摘したように、図1A図1Eは、単に1つ以上の例として提供されている。他の例は、図1A図1Eに関して記載されているものと異なり得る。
【0068】
図2は、本願明細書に記載されるシステムおよび/または方法が実装され得る例示の環境200の図である。図2に示されているように、環境200は、ユーザデバイス210、ルートプラットフォーム220、コンピューティングリソース225、クラウドコンピューティング環境230、およびネットワーク240を含んでもよい。環境200のデバイスは、有線接続、ワイヤレス接続、または有線接続とワイヤレス接続との組み合わせを介して相互に接続してもよい。
【0069】
ユーザデバイス210は、ルートが決定される複数の場所、ルートを決定するための1つ以上の選好、決定されたルート、および/または同様のものに関連する情報を受信、生成、記憶、処理、および/または提供できる1つ以上のデバイスを含む。例としてユーザデバイス210は、携帯電話(例えばスマートフォン、無線電話、および/または同様のもの)、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、ゲーム用デバイス、ウェアラブル通信デバイス(例えばスマート腕時計、スマート眼鏡、および/または同様のもの)または類似のタイプのデバイスなどの通信および/またはコンピューティングデバイスを含んでもよい。
【0070】
ルートプラットフォーム220は、複数の場所の間のルートを決定するために割り当てられた1つ以上のコンピューティングリソースを含む。例として、ルートプラットフォーム220は、複数の場所に関する情報を取得すること、1つ以上の選好に関する情報を取得すること、1つ以上のパラメータに関する情報を特定すること、量子モデルを生成すること、複数の場所に対するルート順序を決定すること、およびルート順序に基づきルートを決定すること、および/または同様のことを行うことができる、クラウドコンピューティング環境230により実装されるプラットフォームであってもよい。一部の実装において、ルートプラットフォーム220は、クラウドコンピューティング環境230のコンピューティングリソース225により実装される。
【0071】
ルートプラットフォーム220は、サーバデバイスまたはサーバデバイスのグループを含んでもよい。一部の実装において、ルートプラットフォーム220は、クラウドコンピューティング環境230においてホストされてもよい。特に、本願明細書に記載される実装は、ルートプラットフォーム220がクラウドコンピューティング環境230においてホストされるものとして記載し得るが、一部の実装では、ルートプラットフォーム220はクラウドベースでなくてもよく、または部分的にクラウドベースであってもよい。
【0072】
クラウドコンピューティング環境230は、サービスとしてコンピュータ処理を提供する環境を含み、それによって共有リソース、サービス、および/または同様のものがユーザデバイス210に提供されてもよく、または同様のことがされてもよい。クラウドコンピューティング環境230は、サービスを提供するシステムおよび/またはデバイスの物理的な位置および構成についてエンドユーザの知識を要求しない、演算、ソフトウェア、データアクセス、ストレージ、および/または他のサービスを提供してもよい。示されているように、クラウドコンピューティング環境230は、ルートプラットフォーム220およびコンピューティングリソース225を含んでもよい。
【0073】
コンピューティングリソース225は、1つ以上のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、または別のタイプの演算および/もしくは通信デバイスを含む。一部の実装において、コンピューティングリソース225はルートプラットフォーム220をホストしてもよい。クラウドリソースは、コンピューティングリソース225において実行される計算インスタンス、コンピューティングリソース225内に設けられるストレージデバイス、コンピューティングリソース225により提供されるデータ転送デバイス、および/または同様のものを含んでもよい。一部の実装において、コンピューティングリソース225は、有線接続、ワイヤレス接続、または有線接続とワイヤレス接続との組み合わせを介して他のコンピューティングリソース225と通信してもよい。
【0074】
図2にさらに示されるように、コンピューティングリソース225は、1つ以上のアプリケーション(「APP(application)」)225-1、1つ以上の仮想マシン(「VM(virtual machine)」)225-2、仮想化ストレージ(「VS(virtualized storage)」)225-3、1つ以上のハイパーバイザ(「HYP(hypervisor)」)225-4、または同様のものなどのクラウドリソースのグループを含んでもよい。
【0075】
アプリケーション225-1は、ユーザデバイス210に提供されても、またはユーザデバイス210によりアクセスされてもよい1つ以上のソフトウェアアプリケーション、または同様のものを含む。アプリケーション225-1は、ユーザデバイス210でソフトウェアアプリケーションをインストールして実行する必要性をなくしてもよく、または同様のことをしてもよい。例として、アプリケーション225-1は、ルートプラットフォーム220に関連したソフトウェア、および/またはクラウドコンピューティング環境230を介して提供できる他の任意のソフトウェアを含んでもよい。一部の実装において、1つのアプリケーション225-1は、仮想マシン225-2を介して他の1つ以上のアプリケーション225-1との間で情報を送受信してもよい。
【0076】
仮想マシン225-2は、物理マシンのようにプログラムを実行するマシン(例えばコンピュータ)のソフトウェア実装を含む。仮想マシン225-2は、用途、および仮想マシン225-2の任意の実マシンとの類似の程度に応じて、システム仮想マシンまたはプロセス仮想マシンのいずれかとされ得る。システム仮想マシンは、完全なオペレーティングシステムの実行をサポートする完全なシステムプラットフォームを提供してもよい。プロセス仮想マシンは、単一のプログラムを実行してもよく、単一のプロセスをサポートしてもよい。一部の実装において、仮想マシン225-2は、ユーザの代わりに実行してもよく、さらにデータ管理、同期化、または長期データ転送など、クラウドコンピューティング環境230のインフラストラクチャの管理をしてもよい。
【0077】
仮想化ストレージ225-3は、コンピューティングリソース225のストレージシステムまたはデバイスの中で仮想化手法を使用する1つ以上のストレージシステムおよび/または1つ以上のデバイスを含む。一部の実装において、ストレージシステムの文脈の中で、仮想化のタイプはブロック仮想化およびファイル仮想化を含み得る。ブロック仮想化は、物理ストレージからの論理ストレージの抽象化(または分離)を指すことができ、その結果、物理ストレージまたはヘテロジニアス構造と無関係にストレージシステムがアクセスされ得る。この分離は、ストレージシステムの管理者がエンドユーザに対しどのようにストレージを管理するかの点で、柔軟性を管理者に認めることができる。ファイル仮想化は、ファイルレベルでアクセスされるデータと、ファイルが物理的に記憶される場所との間の依存関係をなくすことができる。これは、ストレージ使用の最適化、サーバコンソリデーション、および/または無停止ファイルマイグレーションの実行を可能にし得る。
【0078】
ハイパーバイザ225-4は、複数のオペレーティングシステム(例えば「ゲストオペレーティングシステム」)がコンピューティングリソース225などのホストコンピュータ上で同時に実行できるようにするハードウェア仮想化手法を提供する。ハイパーバイザ225-4は、ゲストオペレーティングシステムに仮想オペレーティングプラットフォームを提示してもよく、ゲストオペレーティングシステムの実行を管理してもよい。様々なオペレーティングシステムの複数のインスタンスが、仮想化ハードウェアリソースを共有してもよい。
【0079】
ネットワーク240は、1つ以上の有線ネットワークおよび/またはワイヤレスネットワークを含む。例として、ネットワーク240は、セルラネットワーク(例えばロングタームエボリューション(LTE:long-term evolution)ネットワーク、符号分割多元接続(CDMA:code division multiple access)ネットワーク、3Gネットワーク、4Gネットワーク、5Gネットワーク、別のタイプの次世代ネットワーク、および/または同様のもの)、公衆陸上モバイルネットワーク(PLMN:public land mobile network)、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)、メトロポリタンエリアネットワーク(MAN:metropolitan area network)、電話網(例えば公衆交換電話網(PSTN:Public Switched Telephone Network))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、クラウドコンピューティングネットワークもしくは同様のもの、および/またはこれらもしくはその他のタイプのネットワークの組み合わせを含んでもよい。
【0080】
図2に示されたデバイスおよびネットワークの数および配置は、1つ以上の例として示されている。実際には、図2に示されたものと比べて、追加のデバイスおよび/もしくはネットワーク、より少数のデバイスおよび/もしくはネットワーク、異なるデバイスおよび/もしくはネットワーク、または別様に配置されたデバイスおよび/もしくはネットワークがあってもよい。さらに、図2に示されている2つ以上のデバイスが単一のデバイス内に実装されてもよく、または図2に示されている単一のデバイスが複数の分散型デバイスとして実装されてもよい。さらに、または代わりに、環境200のデバイスのセット(例えば1つ以上のデバイス)が、環境200のデバイスの別のセットにより実行されるものとして記載されている1つ以上の機能を実行してもよい。
【0081】
図3は、デバイス300の例示のコンポーネントの図である。デバイス300は、ユーザデバイス210、ルートプラットフォーム220、および/またはコンピューティングリソース225に対応してもよい。一部の実装において、ユーザデバイス210、ルートプラットフォーム220、および/またはコンピューティングリソース225は、1つ以上のデバイス300および/またはデバイス300の1つ以上のコンポーネントを含んでもよい。図3に示されているように、デバイス300は、バス310、プロセッサ320、メモリ330、ストレージコンポーネント340、入力コンポーネント350、出力コンポーネント360、および/または通信インターフェース370を含んでもよい。
【0082】
バス310は、デバイス300の複数のコンポーネント間の通信を可能にするコンポーネントを含む。プロセッサ320は、ハードウェア、ファームウェア、および/またはハードウェアとソフトウェアとの組み合わせにおいて実装される。プロセッサ320は、中央処理ユニット(CPU:central processing unit)、グラフィックス処理ユニット(GPU:graphics processing unit)、アクセラレーテッド処理ユニット(APU:accelerated processing unit)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP:digital signal processor)、フィールドプログラマブルゲートアレイ(FPGA:field-programmable gate array)、特定用途向け集積回路(ASIC:application-specific integrated circuit)、または別のタイプの処理コンポーネントの形態をとる。一部の実装において、プロセッサ320は、機能を実行するようにプログラムできる1つ以上のプロセッサを含む。メモリ330は、プロセッサ320により使用される情報および/または命令を記憶するランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read only memory)、および/または別のタイプの動的もしくは静的ストレージデバイス(例えばフラッシュメモリ、磁気メモリ、および/または光学メモリ)を含む。
【0083】
ストレージコンポーネント340は、デバイス300の動作および使用に関係する情報および/またはソフトウェアを記憶する。例としてストレージコンポーネント340は、ハードディスク(例えば磁気ディスク、光学ディスク、および/または光磁気ディスク)、ソリッドステートドライブ(SSD:solid state drive)、コンパクトディスク(CD:compact disc)、デジタル多用途ディスク(DVD:digital versatile disc)、フロッピーディスク、カートリッジ、磁気テープ、および/または別のタイプの非一時的コンピュータ可読媒体を、対応するドライブとともに含んでもよい。
【0084】
入力コンポーネント350は、デバイス300が、ユーザ入力(例えばタッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロフォン)などを介して情報を受信することを可能にするコンポーネントを含む。さらに、または代わりに、入力コンポーネント350は、位置を測定するコンポーネント(例えばグローバルポジショニングシステム(GPS:global positioning system)コンポーネント)および/またはセンサ(例えば加速度計、ジャイロスコープ、アクチュエータ、別のタイプの位置もしくは環境センサ、および/または同様のもの)を含んでもよい。出力コンポーネント360は、(例えばディスプレイ、スピーカ、触覚フィードバックコンポーネント、オーディオもしくは視覚インジケータ、および/または同様のものを介して)デバイス300からの出力情報を提供するコンポーネントを含む。
【0085】
通信インターフェース370は、デバイス300が有線接続、ワイヤレス接続または有線接続とワイヤレス接続との組み合わせなどを介して他のデバイスと通信することを可能にする、トランシーバのようなコンポーネント(例えばトランシーバ、独立した受信機、独立した送信機、および/または同様のもの)を含む。通信インターフェース370は、デバイス300が、別のデバイスから情報を受信し、且つ/または別のデバイスに情報を提供することを可能にしてもよい。例として、通信インターフェース370は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF:radio frequency)インターフェース、ユニバーサルシリアルバス(USB:universal serial bus)インターフェース、Wi-Fiインターフェース、セルラネットワークインターフェース、および/または同様のものを含んでもよい。
【0086】
デバイス300は、本願明細書に記載される1つ以上のプロセスを実行してもよい。デバイス300は、メモリ330および/またはストレージコンポーネント340などの非一時的コンピュータ可読媒体により記憶されたソフトウェア命令をプロセッサ320が実行するのに基づきこれらのプロセスを実行してもよい。本願明細書で使用されるとき、「コンピュータ可読媒体」という用語は、非一時的メモリデバイスを指す。メモリデバイスは、単一の物理ストレージデバイス内のメモリ空間または複数の物理ストレージデバイスにまたがったメモリ空間を含む。
【0087】
ソフトウェア命令は、メモリ330および/もしくはストレージコンポーネント340に別のコンピュータ可読媒体から、または通信インターフェース370を介して別のデバイスから読み込まれてもよい。メモリ330および/またはストレージコンポーネント340に記憶されたソフトウェア命令は、実行されると本願明細書に記載された1つ以上のプロセスをプロセッサ320に実行させてもよい。さらに、または代わりに、本願明細書に記載の1つ以上のプロセスを実行するために、ハードウェア回路構成がソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用されてもよい。したがって、本願明細書に記載された実装は、ハードウェア回路構成とソフトウェアとのいかなる特定の組み合わせにも限定されない。
【0088】
図3に示されたコンポーネントの数および配置は、例として示されている。実際には、デバイス300は、図3に示されたものと比べて、追加のコンポーネント、より少数のコンポーネント、異なるコンポーネント、または別様に配置されたコンポーネントを含んでもよい。さらに、または代わりに、デバイス300のコンポーネントのセット(例えば1つ以上のコンポーネント)が、デバイス300のコンポーネントの別のセットにより実行されるものとして記載されている1つ以上の機能を実行してもよい。
【0089】
図4は、各場所に対するルート順序を決定する例示のプロセス400のフローチャートである。一部の実装において、図4の1つ以上のプロセスブロックはルートプラットフォーム(例えばルートプラットフォーム220)により実行されてもよい。一部の実装において、図4の1つ以上のプロセスブロックは、ユーザデバイス(例えばユーザデバイス210)など、ルートプラットフォームとは独立した、またはルートプラットフォームを含む、別のデバイスまたはデバイスのグループ、または同様のものにより実行されてもよい。
【0090】
図4に示されているように、プロセス400は、複数の場所に関する第1の情報と、複数の場所に対するルート順序を決定するための1つ以上の選好に関する第2の情報とを受信することを含んでもよく、第1の情報は、複数の場所の間の距離を含み、第2の情報は、1つ以上の選好の個々の優先度に関する(ブロック410)。例として、ルートプラットフォーム(例えばコンピューティングリソース225、プロセッサ320、メモリ330、ストレージコンポーネント340、入力コンポーネント350、通信インターフェース370、および/または同様のものを使用する)は、上述のように、複数の場所に関する第1の情報と、複数の場所に対するルート順序を決定するための1つ以上の選好に関する第2の情報とを受信してもよい。一部の実装において、第1の情報は、複数の場所の間の距離を含む。一部の実装において、第2の情報は、1つ以上の選好の個々の優先度に関する。
【0091】
図4にさらに示されているように、プロセス400は、複数の場所に対するルート順序を決定するための1つ以上のパラメータを特定することを含んでもよい(ブロック420)。例として、ルートプラットフォーム(例えばコンピューティングリソース225、プロセッサ320、メモリ330、ストレージコンポーネント340、および/または同様のものを使用する)は、上述のように、複数の場所に対するルート順序を決定するための1つ以上のパラメータを特定してもよい。
【0092】
図4にさらに示されているように、プロセス400は、第1の情報、第2の情報、および1つ以上のパラメータに基づき量子モデルを生成することを含んでもよい(ブロック430)。例として、ルートプラットフォーム(例えばコンピューティングリソース225、プロセッサ320、メモリ330、ストレージコンポーネント340、および/または同様のものを使用する)は、上述のように、第1の情報、第2の情報、および1つ以上のパラメータに基づき量子モデルを生成してもよい。
【0093】
図4にさらに示されているように、プロセス400は、量子ソルバを使用して量子モデルの1つ以上の最小エネルギー状態を判断することを含んでもよく、1つ以上の最小エネルギー状態は、複数の場所に対する個々の候補ルート順序に対応する(ブロック440)。例として、ルートプラットフォーム(例えばコンピューティングリソース225、プロセッサ320、メモリ330、ストレージコンポーネント340、入力コンポーネント350、出力コンポーネント360、通信インターフェース370、および/または同様のものを使用する)は、上述のように、量子ソルバを使用して量子モデルの1つ以上の最小エネルギー状態を判断してもよい。一部の実装において、1つ以上の最小エネルギー状態は、複数の場所に対する個々の候補ルート順序に対応する。
【0094】
図4にさらに示されているように、プロセス400は、1つ以上の最小エネルギー状態のうちの或る最小エネルギー状態に対応する候補ルート順序に基づき、複数の場所の間のルートを決定することを含んでもよい(ブロック450)。例として、ルートプラットフォーム(例えばコンピューティングリソース225、プロセッサ320、メモリ330、ストレージコンポーネント340、入力コンポーネント350、出力コンポーネント360、通信インターフェース370、および/または同様のものを使用する)は、上述のように、1つ以上の最小エネルギー状態のうちの或る最小エネルギー状態に対応する候補ルート順序に基づき、複数の場所の間のルートを決定してもよい。
【0095】
プロセス400は、後述され、且つ/または本願明細書の他の箇所に記載された他の1つ以上のプロセスに関連して記載される、任意の単一の実装または任意の実装の組み合わせなど、追加の実装を含んでもよい。
【0096】
第1の実装において、ルートを決定することは、最小エネルギー状態に対応する候補ルート順序を、アプリケーションプログラミングインターフェースを介して最短路ソルバに提供することと、最短路ソルバを使用して複数の場所の間のルートを決定することとを含む。第2の実装単体、または第1の実装と組み合わされた第2の実装において、プロセス400はさらに、複数の場所に配送される製品に関する価値評価データを受信することを含み、量子モデルは、価値評価データにさらに基づいて生成される。
【0097】
第3の実装単体、または第1および第2の実装のうちの1つ以上と組み合わされた第3の実装において、量子モデルを生成することは、第2の情報および1つ以上のパラメータに基づき第1の情報のQUBOを生成することと、QUBOを行列に変換することとを含む。第4の実装単体、または第1から第3の実装のうちの1つ以上と組み合わされた第4の実装において、複数の場所は配送場所であり、ルートは配送ルートである。
【0098】
第5の実装単体、または第1から第4の実装のうちの1つ以上と組み合わされた第5の実装において、1つ以上のパラメータは、複数の場所のうちの各場所がルート順序に1回だけ含められることを指定するパラメータ、または複数の場所のうちの各場所がルート順序に含められることを指定するパラメータのうちの少なくとも1つを含む。第6の実装単体、または第1から第5の実装のうちの1つ以上と組み合わされた第6の実装において、1つ以上の選好は、ルート順序に関連する価値評価の最大化、ルート順序に関連する距離の最小化、ルート順序に関連する移動時間の最小化、またはルート順序に関連するコストの最小化に関する。
【0099】
図4はプロセス400の例示のブロックを示すが、一部の実装ではプロセス400は、図4に示されたものと比べて追加のブロック、より少数のブロック、異なるブロック、または別様に配置されたブロックを含んでもよい。さらに、または代わりに、プロセス400のブロックの2つ以上が並列実行されてもよい。
【0100】
図5は、各場所に対するルート順序を決定する例示のプロセス500のフローチャートである。一部の実装において、図5の1つ以上のプロセスブロックはルートプラットフォーム(例えばルートプラットフォーム220)により実行されてもよい。一部の実装において、図5の1つ以上のプロセスブロックは、ユーザデバイス(例えばユーザデバイス210)など、ルートプラットフォームとは独立した、またはルートプラットフォームを含む、別のデバイスまたはデバイスのグループ、または同様のものにより実行されてもよい。
【0101】
図5に示されているように、プロセス500は、複数の場所に関する第1の情報と、複数の場所に対するルート順序を決定するための1つ以上の選好に関する第2の情報とを受信することを含んでもよく、第1の情報は、複数の場所の間の距離、複数の場所の間の移動時間、または複数の場所に関連する個々の価値評価に関し、第2の情報は、1つ以上の選好の個々の優先度に関し、1つ以上の選好は、ルート順序に関連する価値評価の最大化、ルート順序に関連する距離の最小化、ルート順序に関連する移動時間の最小化、またはルート順序に関連するコストの最小化に関する(ブロック510)。例として、ルートプラットフォーム(例えばコンピューティングリソース225、プロセッサ320、メモリ330、ストレージコンポーネント340、入力コンポーネント350、通信インターフェース370、および/または同様のものを使用する)は、上述のように、複数の場所に関する第1の情報と、複数の場所に対するルート順序を決定するための1つ以上の選好に関する第2の情報とを受信してもよい。一部の実装において、第1の情報は、複数の場所の間の距離、複数の場所の間の移動時間、または複数の場所に関連する個々の価値評価に関する。一部の実装において、第2の情報は、1つ以上の選好の個々の優先度に関する。一部の実装において、1つ以上の選好は、ルート順序に関連する価値評価の最大化、ルート順序に関連する距離の最小化、ルート順序に関連する移動時間の最小化、またはルート順序に関連するコストの最小化に関する。
【0102】
図5にさらに示されているように、プロセス500は、複数の場所に対するルート順序を決定するための1つ以上のパラメータを特定することを含んでもよい(ブロック520)。例として、ルートプラットフォーム(例えばコンピューティングリソース225、プロセッサ320、メモリ330、ストレージコンポーネント340、および/または同様のものを使用する)は、上述のように、複数の場所に対するルート順序を決定するための1つ以上のパラメータを特定してもよい。
【0103】
図5にさらに示されているように、プロセス500は、第1の情報、第2の情報、および1つ以上のパラメータに基づき量子モデルを生成することを含んでもよい(ブロック530)。例として、ルートプラットフォーム(例えばコンピューティングリソース225、プロセッサ320、メモリ330、ストレージコンポーネント340、および/または同様のものを使用する)は、上述のように、第1の情報、第2の情報、および1つ以上のパラメータに基づき量子モデルを生成してもよい。
【0104】
図5にさらに示されているように、プロセス500は、量子ソルバを使用して量子モデルの最小エネルギー状態を判断することを含んでもよく、最小エネルギー状態は、複数の場所に対する候補ルート順序に対応する(ブロック540)。例として、ルートプラットフォーム(例えばコンピューティングリソース225、プロセッサ320、メモリ330、ストレージコンポーネント340、入力コンポーネント350、出力コンポーネント360、通信インターフェース370、および/または同様のものを使用する)は、上述のように、量子ソルバを使用して量子モデルの最小エネルギー状態を判断してもよい。一部の実装において、最小エネルギー状態は、複数の場所に対する候補ルート順序に対応する。
【0105】
図5にさらに示されているように、プロセス500は、候補ルート順序に基づき、複数の場所の間のルートを決定することを含んでもよい(ブロック550)。例として、ルートプラットフォーム(例えばプロセッサ320、メモリ330、ストレージコンポーネント340、入力コンポーネント350、出力コンポーネント360、通信インターフェース370、および/または同様のものを使用する)は、上述のように、候補ルート順序に基づき、複数の場所の間のルートを決定してもよい。
【0106】
プロセス500は、後述され、且つ/または本願明細書の他の箇所に記載された他の1つ以上のプロセスに関連して記載される、任意の単一の実装または任意の実装の組み合わせなど、追加の実装を含んでもよい。
【0107】
第1の実装において、量子モデルの最小エネルギー状態を判断することは、アプリケーションプログラミングインターフェースを介して量子モデルを量子ソルバに提供することと、量子ソルバを使用して量子モデルの最小エネルギー状態を判断することとを含む。第2の実装単体、または第1の実装と組み合わされた第2の実装において、プロセス600はさらに、ユーザインターフェースにおいて表示するために複数の場所の間のルートの視覚化を生成することを含む。
【0108】
第3の実装単体、または第1および第2の実装のうちの1つ以上と組み合わされた第3の実装において、複数の場所は、配送場所であり、配送場所に関連する価値評価は、配送場所に配送される貨物の価値に関する。第4の実装単体、または第1から第3の実装のうちの1つ以上と組み合わされた第4の実装において、量子モデルを生成することは、第2の情報および1つ以上のパラメータに基づき第1の情報のQUBOを生成することと、QUBOを行列に変換することとを含む。
【0109】
第5の実装単体、または第1から第4の実装のうちの1つ以上と組み合わされた第5の実装において、1つ以上のパラメータは、複数の場所のうちの各場所がルート順序に1回だけ含められることを指定するパラメータ、または複数の場所のうちの各場所がルート順序に含められることを指定するパラメータのうちの少なくとも1つを含む。第6の実装単体、または第1から第5の実装のうちの1つ以上と組み合わされた第6の実装において、選好の優先度は、選好のランキングまたは選好のスコアに関する。
【0110】
図5はプロセス500の例示のブロックを示すが、一部の実装ではプロセス500は、図5に示されたものと比べて追加のブロック、より少数のブロック、異なるブロック、または別様に配置されたブロックを含んでもよい。さらに、または代わりに、プロセス500のブロックの2つ以上が並列実行されてもよい。
【0111】
図6は、各場所に対するルート順序を決定する例示のプロセス600のフローチャートである。一部の実装において、図6の1つ以上のプロセスブロックはルートプラットフォーム(例えばルートプラットフォーム220)により実行されてもよい。一部の実装において、図6の1つ以上のプロセスブロックは、ユーザデバイス(例えばユーザデバイス210)など、ルートプラットフォームとは独立した、またはルートプラットフォームを含む、別のデバイスまたはデバイスのグループ、または同様のものにより実行されてもよい。
【0112】
図6に示されているように、プロセス600は、複数の場所の表現を、複数の場所に関する情報に基づき決定することを含んでもよい(ブロック610)。例として、ルートプラットフォーム(例えばコンピューティングリソース225、プロセッサ320、メモリ330、ストレージコンポーネント340、および/または同様のものを使用する)は、上述のように、複数の場所の表現を、複数の場所に関する情報に基づき決定してもよい。
【0113】
図6にさらに示されているように、プロセス600は、複数の場所に対するルート順序を決定するための1つ以上の選好の個々の優先度と、複数の場所に対するルート順序を決定するための1つ以上のパラメータとを特定することを含んでもよい(ブロック620)。例として、ルートプラットフォーム(例えばコンピューティングリソース225、プロセッサ320、メモリ330、ストレージコンポーネント340、および/または同様のものを使用する)は、上述のように、複数の場所に対するルート順序を決定するための1つ以上の選好の個々の優先度と、複数の場所に対するルート順序を決定するための1つ以上のパラメータとを特定してもよい。
【0114】
図6にさらに示されているように、プロセス600は、表現、1つ以上の選好、および1つ以上のパラメータに基づき量子モデルを生成することを含んでもよい(ブロック630)。例として、ルートプラットフォーム(例えばコンピューティングリソース225、プロセッサ320、メモリ330、ストレージコンポーネント340、および/または同様のものを使用する)は、上述のように、表現、1つ以上の選好、および1つ以上のパラメータに基づき量子モデルを生成してもよい。
【0115】
図6にさらに示されているように、プロセス600は、量子ソルバを使用して量子モデルの1つ以上の最小エネルギー状態を判断することを含んでもよく、1つ以上の最小エネルギー状態は、複数の場所に対する個々の候補ルート順序に対応する(ブロック640)。例として、ルートプラットフォーム(例えばコンピューティングリソース225、プロセッサ320、メモリ330、ストレージコンポーネント340、入力コンポーネント350、出力コンポーネント360、通信インターフェース370、および/または同様のものを使用する)は、上述のように、量子ソルバを使用して量子モデルの1つ以上の最小エネルギー状態を判断してもよい。一部の実装において、1つ以上の最小エネルギー状態は、複数の場所に対する個々の候補ルート順序に対応する。
【0116】
図6にさらに示されているように、プロセス600は、1つ以上の最小エネルギー状態のうちの或る最小エネルギー状態に対応する候補ルート順序に基づき、複数の場所の間のルートを特定することを含んでもよい(ブロック650)。例として、ルートプラットフォーム(例えばコンピューティングリソース225、プロセッサ320、メモリ330、ストレージコンポーネント340、入力コンポーネント350、出力コンポーネント360、通信インターフェース370、および/または同様のものを使用する)は、上述のように、1つ以上の最小エネルギー状態のうちの或る最小エネルギー状態に対応する候補ルート順序に基づき、複数の場所の間のルートを特定してもよい。
【0117】
プロセス600は、後述され、且つ/または本願明細書の他の箇所に記載された他の1つ以上のプロセスに関連して記載される、任意の単一の実装または任意の実装の組み合わせなど、追加の実装を含んでもよい。
【0118】
第1の実装において、表現は行列またはグラフである。第2の実装単体、または第1の実装と組み合わされた第2の実装において、情報は、複数の場所の間の距離、複数の場所の間の移動時間、または複数の場所に関連する個々の価値評価に関する。第3の実装単体、または第1および第2の実装のうちの1つ以上と組み合わされた第3の実装において、1つ以上の選好は、ルート順序に関連する価値評価の最大化、ルート順序に関連する距離の最小化、ルート順序に関連する移動時間の最小化、またはルート順序に関連するコストの最小化に関する。
【0119】
第4の実装単体、または第1から第3の実装のうちの1つ以上と組み合わされた第4の実装において、1つ以上のパラメータは、複数の場所のうちの各場所がルート順序に1回だけ含められることを指定するパラメータ、または複数の場所のうちの各場所がルート順序に含められることを指定するパラメータのうちの少なくとも1つを含む。第5の実装単体、または第1から第4の実装のうちの1つ以上と組み合わされた第5の実装において、プロセス600はさらに、複数の場所の間のルートに関連する道順を決定することと、ユーザインターフェースを介して道順を提供することとを含む。
【0120】
図6はプロセス600の例示のブロックを示すが、一部の実装ではプロセス600は、図6に示されたものと比べて追加のブロック、より少数のブロック、異なるブロック、または別様に配置されたブロックを含んでもよい。さらに、または代わりに、プロセス600のブロックの2つ以上が並列実行されてもよい。
【0121】
前述の開示は、例示および説明を提供するが、網羅的であることも、実装を開示された厳密な形態に限定することも意図していない。上記の開示を考慮して変更および変形が加えられてもよく、または実装の実践から変更および変形が習得される可能性もある。
【0122】
本願明細書で使用されるとき、「コンポーネント」という用語は、ハードウェア、ファームウェア、および/またはハードウェアとソフトウェアとの組み合わせとして広く解釈されるものとする。
【0123】
特定のユーザインターフェースが本願明細書に記載された。ユーザインターフェースは、グラフィカルユーザインターフェース、非グラフィカルユーザインターフェース、テキストベースのユーザインターフェース、および/または同様のものを含んでもよい。ユーザインターフェースは、表示される情報を提供してもよい。一部の実装においてユーザは、表示用のユーザインターフェースを提供するデバイスの入力コンポーネントを介して入力を提供することなどにより、情報と相互作用してもよい。一部の実装において、ユーザインターフェースは、デバイスおよび/またはユーザにより設定可能であってもよい(例えばユーザがユーザインターフェースのサイズ、ユーザインターフェースを介して提供される情報、ユーザインターフェースを介して提供される情報の位置、および/または同様のものを変更してもよい)。さらに、または代わりに、ユーザインターフェースは、標準設定、ユーザインターフェースが表示されるデバイスのタイプに基づく特定の設定、ならびに/またはユーザインターフェースが表示されるデバイスに関連する能力および/もしくは仕様に基づく設定のセットに予め設定されてもよい。
【0124】
当然のことながら、本願明細書に記載されたシステムおよび/または方法は、異なる形態のハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせに実装されてもよい。これらのシステムおよび/または方法を実装するために使用される実際の専用制御ハードウェアまたはソフトウェアコードは、実装を限定するものではない。したがって、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本願明細書に記載されているが、当然のことながら、ソフトウェアおよびハードウェアを、本願明細書の記載に基づくシステムおよび/または方法を実装するよう設計できる。
【0125】
特徴の特定の組み合わせが特許請求の範囲に記載され且つ/または明細書で開示されるが、これらの組み合わせは様々な実装の開示を限定することを意図されたものではない。実際には、これらの特徴の多くが、具体的に特許請求の範囲に記載および/または明細書で開示されなかった形で組み合わされてもよい。下記に列挙される各従属クレームは、1つのみのクレームに直接従属するかもしれないが、様々な実装の開示は、クレームセット中の他のすべてのクレームと組み合わせた各従属クレームを含む。
【0126】
本願明細書で使用されるいずれの構成要素、動作、または命令も、重要または必須とは、そのように明示的に記載されない限りは、解釈されてはならない。さらに、本願明細書で使用されるとき、冠詞「或る(aおよびan)」は、1つ以上の項目を含むものとし、「1つ以上の(one or more)」と交換可能なように使用され得る。さらに、本願明細書において使用されるとき、冠詞「この(the)」は、冠詞「この(the)」に関連して参照される1つ以上の項目を含むものとし、「1つ以上の(the one or more)」と交換可能なように使用され得る。さらに、本願明細書で使用されるとき、「セット(set)」という用語は、1つ以上の項目(例えば関係する項目、無関係の項目、関係する項目と無関係の項目との組み合わせ、および/または同様のもの)を含むものとし、「1つ以上の(one or more)」と交換可能なように使用され得る。1つのみの項目が意図される場合、「1つのみ(only one)」という語句または同様の文言が使用される。さらに、本願明細書で使用されるとき、「有する(has、have、having)」という用語または同様のものは、非限定的な用語であるものとする。さらに、「基づき(based on)」というフレーズは、別段の記載が明示的にされない限り、「少なくとも部分的に基づき(based,at least in part,on)」を意味するものとする。さらに、本願明細書で使用されるとき、「または(or)」という用語は、別段の記載(例えば、「いずれか(either)」または「のうちの1つのみ(only one of)」と組み合わせて使用される場合)が明示的になされない限り、連続する等位語句の中で使用される場合は非排他的であるものとし、「および/または(and/or)」と交換可能なように使用され得る。
図1A
図1B
図1C
図1D
図1E
図2
図3
図4
図5
図6