JP3792938B2 - ナビゲーション装置 - Google Patents
ナビゲーション装置 Download PDFInfo
- Publication number
- JP3792938B2 JP3792938B2 JP15356899A JP15356899A JP3792938B2 JP 3792938 B2 JP3792938 B2 JP 3792938B2 JP 15356899 A JP15356899 A JP 15356899A JP 15356899 A JP15356899 A JP 15356899A JP 3792938 B2 JP3792938 B2 JP 3792938B2
- Authority
- JP
- Japan
- Prior art keywords
- route
- individual
- search
- designated
- individuals
- 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)
Description
【発明の属する技術分野】
本発明は遺伝的アルゴリズム(GA:Genetic Algorithm)を用いて最適経路を探索するナビゲーション装置に係り、特に、少ない演算量で全指定経由点を通る出発地から目的地までの最適経路を探索するナビゲーション装置、並びに、出発地と目的地が同一で全指定経由点を通過する最適巡回経路、あるいは指定された上限コスト以下で最大数の経由点を通過する最適巡回経路を探索するナビゲーション装置に関する。
【0002】
【従来の技術】
車載ナビゲーション装置には、車両を出発地から目的地まで誘導する経路誘導機能が設けられている。かかる経路誘導機能によれば、目的地を設定すると、出発地(現車両位置)から目的地までの最適経路(例えば最短距離の経路)を探索し、探索した最短経路をモニター画面に表示してドライバを目的地に向けて案内する。従来、かかる最短経路問題に使用可能な探索法として、全探索法の一種である深さ優先探索(dfs)法、幅優先探索(bfs)法が知られている。しかし、これらは探索に時間がかかるという欠点を持っている。そこで、幅優先探索法の一種であるダイクストラ(dijkstra)法が提案されている。ダイクストラ法は探索時間が短いため、この方法を応用した多くの手法が提案され、主流となっている。
【0003】
しかしながら、従来のダイクストラ法等の経路探索法では、二地点間距離が短い複数の経路候補(最短経路及びそれに準ずる経路)を一度の探索で選び出すことは困難であった。このため、ドライバは選ばれた最短経路に満足できなければ、次の候補を見つけ出すために、新たに経路探索を始めからやり直さなければならない問題がある。又、従来の経路探索方法では、最初から経路探索をやり直しても、第2順位に短い経路が必ず選ばれるとは限らない問題がある。
そこで、本願出願人は、特願平9-285154号(出願日:平成9年10月17日、発明の名称:最適経路探索方法)において、遺伝的アルゴリズム(GA)を用いて最適経路を探索でき、しかも、1回の経路探索で最短経路とこれに準ずる経路を同時に探索できる最適経路探索方法を提案している(第1提案方法)。
【0004】
一方、複数の経由地を通り目的地に到着する場合の最適経路探索が知られている。従来の複数経由点を通過する経路探索では、
▲1▼ユーザーが経由地点を経由順、および最終目的地を入力し、
▲2▼ナビゲーション装置が出発点から第1経由地までの最短経路をダイクストラ法などにより探索し、
▲3▼ついで、第1経由地から第2経由地までの最短経路を探索し、・・・以下同様の手順を踏む事により複数の経由地を通り目的地に到着する最適経路の探索を行っている。
しかし、この方法では、経由地点の経由順が固定されており、得られた結果が全ルートに対し最適なものであるとの保証はない。特に、近隣観光地を効率よく巡るような場合、不慣れな観光地周辺の経由順を事前に入力する事は難しいのが現実である。そこで、本願発明者等は、遺伝的アルゴリズム(GA)により、出発地より複数の経由地を通り目的地に到着する場合の最適経路探索法を提案している(第2提案方法、97年12月電気通信学会 IE研究会にて報告、電気通信学会技術報告書 CAS97-6,VLD97-6,DSP97-21:論文名「複数経由指定を伴う経路探索に関する考察」参照)。
【0005】
【発明が解決しようとする課題】
しかしながら、第2の提案方法では、探索過程において全経由点を通過する経路を表現する個体以外を致死遺伝子としている。このため、初期集団の発生や交叉の際に、致死遺伝子でない個体が生成されるまでの個体発生の処理を繰り返すため、多くの計算量を要する。
又、出発地より複数の指定経由地を通って目的地に到る最適経路探索に加えて、いくつかの指定経由地(たとえば観光地)を巡って出発点に戻るいわゆる巡回ルートの最適経路探索もナビゲーション装置の有効活用の点から必要不可欠な機能である。
又、上限コスト(たとえば最大走行距離)で全指定経由地を巡回できなければ、上限コスト以内で最大数の指定経由地を通過して出発地に戻る最適巡回経路を探索することもナビゲーション装置の有効活用の点から必要不可欠な機能である。このためこれら機能を実現する経路探索方法が要望されている。
【0006】
以上より、本発明の目的は、少ない計算量で、かつ、短時間に全指定経由点を通過する最適経路を探索できるナビゲーション装置を提供することである。
本発明の別の目的は、重みを最適値になるように決定し、これにより、局所解に陥ることなく最適解が得られるようにすることである。
本発明の別の目的は、指定された全経由地点を通過する最適な巡回経路の探索ができるナビゲーション装置を提供することである。
本発明の別の目的は、上限コスト以下で最大数の指定経由地を通過して出発地に戻る最適の巡回経路の探索ができるナビゲーション装置を提供することである。
【0007】
【課題を解決するための手段】
上記課題は本発明によれば、地図情報を記憶する地図情報記憶媒体、自車位置を検出する車両位置検出部、目的地や経由点を設定する手段、出発地から設定された経由点を通って目的地に到る最適経路を遺伝的アルゴリズムに基づいて探索する経路探索ユニットを備えたナビゲーション装置において、前記経路探索ユニットは、 (1) 出発地から指定されたN個の経由点を通って目的地に到る経路を探索する場合、全実ノードにおける最大接続ノード数Mと指定経由点数に1を加えた (N+1) のうち小さい方を仮想ノード数kとし、各実ノードについてk個の仮想ノードを用意し、該仮想ノードを遺伝子として有する拡張遺伝子型の前記出発地から目的地までの経路(個体)を所定数、初期個体群として用意する初期集団作成部、 (2) 前記個体に含まれる指定経由点数に応じて重みを決定し、該個体の出発地から目的地までの距離に前記重みを乗じた値の逆数を遺伝的アルゴリズムにおける評価関数とし、該評価関数を用いて各個体の適応度を計算する適応度算出部、 (3) 適応度が大きい全体の所定割合の個体を選択して残りを淘汰する選択淘汰処理部、 (4) 選択された個体に交叉処理、突然変異処理を施して新たな個体を生成して総計が前記所定数の個体よりなる個体群を生成する交叉 / 突然変異処理部、 (5) 適応度の改善が見られなくなるまで、あるいは、遺伝的アルゴリズムの適用回数が設定回数になるまで、前記個体群を構成する各個体に上記適応度算出処理、選択淘汰処理、交叉処理、突然変異処理を施し、適応度の改善が見られなくなったとき、あるいは、遺伝的アルゴリズムの適用回数が設定回数になったとき、適応度が最良の個体を最適経路として出力する最適経路出力部、を備えたナビゲーション装置により達成される。以上のようにすれば、従来、致死遺伝子としていた個体を活用して効率的に最適経路探索を行え、計算量を削減し、かつ、短時間で最適経路の探索ができる。
又、重みは最初小さめに設定し、遺伝的アルゴリズムを適用する毎に求まるn個の指定経由点を含む経路の最短経路長Lnと、(n-1)個の指定経由点を含む経路の最短経路長Ln-1に重みαn-1を乗算した経路長Ln-1・αn-1との大小を比較し、Ln>Ln-1・αn-1であれば、重みを所定割合増加し、重みが最適値になるように制御する。このように、重みが最適値になるように制御するから、局所解に陥ることなく極めて高い確率で最適解を得ることができる。
【0008】
又、上記の最適経路探索において、第1の地点と第2の地点が同一地点(出発地)である最適巡回経路を探索する場合、出発地から(N-1)個の指定経由点を通って最後の経由点に到る経路の全通過実ノードに応じた仮想ノードを遺伝子として有する拡張遺伝子型と、最後の指定経由点から出発地に到る経路の全通過実ノードを遺伝子として有する遺伝子型とを組み合わせて表現された巡回経路(個体)を所定数、初期個体群として用意し、前記個体群に遺伝的アルゴリズムを繰り返し適用して全指定経由点を通って出発地に戻る最適巡回経路を探索する。
【0009】
更に、指定経由点を全て通る所定数の第1の個体群、(N-1)個の指定経由点を通る所定数の第2の個体群、(N-2)個の指定経由点を通る所定数の第3の個体群、・・・を用意し、それぞれの個体群について遺伝的アルゴリズムを繰り返し適用して全経由点を通過する最適の巡回経路、(N-1)個の経由点を通る最適の巡回経路、(N-2)個の経由点を通る最適の巡回経路、・・・を求め、指定された上限コスト以下で最大数の経由点を通過する巡回経路を探索する。
【0010】
【発明の実施の形態】
(A)本発明の概略
(a)本発明を適用できるナビゲーション装置の第1の構成
図1は本発明の最適経路探索を説明するためのナビゲーション装置の概略構成図である。図中、1は地図情報を記憶するCD−ROM、DVD等の地図情報記憶媒体、2は自車位置を検出する車両位置検出部で、自立航法センサー(車速センサー、方位センサーなど)やGPSで構成されるもの、3は目的地や経由点の設定、メニュー項目選択による各種指示、地図の拡大/縮小等の操作を行うリモコンユニット、4はナビゲーション制御部における経路探索ユニット、5は地図及び最適経路たとえば出発地Sから指定経由点A、Bを通って目的地に至る最適経路MSPを表示するモニターである。
【0011】
経路探索ユニット4は、出発地S、目的地G及び経由点A,Bが入力されて経路探索が指令されると、遺伝的アルゴリズム(GA)に基づいて出発地Sから指定経由点A,Bを通って目的地Gに至る最適経路探索を開始し、得られた最適経路MSPをモニター5に表示する。すなわち、経路探索ユニット4は、拡張遺伝子型により表現された出発地から目的地までの経路(個体)を所定数、初期個体群として用意し、該拡張遺伝子型構造を備えた個体群に遺伝的アルゴリズムを繰り返し適用し、該遺伝的アルゴリズムにより全経由点を通過する出発地から目的地までの最適経路を探索する。この場合、前記個体(経路)に含まれる指定経由点数に応じて重みを決定し、該個体の出発地から目的地までの距離に前記重みを乗じた値の逆数を遺伝的アルゴリズムにおける評価関数とする。重みは最初小さめに設定し、遺伝的アルゴリズムを適用する毎に求まるn個の指定経由点を含む経路の最短経路長Lnと、(n-1)個の指定経由点を含む経路の最短経路長Ln-1に重みαn-1を乗算した経路長Ln-1・αn-1との大小を比較し、Ln>Ln-1・αn-1であれば、重みを所定割合増加し、重みが最適値になるように制御する。
【0012】
以上、本発明の経路探索方法は、ビルディングブロック仮設(D.E.Goldberg, "Generic Algorithms in Search Optimization and Machine Learning" Addison. Wesley, 1989)に基づき、個体(経路)の持つ経由点数に依存する重みを評価関数に導入した探索手法である。この重みの制御により、従来、致死遺伝子としていた個体に含まれる有効なスキマタ(schemata:schemaの複数形)を消失することなく効率的に探索を行い、計算量を削減することが可能となる。スキマタとは「配列」を意味し、GAでは染色体中の意味のあるパターン、あるいは遺伝子の並びのことをいう。
【0013】
図2は本発明の最適巡回経路探索を説明するためのナビゲーション装置の概略構成図であり、図1と同一部分には同一符号を付しており、モニター5には地図及び最適巡回経路たとえば出発地Sから指定経由点A、B、Cを通って出発地に戻る最適巡回経路MSRPが表示されている。
経路探索ユニット4は、出発地S及び経由点A,B,Cが入力されて巡回経路探索が指令されると、遺伝的アルゴリズム(GA)に基づいて出発地Sから指定経由点A,B,Cを通って出発地に戻る最適巡回経路探索を開始し、得られた最適巡回経路MSRPをモニター5に表示する。すなわち、経路探索ユニット4は、最適巡回経路を探索する場合、出発地から(N-1)個(上記例ではN=3)の指定経由点を通過して最後のN番目の経由点に到る経路の拡張遺伝子型構造と、最後のN番目の指定経由点から出発地に到る経路の遺伝子型構造を組み合わせて表現した巡回経路(個体)を所定数、初期個体群として用意し、該個体群に遺伝的アルゴリズムを繰り返し適用して最適巡回経路MSRPを探索する。
【0014】
又、経路探索ユニット4は、上限コストが指定されている場合には、指定経由点を全て通る所定数の第1の個体群、(N-1)個の指定経由点を通る所定数の第2の個体群、(N-2)個の指定経由点を通る所定数の第3の個体群、・・・を用意し、それぞれの個体群について遺伝的アルゴリズムを繰り返し適用して全経由点を通過する最適の巡回経路、(N-1)個の経由点を通る最適の巡回経路、(N-2)個の経由点を通る最適の巡回経路、・・・を求め、指定された上限コスト以下で最大数の経由点を通過する巡回経路を探索する。
【0015】
(b)遺伝的アルゴリズムの概略
図3は遺伝的アルゴリズムの概略フロー図であり、図4は遺伝的アルゴリズムにおける一般的な個体表現説明図である。
遺伝的アルゴリズムGAにおいて、各個体(探索点)の形質は染色体として表わされる(図4参照)。染色体は遺伝子により構成され、各遺伝子は個体の部分形質を表現する。各個体の染色体は後述する各GA操作が有効に行われるように表現する必要がある。更に、問題の解候補をすべて探索範囲とするために、全ての解候補を表現できる必要があり、また染色体で表現可能な個体は冗長な探索を防ぐため、全て解候補であることが望ましい。
【0016】
遺伝的アルゴリズムGAにおいては、個体の初期集団を乱数を用いて作成する(ステップ101)。但し、何らかの予備知識が存在する場合には、適応度が高いと思われる個体を初期集団として作成する。初期集団内に存在しない遺伝子は突然変異によってのみ発生する。このため初期集団の作成法が探索効率に大きく影響する場合がある。
ついで、個体の適応度を評価する(ステップ102)。適応度は各個体の染色体が表す形質の評価である。この適応度の評価関数を任意に決定できることがGAの特徴の一つである。また、この適応度を用いて選択を行なうために評価関数の設定が探索の効率に大きく影響する。
各個体について適応度が求まれば、探索点集合(最初は、初期集団)から個々の適応度や探索の進み具合などに応じて次世代の個体の基となる個体を選択する(選択淘汰、ステップ103)。尚、選択法によっては、特定の遺伝子が急速に広がり局所解ですらない同一の個体で占められてしまう初期収束の問題が生じる場合がある。
【0017】
しかる後、選択操作によって選ばれた複数の個体からなる個体群から所定の発生頻度で2つの親個体を選択し染色体を組み変えて、子の染色体を作る(交叉、ステップ104)。交叉によって作成された新しい個体は基となる複数の親の形質を継承していることが重要である。
交叉処理後、突然変異操作により遺伝子を一定の確率で変化させる(突然変異、ステップ105)。突然変異はあまり頻繁に発生すると、ランダムサーチ化してしまう。しかし、初期集団の遺伝子の組み合わせ以外の染色体の作成には、突然変異による遺伝子の変化が必要である。
上記ステップ102〜105を終了条件が満たされるまで繰返し(ステップ106)、該条件が成立すると探索処理を終了する。
【0018】
以上が一般的な遺伝的アルゴリズムGAの概略であり、かかる遺伝的アルゴリズムGAを最適経路探索に適用するには、予め以下の項目(各種の規則やパラメータ)を経路探索用に変形あるいは実現する必要がある。これらのパラメータを適切に選ばなければ、最適解に収束するために多くの計算時間がかかったり、局所解に陥って最適解が得られないなどの問題が起こる。
・個体の形質表現
・初期集団の作成法
・適応度の評価関数
・選択淘汰方法
・交叉方法
・突然変異方法
・探索終了条件
・個体数
【0019】
(c)2点間最短経路探索に適用できる遺伝子型の設計
交叉の際の計算量および致死遺伝子の抑制、次世代の個体の多様性の維持を目的として次のような遺伝子型を設計した。
図5は個体である経路を表現する構造(遺伝子型構造)の説明図であり、
(a)はマップ情報、(b)遺伝子説明図、(c)は出発地0から目的地4までの経路0→5→9→10→4を表現型としてもつ遺伝子型の例である。
この遺伝子型は、経由するノード番号を遺伝子として持つ。これは後述の交叉の条件を満たすため、パス表現を応用した等長の遺伝子型となっている。具体的には、ノード番号mからノード番号nへの経路(以後、経路m→nと表す)はm番目の遺伝子座にnを格納することによって表され、出発点から到着点までの経路についてこれを繰り返し、途中一度も経由しないノードについてはそのノードが接続しているノードの集合の中から、ランダムに一つを選択して格納する。例えば図5(a)に示すマップ情報が与えられている場合、経路0→5→9→10→4を表現型に持つ遺伝子型の一例は、図5(c)に示すように
となる。上段はノード番号、下段は遺伝子座である。
【0020】
0番目の遺伝子座に5が、5番目の遺伝子座に9が、9番目の遺伝子座に10が、10番目の遺伝子座に4が格納されていることが確認できる。下線を付さないノード番号で示した遺伝子座にある遺伝子は、ノード番号の遺伝子(ノード)から次に行くことのできるノードの中からランダムに選んだものを格納しており、このノードの選び方によって、同じ表現型を持った異なる遺伝子型が生成されることがわかる。以上により設計された遺伝子型は、表現型と遺伝子型が1対多に対応している。
【0021】
(B)2点間最短経路探索(第1提案方法)
図6は2点間最短経路探索を遺伝的アルゴリズムGAに基づいて実行する構成図である。尚、後述する「複数経由点指定を伴う最短経路探索」、「全指定経由点を通る最適巡回経路探索」、「上限コストが設定されている場合の最適巡回経路探索」を実行する構成も図6と同一になるが、処理方法は異なる。
図中、11は計算機により算出された出発地から目的地までの経路(個体)の初期集団を作成する初期集団作成部、12は評価関数に基づいて各個体の適応度を計算する適応度算出部、13は探索終了判定部であり、適応度が変化しなくなったとき、あるいは探索回数が設定回数になったとき探索終了と判定するもの、14は探索終了により探索された個体、すなわち、適応度が最高の経路(たとえば最短経路)を出力し、あるいは、必要に応じて最短経路と共に第2、第3順位の経路を出力する最短経路出力部、15は適応度の高い個体を選択する選択淘汰処理部、16は選択された個体(親)の遺伝子(ノード)を入れ替える交叉処理部、17は個体の遺伝子(ノード)を所定の規則に従って変異させる突然変異処理部である。
【0022】
(a)初期集団作成部
2点間最短経路探索では図5に示すように地図上の道路交差点(ノード)を遺伝子として用い、その遺伝子座における1次元配列を染色体として扱う。個体数は多いほど探索点が多くなるため解候補の多様性が高くなり、良い結果が得られるが、探索時間が長くなる。実験を行った結果、約40以下の個体数では安定した探索が行われないことが確認された。従って、本実験では個体数を50に定める。以上より、初期集団作成部11は、50個の個体からなる初期集団を作成する。
【0023】
(b)適応度算出部
適応度算出部12は、各個体の適応度を次式
Fitness =1/(Σrlength(i)) i=1〜M (1)
で示す評価関数を用いて算出する。
ただし、Mを出発点から到着点までに経由するノードの個数、rlength(i)をi番目と(i-1)番目のノード間の経路長とする。最短経路問題では経路長が短いほど適応度が高くなる評価関数を設定する必要があり、式(1)のように、経路長の総和の逆数により定義した。
【0024】
(c)探索終了判定部
探索終了の条件は、▲1▼各世代における個体の最大適応度が、たとえば50世代連続して改善されないこと、及び、▲2▼探索が1000世代まで達したことである。なお、▲1▼のみを探索終了条件とすることもできる。図7は探索終了判定部13による探索終了判定処理のフローである。
適応度算出部12から各個体の適応度を受信すると(ステップ301)、iを歩進し(i+1→i、ステップ302)、ついで、現世代における個体の最大適応度が前回の最大適応度より大きいか、換言すれば、探索経路が距離的に改善されたかチェックする(ステップ303)。
【0025】
改善されていなければ、カウント値c(初期値は0)を1カウントアップし(ステップ304)、ついで、c≧50かチェックする(ステップ305)。c≧50の場合には、最短経路の個体探索が完了したものとして探索処理を終了する(ステップ306)。c<50の場合には、i=1000になったか、換言すれば、探索が1000世代まで達したかチェックする(ステップ307)。i<1000であれば、ステップ301に戻り以降の処理を繰返し、i=1000であれば、探索処理を終了する(ステップ306)。
一方、ステップ303において、探索経路が距離的に改善されていれば、カウント値cをクリアし(ステップ308)、ついで、ステップ307以降の処理を実行する。
【0026】
(d) 選択淘汰処理部
選択淘汰は、評価値(適応度)の最も良い個体を無条件に次世代に残すエリート保存戦略、その他の個体については評価値に比例した確率で選択淘汰を行うルーレット戦略を採用した。すなわち、選択淘汰処理部15は、適応度の高い60%の個体において、一般的である適応度比例戦略にエリート保存戦略を組み合わせて選択淘汰処理を実行する。ただし、最大の適応度が減小した場合、前世代における最大適応度の個体を新しい個体として加えるのではなく、最も適応度の低い個体と入れ換えることにより個体数の増加を防ぐ。60%の値は実験を行なった結果、50%以下では安定した探索が行なわれない場合があるからである。
図8は選択淘汰、交叉、突然変異処理の説明図である。
選択淘汰処理部15(図6)は個体群を構成するN個の個体を取り込み、それぞれの個体の適応度を高い順に
個体1(I1)、個体2(I2)、・・・、個体N(IN)
と個体の数(=N)だけ並べる。このように配列した個体の内、適応度が高い順に全体の60%のものだけを選択し、それ以外の残り40%の個体は淘汰する。
【0027】
交叉処理部16、突然変異処理部17は、選択されて残った個体を用いて後述する交叉、突然変異を施して新たな個体を作り、トータルの個体数をN個にする。ここで、交叉に用いられる元の個体の使用頻度は適応度に比例する確率で選択する(ルーレット戦略)。次に、所定の交叉、突然変異が施されてできた新しい個体群の全てのN個の個体について適応度算出部12で適応度を計算し、適応度の高い順にそれぞれ
個体1(I′1)、個体2(I′2)、・・・、個体N(I′N)
と個体の数(=N)だけ並べる。ついで、今回の個体群の中で最も適応度が高い個体1(I′1)と前回の個体群の中で最も適応度が高い個体1(I1)との間で適応度の大小を比較する。
I1>I′1の場合には、すなわち、今回の最大適応度I′1が前回の最大適応度I1より小さい場合には、新しい個体群の中で最も適応度の低い個体60(I′60)を捨て、代わりに前回の個体群の中で最も適応度が高い個体1(I1)を新しい個体群の中の個体として入れる処理を行う。これにより、常に、新しい個体群の最大の適応度が元の個体群の最大の適応度以上にする。
以上により新しい個体群が作り出される。そして、この操作を繰返し行うことにより、遺伝的アルゴリズムが実行される。
【0028】
図9は、選択淘汰の処理フローである。
選択淘汰処理部15は個体群を構成するN個の個体を取り込み(ステップ401)、それぞれの個体の適応度を高い順に
個体1(I1)、個体2(I2)、・・・、個体N(IN)
と個体の数(=N)だけ並べ替える(ステップ402)。ついで、このように配列した個体の内、適応度が高い順に全体の60%のものだけを選択し、それ以外の残り40%の個体は淘汰する(ステップ403)。この様にして選択された個体群は所定の発生頻度に従った次世代の親個体として使用される。尚、ルーレット戦略でも淘汰できるから選択淘汰部において100%選択することもでき、実際に実施例では100%とした。
【0029】
(e) 交叉処理部
交叉の一般的なものとして、一点交叉、多点交叉、一様交叉などが存在する。交叉処理部16はその一つである一様交叉に基づいて交叉処理を実行する。
一様交叉は、2つの別の個体から新しい個体を作り出すために用いるもので、親となるそれぞれの個体の性質を引き継ぐために染色体に含まれる遺伝子がいずれかの親と全く同じになる別の個体を作る。図10は一様交叉の説明図である。図中、P1,P2は一様交叉処理の対象となる個体(親1、親2)、MKは一様交叉処理に用いるマスク、CHは一様交叉により得られた新たな個体(子)である。マスクMKで1が立っている部分では親個体P2の遺伝子が、0の部分では親個体P1の遺伝子がそれぞれ受け継がれて新しい子個体CHが作られる。
【0030】
一様交叉に使用するマスクMKは常に同じではなく、乱数を用いて変更するようになっている。又、親個体の決定法は、適応度に応じた発生頻度でランダムに選択する。簡単のため個体数を3としてそれぞれの適応度を個体1はa,個体2はb、個体3はcとする。このときの各個体が選択される確率(全体の確率は1となる)は、
個体1:a/(a+b+c)
個体2:b/(a+b+c)
個体3:c/(a+b+c)
で表現される。
【0031】
図11は遺伝子型で表現した個体に一様交叉を施す説明図である。
交叉は二つの親の個体から一つの子の個体を生成する操作である。この手法は経路探索を行うものであり、交叉の後、得られた子の個体は、指定された出発点及び到達点を始・終点とする経路集合の中に入っていなければならない。そこで前述の遺伝子型を用意し、一様交叉をもとにした次のような交叉方法を考えた。まず、ルーレット戦略によって選ばれた二つの個体(親1,親2とする)より、出発点のノード番号の遺伝子座にあるノード番号の内からランダムに一つを選択して、子の同じ遺伝子座に格納する。格納されたノード番号と同じ番号の二つの親の遺伝子座にあるノード番号のうちからランダムに一つを選択して、子の同じ遺伝子座に格納し、これを到着点に達するまで繰り返し、経由しなかったノードについては親の個体の遺伝子のどちらかをランダムに選択して格納する。
【0032】
図11を用いて交叉法を具体的に説明すると(ノード番号0:出発点、ノード番号4:は到達点)、まず親1の0番目の遺伝子座にある5と親2の1の二つについてどちらかを選択し、選択された5によって、ノード番号5の遺伝子座にある親1の9と親2の6の二つのうちどちらかを選択する。これを到着点(ノード番号4)に達するまで繰り返す。経由していなかったノード(図11の子において□で囲まれていないノード)については、親の個体の遺伝子からランダムに選択する。
【0033】
図12は一様交叉処理の流れ図であり、後述する突然変異処理と連携しながら交叉処理を実行する。まず、乱数を用いてマスクMKを作成し(ステップ501)、ついで、選択淘汰された個体群より適応度に応じた発生頻度でランダムに親個体P1,P2を選択する(ステップ502)。しかる後、親個体P1,P2及びマスクMKを用いて一様交叉処理を実行して子個体CHを作成する(ステップ503)。子個体生成後、必要に応じて該子個体に突然変異処理を施す(ステップ504)。ついで必要な数の子個体が生成されたかチェックし(ステップ505)、生成されていれば、交叉処理を終了し、必要な数の子個体が生成されていなければステップ501に戻り、上記処理を繰り返す。
【0034】
(f) 突然変異処理部
突然変異は突然変異確率に応じて行なわれるだけでなく、同じ世代にすでに全く同じ遺伝子を持つ個体が存在する場合には該個体に対しても行う。つまり、探索の初期において、解の多様性が高い間は突然変異は突然変異確率にほぼ従った割合でしか生じないが、探索の後半において多様性が低くなると突然変異が多く生じ、解の多様性が保持されることになる。突然変異確率は多数実験を行い、3%〜20%の範囲で探索結果が大きく変化しないことを確認した。そのため5%とした。
【0035】
図13は突然変異処理の説明図である。探索を開始した初期の段階では、子個体群のなかに全く同じ遺伝子構造(染色体)を持つことはあまりない。このような時は、予め定めておいた突然変異確率に従って突然変異を行う。例えば、100回の交叉に対して5回の突然変異を行う。
図14は突然変異処理部17による突然変異処理のフローであり、図12の突然変異処理ステップ(ステップ504)の詳細である。2つの親個体P1,P2を選択し、該親個体P1,P2及びマスクを用いて一様交叉処理を実行して子個体を作成する(ステップ502、503)。子個体生成後、該子個体と同じ遺伝子構造の子個体が別に存在するかチェックする(ステップ504a)。存在する場合には、新たな子個体の遺伝子(ノード)を変化して突然変異させる(ステップ504b)。
【0036】
一方、ステップ504aにおいて同じ遺伝子構造の子個体が別に存在しなければ、突然変異確率に従って突然変異を行う。例えば、前述のように100回の交叉に対して5回の突然変異を行う。従って、ステップ504aにおいて「NO」の場合には、突然変異確率に基づいて突然変異をさせるべきかチェックし(ステップ504c)、突然変異させるべきであれば、ステップ504bの処理を実行して子個体の遺伝子(ノード)を変化して突然変異させ、突然変異させるべきでなければ突然変異処理を終了する。
以後、新たに生成したN個の個体からなる個体群に対して、適応度算出処理、探索終了判定処理、選択淘汰処理、交叉処理、突然変異処理を繰り返す。
【0037】
(g) シミュレーション結果
いわき市のマップ情報に対して遺伝子アルゴリズム(GA)を用いた2点間最適経路探索のシミュレーション実験を行った。交差点数(ノード数)は72である。又、個体数を50、終了条件を50世代無進化、突然変異確率を5%とした。上記パラメータを用いて実験を行った結果、図15に示す最短経路MSPが得られた。これは出発点Sと到着点D間の最短経路で、ダイクストラ法によって求めた最適経路と一致する。
【0038】
最短経路のみを探索して表示することは、ダイクストラ法に代表される従来方法でも可能である。しかし、従来方法では最適経路しか求まらず、最適経路に準じた第2順位、第3順位の経路を同時に求めることができない。このため、最短経路と異なる経路であって、距離的に大きな差がない別の経路が要求されると、従来方法ではパラメータを変更して最初から探索をやり直さなければならない。又、最初から探索をやり直した場合でも確実に第2順位、第3順位の経路が得られる保証がない。
これに対して、GAを用いた最適経路探索法においては、最適経路探索の過程において、多くの解候補を生成する。このため、これらの解候補を幾つか記憶させることにより1回の最適経路探索処理によって上位m個(メモリの許す限り大きくすることが可能)の解を探索して出力することができる。図16(a),(b)は図15に示す最適経路MSPの探索時に同時に得られた第2順位及び第3位の個体(経路)MSP1,MSP2を示している。このように、GAによる最適経路探索によれば、経路の持つ適応度の記憶とソートのみから第n順位までの個体を探索できる。
【0039】
(C)複数経由点指定を伴う最短経路探索(第2の提案方法)
以上では2点間の最短経路を探索する経路探索法を説明したが、以下では指定された複数の経由点をすべて通過する最短経路探索法について説明する。
指定された複数の経由点を通過する最短経路を求める従来法では、出発点と各経由点、経由点間、各経由点と到着点の最短経路探索を行わなければならない。このため指定経由点の総数をNとすると、最大でN(N+3)/2回の探索が必要となる。さらに、求めた各々の最短経路および経路長を用いて、出発点から全経由点を通り到着点に至る全ての順列(N!通り)の経路長を調べ、その中で最短経路長を持つものが解となる。以上の理由より従来法は、指定される経由点の数が多くなると、多くの計算量を伴うという問題点がある。
【0040】
遺伝的アルゴリズムGAは、その探索過程において、多くの解候補となる個体を生成する。このうち、全経由点を通過する個体のみを用いて世代交代を行うことによって、一回の探索で指定されたすべての点を経由する最短経路の探索が可能となる。ただし、経由点を通る最短経路は、同一ノードを複数回通過する可能性があり図5(c)で示した遺伝子型では表現できない。そこで遺伝子型に次のような変更を加えて拡張遺伝子型を設計する。
【0041】
(a)拡張遺伝子型の設計
同一ノードをk回通過する経路を考える。一つのノードの位置に仮想的にk個のノードが存在するものとして、その仮想ノード全てに異なるノード番号を与える。図17にk=2の場合の例を示す。仮想ノード0と1,3と4は、実際にはそれぞれ実ノードa,bの位置に存在する、図5(c)の遺伝子型は同一のノードを複数回通過する経路のコード化が不可能なので、実ノード番号を用いた経路S→a→b→a→Gを表現することはできない。しかし仮想ノード番号を用いた経路S→0→3→1→Gは複数回通過するノードがなく、コード化が可能である。このように、仮想ノード番号を用いてコード化した遺伝子型を用いてGA処理を行い、得られた個体から表現型を生成する際に実ノード番号に戻すことによって、最短経路を得ることができる。
【0042】
仮想ノードの数kが大きくなると、遺伝子長が長くなって計算量が増加する。よって必要最小限のkを求める必要があるが、このkの値は一つのノードが接続しているノード数ならびに経由点の数に依存する。
任意の2つのノード間を結ぶパスを2往復以上する経路は最短経路ではないので、図18に示すようなノード群を考えると、点cを通過する回数は、経路S→c→d→c→e→c→f→c→Sの場合に最大となり、点cに接続するノードの数に等しい(d,c,fは指定経由点に限らない)。探索範囲内に含まれるすべてのノードについて接続ノード数を調べ、その最大値をMとする。
また、任意のノードに注目すると、そのノードを通過する最大の回数は、すべての指定経由点に向かう際と到着点に向かう際の(指定経由点数+1)回である。たとえば、全指定経由点が図18中の点d,e,fのように配置された場合、点cを通過する回数は経路S→c→d→c→e→c→f→c→Sの場合に最大となり、指定経由点数をNとすれば(N+1)回である。他に点cに接続するノードが存在していてもこの値は変わらない。
【0043】
従って仮想ノード数kの値はM,(N+1)の小さい方を採用すればよく
k=min{M,(N+1)} (2)
となる。たとえば、図19(a)に示すマップ情報(M=5)が与えられている場合、出発地をノード0、目的地をノード4、指定経由点をノード9(N=1)とすれば、仮想ノード数k=2となり、経路0→1→9→1→2→3→4を表現型に持つ拡張遺伝子型の一例は、図19(b)に示すようになる。上段は各実ノードに応じた仮想ノードを表現した遺伝子であり、下段は各遺伝子座に存在する遺伝子の値である。
k個の仮想ノードを用いた遺伝子型は、GA処理自体に変更を伴うことなく、同一の実ノードに対してk回の通過を許した経路探索が可能となる点で有利である。
【0044】
(b) シミュレーション結果
前述のいわき市のマップ情報に対して3つの経由点A,B,Cを指定し、これらの3点をすべて通過する最短経路を探索する。この地図データにおいてM=4,またN=3であるから、式(2)よりk=4となる。一つの実ノードに対する仮想ノードを4つずつ用意し、拡張遺伝子型を設計する。
個体数を50、終了条件を50世代無進化、突然変異確率を5%として実験を行った結果、図20に示す最短経路MSPが得られた。
図より、3つの指定した経由点A,B,Cを全て経由する最短経路が得られていることがわかる。また、点B,Cを経由する経路は重複して通過するノードを持つが、このよう経路を持つ最短経路についても探索が可能となっている。
【0045】
以上より従来法では困難であった、指定された複数の経由点をすべて通過する最短経路を一回の処理で探索することが可能となった。また複数回通過するノードを持つ経路に対しても、仮想ノードを導入した遺伝子型の設計により、コード化が可能となった。
なお、GA処理の過程で全経由点を通る個体のみでGA処理を行うために、ランダムに個体を発生させ、全経由点を通過する個体以外を致死遺伝子として殺している。このため、計算量が多くなる問題点がある。
【0046】
(D)本発明の全指定経由点を通る最適経路探索
(a)重みを導入した評価関数による最短経路探索
(a-1) 第2の提案方法の問題点
第2の提案方法は、前述のようにGAの処理過程において生成する多くの解候補のうち、指定した経由点の全てを通る経路を持つ個体のみを用いて探索を行うものである。この第2の提案方法を本発明と比較するために、第2の提案方法によりいわき市のマップ情報に対して適用した結果を図21に示す。使用した各パラメータは図22に示す通りである。
図中の点AおよびBはあらかじめ指定した経由点であり、この2点を経由する最短経路が得られている。なお、本探索の計算時間は、Sun SuperSparc 85MHz+GCC(-O3)で34.41秒である。このうち初期集団の発生に14.19秒を要しており、この手法は個体発生を伴う処理に多くの計算量を要する問題点を持つ。
【0047】
(a-2) 本発明の経路探索方法
第2の提案方法の問題点は、初期集団の発生や交叉の際に、設定した全経由点を通過する個体以外をすべて致死遺伝子としており、致死遺伝子でない個体が生まれるまで個体発生の処理を繰り返していることによるものである。ところが致死遺伝子としている個体中には、有効なスキマタを持つ個体(例えば指定した経由点のうちいくつかを経由する個体)が含まれている。このような有効なスキマタを探索に生かして効率的な探索を行い、計算量を削減するために、ビルディングブロック仮説に基づいた探索手法を提案する。
ビルディングブロック仮設とは、GAの処理過程において、高い適応度のスキマタが積み木のように組み合わされ、より高い適応度を持つ個体を生成し効率的に探索を行うという仮説である。多くの問題点においては、ビルディングブロックが形成されていることが、GAによって効率的に探索できていることの一つの目安となる。
【0048】
ところでビルディングブロックが形成されるような評価関数の設定は、一般にどのスキマタがビルディングブロックとなるかが未知のため困難である。しかしながら本発明は、設定した経由点を通る経路を探索するものであるため、経由点の通過を表現するスキマタは明らかにビルディングブロックの一部となる。したがって、多くの経由点を経路上に持つ個体に対してより高い適応度を与えることによって、経由点の通過を表現するスキマタの選択確率を高め、これをビルディングブロックとする探索が可能となる。
具体的には、遺伝的アルゴリズムにおいて使用する評価間数として次式
Fitness =1/(Σrlength(i)×αn) i=1〜M (3)
を使用する。すなわち、個体(経路)に含まれる指定経由点数nに応じて重み αnを決定し、該経路の出発地から目的地までの距離に重みαnを乗じた値の逆数を遺伝的アルゴリズムにおける評価関数とする。ただし、αnは通過する経由点数nに応じてつける重みで、全経由点数をNとして1≦αN<αN-1<・・・<α0となるように設定する。
【0049】
この評価関数を導入し、いわき市のマップ情報に対して本発明を適用した結果、図21と同じ経路を得ることができた。用いた各パラメータや選択淘汰、交叉、突然変異の方法は第2の提案方法と同じである。また重みの大きさはα0=3.0,α1=2.0,α2=1.0とした。本発明の探索に要する計算時間は前述と同じ計算機で 3.40秒であり、第2の提案方法と比較して90.1%の削減となっており、有効である。
【0050】
(b)重みの決定方法
以上のように、評価間数を決めると計算量の大幅な削減が可能となるが、αnの値を適切に設定することにより、指定した経由点を通過しない経路が得られたり、全経由点を通過しても局所解に陥るような誤探索の確率を減少させ、より良好な探索が可能となる。理論的には、
となるように重みを設定すれば最適解が得られる。しかし探索前には最短経路長が未知であることから、この式のみから重みの値を決定することはできない。
以下では、いくつかのシミュレーションを重みを変えて行い、得られる結果から誤探索の原因と適切な重みの値の設定法について考察する。
【0051】
(b-1) 重みの大きさと最適解の探索能力
図21の経路探索で用いたマップ情報と2つの指定経由点A,Bに対し、αを1〜100までの範囲で変化させて各々100回づつの探索を行い、最適解が得られた回数を調べる。ただし、α0〜α2は、
α0=α, α1=(1+α)/2, α2=1としてる。αと最適解が得られる確率の関係を図23に示す。図中の点線は最適解の探索確率が95%を超えるαの範囲で3.0≦α≦10.5である。図より、αが大きくなると、最適解の探索確率は急激に上昇した後、再び下降する。α<3.0の範囲とα>10.5の範囲のそれぞれについて、誤探索の原因を以下に示す。
【0052】
(b-2) 局所解の原因
▲1▼αが小さい場合
α0=1.5, α1=1.25, α2=1.0とした時の探索結果の一例を図24に示す。この図からわかるように、あらかじめ設定した2点の経由点のうち1点(A点)のみ通過する経路が得られている。これはαが小さいため、
(2点を経由する最短経路長)>(1点を経由する最短経路長×α1)
となるからであり、上記重みを用いた評価関数では最適解を得ることができない。
【0053】
▲2▼αが大きい場合
αを十分大きくした場合、▲1▼のように論理的に最適解が得られない評価関数となることはないが、局所解に陥る確率が増加する。図25に
α=100.0, α0=α, α1=(1+α)/2, α2=1
として探索した場合の局所解の一例を示す。
図25より、指定経由点A,Bを全て通過しているものの、局所解に陥っていることがわかる。局所解に陥る原因として、探索段階で個体群の多様性が失われているからである。これを検証するために、世代交代に伴う個体群の実経路長の分散の変化を調べる。その結果を図26に示す。
【0054】
図中の実線はα=3.0で最適解が得られている場合の分散、点線はα=100.0で局所解に陥っている場合の分散を示す。図26より、α=100.0の場合は探索の速い段階で分散が小さくなっており、個体群の多様性が急激に失われていることがわかる。上記多様性の消失の理由について考察する。本発明では初期集団をランダムに生成しており、多くの経由点を持つ個体は少ない経由点を持つ個体に比べて発生確率が低い。αの設定が大きすぎると、経由点数によって適応度に大きな差が生じる。このため、多くの経由点数を持つ少ない個体の選択確率が高くなる。したがって個体群が同じ個体で占められることになり、個体群の多様性が失われる。
個体群の多様性が小さい場合、ビルディングブロックとなりうるスキマタの種類が少なくなり、最適なビルディングブロックが形成される確率が低くなる。さらに、探索処理の速い段階で局所解に収束するため、最適解探索の処理は突然変異のみとなる。しかしながら、突然変異で有効なスキマタを持つ個体が生成されても、適応度の大きな差によって淘汰される可能性が高く、局所解からの脱出は困難である。
【0055】
一方、αを最適に設定した場合は、個体の選択確率に極端な偏りを生じない。これにより、探索過程での多様性が維持され、個体中の有効なスキマタがビルディングブロックとなって残っていくため、最適解を求めることが可能となる。図27、図28にα=3.0の場合とα=100.0の場合のビルディングブロック形成の様子の一例を示す。なお、図中の点線は経由点Aを持つ個体数、破線は経由点Bを持つ個体数、実線はその両方を持つ個体数の推移を示す。
図より、適切なα(=3.0)を設定した場合、世代交代が進むにしたがって、有効なスキマタが組み合わされることにより、ビルディングブロックを形成していることがわかる。逆にαが大きすぎる場合にはビルディングブロックが形成されていないことがわかる。
【0056】
(b-3) 重みの決定手順
以上よりαの値は、個体群の多様性を維持し局所解に陥る確率を少なくするために、全経由点を通過する経路が選ばれる範囲で、なるべく小さい値に設定すればよい。つまり、αの初期値を小さく設定し、探索過程で各個体を観察して
(経由点数nの最良個体の経路長)>(経由点数n-1の最良個体の経路長×αn-1)
となる個体が出現した場合に、αの値を大きくすればよい。
図29は重みの決定処理フローである。
初期時、重みαの値を小さめに設定し(ステップ551)、第i世代に対して遺伝的アルゴリズム適用し(ステップ552)、ついで、終了条件が満たされたかチェックする(ステップ553)。終了条件が満たされていなければ、個体(経路)群の中から、n個の全経由点を通る最短経路長Lnと(n-1)個の経由点を通る最短経路長Ln-1を求め、
Ln<Ln-1・αn-1 (5)
が成立するかチェックし(ステップ554)、成立すれば、重みを変更せずiを歩進し(ステップ555)、ステップ552以降の処理を繰り返す。
一方、ステップ554において、(5)式が成立しなければ重みを25%増大し(ステップ556)、iを歩進してステップ552以降の処理を行う。又、ステップ553において、終了条件が満たされれば、処理を終了する。
【0057】
(b-4) 重み決定の実現例
具体的な数値を用いた上述の重み設定法の実現例を説明する。この実現例では重みαに関する制約を満足する値を各点間の距離を用いて設定し、図21の地図情報に適用する。まず出発点S、経由点A,B、到着点Gの各点間の直線距離SA, AB, BG, AG,SGを調べる。これを用いて出発点と到達点の直線距離SG、1点経由の最短直線距離SAG(=SA+AG),2点経由の最短直線距離SABG(=SA+AB+BG)を求め、 α0=(SA+AB+BG)/SG, α1=(SA+AG)/SGを初期値として探索を開始する。
探索過程において、
(経由点数nの最良個体の経路長)>(経由点数n-1の最良個体の経路長×αn-1)
となる個体が出現した場合、α0を初期値の25%ずつ増加し、α1は
α1=(α0-1)×(α1の初期値/α0の初期値)+1
となるように更新する。探索の結果、最適解が得られた。探索時間は3.49秒で、第2の提案方法と比較して89.9%の削減となっている。また、100回の探索を行ったところ、探索終了時の重みの値はいずれも図23に点線で示した範囲内であり、最適解が得られた回数は99回であった、
以上の結果により、この重みの決定法は有効であるといえる。
【0058】
(E)全指定経由点を通る最適巡回経路探索
以上では出発地と目的地が異なる場合において指定された全経由点を通過する最短経路探索法について説明したが、以下では出発地と目的地が同一の場合において指定された全経由点を通る最短巡回経路探索について説明する。
(a)遺伝子型の設計
図19(b)の拡張遺伝子型は出発点と到着点が異なる場合のみ表現可能である。このため、出発地と目的地が同一の場合の遺伝子型を設計する必要がある。本発明では巡回経路を、出発地から(N-1)個の指定経由点を通過して最後のN番目の経由点に到る第1経路と、最後の指定経由点から出発地に到る第2経路とに分け、それぞれの経路を遺伝子型で表現し、各遺伝子型を組み合わせることにより巡回経路(個体)を表現する。すなわち、出発地から(N-1)個の指定経由点を通過して最後のN番目の経由点に到る第1経路の全通過実ノードに対応する仮想ノードを遺伝子として有する図19(b)の拡張遺伝子型{G1}と、最後の指定経由点から出発地に到る第2経路の全通過実ノードを遺伝子として有する図5(c)の遺伝子型{G2}の二つを連結してなる遺伝子型
{G1}{G2}
で巡回経路(個体)を表現する。
【0059】
(b)シミュレーション結果
前述のいわき市のマップ情報に対して3つの経由点A,B,Cを指定し、これらの3点をすべて出発地Sから巡回する最短巡回経路を探索する。なお、適応度は巡回経路の全長の逆数によって計算し、選択淘汰はルーレット戦略ならびにエリート保存戦略を用いる。また、交叉は二つの遺伝子型から、巡回するノードの順序が類似するような新たな遺伝子が生成されるように行うものとする。突然変異は設定した変異確率に基づいて行う。
個体数を50、終了条件を50世代無進化、突然変異確率を5%として実験を行った結果、図30に示す最短経路MSRPが得られた。図より、3つの指定した経由点A,B,Cを全て経由する最短巡回経路が得られていることがわかる。また、点Bを経由する経路は重複して通過するノードを持つが、このよう経路を持つ最短巡回経路についても探索が可能となっている。
以上より従来法では困難であった、指定された複数の経由点をすべて巡回する最短巡回経路を一回の処理で探索することが可能となった。
【0060】
(c)上限コストが設定されている場合の最適巡回経路探索
指定された経由点を巡回する最適巡回経路探索において、巡回コストの上限(たとえば最大走行距離)が設定されていると上限コスト以内で全指定経由点を巡回できない場合である。かかる場合は、上限コスト以下で最大数の指定経由点を巡回する巡回経路を探索して出力する必要がある。
図31は上限コスト以下で最大数の指定経由点を通る最適巡回経路の探索処理フローである。
指定経由点の数をNとすれば、N個全ての経由点を通る所定数m(例えばm=25)の第1の個体群、(N-1)個の指定経由点を通る所定数mの第2の個体群、(N-2)個の指定経由点を通る所定数mの第3の個体群、・・1個の指定経由点を通る所定数mの第Nの個体群を作成して初期集団とする(ステップ601)。尚、個々の個体は前記(a)で説明した遺伝子型{G1}{G2}で表現する。
【0061】
それぞれの個体群について遺伝的アルゴリズムを繰り返し適用して全経由点を通過する最短(最適)の巡回経路、(N-1)個の経由点を通る最短の巡回経路、(N-2)個の経由点を通る最短の巡回経路、・・・、1個の指定経由点を通る最短の巡回経路を求める(ステップ602)。この場合、(N-1)個の経由点を通過する個体群に対してGAを適用する過程で新たな個体が発生するが、(N-1)個の経由点を通過しない個体は致死遺伝子として殺す必要がある。
各個体群における最適巡回経路が求まれば、設定されている上限コスト(最大走行距離)以下の最適巡回経路が存在するかチェックする(ステップ603)。上限コスト以下であるか否かは、適応度(Fitness)の逆数により巡回経路の走行距離を求め、該走行距離が上限コスト(最大走行距離)以下であるか否かにより決定する。
上限コスト(最大走行距離)以下の最適巡回経路が存在すれば、それら最適巡回経路のうちで最大数の経由点を通過する巡回経路を探索し、例えば、ディスプレイ画面に表示する(ステップ604)。
【0062】
(d)シミュレーション結果
前述のいわき市のマップ情報に本手法を適用した実験を行った。指定した経由点は地図中A〜Cの3点である。全個体を3つの個体群に分け、それぞれ経由点のうち、1,2,3個の点を通過する個体のみを用いてGA処理を行う。本実験において使用したパラメータは、各個体群につき個体数が50、終了条件が50世代無進化、突然変異確率が5%である。
上限コストが25kmの場合は図32(a)に示すように全経由点を通過する最短巡回経路が得られ、前述の全指定経由点を巡回する最適巡回経路探索法と同じ結果が得られる。又、上限コストが10kmの場合は、図32(b)に示すように経由点のうち2点A,Bを通る最短巡回経路が得られる。すなわち、上限コストが10kmの場合、3点を経由する最短巡回経路の走行距離は上限コストを超えており、2点A,Bを通る最適経路を解とすることで、上限コストの範囲内で最大数の経由点を通る最短経路を得ることができる。
以上、本発明はカーナビゲーションシステムにおける巡回経路探索や宅配ルート探索などに適用できる。
以上、本発明を実施例により説明したが、本発明は請求の範囲に記載した本発明の主旨に従い種々の変形が可能であり、本発明はこれらを排除するものではない。
【0063】
【発明の効果】
以上本発明によれば、個体(経路)に含まれる指定経由点数に応じて重みを決定し、該個体の出発地から目的地までの距離に前記重みを乗じた値の逆数を遺伝的アルゴリズムにおける評価関数としたから、従来、致死遺伝子としていた個体を活用して効率的に最適経路探索を行え、計算量を削減し、かつ、短時間で最適経路の探索が可能となった。
又、本発明によれば、重みを最初小さめに設定し、遺伝的アルゴリズムを適用する毎に求まるn個の指定経由点を含む経路の最短経路長Lnと、(n-1)個の指定経由点を含む経路の最短経路長Ln-1に重みαn-1を乗算した経路長Ln-1・αn-1との大小を比較し、Ln>Ln-1・αn-1であれば、重みを所定割合増加し、重みが最適値になるように制御したから、局所解に陥ることなく最適解を得ることができる。
又、本発明によれば、最適巡回経路を探索する場合、出発地から(N-1)個の指定経由点を通過して最後の経由点に到る経路の全通過実ノードに応じた仮想ノードを遺伝子として有する拡張遺伝子型と、最後の指定経由点から出発地に到る経路の全通過実ノードを遺伝子として有する遺伝子型とを組み合わせて表現した巡回経路(個体)を所定数、初期個体群として用意し、該個体群に遺伝的アルゴリズムを繰り返し適用するように構成したから、指定された全経由地点を通過する最適な巡回経路の探索ができる。
【0064】
又、本発明によれば、指定経由点を全て通る所定数の第1の個体群、(N-1)個の指定経由点を通る所定数の第2の個体群、(N-2)個の指定経由点を通る所定数の第3の個体群、・・・を設け、それぞれの個体群について遺伝的アルゴリズムを繰り返し適用して全経由点を通過する最適の巡回経路、(N-1)個の経由点を通る最適の巡回経路、(N-2)個の経由点を通る最適の巡回経路、・・・を求め、指定された上限コスト以下で最大数の経由点を通過する巡回経路を探索するように構成したから、上限コスト以下で最大数の指定経由地を通過して出発地に戻る巡回経路の探索ができる。
【図面の簡単な説明】
【図1】本発明の最適経路探索を説明するためのナビゲーション装置の概略構成図である。
【図2】本発明の最適巡回経路探索を説明するためのナビゲーション装置の概略構成図である。
【図3】GAの処理手順説明図である。
【図4】一般的な個体表現説明図である。
【図5】2点間最短経路探索に適用できる遺伝子型の説明図である。
【図6】最短経路探索をGAに基づいて実行する構成図である。
【図7】探索終了判定処理フローである。
【図8】選択淘汰処理説明図である。
【図9】選択淘汰処理フローである。
【図10】一様交叉説明図である。
【図11】遺伝子型個体に一様交叉を施した例である。
【図12】交叉処理フローである。
【図13】突然変異処理説明図である。
【図14】突然変異処理フローである。
【図15】最短経路探索結果説明図である。
【図16】最短経路探索において、最短経路と同時に得られる第2順位、第3順位の経路説明図である。
【図17】仮想ノードを持つ経路の説明図である。
【図18】接続ノード例である。
【図19】拡張遺伝子型説明図である。
【図20】全指定経由点を通る最短経路の探索結果説明図である。
【図21】2経由点を含む経路の探索結果説明図である。
【図22】各パラメータ説明図表である。
【図23】重みαに対する最適解の探索能力説明図である。
【図24】局所解の一例である(α=1.5)である。
【図25】局所解の一例である(α=100.0)である。
【図26】世代交代と個体群の分散の関係図である。
【図27】ビルディングブロックの形成説明図である(α=3.0)。
【図28】ビルディングブロックの形成説明図である(α=100.0)。
【図29】重み決定処理フローである。
【図30】全指定経由点を通る最短巡回経路の探索結果説明図である。
【図31】上限コスト以下の最短巡回経路の探索処理フローである。
【図32】上限コスト以下で最大数の指定経由点を通る最適巡回経路の探索結果説明図である。
【符号の説明】
1・・地図情報記憶媒体
2・・車両位置検出部
3・・モコンユニット
4・・GAにより最適経路を探索する経路探索ユニット
5・・モニター
S・・出発地
G・・目的地
A,B・・経由点
MSP・・最短経路
Claims (4)
- 地図情報を記憶する地図情報記憶媒体、自車位置を検出する車両位置検出部、目的地や経由点を設定する手段、出発地から設定された経由点を通って目的地に到る最適経路を遺伝的アルゴリズムに基づいて探索する経路探索ユニットを備えたナビゲーション装置において、
前記経路探索ユニットは、
出発地から指定されたN個の経由点を通って目的地に到る経路を探索する場合、全実ノードにおける最大接続ノード数Mと指定経由点数に1を加えた (N+1) のうち小さい方を仮想ノード数kとし、各実ノードについてk個の仮想ノードを用意し、該仮想ノードを遺伝子として有する拡張遺伝子型の前記出発地から目的地までの経路(個体)を所定数、初期個体群として用意する初期集団作成部、
前記個体に含まれる指定経由点数に応じて重みを決定し、該個体の出発地から目的地までの距離に前記重みを乗じた値の逆数を遺伝的アルゴリズムにおける評価関数とし、該評価関数を用いて各個体の適応度を計算する適応度算出部、
適応度が大きい全体の所定割合の個体を選択して残りを淘汰する選択淘汰処理部、
選択された個体に交叉処理、突然変異処理を施して新たな個体を生成して総計が前記所定数の個体よりなる個体群を生成する交叉 / 突然変異処理部、
適応度の改善が見られなくなるまで、あるいは、遺伝的アルゴリズムの適用回数が設定回数になるまで、前記個体群を構成する各個体に上記適応度算出処理、選択淘汰処理、交叉処理、突然変異処理を施し、適応度の改善が見られなくなったとき、あるいは、遺伝的アルゴリズムの適用回数が設定回数になったとき、適応度が最良の個体を最適経路として出力する最適経路出力部、
を備えたことを特徴とするナビゲーション装置。 - 前記適応度算出部は、
前記重みの初期値を小さめに設定し、遺伝的アルゴリズムを適用する毎に求まるn個の指定経由点を含む経路の最短経路長Lnと、(n-1)個の指定経由点を含む経路の最短経路長Ln-1に重みαn-1を乗算した経路長Ln-1・αn-1との大小を比較し、Ln>Ln-1・αn-1であれば、重みを増加する、
ことを特徴とする請求項1記載のナビゲーション装置。 - 前記初期集団作成部は、前記出発地と目的地が同一地点である最適巡回経路を探索する場合、出発地から (N-1) 個の指定経由点を通って最後の経由点に到る拡張遺伝子型経路と、最後の指定経由点から出発地に到る遺伝子型経路とを組み合わせて表現された巡回経路を所定数、初期個体群として用意し、
前記経路探索ユニットは、前記個体群に遺伝的アルゴリズムを繰り返し適用して全指定経由点を通って出発地に戻る最適巡回経路を探索する、
ことを特徴とする請求項1記載のナビゲーション装置。 - 前記初期集団作成部は、指定経由点を全て通る所定数の第1の個体群、(N-1)個の指定経由点を通る所定数の第2の個体群、(N-2)個の指定経由点を通る所定数の第3の個体群、・・・を用意し、
前記経路探索ユニットは、それぞれの個体群について遺伝的アルゴリズムを繰り返し適用して全経由点を通過する最適の巡回経路、(N-1)個の経由点を通る最適の巡回経路、(N-2)個の経由点を通る最適の巡回経路、・・・を求め、指定された上限コスト以下で最大数の経由点を通過する巡回経路を探索する、
ことを特徴とする請求項3記載のナビゲーション装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15356899A JP3792938B2 (ja) | 1998-10-02 | 1999-06-01 | ナビゲーション装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10-281147 | 1998-10-02 | ||
JP28114798 | 1998-10-02 | ||
JP15356899A JP3792938B2 (ja) | 1998-10-02 | 1999-06-01 | ナビゲーション装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000172664A JP2000172664A (ja) | 2000-06-23 |
JP3792938B2 true JP3792938B2 (ja) | 2006-07-05 |
Family
ID=26482152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15356899A Expired - Fee Related JP3792938B2 (ja) | 1998-10-02 | 1999-06-01 | ナビゲーション装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3792938B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100902737B1 (ko) * | 2002-09-28 | 2009-06-15 | 주식회사 케이티 | 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법 |
JP4508672B2 (ja) * | 2004-02-17 | 2010-07-21 | 株式会社ケンウッド | 案内経路探索装置、ナビゲーション装置および案内経路探索方法 |
JP3987073B2 (ja) | 2005-04-20 | 2007-10-03 | 株式会社ナビタイムジャパン | ナビゲーションシステム、経路探索サーバ、経路探索方法およびプログラム |
JP5070574B2 (ja) * | 2008-06-30 | 2012-11-14 | 学校法人早稲田大学 | 局所交通量予測プログラム生成装置、局所交通量予測装置、局所交通量予測プログラム生成方法、局所交通量予測方法及びプログラム |
CN106845716B (zh) * | 2017-01-25 | 2020-09-08 | 东南大学 | 一种基于导航误差约束的水面无人艇局部分层路径规划方法 |
KR102016434B1 (ko) * | 2017-09-26 | 2019-10-21 | 엔에이치엔 주식회사 | 경로 안내 방법 및 장치 |
CN107911245A (zh) * | 2017-11-20 | 2018-04-13 | 信阳师范学院 | 一种芯弹性光网络中虚拟网络映射模型及算法 |
CN110763953B (zh) * | 2019-10-30 | 2022-04-22 | 国网四川省电力公司电力科学研究院 | 一种配电自动化条件下故障排查巡线路径规划方法 |
CN111652550A (zh) * | 2020-05-28 | 2020-09-11 | 优信数享(北京)信息技术有限公司 | 一种智能寻找最佳环线集合的方法、***及设备 |
KR102571957B1 (ko) * | 2021-07-29 | 2023-08-29 | 제주대학교 산학협력단 | 유전자 알고리즘 기반의 주차 단속 스케줄링 방법 및 장치 |
CN114880931B (zh) * | 2022-05-11 | 2024-06-07 | 福建和盛高科技产业有限公司 | 一种基于权重依赖度的配电网多目标优化方法 |
CN115451974B (zh) * | 2022-11-09 | 2023-04-07 | 广东电网有限责任公司湛江供电局 | 一种电力设备巡检路径规划方法、***、设备和介质 |
-
1999
- 1999-06-01 JP JP15356899A patent/JP3792938B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000172664A (ja) | 2000-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3792938B2 (ja) | ナビゲーション装置 | |
Singh et al. | New crossover operators for real coded genetic algorithm (RCGA) | |
Li et al. | An improved genetic algorithm of optimum path planning for mobile robots | |
CN106228265B (zh) | 基于改进粒子群优化的总拖期运输计划调度方法 | |
CN111426323B (zh) | 一种巡检机器人路线规划方法及装置 | |
CN104866903B (zh) | 基于遗传算法的最美路径导航算法 | |
Rabin et al. | Pathfinding architecture optimizations | |
CN116386389B (zh) | 带限制的民航航路规划方法 | |
Abramovich et al. | Multi-objective topology and weight evolution of neuro-controllers | |
US6052678A (en) | Problem solving operation apparatus using a state transition | |
CN114399043A (zh) | 一种基于非支配排序粒子群遗传算法的车辆位置路由方法 | |
WO2010058785A1 (ja) | 経路計算順決定方法、プログラムおよび計算装置 | |
González et al. | A memetic algorithm for the capacitated vehicle routing problem with time windows | |
Kanoh et al. | Route guidance with unspecified staging posts using genetic algorithm for car navigation systems | |
Karas et al. | A genetic algorithm approach for finding the shortest driving time on mobile devices | |
Abeysundara et al. | A genetic algorithm approach to solve the shortest path problem for road maps | |
JPH11118501A (ja) | 最適経路探索方法 | |
CN109631923B (zh) | 一种基于模因算法的风景驾驶路线规划方法 | |
Delavar et al. | A GIS-assisted optimal urban route finding approach based on genetic algorithms | |
KR100902737B1 (ko) | 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법 | |
Fronita et al. | Comparison of genetic algorithm and hill climbing for shortest path optimization mapping | |
Almoustafa | Distance-constrained vehicle routing problem: exact and approximate solution (mathematical programming) | |
KR100500673B1 (ko) | 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법 | |
Seo et al. | The genetic algorithm based route finding method for alternative paths | |
Zhang et al. | Multi-objective layout optimization of aircraft multi-branch cable harness based on MOPSO/D |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050621 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050727 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060404 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060406 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |