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

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

▶ 富士通株式会社の特許一覧

特開2024-80649車両経路選択問題及びその変形例の経路生成
<>
  • 特開-車両経路選択問題及びその変形例の経路生成 図1
  • 特開-車両経路選択問題及びその変形例の経路生成 図2
  • 特開-車両経路選択問題及びその変形例の経路生成 図3
  • 特開-車両経路選択問題及びその変形例の経路生成 図4
  • 特開-車両経路選択問題及びその変形例の経路生成 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024080649
(43)【公開日】2024-06-13
(54)【発明の名称】車両経路選択問題及びその変形例の経路生成
(51)【国際特許分類】
   G06Q 10/047 20230101AFI20240606BHJP
   G06Q 10/083 20240101ALI20240606BHJP
   G01C 21/34 20060101ALI20240606BHJP
【FI】
G06Q10/047
G06Q10/083
G01C21/34
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023200007
(22)【出願日】2023-11-27
(31)【優先権主張番号】18/061280
(32)【優先日】2022-12-02
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
2.BLUETOOTH
3.WCDMA
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】ウシジマ-ムウェシグワ・ハヤト
(72)【発明者】
【氏名】シュイ・ハヌジン
(72)【発明者】
【氏名】ゴーシュ・インドラディープ
【テーマコード(参考)】
2F129
【Fターム(参考)】
2F129AA06
2F129CC02
2F129CC03
2F129CC15
2F129CC16
2F129DD02
2F129DD13
2F129DD14
2F129DD15
2F129DD20
2F129DD47
2F129DD63
2F129DD64
2F129DD66
2F129EE52
2F129EE78
2F129EE79
2F129EE80
2F129FF02
2F129FF12
2F129FF15
2F129FF20
2F129FF32
2F129FF63
2F129FF64
2F129FF65
2F129HH02
2F129HH04
2F129HH12
2F129HH15
2F129HH22
(57)【要約】
【課題】 車両経路選択問題及びその変形例の経路生成を提供する。
【解決手段】 実施形態の態様によれば、動作は、車両経路選択問題に関連するデータを受信するステップを含み、前記データは、地理的領域内の複数の車両に関する第1情報と、前記複数の車両がサービスを提供するよう要求される位置のセットに関する第2情報とを含む。動作は、更に、前記データに基づいて多目的クラスタリング問題の式を決定するステップと、前記式をQUBO式に変換するステップと、を含む。動作は、更に、最適化ソルバーマシン上で前記QUBO式を解くことによって二値解を生成するステップを含む。動作は、更に、二値解に基づいて前記位置のセットを位置クラスタに分割し、前記位置クラスタに基づいて前記複数の車両の候補経路のセットを生成するステップを含む。動作は、更に、前記候補経路のセットに基づいて前記複数の車両の少なくとも1つの経路推奨をレンダリングするよう装置を制御するステップを含む。
【選択図】 図1
【特許請求の範囲】
【請求項1】
プロセッサによって実行される方法であって、
車両経路選択問題に関連するデータを受信するステップであって、前記データは、地理的領域内の複数の車両に関する第1情報と、前記複数の車両がサービスを提供するよう要求される位置のセットに関する第2情報とを含む、ステップと、
前記データに基づいて多目的クラスタリング問題の式を決定するステップと、
前記式を二次制約なし二値最適化(QUBO)式に変換するステップと、
最適化ソルバーマシンで前記QUBO式を解くことにより二値解を生成するステップと、
前記二値解に基づいて前記位置のセットを位置クラスタのセットに分割するステップと、
前記位置クラスタのセットに基づいて前記複数の車両の候補経路のセットを生成するステップと、
前記候補経路のセットに基づいて前記複数の車両の少なくとも1つの経路推奨をレンダリングするようにユーザ装置を制御するステップと、
を含む方法。
【請求項2】
前記データは、前記複数の車両に関連する第1制約と、前記位置のセットに関連する第2制約と、を更に含む、請求項1に記載の方法。
【請求項3】
前記第1制約は容量制約であり、前記第2制約は要求制約である、請求項2に記載の方法。
【請求項4】
前記多目的クラスタリング問題は、複数の目的関数と、前記複数の目的関数に適用可能な制約のセットとを含み、
前記複数の目的関数は、前記位置のセットの前記位置クラスタのセットへの最適な分割を得るために最小化される、請求項1に記載の方法。
【請求項5】
前記複数の目的関数は、
前記位置のセットの中の位置の各ペアの間のクラスタ内のペア毎の距離を最小化する距離ベースの目的関数と、
前記位置のセットの中の位置の各ペアの間のクラスタ内のペア毎の角度を最小化する角度ベースの目的関数とを含む、請求項4に記載の方法。
【請求項6】
前記制約のセットは、
前記位置のセットの各位置が、前記位置クラスタのセットの位置クラスタに一意に割り当てられていることを要求する第3制約と、
前記位置クラスタのセットの位置クラスタのペアの間の合計要求の差が要求閾値より下であることを要求する第4制約と、
を含む、請求項4に記載の方法。
【請求項7】
前記QUBO式に関連する重みパラメータの値を初期化するステップであって、前記QUBO式は、前記値に基づいて解かれる、請求項1に記載の方法。
【請求項8】
前記重みパラメータは、前記QUBO式における各々の二次目的関数に関連する重み係数に対応する、請求項7に記載の方法。
【請求項9】
前記位置クラスタのセットの各位置クラスタに対する経路生成問題の目的関数を決定するステップと、
前記位置クラスタのセットの各位置クラスタに対する目的関数の最小化に基づいて前記経路生成問題を解き、前記位置クラスタのセットの対応する位置クラスタに対する候補経路のセットの中の候補経路を生成するステップと、
を更に含む請求項1に記載の方法。
【請求項10】
前記経路生成問題は、セット分割問題である、請求項9に記載の方法。
【請求項11】
前記QUBO式の二値解は、パレート最適解である、請求項1に記載の方法。
【請求項12】
前記二値解はバイナリ値のセットを含み、各バイナリ値は、前記位置のセットの位置が、前記位置クラスタのセットの位置クラスタに属するかどうかを示す、請求項1に記載の方法。
【請求項13】
命令を記憶するように構成された1つ以上の非一時的コンピュータ可読記憶媒体であって、前記命令は実行されることに応答してシステムに動作を実行させ、前記動作は、
車両経路選択問題に関連するデータを受信するステップであって、前記データは、地理的領域内の複数の車両に関する第1情報と、前記複数の車両がサービスを提供するよう要求される位置のセットに関する第2情報とを含む、ステップと、
前記データに基づいて多目的クラスタリング問題の式を決定するステップと、
前記式を二次制約なし二値最適化(QUBO)式に変換するステップと、
最適化ソルバーマシンで前記QUBO式を解くことにより二値解を生成するステップと、
前記二値解に基づいて前記位置のセットを位置クラスタのセットに分割するステップと、
前記位置クラスタのセットに基づいて前記複数の車両の候補経路のセットを生成するステップと、
前記候補経路のセットに基づいて前記複数の車両の少なくとも1つの経路推奨をレンダリングするようにユーザ装置を制御するステップと、
を含む、1つ以上の非一時的コンピュータ可読記憶媒体。
【請求項14】
前記データは、前記複数の車両に関連する第1制約と、前記位置のセットに関連する第2制約と、を更に含む、請求項13に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
【請求項15】
前記第1制約は容量制約であり、前記第2制約は要求制約である、請求項14に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
【請求項16】
前記多目的クラスタリング問題は、複数の目的関数と、前記複数の目的関数に適用可能な制約のセットとを含み、
前記複数の目的関数は、前記位置のセットの前記位置クラスタのセットへの最適な分割を得るために最小化される、請求項13に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
【請求項17】
前記複数の目的関数は、
前記位置のセットの中の位置の各ペアの間のクラスタ内のペア毎の距離を最小化する距離ベースの目的関数と、
前記位置のセットの中の位置の各ペアの間のクラスタ内のペア毎の角度を最小化する角度ベースの目的関数とを含む、請求項16に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
【請求項18】
前記制約のセットは、
前記位置のセットの各位置が、前記位置クラスタのセットの位置クラスタに一意に割り当てられていることを要求する第3制約と、
前記位置クラスタのセットの位置クラスタのペアの間の合計要求の差が要求閾値より下であることを要求する第4制約と、
を含む、請求項16に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
【請求項19】
前記二値解はバイナリ値のセットを含み、各バイナリ値は、前記位置のセットの位置が、前記位置クラスタのセットの位置クラスタに属するかどうかを示す、請求項13に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
【請求項20】
システムであって、
命令を記憶しているメモリと、
前記メモリに結合され、処理を実行するために前記命令を実行するプロセッサと、
を含み、
前記処理は、
車両経路選択問題に関連するデータを受信するステップであって、前記データは、地理的領域内の複数の車両に関する第1情報と、前記複数の車両がサービスを提供するよう要求される位置のセットに関する第2情報とを含む、ステップと、
前記データに基づいて多目的クラスタリング問題の式を決定するステップと、
前記式を二次制約なし二値最適化(QUBO)式に変換するステップと、
最適化ソルバーマシンで前記QUBO式を解くことにより二値解を生成するステップと、
前記二値解に基づいて前記位置のセットを位置クラスタのセットに分割するステップと、
前記位置クラスタのセットに基づいて前記複数の車両の候補経路のセットを生成するステップと、
前記候補経路のセットに基づいて前記複数の車両の少なくとも1つの経路推奨をレンダリングするようにユーザ装置を制御するステップと、
を含む、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示で議論される実施形態は、車両経路選択問題及びその変形の経路生成に関するものである。
【背景技術】
【0002】
物流計画と輸送の分野における進歩は、車両経路選択問題(Vehicle Routing Problem (VRP))のような組合せ最適化問題の解の開発につながった。VRPは非決定性多項式時間(Non-deterministic Polynomial-time (NP))ハード最適化問題であり、その解は最適又は効率的経路の決定を含み、車両が原材料の輸送、製品流通、サプライチェーン関連プロセス、顧客位置での商品配送などのサービスを提供するために使用できる。VRPは、車両容量、配送時間枠、分割配送などのようなアプリケーション固有の制約に起因する変形(variant)を有する。VRP変形の例としては、容量制約付きVRP(capacitated VRP (CVRP))、時間枠付きCVRP(CVRP with time-widows (CVRPTW))、在庫経路選択問題(Inventory Routing Problem (IRP))、オープンVRP(Open VRP (OVRP))などがある。特定のVRP変形のソリューションは、他のVRP変形に適用できない場合がある。これは、従来の最適化ソルバーが、特定のVRP変形に適用可能な制約及び特定のVRP変形の複雑さのために、特定のVRP変形を解決するように設計されているためである。更に、組合せ最適化問題を解くように設計され得る特殊なハードウェア又はソフトウェア最適化ソルバーは、物理ハードウェアによって制約され得るか、又は組合せ最適化問題に含まれ得る多くの変数に基づいて制約され得る。ハードウェア又はソフトウェア最適化ソルバーは、より大きな問題インスタンスに対してスケーラブルでない場合がある。
【0003】
本開示で請求される主題は、任意の欠点を解決する又は上述のような環境でのみ動作する実施形態に限定されない。むしろ、この背景技術は、本開示に記載の幾つかの実施形態が実施され得る一例である技術領域を説明するためにのみ提供される。
【発明の概要】
【0004】
本発明の態様によると、方法は動作セットを含んでよい。動作セットは、車両経路選択問題に関連するデータを受信するステップを含む。受信データは、地理的領域内の複数の車両に関する第1情報と、複数の輸送車両がサービスを提供することが要求される可能性のある位置のセットに関する第2情報とを含むことができる。動作セットは、更に、受信データに基づいて多目的クラスタリング問題の式を決定し、多目的クラスタリング問題の式を二次制約なし二値最適化(Quadratic Unconstrained Binary Optimization (QUBO))式に変換するステップを含むことができる。動作セットは、更に、最適化ソルバーマシン上でQUBO式を解くことによって二値解を生成するステップを含んでよい。動作セットは、更に、二値解に基づいて前記位置のセットを位置クラスタのセットに分割し、位置クラスタのセットに基づいて全車両又は複数の輸送車両の候補経路のセットを生成するステップを含んでよい。動作セットは、更に、候補経路のセットに基づいて複数の車両の少なくとも1つの経路推奨をレンダリングするよう装置を制御するステップを含んでよい。
【0005】
実施形態の目的及び利点は、請求項において特に指摘される要素、特徴、及び組み合わせにより少なくとも実現され達成される。
【0006】
前述の一般的説明及び以下の詳細な説明は両方とも例として与えられ、説明のためであり、請求される本発明の限定ではない。
【図面の簡単な説明】
【0007】
例示的な実施形態は、以下の添付の図面の使用を通じて更なる特殊性及び詳細事項により記載され説明される。
【0008】
図1】車両経路問題(VRP)の経路生成及びその変形例に関連する例示的な環境を示す図である。
【0009】
図2】多目的クラスタリング問題及び経路生成問題の解決に基づくVRP及びVRPの変形の例示的な経路生成システムを示すブロック図である。
【0010】
図3】VRP及びVRPの変形の経路生成のための実行パイプラインを示す図である。
【0011】
図4】候補経路のセットの生成の例示的なシナリオを示す図である。
【0012】
図5】VRP及びVRPの変形のための例示的な経路生成方法のフローチャートを示す図である。
【0013】
全図は、本開示に記載される少なくとも1つの実施形態に従う。
【発明を実施するための形態】
【0014】
本開示に記載される幾つかの実施形態は、車両経路選択問題(Vehicle Routing Problem (VRP))及びその変形の経路を生成するための方法及びシステムに関する。ここでは、車両経路選択問題は、中央車両基地と位置のセットとの間の最適経路のセットを決定することを目標とする組合せ最適化問題であってよい。最適経路のセットは、位置のセットに物品を輸送するために複数の車両によって使用されてよい。車両による最適経路の使用は、複数の車両を使用する物品の輸送に伴うコストの最小化を可能にし得る。例えば、コストは、位置のセットに物品を配送するために複数の車両によってカバーされ得る距離、又は位置のセットに物品を配送するために費やされる時間に基づいて定義され得る。
【0015】
VRPは、巡回セールスマン問題(Traveling Salesman Problem (TSP))、容量制約付き車両経路選択問題(Capacitated Vehicle Routing Problem (CVRP))、時間枠付き車両経路選択問題(Vehicle Routing Problem with Time-Windows (VRPTW))、又は時間枠付き集配問題(Pickup and Delivery Problem with Time-Windows (PDPTW))などの変形を有することができる。各VRP変形は、制約のセットによって制限され得る。制約のセットは、各VRP変形に関連付けられたアプリケーション固有の要件に基づいて、VRP変形間で異なる場合がある。制約には、例えば、車両の容量、顧客の要求、配送を完了する必要がある時間枠などが含まれる場合がある。VRPを定義する制約に基づいて、ハードウェア及び/又はソフトウェアベースの最適化ソルバー(例えば、ヒューリスティクス、メタヒューリスティクス、正確なアルゴリズム、近似アルゴリズムなど)を使用して、VRPのソリューションとしての最適経路のセットを決定できる。
【0016】
従来のハードウェア又はソフトウェアベースの最適化ソルバーは、VRPの変形を定義する制約に基づいて、VRPの特定の変形を解決するように設計されている。ソリューションには、位置クラスタの生成と、位置クラスタに割り当てられた位置を含む経路の生成が含まれる。特定のVRP変形の最適化ソルバーによって生成されたソリューションは、VRPの他の変形には有効でない場合がある。例えば、(車両容量、顧客の要求などの制約によって定義される)CVRPの最適解として生成された経路のセットは、(車両容量、顧客の要求、及び顧客の要求の配送時間枠などの制約によって定義することができる)VRPTWの最適解ではない場合がある。これは、VRPの各変形の非決定性多項式時間(Non-deterministic Polynomial-time (NP))ハードの性質に起因する可能性がある。更に、(VRP変形を定義する制約のセットに基づく)VRP変形の最適経路を生成するための従来の最適化ソルバーは、VRP変形に関連付けられた変数の数が一定の場合にのみ効率的である可能性がある。例えば、変数には、商品の輸送に関与する車両の数、車両のスケジューリング期間、及び車両が訪問する必要がある位置の数が含まれる。従来の最適化ソルバーの効率は、VRPが(車両の数と位置の数の増加により)より大きな問題のインスタンスへと拡大されるか、VRP変形に関連する変数の数の増加により影響を受ける可能性がある。ハードウェアベースの従来の最適化ソルバーの場合、最適経路の決定のために処理できる変数の数は、物理ハードウェアの制約により制限される可能性がある。幾つかの従来の最適化ソルバーは、VRPが複数回解かれる場合に、同じ又は類似の解(すなわち、経路)を生成する可能性がある。
【0017】
本開示の1つ以上の実施形態によれば、離散最適化の技術分野は、高品質のVRP経路を作成するためのシステムを構成することによって改善され得る。本開示は、VRPのすべての変形に対して(最適として)一般化され得る候補経路の大規模なセットを生成するための改良された経路生成方法を提示する。動作中、システムは、VRP又はその変形に関連するデータを受信することができる。データは、地理的領域内の複数の車両に関する情報、及び複数の車両がサービスを提供することが要求される可能性のある位置のセットに関する情報を含むことができる。データに基づいて、システムは、多目的クラスタリング問題(最適化問題である)の式を決定することができ、式を二次制約なし二値最適化(Quadratic Unconstrained Binary Optimization (QUBO))式に変換することができる。更に、システムは、最適化ソルバーマシン上でQUBO式を解くことにより、バイナリ解を生成することができる。コンピューティングシステムは、二値解に基づいて、位置のセットを位置クラスタのセットに分割し、位置クラスタのセットに基づいて、複数の車両の候補経路のセットを生成することができる。最後に、コンピューティングシステムは、ユーザ装置(例えば、ディスプレイ装置を含むワークステーション)を制御して、候補経路のセットに基づいて、複数の車両のための少なくとも1つの経路推奨をレンダリングすることができる。
【0018】
開示された方法及びシステムは、VRP又はその変形を、複数の目的関数を含む多目的最適化問題(すなわち、クラスタリング問題)に定式化することができる。多目的最適化問題を単一目的最適化問題に変換して、ヒューリスティクスを使用したQUBOとしてクラスタリング問題を定式化又はモデル化可能にすることができる。この変換は、(多目的最適化問題の式で使用される)個々の目的関数の加重和の生成と、個々の目的関数の重み係数との関連付けに基づいてもよい。重み係数は、加重和における個々の目的関数の寄与を調整するために使用してもよい。最適化ソルバーマシン(例えば量子インスパイアードハードウェア)は、事前定義された制約のセットに基づいて加重和を最小化するために使用されてもよい。最小化によって、位置のセットを位置クラスタのセットに分割するために使用できる二値解が生成される場合がある。二値解は、VRPのすべての変形に対して一般化される場合がある。
【0019】
個々の目的関数に割り当てられた重みは、複数の二値解を生成するために調整される場合がある。重みの調整は、各二値解(すなわち、(個々の目的関数に割り当てられる)重みの組み合わせに基づいて生成される)がパレート最適解であるようにする場合がある。これは、各二値解に基づいて(経路生成問題を解決することによって)高品質(最適)候補経路の生成を可能にする場合がある。位置クラスタのセットに対応する二値解の場合、候補経路は、位置クラスタのセットの各位置クラスタに対して生成される場合がある。候補経路は、VRPの下位問題のソリューションとして生成される場合がある。位置のセットの位置クラスタのセットへの分割は、VRPの時間と計算的複雑性の低減につながる可能性のあるサブ問題のセットへのVRPの分割を可能にする場合がある。各サブ問題は候補経路の生成を必要とする場合があり、VRPの解決は候補経路のセットの生成を必要とする場合がある。従って、候補経路の複数のセットは、幾つかの二値解に基づいて生成することができる。更に、二値解に基づいて生成される候補経路のセットは、異なる二値解に基づいて生成される候補経路の別のセットとは異なる場合がある。従って、多くの候補経路は、二値解の変形(個々の目的関数に割り当てられた重みの調整に基づいて得られる)に基づいて生成されることができる。最適経路のセットを含む最終解は、セット分割問題(Set Portioning Problem (SPP))のような別の最適化問題を解くことによって、複数の候補経路のセットから決定されることができる。決定された最適経路のセットは、複数の車両による物品の配送の推奨としてレンダリングされることができる。複数の車両は、(複数の車両に対して)推奨に対して受信された応答に基づいて、物品の配送のための最適経路のセットからの経路を割り当てられることができる。
【0020】
本開示の実施形態は、添付の図面を参照して説明される。
【0021】
図1は、本開示に記載された少なくとも1つの実施の形態による、車両経路選択問題(VRP)及びその変形の経路生成に関連する例示的な環境を示す図である。図1を参照すると、ネットワーク環境100が示される。ネットワーク環境100には、システム102、ユーザ装置104、及び最適化ソルバーマシン106が示されている。システム102と、ユーザ装置104と、最適化ソルバー装置106とは、通信ネットワーク108を介して通信してもよい。システム102は、データベース110を格納してもよい。更に、ユーザ装置104に関連付けられるユーザ112が示されている。
【0022】
システム102は、ユーザ112に関連付けられるオンプレミスコンピューティング環境又はクラウドコンピューティング環境の一部であってもよい。システム102は、VRPのインスタンスのような最適化問題を解決するように構成され得る適切な論理、回路、及びインタフェースを含んでもよい。配送位置及び車両を有する環境の例は、マップ114を介して示される。例示的な車両経路選択環境は、車両基地(depot)、位置のセット(例えば、倉庫や顧客の場所)及び複数の車両(例えば、輸送車両)を含むことができる。最適化問題を解決するために、システム102は、最適化ソルバーマシン106から得られた解を用いて位置のセットを分割することによって位置クラスタのセットを生成し、位置クラスタのセットに基づいて候補経路のセットを生成することができる。複数の車両は、(候補経路のセットから)最適経路のセットを通過して、複数の目的地(例えば、倉庫の場所や顧客の場所)へと、商品又は物品を輸送し又は他の任意の所望のタスクを実行することができる。複数の車両による最適経路の使用は、商品又は物品を最短時間で輸送し、関連する輸送コストを最小化することができる。最適経路の使用は、車両経路選択環境内の位置のセットの各位置が車両によって1回訪問されることを更に確実にすることができる。最適経路のセットは、VRPのすべての変形に対して更に一般化されてもよい。システム102の例としては、サーバ、ワークステーション、エッジ装置、又は分散台帳を使用する分散システムが挙げられるが、これらに限定されない。
【0023】
ユーザ装置104は、複数の車両のための最適経路又は経路推奨のセットをディスプレイ装置上でレンダリングするように構成され得る適切なロジック、回路、及びインタフェースを含み得る。最適経路又は経路推奨のセットは、ユーザ装置104の電子ユーザインタフェース上でレンダリングされ得る。経路は、商品又は物品の配送のために複数の車両によって通過され得る。ユーザ装置104は、最適経路及び経路推奨のセットのレンダリングに関連する制御命令を(通信ネットワーク108を介してシステム102から)受信するための適切なネットワークインタフェースを含むことができる。少なくとも一実施形態では、システム102は、オンプレミスコンピューティング環境の一部としてユーザ装置104を含むことができる。特定の実施形態では、ユーザ装置104の機能は、開示の範囲から逸脱することなく、その全体が又は少なくとも部分的にシステム102に組み込まれることができる。ユーザ装置104の例としては、モバイル装置、デスクトップコンピュータ、ラップトップ、コンピュータワークステーション、又はクラウドサーバのようなサーバが挙げられるが、これらに限定されるものではない。ユーザ装置104は、プロセッサ、(例えば、1つ以上の動作を実行する又は実行を制御する)マイクロプロセッサ、FPGA(field-programmable gate array)、又はASIC(application-specific integrated circuit)を含むハードウェアを用いて実装されてよい。幾つかの他の例では、ユーザ装置104は、ハードウェア及びソフトウェアの組み合わせを用いて実装されてよい。
【0024】
本開示の1つ以上の実施形態において、最適化ソルバーマシン106は、クラウド最適化システム上にホストされ得る汎用量子コンピューティング装置として実装され得る。クラウド最適化システムは、プライベートクラウド、パブリッククラウド又はハイブリッドクラウドの1つとして実装され得る。そのような実装において、汎用量子コンピューティング装置は、探索アルゴリズム又は、離散的な解空間からQUBO式の解を探索するためのシミュレーテッドアニーリング又は量子アニーリングのようなメタヒューリスティックアルゴリズムを実装するために、アプリケーション層で特殊化された最適化解法ソフトウェアアプリケーション(例えば、QUBOソルバー)を使用し得る。
【0025】
汎用量子コンピューティング装置は、トランジスタベースのデジタル回路に基づくデジタルデバイスのような、デジタルビットベースのコンピューティング装置とは異なる場合がある。汎用量子コンピューティング装置は、量子ビット(以下では、量子ビット(qubit)という)を使用して、QUBO式を解くための量子アニーリング計算のような、異なる情報処理アプリケーションのための計算を実行する1つ以上の量子ゲートを含む場合がある。一般に、量子ビットは、「0」、「1」、又は「0」と「1」の両方の重ね合わせを表すことができる。ほとんどの場合、汎用量子コンピューティング装置が適切に機能するには、慎重に制御された極低温環境が必要になる場合がある。汎用量子コンピューティング装置は、量子ゆらぎ、固有状態の量子重ね合わせ、量子トンネリング、量子もつれなど、量子力学システムに見られる特定の特性を使用する。これらの特性は、汎用量子コンピューティング装置が、従来のコンピューティング装置では計算上解決できない特定の数学的問題(例えば、QUBO関数)を解決するための計算を実行するのに役立つ可能性がある。汎用量子コンピューティング装置の例には、シリコンベースの核スピン量子コンピュータ、トラップされたイオン量子コンピュータ、キャビティ量子電気力学(cavity quantum-electrodynamics (QED))コンピュータ、核スピンに基づく量子コンピュータ、量子ドット内の電子スピンに基づく量子コンピュータ、超伝導ループとJosephson接合を使用する超伝導量子コンピュータ、及び核磁気共鳴量子コンピュータが含まれるが、これらに限定されない。
【0026】
幾つかの実施形態では、最適化ソルバーマシン106は、シミュレーションされたアニーリング又は量子アニーリングのような、探索アルゴリズム又はメタヒューリスティックアルゴリズムを実装するために特別に設計され、ハードウェア/ソフトウェアが最適化された量子アニーリングコンピュータであってもよい。汎用量子コンピューティング装置と同様に、量子アニーリングコンピュータは、量子ビットを使用してもよく、適切に機能するために慎重に制御された極低温環境を必要としてもよい。
【0027】
他の幾つかの実施形態では、最適化ソルバーマシン106は、QUBO式を解くためのデジタル量子コンピューティングプロセッサであってもよい。より具体的には、最適化ソルバーマシン106は、半導体ベースのアーキテクチャに基づいてもよいデジタルアニーラであってもよい。デジタルアニーラは、デジタル回路上の量子アニーリングコンピュータの機能をモデル化するように設計されてもよい。デジタルアニーラは、室温で動作し、機能するために極低温環境を必要としなくてもよい。また、デジタルアニーラは、コンピューティング装置又はデータセンタなどのコンピューティングインフラストラクチャのラックにスライドするのに十分な大きさの回路基板に適合することを可能にする特定のフォームファクタを有する場合がある。
【0028】
他の幾つかの実施形態では、最適化ソルバーマシン106は、シミュレーテッドアニーリング又は量子アニーリングのような、1つ以上の探索アルゴリズム及び/又はメタヒューリスティックアルゴリズムに関連するソフトウェア命令を実行するプロセッサを含むことができる。プロセッサの実装の例としては、縮小命令セットコンピューティング(RISC)プロセッサ、特定用途向け集積回路(ASIC)プロセッサ、複合命令セットコンピューティング(CISC)プロセッサ、グラフィック処理装置(GPU)、コプロセッサ、及び/又はそれらの組み合わせが挙げられるが、これらに限定されるものではない。
【0029】
通信ネットワーク108は、システム102、ユーザ装置104、及び最適化ソルバーマシン106が相互に通信できる通信媒体を含むことができる。通信ネットワーク108は、有線接続又は無線接続のうちの1つであってよい。通信ネットワーク108の例としては、インターネット、クラウドネットワーク、セルラ又はワイヤレスモバイルネットワーク(Long-Term Evolution及び5G New Radioなど)、ワイヤレスフィデリティ(Wi-Fi)ネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、又はメトロポリタンエリアネットワーク(MAN)が挙げられるが、これらに限定されるものではない。ネットワーク環境100内の種々の装置は、種々の有線及び無線通信プロトコルに従い、通信ネットワーク108に接続するよう構成されてよい。このような有線及び無線通信プロトコルの例は、限定ではないが、TCP/IP(Transmission Control Protocol and Internet Protocol)、UDP(User Datagram Protocol)、HTTP(Hypertext Transfer Protocol)、FTP(File Transfer Protocol)、ZigBee、EDGE、IEEE802.11、Li-Fi(light fidelity)、802.16、IEEE802.11s、IEEE802.11g、マルチホップ通信、無線アクセスポイント(AP)、装置間通信、セルラ通信プロトコル、及びBT(Bluetooth)通信プロトコルを含んでよい。
【0030】
データベース110は、車両経路選択問題に関連する情報(例えば、複数の車両に関する情報及び位置のセットに関する情報)を格納するように構成されてもよい。データベース110はまた、位置クラスタのセットに関連する情報、及び候補経路のセットに関連する情報を格納してもよい。データベース110は、リレーショナルデータベース、非リレーショナルデータベース、又は従来型若しくはビッグデータストレージ内のファイルのセットであってもよい。データベース110は、システム102に含まれるサーバ又は電子装置などの装置に格納又はキャッシュされてもよい。幾つかの実施形態では、データベース110は、同じ場所又は異なる場所に格納された複数のサーバ上にホストすることができる。データベース110の動作は、(例えば、1つ以上の動作を実行する又は実行を制御する)マイクロプロセッサ、プロセッサ、FPGA(field-programmable gate array)、又はASIC(application-specific integrated circuit)を含むハードウェアを用いて実行されてよい。幾つかの他の例では、データベース110は、ソフトウェアを用いて実装されてよい。
【0031】
動作において、システム102は、車両経路選択問題に関連するデータを受信してもよい。実施形態に従って、受信したデータは、地理的領域内の複数の車両に関する第1情報を含んでもよい。例えば、複数の車両は、地理的領域内の車両118A及び118Bを含んでもよい。受信されたデータは、更に、地理的領域内に含まれ得る位置のセットに関する第2情報を含んでもよい。複数の車両は、位置のセットにサービスを提供することを要求されてもよい。例えば、位置のセットは、地理的領域における顧客の位置又は倉庫の位置のセットに対応し得る位置120A...120Hを含むことができる。複数の車両は、最適経路のセットを介して、中央車両基地(例えば、車両基地116)から位置のセットの各位置に物品又は物品を輸送することができる。最適経路のセットは、VRPを解くために決定する必要があってよい。
【0032】
第1情報は、例えば、車両の数、各車両の車両タイプ(例えば、耐荷重能力を有するトラック)、位置に物品を輸送するための各車両の燃料要件、複数の車両の各車両の容量などを含むことができる。実施形態によれば、車両が運搬可能な物品の総量が車両の容量によって制限され得るので、車両の容量は制約として扱われ得る。第2情報は、例えば、位置のセットの中の位置の数、位置の各ペアの間に存在する経路の数、位置の各ペアの間の距離、位置の各ペアの間の最短経路、位置の各ペアを接続する経路の間の位置のセットの中の少なくとも1つの位置の存在、位置の各ペアの間の角度、位置のセットの中の各位置における物品に対する要求(キログラム、トン、ポンドなどの単位で重量の観点から指定される)などを含むことができる。実施形態によれば、要求は、位置に関連する制約に対応することができる。位置は、位置での要求に基づいて位置クラスタに割り当てられることができるので、位置での要求は制約として適する。
【0033】
システム102は、データに基づいて、多目的クラスタリング問題の式を更に決定することができる。多目的クラスタリング問題は、位置のセットを位置クラスタのセットに分割するように定式化することができ、それにより、位置のセット(例えば、位置120A...120Hのセット)の位置のサブセット(例えば、位置120A、120B、120C、及び120D)が、位置クラスタのセットの各位置クラスタに割り当てられるようにする。多目的クラスタリング問題は、複数の目的関数を含むことができる。多目的クラスタリング問題は、複数の目的関数の各々に適用可能な制約のセットを含むことができる。システム102は、制約のセットを満たしつつ、複数の目的関数の各々を最小化することができる。
【0034】
実施形態によれば、多目的クラスタリング問題は、2つの目的関数、すなわち、第1目的関数及び第2目的関数を含むことができる。第1目的関数は、位置クラスタのセットの中の特定の位置クラスタに割り当てられる位置の各ペアの間の距離の関数であってもよい。第2目的関数は、位置クラスタのセットの中の特定の位置クラスタに割り当てられる位置の各ペアの間の角度の関数であってもよい。多目的クラスタリング問題の最適解は、制約のセットに違反することなく、第1目的関数と第2目的関数の両方を最小化(又は最大化)しなければならない。
【0035】
システム102は、多目的クラスタリング問題式を二次制約なし二値最適化(Quadratic Unconstrained Binary Optimization (QUBO))式に変換することができる。実施形態に従って、多目的クラスタリング問題の式は、重み付け総和ヒューリスティックに基づくQUBO式としてモデル化することができる。多目的クラスタリング問題の複数の目的関数の各々は、複数の重み付け目的関数を生成するために重みパラメータを割り当てられてよい。実施形態に従って、システム102は、多目的クラスタリング問題式をQUBO式に変換するために、複数の重み付け目的関数の総和を生成することができる。例えば、システム102は、第1目的関数を第1重みパラメータと関連付け(第1重み付け目的関数を生成し)、第2目的関数を第2重みパラメータと関連付ける(第2重み付け目的関数を生成する)ことができる。システム102は、更に、重み付けされた第1目的関数と重み付けされた第2目的関数の合計を生成して、多目的クラスタリング問題式をQUBO式に変換することができる。あるいは、多目的クラスタリング問題の式をIsing式に変換することもできる。QUBO式又はIsing式を得るために、整数変数は二値変数を持つベクトルを用いて表現されなければならない。QUBO式は、最適化ソルバーマシン106のための互換性のある入力フォーマットであり、定数の正方行列(正定値行列Q)を含むことができる。正方行列Qの値は、目的関数のセット及び多目的クラスタリング問題の制約から得られる二値変数(つまり、問題をエンコードするブール変数)のベクトルに関連付けられてよい。
【0036】
システム102は、最適化ソルバーマシン106上でQUBO式を解くことによって二値解を生成することができる。限定ではなく一例として、QUBO式は、最適化ソルバーマシン106への1つ以上のアプリケーションプログラミングインタフェース(API)呼び出しを介して提出することができる。これらのAPI呼び出しは、システム102からの要求を最適化ソルバーマシン106に配信し、最適化ソルバーマシン106からの要求に対する応答をシステム102に中継するために使用することができる。最適化ソルバーマシン106は、QUBO式を受信し、離散解空間から送信されたQUBO式の解を決定することができる。
【0037】
二値解は、位置セットの各位置が位置クラスタのセットの中の位置クラスタに属するかどうかを示すことができる。実施形態に従って、二値解は、QUBO式の最小化に基づいて生成することができる。QUBO式は、制約のセットが満足されるように最小化することができる。
【0038】
1つ以上の実施形態では、複数の目的関数に関連する重みパラメータを変化させることによって、複数の二値解を生成することができる。複数の二値解の各々は、パレート(Pareto)最適解であり得る。重みパラメータの変動は、重みパラメータの合計が常に一定値であるようなものであり得る。例えば、システム102は、第1重みパラメータ及び第2重みパラメータの合計が一定であるように、第1重みパラメータ及び第2重みパラメータを変動させることができる。これは、第1重みパラメータ及び第2重みパラメータの変動に基づいてパレート最適フロント上のペア毎の距離の最小化(第1目的関数)とペア毎の角度の最小化(第2目的関数)との間にトレードオフがあることを保証することができる。
【0039】
システム102は、二値解に基づいて位置のセットを位置クラスタのセットに分割することができる。例えば、位置120A...120Hのセットは、二値解に基づいて位置クラスタ122A及び122Bに分割することができる。位置120A、120B、120C及び120Dは位置クラスタ122Aに属することができ、位置120E、120F、120G及び120Hは位置クラスタ122Bに属することができる。特定の位置クラスタに割り当てられた位置間のペア毎の距離及びペア毎の角度は、異なる位置クラスタに割り当てられた位置間のペア毎の距離及びペア毎の角度に比べて小さくすることができる。例えば、位置120A及び120E間のペア毎の距離及びペア毎の角度は、位置120Aと位置120B、120C及び120Dの各々との間のペア毎の距離及びペア毎の角度に比べて大きくすることができる。
【0040】
位置のセットの位置クラスタのセットへの分割は、VRPをサブ問題のセットに分割することができる。各サブ問題は、位置クラスタのセットの中の位置クラスタに関連する候補経路の決定を構成することができる。VRPをサブ問題のセットに分割することは、VRPの時間的複雑性と計算的複雑性を低減するために必要であり、これは通常、車両経路選択環境における位置の数に基づいて増加する。通常、時間的複雑性と計算的複雑性は、多目的クラスタリング問題の制約のセット、及び複数の車両及び位置のセットに関連する制約(車両の容量及び位置での要求など)に基づいて更に増加する。VRPの時間的複雑性と計算的複雑性は、VRPの解を決定するための複雑なハードウェアの包含を必要とする。VRPのサブ問題のセットへの分割は、位置のセットを位置クラスタのセットに分割することによって達成できる。例えば、位置のセットに100個の位置が含まれている場合、位置のセットを10個の位置クラスタに分割すると、VRPを10個のサブ問題に分割できる。クラスタあたりの位置の数が同じになるように位置のセットの中の位置が分割されている場合、VRPは同様の時間的複雑さの10個のサブ問題に分割できる。サブ問題の解決には、10個の候補経路の決定が必要になる。
【0041】
システム102は、更に、位置クラスタのセットに基づいて、複数の車両の候補経路のセットを生成することができる。例えば、候補経路のセットは、位置クラスタ122A及び122Bに基づいて、輸送車両118A及び118Bのために生成される候補経路124A及び124Bを含むことができる。各候補経路は、車両が位置クラスタに割り当てられた位置に物品を輸送するために使用することができる。候補経路124Aは、車両118Aが位置クラスタ122Aに割り当てられたすべての位置(すなわち、位置120A、120B、120C及び120D)に物品を輸送するために使用することができる。同様に、候補経路124Bは、車両118Bが位置クラスタ122Bに割り当てられたすべての位置(すなわち、位置120E、120F、120G及び120H)に物品を輸送するために使用することができる。各候補経路(124A又は124B)は、車両基地116で開始及び終了することができる。候補経路124Aを使用して輸送車両118Aが位置クラスタ122Aの位置120A、120B、120C、及び120Dを訪問するために通過する距離は、他の経路を使用して位置120A、120B、120C、及び120Dを訪問するために通過しなければならない距離と比較して、最短であってもよい。
【0042】
候補経路により、車両は(例えば、より多くの燃料/エネルギ節約又は車両基地からの各々の位置への迅速な到着により)最小輸送コストで各位置に物品を輸送することができる。各候補経路の決定は、経路生成問題(例えば、巡回セールスマン問題)の解決に基づいて実行することができる。幾つかの実施形態では、各サブ問題(すなわち、候補経路のセットの中の候補経路の決定)は、単一の巡回セールスマン問題ソルバーを使用して逐次的に解決することができる。幾つかの他の実施形態では、サブ問題のセットは、複数の巡回セールスマン問題ソルバーを使用して並列的に解決することができる。
【0043】
システム102は、ユーザ装置104を制御して、候補経路のセットに基づいて複数の車両のための少なくとも1つの経路推奨をレンダリングすることができる。実施形態に従って、位置のセットは、各二値解について、位置クラスタのセットに分割することができる。更に、候補経路のセットは、位置クラスタのセットに基づいて、複数の車両のために生成することができる。従って、候補経路の複数のセットは、複数の二値解に基づいて生成することができ、候補経路の統合されたセットと照合(collate)することができる。システム102は、候補経路の統合されたセットから最適経路のセットを決定するために、セット分割問題を更に解決することができる。最適経路のセットは、VRPの最終解として扱うことができる。設定分割問題の解に基づいて、システム102は、最適経路のセットのうちの少なくとも1つの最適経路を、複数の車両の各車両に対する推奨としてレンダリングするように、ユーザ装置104を制御することができる。例えば、候補経路124Aがセット分割問題の解に基づいて最適経路として決定される場合、システム102は、輸送車両118Aに候補経路124Aを推奨するように、ユーザ装置104を制御することができる。
【0044】
変更、追加、又は省略が、本開示の範囲から逸脱することなく図1に対して行われてよい。例えば、ネットワーク環境100は、図示され本開示で説明されるよりも多数又は少数の要素を含んでよい。
【0045】
図2は、本開示に記載された少なくとも一実施形態による、多目的クラスタリング問題及び経路生成問題の解決に基づくVRP及びVRPの変形の例示的な経路生成システムを示すブロック図である。図2は、図1の要素と関連して説明される。図2を参照すると、電子装置202を含むシステム102のブロック図200が示されている。電子装置202は、プロセッサ204、メモリ206、永続的データストレージ208、入出力(I/O)装置210、ネットワークインタフェース212及び最適化ソルバーマシン106を含むことができる。少なくとも一実施形態では、I/O装置210は、表示装置210Aを含むことができる。
【0046】
幾つかの実施形態では、ユーザ装置104の機能は、開示の範囲から逸脱することなく、その全体を電子装置202に組み込むことができる。電子装置202の例としては、コンピューティング装置、ハードウェアベースのアニーラ装置、デジタルアニーラ装置、量子ベース又は量子インスパイアリングアニーラ装置、スマートフォン、携帯電話、携帯電話、ゲーム装置、メインフレームマシン、サーバ、コンピュータワークステーション、及び/又は消費者電子機器(CE)装置が挙げられるが、これらに限定されるものではない。
【0047】
プロセッサ204は、メモリ206に格納された命令セットを実行するように構成され得る適切な論理、回路、及びインタフェースを含むことができる。プロセッサ204は、システム102又は電子装置202により実行されるべき異なる動作に関連付けられたプログラム命令を実行するよう構成されてよい。システム102の例示的な動作は、地理的領域内の複数の車両に関する第1情報及び複数の車両がサービスを提供することを要求され得る位置のセットに関する第2情報を含むVRPに関連するデータの受信を含み得る。動作は更に、データに基づく多目的クラスタリング問題の式の決定を含み得る。動作は更に、式のQUBO式への変換を含み得る。動作は更に、最適化ソルバーマシン上のQUBO式の解に基づく二値解の生成を含み得る。動作は更に、二値解に基づく、位置のセットの位置クラスタのセットへの分割を含み得る。動作は更に、位置クラスタのセットに基づく、複数の車両のための候補経路のセットの生成を含み得る。動作は更に、候補経路のセットに基づき、複数の車両のための少なくとも1つの経路推奨をレンダリングするようユーザ装置104を制御することを含み得る。
【0048】
プロセッサ204は、当技術分野で公知の多数のプロセッサ技術に基づいて実装され得る。プロセッサ技術の例としては、中央処理装置(CPU)、X86ベースのプロセッサ、縮小命令セットコンピューティング(RISC)プロセッサ、特定用途向け集積回路(ASIC)プロセッサ、複合命令セットコンピューティング(CISC)プロセッサ、グラフィック処理装置(GPU)、コプロセッサ、又はそれらの組み合わせが挙げられるが、これらに限定されるものではない。
【0049】
図2には単一のプロセッサとして示されるが、プロセッサ204は、個々に又は集合的に本開示に記載のようなシステム102、電子装置202の任意の数の動作を実行する又は実行を指示するよう構成される任意の数のプロセッサを含んでよい幾つかの実施形態では、プロセッサ204は、プログラム命令をするように構成され解釈し及び/又は実行し、及び/又はメモリ206に格納されたデータを処理するよう構成されてよい。プログラム命令がメモリ206にロードされた後に、プロセッサ204は、プログラム命令を実行してよい。
【0050】
メモリ206は、プロセッサ204によって実行される1つ以上の命令を格納するように構成され得る適切な論理、回路、及びインタフェースを含むことができる。メモリ206に格納された1つ以上の命令は、システム102(又は電子装置202)の異なる動作を実行するためにプロセッサ204によって実行され得る。メモリ206は、VRPに関連するデータ(つまり、第1情報と第2情報)を更に格納し得る。メモリ206は、複数の目的関数及び多目的クラスタリング問題の式、及び多目的クラスタリング問題の構築に適用可能な制約のセットを更に格納し得る。メモリ206は、QUBO式の解及び経路生成問題の解を更に格納し得る。QUBO式の解は、位置のセットの分割に基づいて生成され得る位置クラスタのセットに関連する情報を含み得る。経路生成問題の解決は、複数の車両による物品の輸送のための候補経路のセット(位置クラスタのセットに基づいて生成され得る)を含むことができる。メモリ206は、候補経路のセットに基づいて決定された最適経路のセットを更に記憶することができる。メモリ206の実施例は、限定されるものではないが、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、CPUキャッシュ、及び/又はセキュアデジタル(SD)カードを含むことができる。
【0051】
幾つかの実施形態では、プロセッサ204は、プログラム命令を解釈し及び/又は実行し、及び/又はメモリ206及び/又は永久データ記憶装置208に格納されたデータを処理するよう構成されてよい。幾つかの実施形態では、プロセッサ204は、プログラム命令を永久データ記憶装置208からフェッチし、プログラム命令をメモリ206にロードしてよい。プログラム命令がメモリ206にロードされた後に、プロセッサ204は、プログラム命令を実行してよい。
【0052】
I/O装置210は、ユーザ112から入力を受信し、受信した入力に基づいて出力を提供するように構成され得る適切な論理、回路、及びインタフェースを含むことができる。例えば、I/O装置210は、入力として、第1情報及び第2情報を受信することができる。幾つかの実施形態では、I/O装置210は、多目的クラスタリング問題式をQUBO式に変換するための目的関数と関連付けることが必要とされる複数の重みパラメータを(ユーザ112からのユーザ入力として)受信することができる。更に、I/O装置210は、候補経路のセットからの経路の選択に基づいて、VRPの解に対応する最適経路のセットと、複数の車両に対する最適経路のセットのうちの最適経路の推奨をレンダリングすることができる。I/O装置210は、プロセッサ204と通信するよう構成され得る種々の入力及び出力装置を含んでよい。I/O装置210の例は、タッチスクリーン、キーボード、マウス、ジョイスティック、マイク、表示装置210A、及びスピーカを含むことができるが、これらに限定されない。
【0053】
表示装置210Aは、最適経路のセット及び最適経路のセットの中の経路の推奨をレンダリングするように構成され得る適切なロジック、回路及びインタフェースを含み得る。少なくとも一実施形態では、表示装置210Aは、ユーザ装置104のディスプレイ画面に対応し得る。表示装置210Aは、ユーザが表示装置210Aを介してユーザ入力を提供することを可能にするタッチスクリーンであり得る。タッチスクリーンは、抵抗性タッチスクリーン、容量性タッチスクリーン、又はサーマルタッチスクリーンの少なくとも1つであり得る。表示装置210Aは、液晶ディスプレイ(LCD)ディスプレイ、発光ダイオード(LED)ディスプレイ、プラズマディスプレイ、又は有機LED(OLED)ディスプレイ技術の少なくとも1つ、又は他のディスプレイ装置などの幾つかの既知の技術によって実現され得るが、これらに限定されない。一実施形態によれば、表示装置210Aは、ヘッドマウント装置(HMD)、スマート眼鏡装置、シースルーディスプレイ、プロジェクションベースディスプレイ、エレクトロクロミックディスプレイ、又は透明ディスプレイのディスプレイ画面を指すことができる。
【0054】
ネットワークインタフェース212は、通信ネットワーク108を介して、プロセッサ204、ユーザ装置104、及び最適化ソルバーマシン106の間の通信を実現にするように構成され得る適切な論理、回路、及びインタフェースを含むことができる。ネットワークインタフェース212は、通信ネットワーク108との電子装置202(又はシステム102)の有線又は無線通信をサポートする種々の知られている技術の使用により実装されてよい。ネットワークインタフェース212は、限定ではないが、アンテナ、無線周波数(RF)通信機、1つ以上の増幅器、チューナ、1つ以上の発信器、デジタル信号プロセッサ、コードデコーダ(CODEC)チップセット、加入者識別モジュール(SIM)カード、又はローカルバッファ回路を含んでよい。ネットワークインタフェース212は、無線通信により、インターネット、イントラネット、又はセルラ電話ネットワーク、無線LAN、及び都市域ネットワーク(MAN)のような無線ネットワークのようなネットワークと通信するように構成されてよい。無線通信は、GSM(Global System for Mobile Communications)、EDGE(Enhanced Data GSM Environment)、W-CDMA(wideband code division multiple access)、LTE(Long Term Evolution)、第5世代(5G)NR(New Radio)、CDMA(code division multiple access)、TDMA(time division multiple access)、Bluetooth、Wi-Fi(Wireless Fidelity)(例えばIEEE802.11a、IEEE802.11b、IEEE802.11g、及び/又はIEEE802.11n)、VoIP(voice over Internet Protocol)、Li-Fi(light fidelity)、又はWi-MAX(Worldwide Interoperability for Microwave Access)、電子メール、インスタントメッセージング、及びSMS(Short Message Service)のためのプロトコルのような、複数の通信規格、プロトコル、及び技術のうちのいずれかをするように構成され使用してよい。
【0055】
変更、追加、又は省略が、本開示の範囲から逸脱することなく例示的な電子装置202に対して行われてよい。例えば、幾つかの実施形態では、例示的な電子装置202は、簡単のために明示され又は記載されないことのある任意の数の他のコンポーネントを含んでよい。
【0056】
図3は、本開示に記載された少なくとも1つの実施形態による、VRP及びその変形のための経路を生成するための実行パイプラインを示す図である。図3は、図1及び図2の要素と関連して記載される。図3を参照すると、実行パイプライン300が示される。例示的な実行パイプライン300は、システム102のような図1の1つ以上の構成要素によって実行され得る動作セット(例えば302~320の動作)を含むことができる。動作セットは、システム102のプロセッサ204により実行されてよい。
【0057】
302において、VRPに関連するデータ302Aが受信されてよい。VRPはNPハード組合せ最適化問題であり、その解決には地理的領域内の位置のセットにおける物品の輸送のための最適経路のセットの決定が必要である。VRPの複数の変形(例えば、容量制約付きVRP(capacitated VRP (CVRP))、時間枠付きCVRP(CVRP with time-widows (CVRPTW))、在庫経路選択問題(Inventory Routing Problem (IRP))、オープンVRP(Open VRP (OVRP))など)が存在し得る。各変形は、制約のセット(例えば、車両容量、顧客の要求、顧客の要求を提供するための時間枠など)によって定義され得るので、特定の変形の解は、VRP変形を定義する1つ以上の制約に依存し得る。
【0058】
少なくとも一実施形態では、プロセッサ204は、VRPに関連付けられたデータ302Aを受信するように構成され得る。データ302Aは、地理的領域内の複数の車両に関する第1情報と、複数の車両がサービスを提供することが要求される可能性のある位置のセットに関する第2情報とを含むことができる。第1情報は、例えば、車両数、車両タイプ(例えば、特定の耐荷重能力を有する車両)、物品の輸送のために複数の車両のうちの各車両を使用する際に発生し得る費用等を含むことができる。第2情報は、例えば、位置のセット内の位置数、各位置のペア間に存在し得る経路の数、位置の各ペアの間の距離、位置の各ペアの間の最短経路、位置の各ペアの間の角度、位置の各ペアの間の1つ以上の経路における中間位置の存在等を含むことができる。
【0059】
実施形態に従って、データ302Aは、更に、複数の車両に関連する第1制約及び位置のセットに関連する第2制約を含むことができる。例えば、第1制約は容量制約であってもよく、第2制約は要求制約であってもよい。容量制約は、車両が移動中に運搬できる物品の最大数量又は最大重量を示すことができる。移動は、中央車両基地(すなわち、複数の車両に対する位置)から出発し、位置のセットのうちの位置のサブセットを通過し、中央車両基地で終了することができる。各車両は、容量Qを有することができる(すなわち、各車両はQポンドの荷物を運ぶことができる)。位置のセットのうちの位置について、要求制約は、その位置で荷卸しが必要な物品の数量を示すことができる。位置のセットのうちの位置の数はnであってよく、位置のセットのうちの各位置における要求はqi、i=1...nであってよい。
【0060】
VRPは、位置のセットを位置クラスタのセットに分割すること、位置クラスタのセットから候補経路のセットを生成することを含む、Cluster-First Route-Secondアプローチを使用して解決できる。位置のセットは、位置の複数のサブセットに分割できる。位置の各サブセットは、異なる位置クラスタに割り当てることができる。各候補経路は、各位置クラスタに割り当てられる位置のサブセット間の物品の輸送に使用できる。候補経路は、中央車両基地で開始及び終了し、候補経路に沿った位置のサブセットを含むことができる。容量Qの車両は、位置のサブセットにおける合計要求が車両の容量Qを超えない場合に、候補経路を使用して、位置クラスタに割り当てられた位置のサブセットに物品を輸送することができる。候補経路のセットのうちの候補経路は、移動中の物品の輸送のために車両によって発生する可能性があるコストを最小限に抑えることができるため、VRPの解は、VRPのすべての変形に対して一般化することができる。コストは、例えば、移動中の移動距離、移動を完了するために費やされた時間、又は移動に必要な燃料の量を含む要因に基づいてもよい。データ302Aが受信されると(又は決定されると)、多目的クラスタリング問題が定式化されてもよい。
【0061】
304において、多目的クラスタリング問題の式は、データ302Aに基づいて決定されてもよい。少なくとも一実施形態において、プロセッサ204は、多目的クラスタリング問題の式を決定するように構成されてもよい。多目的クラスタリング問題の式は、多目的クラスタリング問題に含まれ得る複数の目的関数304A...304Nに基づいて決定されてもよい。複数の目的関数304A...304Nの各目的関数は、データ302Aに基づいて決定されるパラメータ(例えば、距離や角度)の関数であってもよい。プロセッサ204は、対応する目的関数を最小化するために、複数の目的関数304A...304Nの各目的関数に関連する1つ以上のパラメータ(データ302Aに基づいて決定される)の値を選択するように構成されてもよい。選択は、対応する目的関数に適用可能な制約のセットに基づいてもよい。目的関数の最小化に基づいて、位置のセットの位置クラスタのセットへの最適な分割が得られる。
【0062】
実施形態によれば、複数の目的関数304A...304Nは、位置のセットの中の位置の各ペアの間のクラスタ内のペア毎の距離を最小化するために、距離ベースの目的関数304Aを含むことができる。距離ベースの目的関数304Aは、クラスタのセットの中の特定のクラスタに割り当てられ得る位置のセットの中の位置の各ペアの間の距離の関数として定式化することができる。プロセッサ204は、位置のセットの位置クラスタのセットへの最適な分割を得るために、距離ベースの目的関数304Aの式を最小化するように構成することができる。最適分割に基づいて、位置のセットのうちの位置のサブセットを、制約のセットが満たされるように、位置クラスタのセットのうちの各位置クラスタに割り当てることができる。例えば、位置のセット(すなわち、n個の位置)の最適分割によって、m個の位置クラスタ又は位置のm個のサブセットが生成され、位置のm個のサブセットの各々が位置クラスタに割り当てられる場合がある。
【0063】
実施形態に従って、距離ベースの目的関数304A(例えば、OFDistance)は、次のように与えられる式(1)を使用して定式化することができる:
【数1】
式(1)において、位置のセットの中の位置のペアの間のクラスタ内のペア毎の距離は、Di,jとして表すことができる。位置のペアは、位置i及びjに対応してよい。位置のペアは、k番目の位置クラスタに割り当てることができる。xi,kは、位置iがk番目の位置クラスタに割り当てられているかどうかを示す二値変数であり、xj,kは、位置jがk番目の位置クラスタに割り当てられているかどうかを示す二値変数である。位置i及びjがk番目の位置クラスタに割り当てられている場合、二値変数xi、k及びxj、kの値は1として設定されてよい。他方で、位置i及びjがk番目の位置クラスタに割り当てられていない場合、二値変数xi、k及びxj、kの値は0として設定されてよい。
【0064】
式(1)に基づいて、OFDistanceは、位置クラスタのセット(すなわち、m個の位置クラスタ)の各位置クラスタへの(n個の位置の)位置のサブセットの割り当てに基づいて最小化されることが分かる。例えば、位置i及びjは、位置クラスタ(すなわち、k番目の位置クラスタ)に割り当てられる位置のサブセットに属してよい。位置i及びjが異なる位置クラスタに割り当てられている場合、二値変数xi、k及びi、kの両方が1ではないため、同じクラスタ(k番目の位置クラスタ)に位置i及びjを割り当てることができる。更に、各位置クラスタへの位置のサブセットの割り当ては、位置のサブセットのうちの位置の各ペアの間のペア毎の距離が最小になるようにすることができる。
【0065】
実施形態によれば、複数の目的関数304A...304Nは、位置のセットの中の位置の各ペアの間のクラスタ内のペア毎の角度を最小化するために、角度ベースの目的関数304Bを含むことができる。角度ベースの目的関数304Bは、特定の位置クラスタに割り当てられ得る位置のセットの中の位置の各ペアの間の角度の関数として定式化することができる。プロセッサ204は、また、位置のセットの位置クラスタのセットへの最適な分割を得るために、角度ベースの目的関数304Bの式を最小化するように構成することができる。角度ベースの目的関数304B(例えば、OFAngle)は、次のように与えられる式(2)を使用して表すことができる:
【数2】
【0066】
式(2)において、位置のペア(例えば、位置iとj)の間のクラスタ内のペア毎の角度は、Ai,jとして表すことができる。式(2)に基づいて、OFAngleは、位置クラスタのセット(すなわち、m個の位置クラスタ)の各位置クラスタへの(n個の位置の)位置のサブセットの割り当てに基づいて最小化されることが分かる。更に、各位置クラスタへの位置のサブセットの割り当ては、位置のサブセットのうちの位置の各ペアの間のペア毎の角度が最小になるように実行することができる。
【0067】
実施形態によれば、プロセッサ204は、制約のセットのうちの制約(例えば、第3制約)に基づいて、距離に基づく目的関数304A及び角度に基づく目的関数304Bを最小化することができる。第3制約は、位置のセットのうちの各位置が位置クラスタのセットの中の位置クラスタにユニークに割り当てられることを要求してよい。式(1)及び(2)から、二進値xi,k及びxj,kが1になるのは、両方の位置i及びjがk番目の位置クラスタに一意に割り当てられている場合のみであることがわかる。二進値xi,k及びxj,kが1の場合(すなわち、第3制約が満たされる場合)にのみ、OFDistance及びOFAngleを最小化することができる。第3制約は、次の式(3)を使用して表すことができる:
【数3】
式(3)から、各位置が特定の位置クラスタ(すなわち、固有のクラスタ)に一意に割り当てられることが分かる。
【0068】
実施形態によれば、プロセッサ204は、制約のセットのうちの別の制約(例えば、第4制約)に基づいて、距離に基づく目的関数304A及び角度に基づく目的関数304Bを最小化することができる。第4制約は、位置クラスタのセットのうちの位置クラスタのペアの間の合計要求の差が要求閾値未満であることを要求することができる。第4制約が満たされるように、OFDistance及びOFAngleを最小化することができる。第4制約は、次の式(4)を使用して表すことができる:
【数4】
【0069】
式(4)の左辺は、位置クラスタの中の位置のサブセットにおける要求を指定することができる。位置のサブセットは、k番目の位置クラスタに割り当てることができる。二値変数xi,kを使用して、位置のサブセットに含まれない位置のセット(すなわち、n個の位置)の位置における要求を無視することができる。式(4)の右辺:
【数5】
は、n個の位置のセットにおける要求を指定することができる。n個の位置のセットがm個の位置クラスタに分割される場合、分数:
【数6】
は、n個の位置のセットのうちの位置の各サブセットにおける要求を近似することができる。次式:
【数7】
は、要求閾値を表すことができる(δは許容係数であってよい)。第4制約は、位置クラスタのセットへの位置の割り当てが、位置クラスタの各ペアの間の合計要求の差が最小になるようにすることを保証することができる。多目的クラスタリング問題は、式(1)及び(2)で指定された目的関数に基づいて定式化することができる。これらの関数は、式(3)及び(4)で指定された制約のセットを満たすように最小化することができる。
【0070】
306では、多目的クラスタリング問題式が、QUBO式に変換されてよい。実施形態において、プロセッサ204は、多目的クラスタリング問題式をQUBO式に変換するように構成することができる。変換は、QUBO式を解くことができる最適化ソルバーマシン106を活用するよう実行することができる。QUBO式は、複数の二次目的関数を含むことができる。例えば、距離に基づく目的関数304A及び角度に基づく目的関数304Bは、二次目的関数として定式化することができる(式(1)及び(2)参照)。多目的クラスタリング問題式をQUBO式に変換するために、プロセッサ204は、二次目的関数の加重和に基づく単一目的関数、すなわち、距離に基づく目的関数304A及び角度に基づく目的関数304Bを定式化することができる。
【0071】
実施形態に従って、多目的クラスタリング問題の複数の目的関数304A...304Nは、重みパラメータ306A...306Nと関連付けられることができる。重みパラメータ306A...306Nは、QUBO式と更に関連付けられることができる。1回以上の反復において、重みパラメータ306A...306Nの値は、ユーザ112又は最適化ソルバーマシン106からの入力を介して受信することができる。プロセッサ204は、入力に基づいて重みパラメータ306A...306Nの値を初期化するように構成することができる。QUBO式は、初期化された重みパラメータ306A...306Nの値に基づいて解くことができる。具体的には、重みパラメータ306A...306Nの値は、QUBO式における各々の二次目的関数の重み係数として扱うことができる。例えば、αDistanceは、二次目的関数OFDistanceに関連する重み係数(例えば、306A)であってもよい。同様に、αAngleは、二次目的関数OFAngleに関連する重み係数(例えば、306B)であってもよい。重み係数αDistance306A及びαAngle306Bは、QUBO式の単一目的関数(すなわち、加重和)の式のために、二次目的関数OFDistance及びOFAngleに関連してもよい。QUBO式は、次の式(5)を使用して表すことができる:
【数8】
QUBO式は、位置のセットのうちの位置が位置クラスタのセットのうちの位置クラスタに割り当てられているかどうかを決定するために解くことができる。
【0072】
308では、最適化ソルバーマシン106上でQUBO式を解くことによって二値解を生成することができる。少なくとも一実施形態において、プロセッサ204は、最適化ソルバーマシン106(例えば、デジタルアニーラ)上でQUBO式(式(5)に示されるように)を解くことによって、二値解を生成するように構成することができる。実施形態によれば、最適化ソルバーマシン106はハイブリッド構成とすることができる(すなわち、ハードウェアコンポーネントとソフトウェアコンポーネントの両方を含むことができる)。ソフトウェアコンポーネントは、実行されると、解空間内の実行可能領域を決定することができ、その後、ハードウェアコンポーネントによって分析されることができる。最適化ソルバーマシン106は、二値解を生成するために、重み係数αDistance306A及びαAngle306Bの初期化値、第3制約(式(3)参照)及び第4制約(式(4)参照)に基づいて、QUBO式を最小化することができる。QUBO式は、第3及び第4制約が満たされるように、二値解(第1二値解と呼ぶことができる)を生成するために最小化することができる。
【0073】
実施形態によれば、第1二値解は、バイナリ値(二値)のセットを含み得る。バイナリ値のセットのうちの各バイナリ値は、位置のセットのうちの位置が位置クラスタのセットのうちの位置クラスタに割り当てられているか否かを示してよい。例えば、バイナリ値のセットは、次の式(6)を用いて表される:
【数9】
式(6)から、バイナリ値のセットのうちのバイナリ値の数はk×nであることが分かる。バイナリ値のセットのうちの各バイナリ値は、0又は1として表すことができる。例えば、バイナリ値xi,k=1は、位置iがk番目の位置クラスタに割り当てられている可能性があることを示してよい。他方で、バイナリ値xi,k=0は、位置iがk番目の位置クラスタに割り当てられていない可能性があることを示してよい。
【0074】
実施形態によれば、αDistanceとαAngleの合計は、定数(例えば、1)であり得る。αDistance306AとαAngle306Bの値は、第1二値解を生成するために、各々0.6と0.4に初期化されてよい。プロセッサ204は、αDistance306AとαAngle306Bの更新された値に基づいて、別の二値解を生成するように更に構成されてよい。例えば、αDistance306AとαAngle306Bは、更新された二値解を生成するために、各々0.55と0.45に更新されてよい。従って、プロセッサ204は、更新された重み係数に基づいて複数の二値解を生成することができる。複数の二値解の各々は、パレート(Pareto)最適解であってよい。
【0075】
310において、位置のセットは、二値解(すなわち、第1二値解)に基づき、位置クラスタのセットに分割されてもよい。少なくとも一実施形態において、プロセッサ204は、位置のセットを、第1二値解に基づき、位置クラスタのセットに分割するように構成されてもよい。例えば、m=5及びn=100(式(6)を参照)の値は、位置のセットが100個の位置を含んでよいことを示してもよい。二値解に基づいて、位置のセットは、5個の位置クラスタ又は位置の5個のサブセットに分割されてもよい。バイナリ値のセット内のバイナリ値の数は、500であってもよい。500個のバイナリ値のうち、100個のバイナリ値は1であり(位置のセットのうちの各位置が位置クラスタのセットのうちの位置クラスタに割り当てられていることを示す)、残りの400個の値は0であってもよい(位置のセットのうちの各位置が位置クラスタに一意に割り当てられていることを示す)。更に、ある位置クラスタの平均又は合計要求は、他のクラスタの各々の要求とほぼ等しい場合がある。
【0076】
312において、候補経路のセットは、位置クラスタのセットに基づいて、複数の車両のために生成することができる。少なくとも一実施形態では、プロセッサ204は、更に、位置クラスタのセットに基づいて、複数の車両の候補経路のセットを生成するよう構成されてよい。複数の車両のうちの車両は、候補経路を通過して、中央車両基地から候補経路内の位置のサブセットに物品を輸送することができる。候補経路は、中央車両基地から出発し、候補経路内の位置のサブセットを通過し、中央車両基地で終了することができる。位置のサブセットは、二値解(すなわち、第1二値解)に基づいて、位置クラスタのセットのちの位置クラスタに割り当てることができる。位置のサブセットの場合、候補経路の長さが同じ位置のサブセットの他の候補経路の中で最も短い場合、候補経路を最適経路と見なすことができる。
【0077】
実施形態に従って、プロセッサ204は、位置クラスタのセットのうちの各位置クラスタに対する経路生成問題の目的関数を決定することができる。各位置クラスタに対して、経路生成問題の目的関数は、対応する位置クラスタに割り当てられた位置のサブセットを使用して候補経路を決定するために定式化することができる。複数の車両はv個の車両を含み、各車両の容量はQであってもよい。候補経路はp+1個のステップを含み、(候補経路内の)位置のサブセット内の位置の数はtであってもよい(位置のセットがm個の位置クラスタに均等に分割され、t個の位置が各位置クラスタに割り当てられると仮定する)。候補経路の第1ステップ(すなわち、p=1)は、中央車両基地と位置クラスタに割り当てられたt個の位置の第1位置との間の候補経路の一部に対応してもよい。最後のステップ(すなわち、p=n+1)は、位置クラスタに割り当てられた位置のうちの最後の位置と中央車両基地との間の候補経路の一部に対応してもよい。経路生成問題(候補経路の生成)の目的関数は、次式(7)を用いて決定することができる:
【数10】
【0078】
式(7)において、Ci,jは、位置iとjのペアの各々の間で候補経路のステップpを通過するための最適コストを表すことができる。中央車両基地に対してi=0とj=0であることに注意すべきである。xv,i,pは、複数の車両のうちの車両vがステップpにおいて位置iを訪れるかどうかを示す二値変数であってもよい。同様に、xv,j,p+1は、車両vがステップp+1において位置jを訪れるかどうかを示す二値変数であってもよい。二値変数xv,i,p及びxv,j,p+1は、車両が位置iから位置jまで通過する場合に1であってもよい。式(7)から、中央車両基地から位置i(又は位置j)まで、又は位置i(又は位置j)から中央車両基地までの通過に伴うコストはゼロであることがわかる。
【0079】
プロセッサ204は、位置クラスタのセットのうちの各位置クラスタの目的関数(OFcandidate route)の最小化に基づいて、経路生成問題を解決するように更に構成されてもよい。目的関数(OFcandidate route)は、位置クラスタのセットのうちの位置クラスタに対応する候補経路のセットのうちの候補経路を生成するために最小化されてもよい。実施形態によれば、経路生成問題は、巡回セールスマン問題又は巡回セールスマン問題の変形であってもよい。プロセッサ204は、幾つかの制約が満たされるように、位置クラスタごとの各候補経路を生成するためのOFcandidate routeを最小化することができる。制約は、車両が対応する候補経路上の位置jを訪問するか、又は車両が位置iを訪問した後に中央車両基地に戻ることを車両に要求することができる。更に、位置クラスタ内の位置での合計要求は、容量Q(すなわち、車両の容量)を超えてはならない。
【0080】
幾つかの実施形態では、位置クラスタのセットの中の位置クラスタの候補経路のセットのうちの候補経路の生成に続いて、各々の位置クラスタの候補経路のセットのうちのすべての候補経路が生成されるまで、別の候補経路を生成してもよい。そのようなシナリオでは、プロセッサ204は、候補経路のセットの生成のために単一の巡回セールスマン問題ソルバーを使用してもよい。他の幾つかの実施形態では、候補経路のセットの中のすべての候補経路は、複数の巡回セールスマン問題ソルバーを使用して並列に生成されてもよい。従って、候補経路のセットは、第1二値解に基づいて生成されてもよい。生成された候補経路のセットは、候補経路の第1セットと呼ばれてもよい。
【0081】
314で、候補経路の第1セット内の十分な数の候補経路が決定されてもよい。少なくとも一実施形態では、プロセッサ204は、候補経路の第1セット内の候補経路の数が十分であるかどうかを決定するように構成されてもよい。第1二値解に基づいて生成された候補経路の数は、経路の閾値数と比較することができる。
【0082】
316において、重みパラメータ306A...306Bは、比較に基づいて更新することができる。少なくとも一実施形態において、プロセッサ204は、候補経路の数が経路の閾値数よりも少ない場合に、重みパラメータ306A...306B(例えば、αDistance306A及びαAngle306Bの値)を更新するように構成することができる。αDistance306A及びαAngle306Bの更新された値に基づいて、QUBO式(式(5)参照)を更新することができる(ステップ306)。更新されたQUBO式を使用して、第2二値解を生成することができる(ステップ308)。プロセッサ204は、第2二値解に基づいて、候補経路の第2セットを生成することができる(ステップ310及び312)。第1二値解及び第2二値解に基づいて生成することができる候補経路の数は、経路の閾値数と比較することができる(ステップ316)。候補経路の第1セット及び候補経路の第2セットの合計が経路の閾値数以上であれば、最適経路のセットを決定することができる。
【0083】
318において、最適経路のセットは候補経路の複数のセットに基づいて決定することができる。少なくとも一実施形態において、プロセッサ204は、候補経路の複数のセット(例えば、候補経路の第1セットと候補経路の第2セット)に基づいて最適経路のセットを決定するように構成することができる。候補の複数のセットは、候補経路の1つのセットに照合することができる。
【0084】
プロセッサ204は、候補経路の統合セットから最適経路のセットRを決定するために、セット分割問題を解決することができる。セット分割問題を解決するために、プロセッサ204は、目的関数を定式化することができる。目的関数は、R(すなわち、最適経路のセット)に含まれ得る最適経路の決定に使用することができる。(複数の車両のうちの車両により)最適経路のセットの中の各最適経路を通過することに関与し得るコストは、他の経路の中で最も低くてよい。目的関数は、次のように与えられる式(8)を用いて定式化することができる:
【数11】
式(8)において、c* rは、Rに含まれる経路rを通過するための最適コストを示してよい。経路rは、(QUBO式の二値解に基づく)位置クラスタのセットのうちの位置クラスタに割り当てられた位置のサブセットを含む候補経路であってよい。yrは、経路rが最適経路のセットのうちの最適経路であるかどうかを示す二値変数であってよい。プロセッサ204は、yrが0(rが最適経路ではないことを示してよい)又は1(rが最適経路のセットの最適経路であることを示してよい)であるかどうかを決定するために、セット分割問題を解決することができる。
【0085】
プロセッサ204は、制約が満たされるようにOFSPPを最小化することができる。制約は、位置クラスタに割り当てられた位置が、最適経路のセットRのうちの最適経路rに含まれることを要求してよい。制約は、次の式(9)を使用して定式化できる:
【数12】
式(9)では、airは、車両セットの中の車両が(経路rに位置する)位置iを訪問するかどうかを示す二値変数を表す。r∈R(すなわち、rが最適経路のセットRに含まれる場合)を保証するために、airは1である必要がある。従って、最適経路のセットは、セット分割問題を解くことによって決定される。最適経路のセットは、VRPの最終解に対応してよい。
【0086】
320において、ユーザ装置104は、候補経路のセットに基づいて、複数の車両に対する少なくとも1つの経路推奨をレンダリングするように制御されてよい。少なくとも一実施形態において、プロセッサ204は、ユーザ装置104(又は表示装置210A)の電子ユーザインタフェースを制御して、複数の車両のうちの各車両に対する推奨として少なくとも1つの経路をレンダリングするように構成されてよい。経路は、最適経路のセットのうちの一部であってもよい。
【0087】
図4は、本開示に記載された少なくとも1つの実施形態による、位置クラスタのセットに基づく候補経路のセットの生成の例示的シナリオを示す図である。図4は、図1図2及び図3の要素と関連して記載される。図4を参照すると、例示的なシナリオ400が示される。例示的なシナリオ400では、中央車両基地404及び位置のセットを含む車両経路選択環境402が示されている。位置のセットは、接続されていないグラフのノードとして表すことができる。位置のセットは、位置のセットの他の位置と比較して中央車両基地404に近い位置406A、406B、406C、406D及び406Eを含むことができる。
【0088】
実施形態によると、プロセッサ204は、最適化ソルバーマシン106上で(図3で説明した)QUBO式を解くことによって、二値解を生成するように構成することができる。二値解に基づいて、位置のセットは位置クラスタのセットに分割されてもよい。位置クラスタのセットは、位置クラスタ408A、408B、408C、408D及び408Eを含むことができる。プロセッサ204は、位置のセットのうちの各位置が位置クラスタに一意に割り当てられるように、位置のセットを分割することができる。二値解は、位置のセットのうちの各位置が割り当てられる位置クラスタのセットのうちの特定の位置クラスタかどうかを示すバイナリ値のセットを含むことができる。例えば、二値解のバイナリ値は、位置406Aが位置クラスタ408Aに一意に割り当てられていることを示すことができる。
【0089】
プロセッサ204は、位置クラスタのセットに基づいて候補経路のセットを生成するように更に構成することができる。生成された候補経路のセットは、候補経路410A、410B、410C、410D、及び410Eを含むことができる。候補経路のセットのうちの各候補経路は、位置クラスタのセットの各位置クラスタに対する巡回セールスマン問題の解に基づいて生成されることができる。例えば、プロセッサ204は、巡回セールスマン問題ソルバーを使用して、位置クラスタ408Aに対する候補経路410Aを生成することができる。更に、位置クラスタに対する各候補経路(すなわち、巡回セールスマン問題の解として生成される)は、位置のセットのうちの位置のサブセットを含むことができる。例えば、候補経路410Aは、位置クラスタ408Aに割り当てられた位置のセットのうちのすべての位置(位置のサブセット)を含むことができる。各候補経路は、中央車両基地404から始まり、位置クラスタに割り当てられた位置のサブセットを通過し、中央倉庫404で終わることができる。
【0090】
図5は、本開示に記載された少なくとも1つの実施形態による、VRP及びVRPの変形の経路を生成するための例示的な方法のフローチャートを示す図である。図5は、図1図2図3、及び図4の要素と関連して記載される。図5を参照すると、フローチャート500が示される。フローチャート500に示される方法は、502で開始してよく、任意の適切なシステム、機器、又は装置、により、例えば図1の例示的なシステム102又は図2のプロセッサ204により、実行されてよい。別個のブロックにより示したが、フローチャート500のブロックのうちの1つ以上に関連するステップ及び動作は、の実装に依存して、追加ブロックに分けられ、少ないブロックに結合され、又は削除されてよい。
【0091】
502において、車両経路選択問題に関連するデータが受信されてよい。実施形態において、プロセッサ204は、車両経路選択問題に関連するデータを受信するように構成されてよい。データは、地理的領域内の複数の車両(例えば、車両118A及び118B)に関する第1情報と、複数の車両118A及び118Bがサービスを提供することを要求され得る位置のセット(例えば、位置120A...120H)に関する第2情報とを含むことができる。車両経路問題は、複数の車両118A及び118Bが物品を目的地のセット(すなわち、位置120A~120Hのセット)に輸送するために使用されるべき最適経路を決定するために解決する必要があってよい最適化問題であり得る。複数の車両118A及び118Bによる最適経路の使用は、最小コストで規定時間内に車両基地116と位置120A~120Hのセットとの間の物品の輸送を実現することができる。データの受信に関連する詳細は、例えば、図1及び図3(302)に示される。
【0092】
504では、データに基づき多目的クラスタリング問題の式が決定されてよい。実施形態では、プロセッサ204は、データに基づく多目的クラスタリング問題の式を決定するように構成されてよい。多目的クラスタリング問題は、位置120A...120Hのセットの各位置が、地理的領域内の位置クラスタのセット(例えば、位置クラスタ122A及び122B)のうちの位置クラスタに割り当てられることを保証するために定式化される。多目的クラスタリング問題は、多目的クラスタリング問題に含まれる複数の目的関数が最小化されるように定式化されてよい。一例では、多目的クラスタリング問題は、位置クラスタ122A及び122Bのセットのうちの位置クラスタに割り当てられた位置の各ペアの間の距離及び角度を最小化することを目的とする2つの目的関数を含むことができる。
【0093】
多目的クラスタリング問題は、制約のセットを含むことができる。複数の目的関数は、制約のセットが満たされるように最小化することができる。例えば、制約のセットの中の制約は、位置120A...120Hのセットの中の位置が、位置クラスタ122A及び122Bのセットの中の位置クラスタに一意に割り当てられることを要求することができ、制約のセットの中の別の制約は、位置クラスタ122A及び122Bのセットの中の位置クラスタ間のペア毎の要求が要求閾値未満であることを要求することができる。多目的クラスタリング問題式の決定に関連する詳細は、例えば、図1及び図3(304)に示されている。
【0094】
506では、多目的クラスタリング問題式が、QUBO式に変換されてよい。実施形態において、プロセッサ204は、多目的クラスタリング問題式をQUBO式に変換するように構成することができる。多目的クラスタリング問題式は、QUBO式に対応する単一目的クラスタリング問題に変換され得る。変換は、多目的クラスタリング問題の複数の目的関数の総和に基づいてよく、複数の目的関数の各々は、重みパラメータに関連付けられてよい。従って、単一目的クラスタリング問題は、多目的クラスタリング問題の複数の目的関数の加重和であり得る。多目的クラスタリング問題式のQUBO式への変換に関連する詳細は、例えば、図1及び図3(306)に示されている。
【0095】
508では、最適化ソルバーマシンによるQUBO式の解に基づく二値解が生成され得る。実施形態によると、プロセッサ204は、最適化ソルバーマシン(例えば最適化ソルバーマシン106)上でQUBO式を解くことによって、二値解を生成するように構成することができる。二値解は、最適化ソルバーマシン106による複数の目的関数の加重和を最小化することによって生成することができる。生成された二値解は、位置120A...120Hのセットのうちの各位置が、位置クラスタ122A及び122Bのセットのうちの位置クラスタに属するかどうかを示すパレート最適解であてよい。
【0096】
複数の目的関数の各々に割り当てられる重みの変動に基づいて、複数のQUBO式を決定することができる。プロセッサ204は、対応するQUBO式に基づいて複数の二値解を生成することができる。重みの変動は、二値解の各々がパレート最適解であるようにすることができる。二値解の生成に関連する詳細は、例えば、図1及び図3(308)に示されている。
【0097】
510において、位置120A...120Hのセットは、二値解に基づいて位置クラスタ122A及び122Bのセットに分割されてよい。実施形態において、プロセッサ204は、位置120A...120Hのセットを二値解に基づいて位置クラスタ122A及び122Bのセットに分割するように構成されてよい。車両経路選択問題は、位置120A...120Hのセットの位置の数、複数の車両118A及び118Bの車両の数、位置120A...120Hのセットに関連する制約、又は複数の車両118A及び118Bに関連する制約に基づく計算上複雑な問題であり得る。従って、車両経路選択問題を解決するためには、複雑なハードウェアが必要な場合がある。更に、車両経路選択問題の複雑さのために、満足できる結果を提供する車両経路選択問題の解を得るためには、多大な計算時間が必要とされる可能性がある。複雑なハードウェアの要件を緩和し、計算時間を最小化するために、車両経路選択問題は、サブ問題のセットに分割することができる。これは、位置120A...120Hのセットを位置クラスタ122A及び122Bのセットに分割することによって達成できる。ここで、各サブ問題は、位置クラスタ122A及び122Bのセットのうちの各位置クラスタに対する候補経路の決定に対応してよい。位置クラスタのセットへの位置のセットの分割に関連する詳細は、例えば、図1及び図3(310)に示されている。
【0098】
512では、複数の車両118A及び118Bのための候補経路のセット(例えば、候補経路124A及び124Bのセット)が、位置クラスタ122A及び122Bのセットに基づいて生成されてよい。実施形態では、プロセッサ204は、位置クラスタ122A及び122Bのセットに基づいて、複数の車両118A及び118Bのための候補経路124A及び124Bのセットを生成するように構成されてよい。候補経路のセット124A及び124Bは、位置クラスタ122A及び122Bのセットの各位置クラスタにおける経路生成問題(例えば、巡回セールスマン問題)を解くことによって生成され得る。車両118A及び118Bのセットは、候補経路124A及び124Bのセットを使用して、最小コストで物品を位置120A...120Hのセットに輸送することができる。
【0099】
プロセッサ204は、単一の巡回セールスマン問題ソルバーを使用して、サブ問題のセットを順次に解決するか(すなわち、候補経路124A及び124Bのセットを決定する)、又は複数の巡回セールスマン問題ソルバーを使用して、サブ問題のセットの中のすべてのサブ問題を並列に解決することもできる。単一の巡回セールスマン問題ソルバーを使用する場合、サブ問題のセットをキューに配置し、各サブ問題を直列の順序で巡回セールスマン問題ソルバーに提供することもできる。一方、サブ問題のセットのすべてのサブ問題を、同じ時点で複数の巡回セールスマン問題ソルバーに入力として供給して、サブ問題のセットを並列に解決することもできる。候補経路のセットの生成に関連する詳細は、例えば、図1及び図3(312)に示されている。
【0100】
514において、ユーザ装置104は、候補経路124A及び124Bのセットに基づいて、複数の車両118A及び118Bに対する少なくとも1つの経路推奨をレンダリングするように制御されてよい。実施形態において、プロセッサ204は、候補経路124A及び124Bのセットに基づいて、複数の車両118A及び118Bに対する少なくとも1つの経路推奨をレンダリングするようにユーザ装置104を制御するように構成されてよい。候補経路124A及び124Bのセットは、候補経路124A及び124Bのセットを最適経路とし決定することに基づいて、推奨としてユーザ装置104のディスプレイ(又は表示装置210A)上でレンダリングされてよい。ユーザ112は、位置120A...120Hのセットへの物品の輸送に使用され得る最適経路を表示してよい。経路推奨をレンダリングするようユーザ装置104を制御することに関連する詳細は、例えば、図1及び図3(320)に示される。
【0101】
フローチャート500は、502、504、506、508、510、512、及び514のような個別の動作として図示された。しかしながら、特定の実施形態では、開示の実施形態の本質を損なうことなく、実装に依存して、このような個別の動作は、追加動作に更に分けられ、より少数の動作に結合され、又は削除されてよい。
【0102】
本開示の種々の実施形態は、実行されることに応答してシステム(例えば、システム102)に動作を実行させる命令を格納するよう構成される1つ以上の非一時的コンピュータ可読記憶媒体を提供してよい。動作は、車両経路選択問題に関連するデータを受信するステップを含んでよい。データは、地理的領域内の複数の車両に関連付けられた第1情報、及び複数の車両がサービスを提供することが要求される可能性のある位置のセットに関連付けられた第2情報を含むことができる。動作は更に、データに基づく多目的クラスタリング問題の式を決定するステップを含んでよい。動作は更に、式をQUBO式に変換するステップを含んでよい。動作は、更に、最適化ソルバーマシン上でQUBO式を解くことによって二値解を生成するステップを含んでよい。動作は更に、二値解に基づき、位置のセットを位置クラスタのセットに分割するステップを含んでよい。動作は更に、位置クラスタのセットに基づき、複数の車両のための候補経路のセットを生成するステップを含んでよい。動作は、更に、候補経路のセットに基づいて複数の車両の少なくとも1つの経路推奨をレンダリングするよう装置を制御するステップを含んでよい。
【0103】
本開示で使用されるとき、用語「モジュール」又は「コンポーネント」は、モジュール又はコンポーネントの動作を実行するよう構成される特定ハードウェア実装、及び/又は、コンピューティングシステムの汎用ハードウェア(例えば、コンピュータ可読媒体、処理装置、等)により格納され及び/又は実行され得るソフトウェアオブジェクト又はソフトウェアルーチンを表してよい。幾つかの実施形態では、本開示に記載されたものと異なるコンポーネント、モジュール、エンジン、及びサービスが、コンピューティングシステム上で実行するオブジェクト又はプロセス(例えば、別個のスレッド)として実装されてよい。本開示に記載されたシステム及び方法のうちの一部は、概して(汎用ハードウェアに格納される及び/又はそれにより実行される)ソフトウェアで実装されるとして記載されたが、専用ハードウェア実装又はソフトウェア及び専用ハードウェア実装の組み合わせも、可能であり想定される。この記載において、「コンピューティングエンティティ」は、本開示において前述した任意のコンピューティングシステム、又はコンピューティングシステム上で実行する任意のモジュール若しくはモジュールの組み合わせであってよい。
【0104】
本開示で及び特に添付の特許請求の範囲(例えば、添付の請求項本体)で使用される用語は、通常、「広義」の用語として意図される(例えば、用語「含む」は「含むが、これに限定されない」と解釈されるべきであり、用語「有する」は「有するが、これに限定されない」と解釈されるべきである、等)。
【0105】
さらに、特定数の導入された請求項の列挙が意図される場合、このような意図は、請求項中に明示的に示され、このような列挙のない場合、このような意図は存在しない。例えば、理解の支援として、以下の添付の請求項は、請求項の列挙を導入するために、導入フレーズ「少なくとも1つ」及び「1つ以上」の使用を含み得る。しかしながら、このようなフレーズの使用は、同じ請求項が導入フレーズ「1つ以上」又は「少なくとも1つ」及び不定冠詞「a」又は「an含むときでも(例えば、「a」及び/又は「an少なくとも1つ」又は「1つ以上」を意味すると解釈されるべきである)、不定冠詞「a」又は「an」による請求項の列挙の導入が、このような導入された請求項の列挙を含む任意の特定の請求項を、1つのこのような列挙のみを含む実施形態に限定することを意味すると考えられるべきではない。つまり、同じことが、請求項の列挙を導入するために使用される定冠詞の使用にも当てはまる。
【0106】
さらに、特定数の導入された請求項の列挙が明示的に記載される場合、当業者は、このような列挙が、少なくとも列挙された数を意味すると解釈されるべきであることを理解する(例えば、他の修飾のない「2つの列挙」の記載は、少なくとも2つの列挙、又は2以上の列挙を意味する)。さらに、「A、B、及びC等のうちの少なくとも1つ」又は「A、B、及びC等のうちの1つ以上」と同様の記載が使用される例では、通常、このような構成は、A単独で、B単独で、C単独で、A及びBを一緒に、A及びCを一緒に、B及びCを一緒に、又はA、B、及びCを一緒に、等を含むことを意図する。
【0107】
さらに、2以上の選択的な用語を表す任意の離接的な語又はフレーズは、説明、請求項、又は図面にあるかにかかわらず、用語のうちの1つ、用語のうちのいずれか、又は両方の用語を含む可能性を想定すると理解されるべきである。例えば、フレーズ「A又はB」は、「A」又は「B」又は「A及びB」の可能性を含むと理解されるべきである。
【0108】
本開示に記載された全ての例及び条件付き言語は、読者が本開示及び本開示が技術を更に発展させることに貢献する概念を理解するのを支援する教示目的を意図しており、そのような具体的に列挙された例及び条件に限定されないと解釈されるべきである。本開示の実施形態は詳細に記載されたが、本開示の精神及び範囲から逸脱することなく、これらに種々の変更、代替、及び選択が行われ得る。
【0109】
以上の実施形態に加えて更に以下の付記を開示する。
(付記1) プロセッサによって実行される方法であって、
車両経路選択問題に関連するデータを受信するステップであって、前記データは、地理的領域内の複数の車両に関する第1情報と、前記複数の車両がサービスを提供するよう要求される位置のセットに関する第2情報とを含む、ステップと、
前記データに基づいて多目的クラスタリング問題の式を決定するステップと、
前記式を二次制約なし二値最適化(QUBO)式に変換するステップと、
最適化ソルバーマシンで前記QUBO式を解くことにより二値解を生成するステップと、
前記二値解に基づいて前記位置のセットを位置クラスタのセットに分割するステップと、
前記位置クラスタのセットに基づいて前記複数の車両の候補経路のセットを生成するステップと、
前記候補経路のセットに基づいて前記複数の車両の少なくとも1つの経路推奨をレンダリングするようにユーザ装置を制御するステップと、
を含む方法。
(付記2) 前記データは、前記複数の車両に関連する第1制約と、前記位置のセットに関連する第2制約と、を更に含む、請求項1に記載の方法。
(付記3) 前記第1制約は容量制約であり、前記第2制約は要求制約である、請求項2に記載の方法。
(付記4) 前記多目的クラスタリング問題は、複数の目的関数と、前記複数の目的関数に適用可能な制約のセットとを含み、
前記複数の目的関数は、前記位置のセットの前記位置クラスタのセットへの最適な分割を得るために最小化される、請求項1に記載の方法。
(付記5) 前記複数の目的関数は、
前記位置のセットの中の位置の各ペアの間のクラスタ内のペア毎の距離を最小化する距離ベースの目的関数と、
前記位置のセットの中の位置の各ペアの間のクラスタ内のペア毎の角度を最小化する角度ベースの目的関数とを含む、請求項4に記載の方法。
(付記6) 前記制約のセットは、
前記位置のセットの各位置が、前記位置クラスタのセットの位置クラスタに一意に割り当てられていることを要求する第3制約と、
前記位置クラスタのセットの位置クラスタのペアの間の合計要求の差が要求閾値より下であることを要求する第4制約と、
を含む、請求項4に記載の方法。
(付記7) 前記QUBO式に関連する重みパラメータの値を初期化するステップであって、前記QUBO式は、前記値に基づいて解かれる、請求項1に記載の方法。
(付記8) 前記重みパラメータは、前記QUBO式における各々の二次目的関数に関連する重み係数に対応する、請求項7に記載の方法。
(付記9) 前記位置クラスタのセットの各位置クラスタに対する経路生成問題の目的関数を決定するステップと、
前記位置クラスタのセットの各位置クラスタに対する目的関数の最小化に基づいて前記経路生成問題を解き、前記位置クラスタのセットの対応する位置クラスタに対する候補経路のセットの中の候補経路を生成するステップと、
を更に含む請求項1に記載の方法。
(付記10) 前記経路生成問題は、セット分割問題である、請求項9に記載の方法。
(付記11) 前記QUBO式の二値解は、パレート最適解である、請求項1に記載の方法。
(付記12) 前記二値解はバイナリ値のセットを含み、各バイナリ値は、前記位置のセットの位置が、前記位置クラスタのセットの位置クラスタに属するかどうかを示す、請求項1に記載の方法。
(付記13) 命令を記憶するように構成された1つ以上の非一時的コンピュータ可読記憶媒体であって、前記命令は実行されることに応答してシステムに動作を実行させ、前記動作は、
車両経路選択問題に関連するデータを受信するステップであって、前記データは、地理的領域内の複数の車両に関する第1情報と、前記複数の車両がサービスを提供するよう要求される位置のセットに関する第2情報とを含む、ステップと、
前記データに基づいて多目的クラスタリング問題の式を決定するステップと、
前記式を二次制約なし二値最適化(QUBO)式に変換するステップと、
最適化ソルバーマシンで前記QUBO式を解くことにより二値解を生成するステップと、
前記二値解に基づいて前記位置のセットを位置クラスタのセットに分割するステップと、
前記位置クラスタのセットに基づいて前記複数の車両の候補経路のセットを生成するステップと、
前記候補経路のセットに基づいて前記複数の車両の少なくとも1つの経路推奨をレンダリングするようにユーザ装置を制御するステップと、
を含む、1つ以上の非一時的コンピュータ可読記憶媒体。
(付記14) 前記データは、前記複数の車両に関連する第1制約と、前記位置のセットに関連する第2制約と、を更に含む、請求項13に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
(付記15) 前記第1制約は容量制約であり、前記第2制約は要求制約である、請求項14に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
(付記16) 前記多目的クラスタリング問題は、複数の目的関数と、前記複数の目的関数に適用可能な制約のセットとを含み、
前記複数の目的関数は、前記位置のセットの前記位置クラスタのセットへの最適な分割を得るために最小化される、請求項13に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
(付記17) 前記複数の目的関数は、
前記位置のセットの中の位置の各ペアの間のクラスタ内のペア毎の距離を最小化する距離ベースの目的関数と、
前記位置のセットの中の位置の各ペアの間のクラスタ内のペア毎の角度を最小化する角度ベースの目的関数とを含む、請求項16に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
(付記18) 前記制約のセットは、
前記位置のセットの各位置が、前記位置クラスタのセットの位置クラスタに一意に割り当てられていることを要求する第3制約と、
前記位置クラスタのセットの位置クラスタのペアの間の合計要求の差が要求閾値より下であることを要求する第4制約と、
を含む、請求項16に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
(付記19) 前記二値解はバイナリ値のセットを含み、各バイナリ値は、前記位置のセットの位置が、前記位置クラスタのセットの位置クラスタに属するかどうかを示す、請求項13に記載の1つ以上の非一時的コンピュータ可読記憶媒体。
(付記20) システムであって、
命令を記憶しているメモリと、
前記メモリに結合され、処理を実行するために前記命令を実行するプロセッサと、
を含み、
前記処理は、
車両経路選択問題に関連するデータを受信するステップであって、前記データは、地理的領域内の複数の車両に関する第1情報と、前記複数の車両がサービスを提供するよう要求される位置のセットに関する第2情報とを含む、ステップと、
前記データに基づいて多目的クラスタリング問題の式を決定するステップと、
前記式を二次制約なし二値最適化(QUBO)式に変換するステップと、
最適化ソルバーマシンで前記QUBO式を解くことにより二値解を生成するステップと、
前記二値解に基づいて前記位置のセットを位置クラスタのセットに分割するステップと、
前記位置クラスタのセットに基づいて前記複数の車両の候補経路のセットを生成するステップと、
前記候補経路のセットに基づいて前記複数の車両の少なくとも1つの経路推奨をレンダリングするようにユーザ装置を制御するステップと、
を含む、システム。
【符号の説明】
【0110】
102 システム
104 ユーザ装置
106 最適化ソルバーマシン
108 通信ネットワーク
図1
図2
図3
図4
図5