JP3596650B2 - 巡回路探索装置 - Google Patents
巡回路探索装置 Download PDFInfo
- Publication number
- JP3596650B2 JP3596650B2 JP5500997A JP5500997A JP3596650B2 JP 3596650 B2 JP3596650 B2 JP 3596650B2 JP 5500997 A JP5500997 A JP 5500997A JP 5500997 A JP5500997 A JP 5500997A JP 3596650 B2 JP3596650 B2 JP 3596650B2
- Authority
- JP
- Japan
- Prior art keywords
- group
- node
- point
- nodes
- intra
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Navigation (AREA)
- Traffic Control Systems (AREA)
- Instructional Devices (AREA)
Description
【発明の属する技術分野】
本発明は、ノードおよびノードを接続するリンクからなる道路ネットワークにおける始点ノードから複数のノードを経由して終点ノードに至る複数の経路からノード間の距離、移動時間等を与えるコストを最小にする経路を探索する巡回路探索方法および装置に関し、例えば車載ナビゲーションシステム、パソコンなどでセールス、観光等のために複数地点を効率的に回る道順を探す道順案内システム、経路探索システム等に適用しうる巡回路探索装置に関する。
【0002】
【従来の技術】
巡回路探索については、巡回セールスマン問題として従来から研究されており、ヒューリスティックスの確率的解析、ローカルサーチ、ラグランジュ双対法、分枝限定法、分枝カット法、ホップフィールド型ニューラルネットモデルによる方法等さまざまな方法が知られている。最新の巡回セールスマン問題の解法については、「Computer Today」(1994年 9月号No63)、「巡回セールスマン問題への招待」(オペレーションズリサーチ、1994年 1〜 3月号)等で紹介されている。
【0003】
【発明が解決しようとする課題】
巡回セールスマン問題においては、最短巡回路解を実時間では見つけられないことが証明されており、近似解を求めることになる。方式の評価基準は、探索時間と見つかった経路の冗長度(最短順路と比べてどの程度長い経路になっているかを表わし、0%の場合最短路と同一であり、10%の場合見つかった経路は最短路に比べて10%長い経路である)になるが、両者には相関関係があり、探索時間を短縮すれば冗長度が大きくなり、冗長度を小さくすれば探索時間が長くなる。
【0004】
例えば、最新の研究成果で探索時間が短く、かつ冗長度も小さい、リアルタイム性が最も高いといわれるホップフィールド型ニューラルネットモデルによる方法では、処理時間はワークステーションで0.1秒以下だが、冗長度は最短解に対して平均37%となっている。また、一方で、平均冗長度が0%に近い方式もあるが、ワークステーションでの探索処理に数時間かかっている。観光等を考慮した場合、巡回ポイントは10ポイント程度であるが、探索時間が短く冗長度の小さい解が要求される。更に観光地案内サービス等では、始点と終点が必ずしも同じではなく、始点と違う終点まで途中のポイントを経由して最短で巡回する経路の案内も必要になってくる。ホップフィールド型ニューラルネットモデル等の従来方式に比べ、より冗長度が小さく、かつ始点と終点が違う巡回路探索にも適用できる巡回路探索方式が望まれていた。
【0005】
本発明は、上記に鑑みてなされたもので、その目的とするところは、ノードおよびノードを接続するリンクからなる道路ネットワークにおいて始点ノードから複数のノードを経由して終点ノードに至る経路を効率的に精度よく探索し得る巡回路探索装置を提供することにある。
【0022】
【課題を解決するための手段】
上記目的を達成するため、請求項1記載の本発明は、ノードおよびノードを接続するリンクからなる道路ネットワークにおける任意の始点ノードから複数のノードを経由して始点ノードと異なる終点ノードに至る複数の経路からノード間の距離、移動時間等を与えるコストを最小にする経路の近似解を探索する巡回路探索装置であって、始点ノードと終点ノードを結んだ線分に対して、始点ノードを通り前記線分に直交する始点ノード側垂線、および終点ノードを通り前記線分に直交する終点ノード側垂線をそれぞれ引き、前記始点ノード側垂線に対して終点ノードと反対側に存在するノードをまとめた始点側ノード群と、前記終点ノード側垂線に対して始点ノードと反対側に存在するノードをまとめた終点側ノード群と、始点ノード、終点ノード、始点側ノード群、終点側ノード群以外の中間ノード群とに分類するノード分類手段と、始点から始点側ノード群の各ノードまでの角度を求める始点側ノード群角度算出手段と、前記角度をソートし、始点ノードから角度の順に始点側ノード群の各ノードを結んで始点側巡回路を生成する始点側巡回路生成手段と、終点から終点側ノード群の各ノードまでの角度を求める終点側ノード群角度算出手段と、前記角度をソートし、終点ノードから角度の順に終点側ノード群の各ノードを結んで終点側巡回路を生成する終点側巡回路生成手段と、始点と終点を結ぶ線分に対して前記中間ノード群の各ノードから垂線を下ろし、始点と終点を結ぶ線分と各垂線との交点が始点に近い方から順に中間ノード群の各ノードを結んで中間ノード群巡回路を生成する中間ノード群巡回路生成手段と、前記始点側巡回路、中間ノード群巡回路および終点側巡回路の順に巡回路を結んで始点から終点までの巡回路を生成する全巡回路生成手段とを有することを要旨とする。
【0023】
請求項1記載の本発明にあっては、始点ノードと終点ノードを結んだ線に対して、始点ノードを通り前記線分に直交する始点ノード側垂線、および終点ノードを通り前記線分に直交する終点ノード側垂線をそれぞれ引いて、各ノードを始点側ノード群、終点側ノード群、中間ノード群に分類し、始点側ノード群の各ノードまでの角度の順に始点ノードから始点側ノード群の各ノードを結んで始点側巡回路を生成し、終点側ノード群の各ノードまでの角度の順に終点側ノード群の各ノードを結んで終点側巡回路を生成し、中間ノード群の各ノードを結んで中間ノード群巡回路を生成し、始点側巡回路、中間ノード群巡回路および終点側巡回路の順に巡回路を結んで始点から終点までの巡回路を生成する。
【0026】
請求項2記載の本発明は、ノードおよびノードを接続するリンクからなる道路ネットワークにおける任意の始点ノードから複数のノードを経由して再び始点ノードに至る複数の経路からノード間の距離、移動時間等を与えるコストを最小にする経路の近似解を探索する巡回路探索装置であって、巡回するすべてのノードを結んだ多角形の重心を求める重心算出手段と、前記重心を中心として、始点から各ノードまでの角度を求める角度算出手段と、前記角度をソートし、始点ノードから角度の小さい順に各ノードを結んで巡回路を生成する巡回路生成手段とを有し、前記巡回路生成手段は、該巡回路生成手段により生成された巡回路を構成する各ノードにおいて、隣り合うノード間の角度が所定値より小さいノードをまとめて、グループを設定するグループ設定手段と、該グループを構成する各ノードにおいて、前記ソート値が最も小さいものをグループ内始点とし、該始点から最も遠いノードをグループ内終点とするグループ内始点終点設定手段と、前記グループ内始点とグループ内終点を結んだ線分に対して、グループ内始点を通り前記線分に直交する始点ノード側垂線、およびグループ内終点を通り前記線分に直交する終点ノード側垂線をそれぞれ引き、前記始点ノード側垂線に対してグループ内終点と反対側に存在するノードをまとめたグループ内始点側ノード群と、前記終点ノード側垂線に対してグループ内始点と反対側にあるノードをまとめたグループ内終点側ノード群と、グループ内始点、グループ内終点、グループ内始点側ノード群、グループ内終点側ノード群以外のグループ内中間ノード群とに分類するグループ内ノード分類手段と、グループ内始点からグループ内始点側ノード群の各ノードまでの角度を求めるグループ内始点側ノード群角度算出手段と、前記角度をソートし、グループ内始点ノードから角度の順にグループ内始点側ノード群の各ノードを結んでグループ内始点側巡回路を生成するグループ内始点側巡回路生成手段と、グループ内終点からグループ内終点側ノード群の各ノードまでの角度を求めるグループ内終点側ノード群角度算出手段と、前記角度をソートし、グループ内終点ノードから角度の順にグループ内終点側ノード群の各ノードを結んでグループ内終点側巡回路を生成するグループ内終点側巡回路生成手段と、グループ内始点とグループ内終点を結ぶ線分に対して前記グループ内中間ノード群の各ノードから垂線を下ろし、グループ内始点とグループ内終点を結ぶ線分と各垂線との交点がグループ内始点に近い方から順にグループ内中間ノード群の各ノードを結んでグループ内中間ノード群巡回路を生成するグループ内中間ノード群巡回路生成手段と、前記グループ内始点側巡回路、グループ内中間ノード群巡回路およびグループ内終点側巡回路の順に巡回路を結んでグループ内始点からグループ内終点までの巡回路を生成するグループ内全巡回路生成手段とを有することを要旨とする。
【0027】
請求項2記載の本発明にあっては、各ノードを結んだ多角形の重心を求め、該重心を中心として、始点から各ノードまでの角度を求め、始点ノードから角度の小さい順に各ノードを結んで巡回路を生成し、巡回路を構成する各ノードにおいて、隣り合うノード間の角度が所定値より小さいノードをまとめて、グループを設定し、該グループを構成する各ノードに対して、請求項1記載の巡回路探索装置を適用したものである。
【0030】
請求項3記載の本発明は、請求項1記載の発明において、前記始点側巡回路生成手段、前記終点側巡回路生成手段、および前記中間ノード群巡回路生成手段は、これらの各手段により生成された各巡回路を構成する各ノードにおいて、所定の条件を満たすノードをまとめて、グループを設定するグループ設定手段と、該グループを構成する各ノードにおいて、前記ソート値が最も小さいものをグループ内始点とし、該始点から最も遠いノードをグループ内終点とするグループ内始点終点設定手段と、前記グループ内始点とグループ内終点を結んだ線分に対して、グループ内始点を通り前記線分に直交する始点ノード側垂線、およびグループ内終点を通り前記線分に直交する終点ノード側垂線をそれぞれ引き、前記始点ノード側垂線に対してグループ内終点と反対側に存在するノードをまとめたグループ内始点側ノード群と、前記終点ノード側垂線に対してグループ内始点と反対側にあるノードをまとめたグループ内終点側ノード群と、グループ内始点、グループ内終点、グループ内始点側ノード群、グループ内終点側ノード群以外のグループ内中間ノード群とに分類するグループ内ノード分類手段と、グループ内始点からグループ内始点側ノード群の各ノードまでの角度を求めるグループ内始点側ノード群角度算出手段と、前記角度をソートし、グループ内始点ノードから角度の順にグループ内始点側ノード群の各ノードを結んでグループ内始点側巡回路を生成するグループ内始点側巡回路生成手段と、グループ内終点からグループ内終点側ノード群の各ノードまでの角度を求めるグループ内終点側ノード群角度算出手段と、前記角度をソートし、グループ内終点ノードから角度の順にグループ内終点側ノード群の各ノードを結んでグループ内終点側巡回路を生成するグループ内終点側巡回路生成手段と、グループ内始点とグループ内終点を結ぶ線分に対して前記グループ内中間ノード群の各ノードから垂線を下ろし、グループ内始点とグループ内終点を結ぶ線分と各垂線との交点がグループ内始点に近い方から順にグループ内中間ノード群の各ノードを結んでグループ内中間ノード群巡回路を生成するグループ内中間ノード群巡回路生成手段と、前記グループ内始点側巡回路、グループ内中間ノード群巡回路およびグループ内終点側巡回路の順に巡回路を結んでグループ内始点からグループ内終点までの巡回路を生成するグループ内全巡回路生成手段とを有し、前記始点側巡回路生成手段および前記終点側巡回路生成手段の前記グループ設定手段は、隣り合うノード間の角度が所定値より小さいノードをまとめて、グループを設定する手段を有し、前記中間ノード群巡回路生成手段の前記グループ設定手段は、中間ノード群における各ノードから始点と終点を結ぶ線分に垂線を下ろした点の中で隣り合う点間の距離が所定値より小さいノードをまとめて、グループを設定する手段を有することを要旨とする。
【0031】
請求項3記載の本発明にあっては、始点側巡回路生成手段、終点側巡回路生成手段、中間ノード群巡回路生成手段により生成された各巡回路を構成する各ノードにおいて、所定の条件を満たすノードをまとめて、グループを設定するグループ設定手段と、該グループを構成する各ノードにおいて、請求項1記載の巡回路探索装置を適用したものである。
【0034】
【発明の実施の形態】
以下、図面を用いて本発明の実施の形態について説明する。
【0035】
図1は、一実施形態に係る巡回路探索方法を実施する巡回路探索装置の構成を示すブロック図である。同図に示す巡回路探索装置は、ノードおよびノードを接続するリンクからなる道路ネットワークにおける任意の始点ノードから複数のノードを経由して再び始点ノードに至る複数の経路からノード間の距離、移動時間等を与えるコストを最小にする経路を探索するものであり、すなわち始点と終点が同一の場合の巡回路探索装置であり、巡回するノード等の情報を入力する入力部1と、該入力部1から入力されたノード情報等に基づいて巡回路探索処理を実施する制御部3と、該制御部3で探索された巡回路を出力する出力部5と、制御部3における巡回路探索処理において発生した情報を一時的に格納するワークエリアを構成するワークメモリ7とから構成されている。
【0036】
また、制御部3は、巡回するすべてのノードを結んだ多角形の重心を求める重心算出処理部9と、前記重心を中心として、始点から各ノードまでの角度を求める角度算出処理部11と、前記角度をソートし、始点ノードから角度の小さい順に各ノードを結んで巡回路を生成する巡回路生成処理部13とから構成されている。
【0037】
次に、このように構成される巡回路探索装置の作用を図2に示すフローチャートに基づき図3を参照しながら説明する。
【0038】
前記入力部1から巡回すべきノード情報が制御部3に入力されると、制御部3はこのノード情報をワークメモリ7に格納する。制御部3は、巡回すべきすべてのノード情報をワークメモリ7から読み出し、このノード情報を重心算出処理部9に供給する。重心算出処理部9は、該ノードのすべてを結んだ多角形の重心を算出してワークメモリ7に格納する(図2のステップS110)。
【0039】
次に、角度算出処理部11は、ワークメモリ7から巡回するすべてのノードおよび前記重心を読み出し、図3に示すように、該重心を中心として、始点ノードから各ノードまでの角度を算出してワークメモリ7に格納する(ステップS120)。この角度算出処理は、図3に示すように、重心と始点ノードを結ぶ線をX軸とし、このX軸の中心に重心を設定し、この重心を中心として各ノードがX軸に対してなす角度を0゜〜360゜の間で求める。
【0040】
このように各ノードの角度が算出されると、次に巡回路生成処理部13は、ワークメモリ7から巡回するすべてのノードおよび始点ノードからの角度を読み出し、この角度をソートし、始点ノードから各ノードを角度の小さい順に結んで再度始点ノードに戻る巡回路を形成し、この巡回路をワークメモリ7に格納するとともに、与えられた始点ノードおよび巡回ノード群に対する最短巡回路として出力部5から出力する(ステップS130)。
【0041】
図4は、本発明の他の実施形態に係る巡回路探索方法を実施する巡回路探索装置の構成を示すブロック図である。
【0042】
図4に示す巡回路探索装置は、ノードおよびノードを接続するリンクからなる道路ネットワークにおける任意の始点ノードから複数のノードを経由して始点ノードと異なる終点ノードに至る複数の経路からノード間の距離、移動時間等を与えるコストを最小にする経路を探索するものであり、すなわち始点と終点が異なる場合の巡回路探索装置であり、巡回するノード等の情報を入力する入力部21と、該入力部21から入力されたノード情報等に基づいて巡回路探索処理を実施する制御部23と、該制御部23で探索された巡回路を出力する出力部25と、制御部23における巡回路探索処理において発生した情報を一時的に格納するワークエリアを構成するワークメモリ27とから構成されている。
【0043】
また、制御部23は、ワークメモリ27から読み出した巡回する各ノードを、始点ノード近辺にある始点側ノード群と、終点ノード近辺にある終点側ノード群と、始点ノード、終点ノード、始点側ノード群、終点側ノード群以外の中間ノード群とに分類するノード分類処理部29と、始点から始点側ノード群の各ノードまでの角度を求める始点側ノード群角度算出処理部31と、前記角度をソートし、始点ノードから角度の順に始点側ノード群の各ノードを結んで始点側巡回路を生成する始点側巡回路生成処理部33と、終点から終点側ノード群の各ノードまでの角度を求める終点側ノード群角度算出処理部35と、前記角度をソートし、終点ノードから角度の順に終点側ノード群の各ノードを結んで終点側巡回路を生成する終点側巡回路生成処理部37と、始点と終点を結ぶ線分に対して前記中間ノード群の各ノードから垂線を下ろし、始点と終点を結ぶ線分と各垂線との交点が始点に近い方から順に中間ノード群の各ノードを結んで中間ノード群巡回路を生成する中間ノード群巡回路生成処理部39と、前記始点側巡回路、中間ノード群巡回路および終点側巡回路の順に巡回路を結んで始点から終点までの巡回路を生成する全巡回路生成処理部41とから構成されている。
【0044】
次に、このように構成される巡回路探索装置の作用を図5に示すフローチャートに基づき図6〜9を参照しながら説明する。
【0045】
制御部23は、巡回すべきすべてのノード情報をワークメモリ27から読み出し、このノード情報をノード分類処理部29に供給する。ノード分類処理部29は、図6に示すように、始点ノード近辺にあるノードをまとめた始点側ノード群と、終点ノード近辺にあるノードをまとめた終点側ノード群と、始点ノード、終点ノード、始点側ノード群、終点側ノード群以外の残りのノード群をまとめた中間ノード群とに分類してワークメモリ27に格納する(ステップS210)。
【0046】
図6に示す具体的なノード分類処理では、例えば始点ノードと終点ノードを結んだ始点−終点接続線4−1に対して始点ノードおよび終点ノードをそれぞれ通り前記始点−終点接続線4−1に直交する始点ノード側垂線4−2および終点ノード側垂線4−3を引き、始点ノード側垂線4−2より終点ノードのない側にあるノードをまとめた始点側ノード群4−4と、終点ノード側垂線4−3より始点ノードのない側にあるノードをまとめた終点側ノード群4−5と、始点ノード、終点ノード、始点側ノード群、終点側ノード群以外の残りの各ノードをまとめた中間ノード群とに分類している。
【0047】
なお、ノード分類処理は、上記に限定されるものでなく、始点ノード側垂線4−2、終点ノード側垂線4−3のような垂線以外にも始点ノード、終点ノードそれぞれから一定距離以内にあるノードを始点側ノード群、終点側ノード群に分類する等のように種々の方法がある。
【0048】
以上のようにして、ノード分類処理が行われると、次に始点側ノード群角度算出処理部31は、ワークメモリ27から始点ノードおよび始点側ノード群4−4を読み出し、図7に示すように始点ノードから始点側ノード群4−4の各ノードまでの角度を求めてワークメモリ27に格納する(ステップS220)。
【0049】
図7では、始点ノード側垂線4−2をX軸とし、始点ノードを中心に設定し、始点側ノード群4−4の各ノードとX軸とのなす角度を0゜〜180゜の間で求めている。
【0050】
次に、始点側巡回路生成処理部33は、ワークメモリ27から始点ノード、始点側ノード群4−4および前記角度を読み出し、該角度をソートし、始点ノードから角度の順に始点側ノード群の各ノードを結んで、図7に太い線で示すように始点側巡回路を生成してワークメモリ27に格納する(ステップS230)。なお、角度のソートは図7に示すように角度の大きいノードから小さいノードに降順に行うが、逆に昇順に行ってもよい。
【0051】
次に、終点側ノード群角度算出処理部35は、ワークメモリ27から終点ノードおよび終点側ノード群4−5を読み出し、図8に示すように終点ノードから終点側ノード群4−5の各ノードまでの角度を求めてワークメモリ27に格納する(ステップS240)。
【0052】
図8に示す角度算出処理では、終点ノード側垂線4−3をX軸とし、終点ノードを中心に設定し、終点側ノード群4−5の各ノードとX軸との間のなす角度を0゜〜180゜の間で求めている。
【0053】
次に、終点側巡回路生成処理部37は、ワークメモリ27から終点ノード、終点側ノード群4−5および前記角度を読み出し、該角度をソートし、終点ノードから角度の順に終点側ノード群4−5の各ノードを結んで、図8に太い線で示すように終点側巡回路を生成してワークメモリ27に格納する(ステップS250)。
【0054】
角度のソートは、図8に示すように、角度の大きいノードから小さいノードに降順に行うが、逆に昇順に行ってもよい。
【0055】
次に、中間ノード群巡回路生成処理部39は、ワークメモリ27から中間ノード群4−6を読み出し、この中間ノード群4−6をソートして順序付けを行い、この順序で中間ノード群の各ノードを結んで、図9に太い線で示すように中間ノード群巡回路を生成してワークメモリ27に格納する(ステップS260)。
【0056】
図9に示す中間ノード群巡回路の生成では、始点と終点を結ぶ始点−終点接続線4−1に対して各中間ノードから垂線を下ろし、該垂線と始点−終点接続線4−1との各交点が始点に近い方から順に中間ノード群の各ノードを太い線のように結んで、中間ノード群巡回路を生成している。
【0057】
次に、全巡回路生成処理部41は、ワークメモリ27から始点側巡回路、中間ノード群巡回路および終点側巡回路を読み出し、始点側巡回路、中間ノード群巡回路、終点側巡回路の順に各経路間の距離が最小になるように各巡回路を結んで始点から終点までの巡回路を生成してワークメモリ27に格納するとともに、出力部25から出力する。
【0058】
図10は、本発明の更に他の実施形態に係る巡回路探索方法におけるグループ化処理を示すフローチャートである。
【0059】
図10に示す実施形態のグループ化処理は、ノードのソート方法を改良し、より巡回路の精度を高くするものであり、図1に示す実施形態の巡回路生成処理部13および図4に示す実施形態の始点側巡回路生成処理部33および終点側巡回路生成処理部37における各巡回路生成処理においてソート順にノードを並べた後の並び順の変更処理として行うものである。
【0060】
本実施形態の作用について図10に示すフローチャートに基づき図11および図12を参照しながら説明する。
【0061】
図10の処理では、まずグループ算出処理が行われる(ステップS310)。このグループ算出処理では、ワークメモリ47からノード群を読み出し、ソート値の隣り合うノード間の角度、距離などの値が所定値より小さいものを抽出し、図11に示すように、1グループとしてまとめ、ワークメモリ47に格納する。
【0062】
図11に示すグループ化処理は、始点と終点が異なる場合の中間ノード群に対して行ったものであり、隣り合うノード間の距離が小さいものをグループ化している。
【0063】
始点と終点が同一の場合のグループ化処理では、例えば巡回するノード数Nに対して隣り合うノードの角度が
α(360/N) (αは定数)
の場合にグループ化する。
【0064】
始点と終点が異なる場合の始点側ノード群に対してのグループ化処理では、例えば、始点側ノード群のノード数Nに対して、隣り合うノードの角度が
α(360/(N−1)) (αは定数)
の場合にグループ化する。
【0065】
始点と終点が異なる場合の終点側ノード群に対してのグループ化処理では、例えば、終点側ノード群のノード数Nに対して、隣り合うノードの角度が
α(360/(N−1)) (αは定数)
の場合にグループ化する。
【0066】
始点と終点が異なる場合の中間ノード群に対してのグループ化処理では、例えば、中間ノード群のノード数Nに対して、始点と終点を結ぶ始点−終点接続線(4−1)に各中間ノード群のノードから下ろした垂線との交点(ノード垂線点)に対して、隣り合うノードとのノード垂線点間の距離が
【数1】
α((始点と終点間の距離)/(N−1)) (αは定数)
の場合にグループ化する。なお、αは最も効率的な解が見つかるように設定すればよい。
【0067】
以上のようにして、グループ化処理が行われると、次にグループ内巡回路生成処理が行われる(ステップS320)。このグループ内巡回路生成処理では、図12に示すように、グループ内においてソート値が最も小さいものをグループ内始点とし、該グループ内始点からグループ内で最も遠いノードをグループ内終点とし、このグループ内の各ノードに対して、図1および図4に示した実施形態の巡回路探索方法を適用し、グループ内巡回路を生成し、グループ外で既にソート済みの前後のノードと接続するものである。
【0068】
図12に示すグループ内における始点および終点算出処理では、グループ内始点に対して最も遠いノード4がグループ内終点とされている。
【0069】
【発明の効果】
以上説明したように、本発明によれば、請求項1記載の本発明にあっては、始点ノードと終点ノードを結んだ線に対して、始点ノードを通り前記線分に直交する始点ノード側垂線、および終点ノードを通り前記線分に直交する終点ノード側垂線をそれぞれ引いて、各ノードを始点側ノード群、終点側ノード群、中間ノード群に分類し、始点側ノード群の各ノードまでの角度の順に始点ノードから始点側ノード群の各ノードを結んで始点側巡回路を生成し、終点側ノード群の各ノードまでの角度の順に終点側ノード群の各ノードを結んで終点側巡回路を生成し、中間ノード群の各ノードを結んで中間ノード群巡回路を生成し、始点側巡回路、中間ノード群巡回路および終点側巡回路の順に巡回路を結んで始点から終点までの巡回路を生成するので、探索時間も従来方式の最短時間と同程度で、かつ精度のよい解を効率的に求めることができ、例えば観光地等を案内する観光案内システム、宅配便等における配達支援システム等のように探索時間と精度の両方が求められるシステムにおいても適用可能であり、これらのシステムの効率化が図られ、よりよいサービスを提供することができる。
【0070】
また、本発明によれば、各ノードを結んだ多角形の重心を求め、該重心を中心として、始点から各ノードまでの角度を求め、始点ノードから角度の小さい順に各ノードを結んで巡回路を生成し、巡回路を構成する各ノードにおいて、隣り合うノード間の角度が所定値より小さいノードをまとめて、グループを設定し、該グループを構成する各ノードに対して、請求項1記載の巡回路探索装置を適用しているので、ノードのソート方法を改良し、巡回路の精度をより高くすることができる。
【0071】
更に、本発明によれば、始点側巡回路生成手段、終点側巡回路生成手段、中間ノード群巡回路生成手段により生成された各巡回路を構成する各ノードにおいて、所定の条件を満たすノードをまとめて、グループを設定するグループ設定手段と、該グループを構成する各ノードにおいて請求項1記載の巡回路探索装置を適用しているので、ノードのソート方法を改良し、巡回路の精度をより高くすることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る巡回路探索方法を実施する巡回路探索装置の構成を示すブロック図である。
【図2】図1に示す巡回路探索装置の作用を示すフローチャートである。
【図3】図1に示す巡回路探索装置における角度算出処理を示す説明図である。
【図4】本発明の他の実施形態に係る巡回路探索方法を実施する巡回路探索装置の構成を示すブロック図である。
【図5】図4に示す巡回路探索装置の作用を示すフローチャートである。
【図6】図4に示す巡回路探索装置における始点側ノード群、終点側ノード群、中間ノード群への分割方法を示す説明図である。
【図7】図4に示す巡回路探索装置における始点側ノード群内の角度算出処理および巡回路生成処理を示す説明図である。
【図8】図4に示す巡回路探索装置における終点側ノード群内の角度算出処理および巡回路生成処理を示す説明図である。
【図9】図4に示す巡回路探索装置における中間ノード群内の巡回路生成処理を示す説明図である。
【図10】本発明の更に他の実施形態の作用を示すフローチャートである。
【図11】図10に示す実施形態における中間ノード群に対するグループ化処理を示す説明図である。
【図12】図10に示す実施形態におけるグループ内における始点および終点算出処理を示す説明図である。
【符号の説明】
3,23 制御部
9 重心算出処理部
11 角度算出処理部
13 巡回路生成処理部
29 ノード分類処理部
31 始点側ノード群角度算出処理部
33 始点側巡回路生成処理部
35 終点側ノード群角度算出処理部
37 終点側巡回路生成処理部
39 中間ノード群巡回路生成処理部
41 全巡回路生成処理部
Claims (3)
- ノードおよびノードを接続するリンクからなる道路ネットワークにおける任意の始点ノードから複数のノードを経由して始点ノードと異なる終点ノードに至る複数の経路からノード間の距離、移動時間等を与えるコストを最小にする経路の近似解を探索する巡回路探索装置であって、
始点ノードと終点ノードを結んだ線分に対して、始点ノードを通り前記線分に直交する始点ノード側垂線、および終点ノードを通り前記線分に直交する終点ノード側垂線をそれぞれ引き、前記始点ノード側垂線に対して終点ノードと反対側に存在するノードをまとめた始点側ノード群と、前記終点ノード側垂線に対して始点ノードと反対側に存在するノードをまとめた終点側ノード群と、始点ノード、終点ノード、始点側ノード群、終点側ノード群以外の中間ノード群とに分類するノード分類手段と、
始点から始点側ノード群の各ノードまでの角度を求める始点側ノード群角度算出手段と、
前記角度をソートし、始点ノードから角度の順に始点側ノード群の各ノードを結んで始点側巡回路を生成する始点側巡回路生成手段と、
終点から終点側ノード群の各ノードまでの角度を求める終点側ノード群角度算出手段と、
前記角度をソートし、終点ノードから角度の順に終点側ノード群の各ノードを結んで終点側巡回路を生成する終点側巡回路生成手段と、
始点と終点を結ぶ線分に対して前記中間ノード群の各ノードから垂線を下ろし、始点と終点を結ぶ線分と各垂線との交点が始点に近い方から順に中間ノード群の各ノードを結んで中間ノード群巡回路を生成する中間ノード群巡回路生成手段と、
前記始点側巡回路、中間ノード群巡回路および終点側巡回路の順に巡回路を結んで始点から終点までの巡回路を生成する全巡回路生成手段と
を有することを特徴とする巡回路探索装置。 - ノードおよびノードを接続するリンクからなる道路ネットワークにおける任意の始点ノードから複数のノードを経由して再び始点ノードに至る複数の経路からノード間の距離、移動時間等を与えるコストを最小にする経路の近似解を探索する巡回路探索装置であって、
巡回するすべてのノードを結んだ多角形の重心を求める重心算出手段と、
前記重心を中心として、始点から各ノードまでの角度を求める角度算出手段と、
前記角度をソートし、始点ノードから角度の小さい順に各ノードを結んで巡回路を生成する巡回路生成手段と
を有し、
前記巡回路生成手段は、
該巡回路生成手段により生成された巡回路を構成する各ノードにおいて、隣り合うノード間の角度が所定値より小さいノードをまとめて、グループを設定するグループ設定手段と、
該グループを構成する各ノードにおいて、前記ソート値が最も小さいものをグループ内始点とし、該始点から最も遠いノードをグループ内終点とするグループ内始点終点設定手段と、
前記グループ内始点とグループ内終点を結んだ線分に対して、グループ内始点を通り前記線分に直交する始点ノード側垂線、およびグループ終点を通り前記線分に直交する終点ノード側垂線をそれぞれ引き、前記始点ノード側垂線に対してグループ内終点と反対側に存在するノードをまとめたグループ内始点側ノード群と、前記終点ノード側垂線に対してグループ内始点と反対側にあるノードをまとめたグループ内終点側ノード群と、グループ内始点、グループ内終点、グループ内始点側ノード群、グループ内終点側ノード群以外のグループ内中間ノード群とに分類するグループ内ノード分類手段と、
グループ内始点からグループ内始点側ノード群の各ノードまでの角度を求めるグループ内始点側ノード群角度算出手段と、
前記角度をソートし、グループ内始点ノードから角度の順にグループ内始点側ノード群の各ノードを結んでグループ内始点側巡回路を生成するグループ内始点側巡回路生成手段と、
グループ内終点からグループ内終点側ノード群の各ノードまでの角度を求めるグループ内終点側ノード群角度算出手段と、
前記角度をソートし、グループ内終点ノードから角度の順にグループ内終点側ノード群の各ノードを結んでグループ内終点側巡回路を生成するグループ内終点側巡回路生成手段と、
グループ内始点とグループ内終点を結ぶ線分に対して前記グループ内中間ノード群の各ノードから垂線を下ろし、グループ内始点とグループ内終点を結ぶ線分と各垂線との交点がグループ内始点に近い方から順にグループ内中間ノード群の各ノードを結んでグループ内中間ノード群巡回路を生成するグループ内中間ノード群巡回路生成手段と、
前記グループ内始点側巡回路、グループ内中間ノード群巡回路およびグループ内終点側巡回路の順に巡回路を結んでグループ内始点からグループ内終点までの巡回路を生成するグループ内全巡回路生成手段と
を有することを特徴とする巡回路探索装置。 - 前記始点側巡回路生成手段、前記終点側巡回路生成手段、および前記中間ノード群巡回路生成手段は、
これらの各手段により生成された各巡回路を構成する各ノードにおいて、所定の条件を満たすノードをまとめて、グループを設定するグループ設定手段と、
該グループを構成する各ノードにおいて、前記ソート値が最も小さいものをグループ内始点とし、該始点から最も遠いノードをグループ内終点とするグループ内始点終点設定手段と、
前記グループ内始点とグループ内終点を結んだ線分に対して、グループ内始点を通り前記線分に直交する始点ノード側垂線、およびグループ内終点を通り前記線分に直交する終点ノード側垂線をそれぞれ引き、前記始点ノード側垂線に対してグループ内終点と反対側に存在するノードをまとめたグループ内始点側ノード群と、前記終点ノード側垂線に対してグループ内始点と反対側にあるノードをまとめたグループ内終点側ノード群と、グループ内始点、グループ内終点、グループ内始点側ノード群、グループ内終点側ノード群以外のグループ内中間ノード群とに分類するグループ内ノード分類手段と、
グループ内始点からグループ内始点側ノード群の各ノードまでの角度を求めるグループ内始点側ノード群角度算出手段と、
前記角度をソートし、グループ内始点ノードから角度の順にグループ内始点側ノード群の各ノードを結んでグループ内始点側巡回路を生成するグループ内始点側巡回路生成手段と、
グループ内終点からグループ内終点側ノード群の各ノードまでの角度を求めるグループ内終点側ノード群角度算出手段と、
前記角度をソートし、グループ内終点ノードから角度の順にグループ内終点側ノード群の各ノードを結んでグループ内終点側巡回路を生成するグループ内終点側巡回路生成手段と、
グループ内始点とグループ内終点を結ぶ線分に対して前記グループ内中間ノード群の各ノードから垂線を下ろし、グループ内始点とグループ内終点を結ぶ線分と各垂線との交点がグループ内始点に近い方から順にグループ内中間ノード群の各ノードを結んでグループ内中間ノード群巡回路を生成するグループ内中間ノード群巡回路生成手段と、
前記グループ内始点側巡回路、グループ内中間ノード群巡回路およびグループ内終点側巡回路の順に巡回路を結んでグループ内始点からグループ内終点までの巡回路を生成するグループ内全巡回路生成手段とを有し、
前記始点側巡回路生成手段および前記終点側巡回路生成手段の前記グループ設定手段は、隣り合うノード間の角度が所定値より小さいノードをまとめて、グループを設定する手段を有し、
前記中間ノード群巡回路生成手段の前記グループ設定手段は、中間ノード群における各ノードから始点と終点を結ぶ線分に垂線を下ろした点の中で隣り合う点間の距離が所定値より小さいノードをまとめて、グループを設定する手段を有することを特徴とする請求項1記載の巡回路探索装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5500997A JP3596650B2 (ja) | 1997-03-10 | 1997-03-10 | 巡回路探索装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5500997A JP3596650B2 (ja) | 1997-03-10 | 1997-03-10 | 巡回路探索装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10253374A JPH10253374A (ja) | 1998-09-25 |
JP3596650B2 true JP3596650B2 (ja) | 2004-12-02 |
Family
ID=12986667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5500997A Expired - Fee Related JP3596650B2 (ja) | 1997-03-10 | 1997-03-10 | 巡回路探索装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3596650B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3534392B2 (ja) * | 1999-12-28 | 2004-06-07 | 日立ソフトウエアエンジニアリング株式会社 | 最適配送計画立案方法およびシステム |
US6587785B2 (en) * | 2001-09-21 | 2003-07-01 | General Motors Corporation | Method and system for mobile vehicle re-routing |
JP2021148688A (ja) * | 2020-03-23 | 2021-09-27 | 三菱電機株式会社 | 経路探索装置及び経路探索方法 |
CN117928566B (zh) * | 2024-03-21 | 2024-07-12 | 华南农业大学 | 一种农机行驶的路径规划方法、设备、介质及产品 |
-
1997
- 1997-03-10 JP JP5500997A patent/JP3596650B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10253374A (ja) | 1998-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bast et al. | Route planning in transportation networks | |
US11320275B2 (en) | Method for producing alternative route suggestions | |
US5168452A (en) | Route exploration method of navigation apparatus | |
CN103364004B (zh) | 路径搜索方法和路径搜索装置 | |
EP1980955A1 (en) | Using multiple levels of costs for a pathfinding computation | |
JP2010508531A (ja) | ルートを生成するための方法および装置 | |
US6885937B1 (en) | Shortcut generator | |
CN103309917A (zh) | 路径搜索方法和路径搜索装置 | |
CN108444486A (zh) | 一种导航路线排序方法和装置 | |
Shafahi et al. | Solving the school bus routing problem by maximizing trip compatibility | |
CN113375689B (zh) | 导航方法、装置、终端和存储介质 | |
CN103309932A (zh) | 路径搜索方法和路径搜索设备 | |
KR100198813B1 (ko) | 우편경로 시스템 및 그 시스템에 따른 최단 경로 생성방법 | |
JP3596650B2 (ja) | 巡回路探索装置 | |
Kanoh et al. | Route guidance with unspecified staging posts using genetic algorithm for car navigation systems | |
JP3517597B2 (ja) | 経路探索装置、経路探索方法及び経路探索用プログラムを記録した媒体 | |
D'Andrea et al. | Path clustering based on a novel dissimilarity function for ride-sharing recommenders | |
Falek et al. | Muse: Multimodal separators for efficient route planning in transportation networks | |
CN108204820B (zh) | 一种快速导航路径推测方法 | |
Jung et al. | Route recommendation with dynamic user preference on road networks | |
Cho et al. | Hybrid shortest path algorithm for vehicle navigation | |
Li et al. | Hierarchical model of road network for route planning in vehicle navigation systems | |
JPH11118501A (ja) | 最適経路探索方法 | |
JPH08261773A (ja) | 経路情報提供方法及び装置並びに経路情報提供システム | |
Kanoh et al. | Evaluation of GA-based dynamic route guidance for car navigation using cellular automata |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040331 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040420 |
|
A521 | Written amendment |
Effective date: 20040610 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Effective date: 20040803 Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
RD01 | Notification of change of attorney |
Effective date: 20040901 Free format text: JAPANESE INTERMEDIATE CODE: A7426 |
|
A61 | First payment of annual fees (during grant procedure) |
Effective date: 20040901 Free format text: JAPANESE INTERMEDIATE CODE: A61 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080917 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080917 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 5 Free format text: PAYMENT UNTIL: 20090917 |
|
LAPS | Cancellation because of no payment of annual fees |