JP3792938B2 - Navigation device - Google Patents

Navigation device Download PDF

Info

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
Application number
JP15356899A
Other languages
Japanese (ja)
Other versions
JP2000172664A (en
Inventor
美紀 長谷山
潤 稲垣
秀夫 北島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alpine Electronics Inc
Original Assignee
Alpine Electronics Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alpine Electronics Inc filed Critical Alpine Electronics Inc
Priority to JP15356899A priority Critical patent/JP3792938B2/en
Publication of JP2000172664A publication Critical patent/JP2000172664A/en
Application granted granted Critical
Publication of JP3792938B2 publication Critical patent/JP3792938B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Navigation (AREA)
  • Traffic Control Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は遺伝的アルゴリズム(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)に示すように

Figure 0003792938
となる。上段はノード番号、下段は遺伝子座である。
【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)との間で適応度の大小を比較する。
1>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の値を適切に設定することにより、指定した経由点を通過しない経路が得られたり、全経由点を通過しても局所解に陥るような誤探索の確率を減少させ、より良好な探索が可能となる。理論的には、
Figure 0003792938
となるように重みを設定すれば最適解が得られる。しかし探索前には最短経路長が未知であることから、この式のみから重みの値を決定することはできない。
以下では、いくつかのシミュレーションを重みを変えて行い、得られる結果から誤探索の原因と適切な重みの値の設定法について考察する。
【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を求め、
n<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・・最短経路[0001]
BACKGROUND OF THE INVENTION
  The present invention searches for an optimal path using a genetic algorithm (GA).Navigation deviceIn particular, the optimal route from the starting point to the destination passing through all specified waypoints is searched with a small amount of calculation.Navigation deviceIn addition, the optimum traveling route that has the same starting point and destination and passes through all designated waypoints, or the optimum route that passes the maximum number of waypoints at a specified upper limit cost or less is searched.Navigation deviceAbout.
[0002]
[Prior art]
The in-vehicle navigation device is provided with a route guidance function for guiding the vehicle from the departure place to the destination. According to the route guidance function, when the destination is set, the optimum route (for example, the shortest route) from the departure point (current vehicle position) to the destination is searched, and the searched shortest route is displayed on the monitor screen. Guide the driver to the destination. Conventionally, a depth-first search (dfs) method and a breadth-first search (bfs) method, which are types of all-search methods, are known as search methods that can be used for the shortest path problem. However, these have the disadvantage that searching takes time. Therefore, a Dijkstra method, which is a kind of breadth-first search method, has been proposed. Dijkstra's method has a short search time, and many methods using this method have been proposed and become mainstream.
[0003]
However, in a conventional route search method such as the Dijkstra method, it is difficult to select a plurality of route candidates (shortest route and routes equivalent thereto) with a short distance between two points by a single search. For this reason, if the driver is not satisfied with the selected shortest route, there is a problem that a new route search must be performed from the beginning in order to find the next candidate. Further, the conventional route search method has a problem that even if the route search is performed again from the beginning, the short route in the second order is not always selected.
Therefore, the applicant of the present application searches for an optimum route using a genetic algorithm (GA) in Japanese Patent Application No. 9-285154 (filing date: October 17, 1997, title of invention: optimum route search method). In addition, an optimum route search method that can simultaneously search for the shortest route and a route equivalent to this in one route search has been proposed (first proposed method).
[0004]
On the other hand, an optimum route search in the case of arriving at a destination through a plurality of waypoints is known. In the conventional route search through multiple waypoints,
▲ 1 ▼ The user inputs the order of the route and the final destination,
(2) The navigation device searches for the shortest route from the starting point to the first waypoint by the Dijkstra method,
(3) Next, the shortest route from the first waypoint to the second waypoint is searched, and the following procedure is followed to search for the optimum route that reaches the destination through multiple route points. ing.
However, with this method, the order of transit points is fixed, and there is no guarantee that the obtained results are optimal for all routes. In particular, it is difficult to enter in advance the order of travel around unfamiliar tourist spots when visiting nearby tourist spots efficiently. Therefore, the inventors of the present application have proposed an optimal route search method in the case of arriving at a destination through a plurality of waypoints from a departure place by using a genetic algorithm (GA) (second proposed method, 1997 12). Reported by IEICE IEICE Technical Committee, IEICE Technical Report CAS97-6, VLD97-6, DSP97-21: paper title "Consideration on Route Search with Multiple Via Designation").
[0005]
[Problems to be solved by the invention]
However, in the second proposed method, lethal genes other than individuals expressing a route passing through all the waypoints in the search process are used. For this reason, when an initial population is generated or crossed, the individual generation process is repeated until an individual that is not a lethal gene is generated, which requires a large amount of calculation.
In addition to searching for an optimal route from a departure point through a plurality of designated waypoints to a destination, the route search for a so-called circuit route that returns to the departure point through a number of designated waypoints (for example, sightseeing spots) Is also an indispensable function in terms of effective use of the navigation device.
In addition, if it is not possible to circulate all designated waypoints at the upper limit cost (for example, the maximum travel distance), it is also possible to search for an optimum route that returns to the departure place through the maximum number of designated waypoints within the upper limit cost. This function is indispensable from the viewpoint of effective use. Therefore, there is a demand for a route search method that realizes these functions.
[0006]
  As described above, an object of the present invention is to search for an optimum route that passes through all designated via points in a short time with a small amount of calculation.Navigation deviceIs to provide.
  Another object of the present invention is to determine the weight to be an optimum value so that the optimum solution can be obtained without falling into a local solution.
  Another object of the present invention is to search for an optimal patrol route that passes through all designated waypoints.Navigation deviceIs to provide.
  Another object of the present invention is to search for an optimal patrol route that passes the maximum number of designated waypoints and returns to the starting point at a cost lower than the upper limit cost.Navigation deviceIs to provide.
[0007]
[Means for Solving the Problems]
  According to the present invention, there is provided a map information storage medium for storing map information, a vehicle position detection unit for detecting the vehicle position, a means for setting a destination and a waypoint, and a route point set from the departure point. In a navigation apparatus comprising a route search unit that searches for an optimal route to a destination based on a genetic algorithm, the route search unit includes: (1) When searching for a route to the destination through N route points specified from the departure point, 1 is added to the maximum number of connected nodes M and the number of designated route points in all real nodes. (N + 1) The smaller of the number of virtual nodes is k, k virtual nodes are prepared for each real node, and a predetermined number of routes (individuals) from the starting point to the destination of the extended genotype having the virtual node as a gene , An initial population creation unit prepared as an initial population, (2) A weight is determined according to the number of designated via points included in the individual, and an inverse of a value obtained by multiplying the distance from the starting point of the individual to the destination by the weight is used as an evaluation function in the genetic algorithm, and the evaluation function is used. Fitness calculation unit for calculating the fitness of each individual (3) A selection selection processing unit that selects a predetermined percentage of individuals with a high fitness and selects the rest. (Four) A crossover process and a mutation process are performed on the selected individual to generate a new individual, and a crossover that generates a population consisting of the predetermined number of individuals. / Mutation processing department, (Five) The fitness calculation processing, selection selection processing, crossover processing, and mutation processing are performed on each individual constituting the individual group until improvement in fitness is not observed or until the number of times the genetic algorithm is applied reaches a set number. When an improvement in fitness is not seen, or when the number of times the genetic algorithm is applied reaches the set number, an optimal route output unit that outputs the individual with the best fitness as the optimal route is provided. Achieved by the navigation device. more thanBy doing so, it is possible to efficiently search for an optimum route by utilizing an individual that has been conventionally a lethal gene, reduce the amount of calculation, and search for the optimum route in a short time.
  In addition, the weight is set to a small value at the beginning, and the shortest path length L of the path including n designated via points obtained each time the genetic algorithm is applied.nAnd the shortest route length L of the route including (n-1) designated via pointsn-1Weight αn-1The path length L multiplied byn-1・ Αn-1Compare the size with Ln> Ln-1・ Αn-1If so, the weight is increased by a predetermined ratio, and the weight is controlled to be an optimum value. As described above, since the weight is controlled so as to be an optimum value, the optimum solution can be obtained with a very high probability without falling into a local solution.
[0008]
Also, in the above-mentioned optimum route search, when searching for an optimum patrol route where the first point and the second point are the same point (departure point), the route passes through (N-1) designated waypoints from the departure point. An extended genotype that has a virtual node as a gene corresponding to the all-passing real node of the route to the last waypoint, and a gene that has the all-passing real node of the route from the last designated waypoint to the departure point as a gene The optimal number of cyclic routes (individuals) expressed in combination with the type are prepared as an initial population, and the genetic algorithm is repeatedly applied to the population to return to the starting point through all specified via points. Explore.
[0009]
Furthermore, a predetermined number of first individuals passing through all designated waypoints, a predetermined number of second individuals passing through (N-1) designated waypoints, and passing through (N-2) designated waypoints. Prepare a predetermined number of third individuals, ... and apply the genetic algorithm repeatedly to each individual group to find the optimal cyclical route that passes through all the waypoints, and (N-1) waypoints An optimum traveling route that passes through, an optimum traveling route that passes through (N-2) waypoints, and the like are obtained, and a route that passes through the maximum number of waypoints at a specified upper limit cost or less is searched.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
(A) Outline of the present invention
(A) First configuration of navigation apparatus to which the present invention can be applied
FIG. 1 is a schematic configuration diagram of a navigation device for explaining the optimum route search of the present invention. In the figure, reference numeral 1 is a map information storage medium such as a CD-ROM or DVD for storing map information, and 2 is a vehicle position detection unit for detecting the position of the own vehicle, such as a self-contained navigation sensor (vehicle speed sensor, direction sensor, etc.) or GPS. Constructed 3 is a remote control unit for setting destinations and waypoints, various instructions by selecting menu items, zooming in / out of the map, 4 is a route search unit in the navigation control unit, 5 is a map and an optimal It is a monitor that displays an optimal route MSP from a route, for example, a departure point S to a destination through designated via points A and B.
[0011]
When the route search unit 4 is input with the departure point S, the destination G, and the via points A and B and is instructed to search for a route, the route search unit 4 determines the designated via points A and B from the departure point S based on the genetic algorithm (GA). The optimum route search to the destination G is started, and the obtained optimum route MSP is displayed on the monitor 5. That is, the route search unit 4 prepares a predetermined number of routes (individuals) from the starting point to the destination expressed by the extended genotype as an initial population, and genetically assigns the population having the expanded genotype structure. The algorithm is repeatedly applied, and the optimal route from the starting point to the destination passing through all the waypoints is searched by the genetic algorithm. In this case, the weight is determined according to the number of designated via points included in the individual (route), and the inverse of the value obtained by multiplying the distance from the starting point of the individual to the destination by the weight is an evaluation function in the genetic algorithm. To do. The weight is initially set to be small, and the shortest path length L of the path including n designated waypoints obtained each time the genetic algorithm is applied.nAnd the shortest route length L of the route including (n-1) designated via pointsn-1Weight αn-1The path length L multiplied byn-1・ Αn-1Compare the size with Ln> Ln-1・ Αn-1If so, the weight is increased by a predetermined ratio, and the weight is controlled to be an optimum value.
[0012]
As described above, the route search method of the present invention evaluates the weight depending on the number of via points of an individual (route) based on the temporary building block (DEGoldberg, “Generic Algorithms in Search Optimization and Machine Learning” Addison. Wesley, 1989). This is a search method introduced in the function. By controlling the weight, it is possible to efficiently search without reducing effective schemata (schemata: plural form of schema) included in an individual that was conventionally a lethal gene, and to reduce the amount of calculation. “Skimata” means “sequence”. In GA, it means a meaningful pattern in a chromosome or a sequence of genes.
[0013]
FIG. 2 is a schematic configuration diagram of a navigation apparatus for explaining the optimum cyclic route search of the present invention. The same parts as those in FIG. The optimum tour route MSRP returning from the place S to the departure place through the designated via points A, B, C is displayed.
When the departure point S and the waypoints A, B, and C are input and the route route search is instructed, the route search unit 4 sends the designated waypoints A, B, and A from the departure point S based on the genetic algorithm (GA). The optimum traveling route search returning to the departure place through C is started, and the obtained optimum traveling route MSRP is displayed on the monitor 5. That is, the route search unit 4 passes the (N-1) designated route points (N = 3 in the above example) from the departure point to reach the last Nth route point when searching for the optimum cyclic route. A predetermined number of cyclic routes (individuals) expressed as a combination of the extended genotype structure of the route and the genotype structure of the route from the last Nth designated waypoint to the departure point are prepared as the initial population, The genetic algorithm is repeatedly applied to the population to search for the optimal cyclic route MSRP.
[0014]
In addition, when the upper limit cost is designated, the route search unit 4 has a predetermined number of first individuals passing through all designated waypoints and a predetermined number of first points passing through (N-1) designated waypoints. 2 populations, (N-2) a predetermined number of third populations that pass through the specified via points, and so on. The optimal upper limit cost obtained by finding the optimal cyclic route to pass through, the optimal cyclic route through (N-1) via points, the optimal cyclic route through (N-2) via points, ... In the following, a round route that passes through the maximum number of waypoints is searched.
[0015]
(B) Outline of genetic algorithm
FIG. 3 is a schematic flow diagram of the genetic algorithm, and FIG. 4 is an explanatory diagram of a general individual expression in the genetic algorithm.
In the genetic algorithm GA, the trait of each individual (search point) is represented as a chromosome (see FIG. 4). A chromosome is composed of genes, and each gene represents a partial trait of the individual. The chromosome of each individual needs to be expressed so that each GA operation described later can be performed effectively. Furthermore, in order to make all the solution candidates of the problem into the search range, it is necessary to be able to express all the solution candidates, and it is desirable that all individuals that can be expressed by chromosomes are solution candidates in order to prevent redundant search.
[0016]
In the genetic algorithm GA, an initial population of individuals is created using random numbers (step 101). However, if some prior knowledge exists, individuals with high fitness are created as the initial population. Genes not present in the initial population are only generated by mutation. For this reason, the method of creating the initial population may greatly affect the search efficiency.
Next, the fitness of the individual is evaluated (step 102). Fitness is an evaluation of the trait represented by the chromosome of each individual. One of the features of GA is that this fitness evaluation function can be determined arbitrarily. In addition, since selection is performed using this fitness, the setting of the evaluation function greatly affects the search efficiency.
Once the fitness is obtained for each individual, an individual to be the basis of the next generation individual is selected from the search point set (initially the initial population) according to the individual fitness and the progress of the search (selection selection, Step 103). Depending on the selection method, there may be a problem of initial convergence in which a specific gene spreads quickly and is occupied by the same individual that is not a local solution.
[0017]
Thereafter, two parent individuals are selected from a group of individuals selected by the selection operation with a predetermined frequency of occurrence, and chromosomes are rearranged to create child chromosomes (crossover, step 104). It is important that the new individual created by crossover inherits the traits of the underlying parents.
After the crossover process, the gene is changed with a certain probability by a mutation operation (mutation, step 105). If mutations occur too frequently, they will be randomized. However, the creation of chromosomes other than the combination of genes in the initial population requires gene changes due to mutation.
The above steps 102 to 105 are repeated until the end condition is satisfied (step 106). When the condition is satisfied, the search process is ended.
[0018]
The above is an outline of a general genetic algorithm GA. In order to apply this genetic algorithm GA to optimal route search, it is necessary to modify or implement the following items (various rules and parameters) for route search in advance. There is. If these parameters are not selected properly, problems such as a long calculation time for convergence to the optimal solution and a problem that the optimal solution cannot be obtained due to a local solution occur.
・ Individual character expression
・ How to create an initial population
・ Fitness evaluation function
・ Selection method
・ Crossover method
・ Mutation method
-Search termination condition
・ Number of individuals
[0019]
(C) Genotype design applicable to shortest path search between two points
The following genotypes were designed for the purpose of controlling the amount of calculation at the time of crossover, suppression of lethal genes, and maintaining the diversity of next-generation individuals.
FIG. 5 is an explanatory diagram of a structure (genotype structure) representing a path that is an individual,
(A) is map information, (b) gene explanatory diagram, (c) is an example of a genotype having a route 0 → 5 → 9 → 10 → 4 from the starting point 0 to the destination 4 as a phenotype.
This genotype has a passing node number as a gene. This is an isometric genotype that applies path expression to satisfy the crossover condition described later. Specifically, a route from node number m to node number n (hereinafter referred to as route m → n) is expressed by storing n at the m-th locus, and a route from the starting point to the arriving point. This process is repeated, and for a node that does not pass through the middle, one is randomly selected from the set of nodes connected to the node and stored. For example, when the map information shown in FIG. 5 (a) is given, an example of a genotype having a phenotype of route 0 → 5 → 9 → 10 → 4 is as shown in FIG. 5 (c).
Figure 0003792938
It becomes. The upper row is the node number, and the lower row is the gene locus.
[0020]
It can be confirmed that 5 is stored in the 0th locus, 9 is stored in the 5th locus, 10 is stored in the 9th locus, and 4 is stored in the 10th locus. The gene at the locus indicated by the node number that is not underlined is stored at random from the nodes that can go next from the node number gene (node), and how to select this node Shows that different genotypes with the same phenotype are generated. The genotype designed as described above has a one-to-many correspondence between phenotype and genotype.
[0021]
(B) Shortest path search between two points (first proposed method)
FIG. 6 is a configuration diagram for executing the shortest path search between two points based on the genetic algorithm GA. In addition, a configuration for executing “shortest route search with multiple waypoint designation”, “optimal route search through all designated waypoints”, and “optimum route search when an upper limit cost is set”, which will be described later, is also illustrated. 6 but the processing method is different.
In the figure, 11 is an initial group creation unit that creates an initial group of routes (individuals) from a starting point to a destination calculated by a computer, and 12 is a fitness calculation that calculates the fitness of each individual based on an evaluation function. And 13 are search end determination units, which determine that search ends when fitness stops changing or when the number of searches reaches a set number, and 14 is an individual searched for by search end, that is, adaptation The shortest route output unit that outputs the route with the highest degree (for example, the shortest route) or outputs the second and third rank routes together with the shortest route as required, 15 is a selection for selecting an individual with high fitness An acupuncture processing unit 16 is a crossover processing unit for exchanging a gene (node) of a selected individual (parent), and 17 is a mutation processing unit for mutating the gene (node) of the individual according to a predetermined rule.
[0022]
(A) Initial group creation section
In the shortest path search between two points, as shown in FIG. 5, a road intersection (node) on the map is used as a gene, and a one-dimensional array at the locus is handled as a chromosome. As the number of individuals increases, the number of search points increases, so the diversity of solution candidates increases and good results can be obtained, but the search time increases. As a result of the experiment, it was confirmed that a stable search was not performed with a population of about 40 or less. Therefore, the number of individuals is set to 50 in this experiment. As described above, the initial group creation unit 11 creates an initial group composed of 50 individuals.
[0023]
(B) Fitness calculation unit
The fitness calculation unit 12 calculates the fitness of each individual by the following formula
  Fitness = 1 / (Σrlength (i)) i = 1 ~ M (1)
It calculates using the evaluation function shown by.
Here, M is the number of nodes passing from the departure point to the arrival point, and rlength (i) is the path length between the i-th and (i-1) -th nodes. In the shortest path problem, it is necessary to set an evaluation function that increases the fitness as the path length becomes shorter, and is defined by the reciprocal of the total path length as shown in Equation (1).
[0024]
(C) Search end determination unit
The conditions for the end of the search are: (1) the maximum fitness of an individual in each generation is not improved, for example, for 50 consecutive generations, and (2) the search has reached 1000 generations. Only (1) can be set as the search end condition. FIG. 7 is a flow of search end determination processing by the search end determination unit 13.
When the fitness of each individual is received from the fitness calculation unit 12 (step 301), i is incremented (i + 1 → i, step 302), and then the maximum fitness of the individual in the current generation is greater than the previous maximum fitness. In other words, it is checked whether the search route has been improved in terms of distance (step 303).
[0025]
If not improved, the count value c (initial value is 0) is incremented by 1 (step 304), and then c ≧ 50 is checked (step 305). If c ≧ 50, the search process is terminated assuming that the individual search for the shortest path has been completed (step 306). When c <50, it is checked whether i = 1000, in other words, whether the search has reached 1000 generations (step 307). If i <1000, the process returns to step 301 and the subsequent processing is repeated. If i = 1000, the search process is terminated (step 306).
On the other hand, if the search route is improved in distance in step 303, the count value c is cleared (step 308), and then the processing from step 307 is executed.
[0026]
(d) Selected selection processing unit
For selection selection, an elite preservation strategy that leaves the individual with the best evaluation value (fitness) unconditionally in the next generation, and for other individuals, a roulette strategy that performs selection selection with a probability proportional to the evaluation value was adopted. That is to say, the selection trap processing unit 15 executes the selection trap processing by combining an elite preservation strategy with a general fitness proportional strategy in 60% of individuals with high fitness. However, when the maximum fitness is reduced, the increase in the number of individuals is prevented by replacing the individual with the highest fitness in the previous generation as a new individual, instead of adding the individual with the lowest fitness. This is because when the value of 60% is an experiment, a stable search may not be performed if the value is 50% or less.
FIG. 8 is an explanatory diagram of selection selection, crossover, and mutation processing.
The selection trap processing unit 15 (FIG. 6) takes in N individuals constituting the population, and sets the fitness of each individual in descending order.
Individual 1 (I1), Individual 2 (I2), ..., individual N (IN)
And the number of individuals (= N). Of the individuals arranged in this way, only those with 60% of the total are selected in descending order of fitness, and the remaining 40% of individuals are selected.
[0027]
The crossover processing unit 16 and the mutation processing unit 17 create a new individual by performing crossover and mutation, which will be described later, using the selected remaining individuals, and set the total number of individuals to N. Here, the use frequency of the original individual used for crossover is selected with a probability proportional to the fitness (roulette strategy). Next, the fitness calculation unit 12 calculates fitness values for all N individuals in the new population that has been subjected to predetermined crossover and mutation.
Individual 1 (I '1), Individual 2 (I '2), ..., individual N (I 'N)
And the number of individuals (= N). Then, the most adaptable individual 1 (I ′1) And the most adaptable individual 1 (I1) And fitness level.
I1> I '1In other words, that is, this maximum fitness I ′1Is the previous maximum fitness I1If it is smaller, the newest individual in the new population 60 (I ′60) And instead, the individual 1 (I1) As an individual in the new population. This ensures that the maximum fitness of the new population is always greater than or equal to the maximum fitness of the original population.
This creates a new population. The genetic algorithm is executed by repeating this operation.
[0028]
FIG. 9 is a processing flow of the selection basket.
The selection trap processing unit 15 takes in N individuals constituting the population (step 401), and sets the fitness of each individual in descending order.
Individual 1 (I1), Individual 2 (I2), ..., individual N (IN)
And the number of individuals (= N) are rearranged (step 402). Next, only the 60% of the individuals arranged in this order are selected in descending order of fitness, and the remaining 40% of individuals are selected (step 403). The individual group selected in this way is used as a next generation parent individual according to a predetermined occurrence frequency. In addition, since it can be selected by the roulette strategy, it is possible to select 100% in the selection selection section.
[0029]
(e) Crossover processing section
Common crossovers include one-point crossover, multipoint crossover, and uniform crossover. The crossover processing unit 16 executes the crossover process based on the uniform crossover which is one of them.
Uniform crossover is used to create a new individual from two different individuals. In order to inherit the properties of each parent individual, another gene in which the chromosome contains exactly the same gene as either parent. Create an individual. FIG. 10 is an explanatory diagram of uniform crossover. In the figure, P1 and P2 are individuals to be subjected to uniform crossover processing (parent 1 and parent 2), MK is a mask used for uniform crossover processing, and CH is a new individual (child) obtained by uniform crossover processing. is there. The gene of the parent individual P2 is inherited in the portion where 1 is standing in the mask MK, and the gene of the parent individual P1 is inherited in the portion of 0 to create a new child individual CH.
[0030]
The mask MK used for uniform crossover is not always the same, but is changed using a random number. In addition, the parent individual determination method is selected randomly with an occurrence frequency corresponding to the fitness. For simplicity, the number of individuals is 3, and the fitness of each is assumed to be a for individual 1, b for individual 2, and c for individual 3. The probability that each individual is selected at this time (the overall probability is 1) is
Individual 1: a / (a + b + c)
Individual 2: b / (a + b + c)
Individual 3: c / (a + b + c)
It is expressed by
[0031]
FIG. 11 is an explanatory diagram for uniformly crossing individuals represented by genotypes.
Crossover is an operation of generating one child individual from two parent individuals. This method performs a route search. After crossover, the obtained child individuals must be in a route set starting and ending with a designated starting point and destination point. Therefore, we prepared the above genotype and considered the following crossover method based on uniform crossover. First, from the two individuals selected by the roulette strategy (parent 1 and parent 2), one of the node numbers at the locus of the starting node number is selected at random, and the same gene of the child Store in the seat. Randomly select one of the node numbers in the two parent loci with the same number as the stored node number, store it in the same loci of the child, and repeat this until reaching the arrival point For the nodes that have not been selected, either of the genes of the parent individual is selected at random and stored.
[0032]
The crossover method will be described in detail with reference to FIG. 11 (node number 0: starting point, node number 4: reaching point). First, 5 at the 0th locus of parent 1 and 1 at parent 2 Depending on the selected 5, either one of 9 of parent 1 and 6 of parent 2 in the locus of node number 5 is selected. This is repeated until the arrival point (node number 4) is reached. Nodes that have not been routed (nodes that are not surrounded by □ in the child of FIG. 11) are randomly selected from the genes of the parent individual.
[0033]
FIG. 12 is a flowchart of the uniform crossover process. The crossover process is executed in cooperation with a mutation process described later. First, a mask MK is created using random numbers (step 501), and then parent individuals P1 and P2 are randomly selected from the selected group of individuals with an occurrence frequency corresponding to the fitness (step 502). Thereafter, a uniform crossover process is executed using the parent individuals P1 and P2 and the mask MK to create a child individual CH (step 503). After the generation of the child individual, the child individual is subjected to a mutation process as necessary (step 504). Next, it is checked whether the necessary number of child individuals have been generated (step 505). If they have been generated, the crossover process is terminated. If the required number of child individuals has not been generated, the process returns to step 501 to repeat the above processing.
[0034]
(f) Mutation processing section
Mutation is performed not only according to the mutation probability, but also when an individual having the same gene already exists in the same generation. In other words, at the initial stage of searching, while the diversity of solutions is high, mutations occur only at a rate that almost follows the probability of mutation. Sex will be maintained. A large number of experiments were conducted with regard to the mutation probability, and it was confirmed that the search results did not change greatly in the range of 3% to 20%. Therefore, it was set to 5%.
[0035]
FIG. 13 is an explanatory diagram of the mutation process. In the early stage of the search, there are not many child populations having exactly the same gene structure (chromosome). In such a case, mutation is performed according to a predetermined mutation probability. For example, 5 mutations are performed for 100 crossings.
FIG. 14 is a flow of mutation processing by the mutation processing unit 17, and shows details of the mutation processing step (step 504) in FIG. Two parent individuals P1 and P2 are selected, and uniform crossover processing is executed using the parent individuals P1 and P2 and a mask to create child individuals (steps 502 and 503). After the generation of the child individual, it is checked whether another child individual having the same gene structure as the child individual exists (step 504a). If it exists, the gene (node) of the new child individual is changed and mutated (step 504b).
[0036]
On the other hand, if there is no child individual having the same gene structure in step 504a, mutation is performed according to the mutation probability. For example, as described above, 5 mutations are performed for 100 crossings. Therefore, in the case of “NO” in step 504a, it is checked whether or not to mutate based on the mutation probability (step 504c), and if mutated, the process of step 504b is executed to execute the child individual. The gene (node) is changed and mutated, and if not to be mutated, the mutation process is terminated.
Thereafter, the fitness calculation process, the search end determination process, the selection process, the crossover process, and the mutation process are repeated for the newly generated group of N individuals.
[0037]
(g) Simulation results
We conducted a simulation experiment for finding the optimal route between two points using the genetic algorithm (GA) for the map information of Iwaki City. The number of intersections (number of nodes) is 72. In addition, the number of individuals was 50, the end condition was 50 generations non-evolution, and the mutation probability was 5%. As a result of experiments using the above parameters, the shortest path MSP shown in FIG. 15 was obtained. This is the shortest route between the starting point S and the arriving point D and matches the optimum route obtained by the Dijkstra method.
[0038]
It is possible to search and display only the shortest path with a conventional method represented by the Dijkstra method. However, in the conventional method, only the optimum route can be obtained, and the second and third rank routes according to the optimum route cannot be obtained simultaneously. For this reason, when another route that is different from the shortest route and does not have a great difference in distance is required, the conventional method must change the parameter and start the search again. Further, there is no guarantee that the second and third rank routes can be obtained reliably even when the search is performed again from the beginning.
On the other hand, in the optimum route search method using GA, many solution candidates are generated during the optimum route search process. Therefore, by storing some of these solution candidates, it is possible to search and output the top m (which can be made as large as the memory permits) solutions by a single optimum route search process. FIGS. 16A and 16B show the second and third individuals (routes) MSP1 and MSP2 obtained at the same time when searching for the optimum route MSP shown in FIG. As described above, according to the optimum route search by GA, it is possible to search for individuals from only the storage and sorting of fitness of the route to the nth rank.
[0039]
(C) Shortest route search with multiple waypoints (second proposed method)
Although the route search method for searching for the shortest route between two points has been described above, the shortest route search method for passing all of a plurality of designated via points will be described below.
In the conventional method for obtaining the shortest route passing through a plurality of designated waypoints, the shortest route search between the starting point and each waypoint, between the waypoints, and between each waypoint and the arrival point must be performed. Therefore, if the total number of designated via points is N, a search of N (N + 3) / 2 times is required at the maximum. Further, using each of the obtained shortest routes and route lengths, the route lengths of all permutations (N! Streets) from the starting point through all the waypoints to the arrival point are examined, and among them, the shortest route length is obtained. Is the solution. For the above reasons, the conventional method has a problem that it involves a large amount of calculation as the number of designated waypoints increases.
[0040]
The genetic algorithm GA generates a large number of individuals as solution candidates in the search process. Among these, by performing generation change using only the individuals that pass through all the waypoints, it becomes possible to search for the shortest route that passes through all the points specified in one search. However, the shortest path passing through the waypoint may pass through the same node a plurality of times and cannot be expressed by the genotype shown in FIG. Therefore, an extended genotype is designed by making the following changes to the genotype.
[0041]
(A) Extended genotype design
Consider a path that passes through the same node k times. Assuming that k nodes exist virtually at the position of one node, different node numbers are given to all the virtual nodes. FIG. 17 shows an example in the case of k = 2. Virtual nodes 0, 1, 3, and 4 actually exist at the positions of real nodes a and b, respectively, and the genotype in FIG. 5C cannot encode a path that passes the same node multiple times. Therefore, the route S → a → b → a → G using the real node number cannot be expressed. However, the route S → 0 → 3 → 1 → G using the virtual node number has no nodes that pass through a plurality of times, and can be coded. In this way, the shortest path can be obtained by performing GA processing using the genotype encoded using the virtual node number and returning to the real node number when generating the phenotype from the obtained individual. .
[0042]
As the number k of virtual nodes increases, the gene length increases and the amount of calculation increases. Therefore, it is necessary to obtain the minimum necessary k. The value of k depends on the number of nodes to which one node is connected and the number of waypoints.
Since a route that makes two or more round trips connecting a path between any two nodes is not the shortest route, considering a node group as shown in FIG. 18, the number of times of passing through the point c is the route S → c → d → c. → e → c → f → c → S is the maximum, and is equal to the number of nodes connected to the point c (d, c, f are not limited to designated via points). The number of connected nodes is checked for all nodes included in the search range, and the maximum value is set to M.
Further, when paying attention to an arbitrary node, the maximum number of times of passing through the node is (number of designated via points + 1) times when going to all designated via points and toward the arrival point. For example, when all designated via points are arranged as points d, e, and f in FIG. 18, the number of times of passing through the point c is the route S → c → d → c → e → c → f → c → S. If the number of designated via points is N, (N + 1) times. This value does not change even if there is another node connected to the point c.
[0043]
Therefore, the value of the number of virtual nodes k may be the smaller of M and (N + 1).
k = min {M, (N + 1)} (2)
It becomes. For example, when the map information (M = 5) shown in FIG. 19A is given, if the departure point is node 0, the destination is node 4, and the designated via point is node 9 (N = 1), An example of an extended genotype having the number of virtual nodes k = 2 and the path 0 → 1 → 9 → 1 → 2 → 3 → 4 as a phenotype is as shown in FIG. The upper row is a gene representing a virtual node corresponding to each real node, and the lower row is the value of the gene existing at each locus.
The genotype using k virtual nodes is advantageous in that a route search that allows k passes through the same real node can be performed without changing the GA processing itself.
[0044]
(b) Simulation results
Three waypoints A, B, and C are designated for the map information of Iwaki city, and the shortest route that passes through all three points is searched. In this map data, since M = 4 and N = 3, k = 4 from equation (2). Prepare four virtual nodes for one real node and design an extended genotype.
As a result of an experiment with the number of individuals being 50, the end condition being 50 generation non-evolution, and the mutation probability being 5%, the shortest path MSP shown in FIG. 20 was obtained.
From the figure, it can be seen that the shortest route that passes through all three designated waypoints A, B, and C is obtained. In addition, although the route passing through points B and C has a node that passes redundantly, the shortest route having such a route can also be searched.
[0045]
From the above, it has become possible to search for the shortest route that passes through all of a plurality of designated waypoints, which is difficult with the conventional method, in a single process. In addition, it is possible to code a route with a node that passes multiple times by designing a genotype with virtual nodes.
In addition, in order to perform GA processing only with individuals that pass through all the waypoints in the process of GA processing, individuals are randomly generated, and those other than those that pass through all the waypoints are killed as lethal genes. For this reason, there is a problem that the calculation amount increases.
[0046]
(D) Optimal route search through all specified via points of the present invention
(A) Shortest path search using an evaluation function that introduces weights
(A-1) Problems with the second proposed method
In the second proposed method, as described above, a search is performed using only an individual having a route that passes through all specified waypoints among many solution candidates generated in the process of GA. In order to compare this second proposed method with the present invention, FIG. 21 shows the result of applying the second proposed method to Iwaki City map information. Each parameter used is as shown in FIG.
Points A and B in the figure are via points designated in advance, and the shortest path passing through these two points is obtained. The calculation time for this search is 34.41 seconds for Sun SuperSparc 85MHz + GCC (-O3). Of these, the generation of the initial population takes 14.19 seconds, and this method has the problem of requiring a large amount of calculation for the processing accompanied by ontogeny.
[0047]
(A-2) Route search method of the present invention
The problem with the second proposed method is that when an initial population is generated or crossed over, all individuals other than those that pass through all set via points are lethal genes, and the individual generation process is repeated until individuals that are not lethal genes are born. It is because it is. However, individuals that are lethal genes include individuals that have effective skimmers (for example, individuals that pass through some of the designated waypoints). We propose a search method based on the building block hypothesis in order to reduce the amount of calculation by making efficient use of such effective skimmer.
The temporary building block is a hypothesis that, in the GA processing process, high-fitting skimmers are combined like blocks to generate individuals with higher fitness and efficiently search. In many problems, the formation of building blocks is one indication that GA can search efficiently.
[0048]
By the way, it is difficult to set an evaluation function such that a building block is formed because it is generally unknown which gap is a building block. However, since the present invention searches for a route passing through the set waypoint, the skimmer that expresses the passage of the waypoint is clearly a part of the building block. Therefore, by giving a higher fitness to an individual having many waypoints on the route, it is possible to increase the selection probability of a skimmer that expresses the passage of the waypoints, and to search using this as a building block.
Specifically, the number of evaluation intervals used in the genetic algorithm is
  Fitness = 1 / (Σrlength (i) × αn) i = 1 ~ M (3)
Is used. That is, the weight α according to the number of designated via points n included in the individual (route)nAnd the inverse of the value obtained by multiplying the distance from the starting point of the route to the destination by the weight αn is used as an evaluation function in the genetic algorithm. Where αnIs a weight given according to the number of passing points n, and 1 ≦ α, where N is the number of all passing pointsNN-1<... <α0Set to be.
[0049]
As a result of introducing this evaluation function and applying the present invention to the map information of Iwaki City, the same route as FIG. 21 could be obtained. Each parameter and selection method, crossover, and mutation method used are the same as in the second proposed method. The weight is α0= 3.0, α1= 2.0, α2= 1.0. The calculation time required for the search of the present invention is 3.40 seconds on the same computer as described above, which is 90.1% reduction compared to the second proposed method, which is effective.
[0050]
(B) Weight determination method
As described above, if the number of evaluations is determined, the amount of calculation can be greatly reduced.nBy appropriately setting the value of, a route that does not pass through the specified waypoints can be obtained, or the probability of erroneous search that falls into a local solution even after passing through all waypoints is reduced, and a better search can be performed. It becomes possible. In theory,
Figure 0003792938
The optimal solution can be obtained by setting the weights so that However, since the shortest path length is unknown before the search, the weight value cannot be determined from this formula alone.
In the following, some simulations are performed with different weights, and the cause of the erroneous search and the method of setting an appropriate weight value are considered from the obtained results.
[0051]
(B-1) Weight and optimal solution search ability
The number of times that the optimal solution is obtained by performing 100 searches each for the map information used in the route search of FIG. 21 and the two designated waypoints A and B while changing α in the range of 1 to 100. Check out. Where α0~ Α2Is
α0= α, α1= (1 + α) / 2, α2= 1. FIG. 23 shows the relationship between α and the probability of obtaining an optimal solution. The dotted line in the figure is 3.0 ≦ α ≦ 10.5 in the range of α where the search probability of the optimal solution exceeds 95%. As shown in the figure, when α increases, the search probability of the optimum solution rapidly increases and then decreases again. The cause of the false search is shown below for each of the range of α <3.0 and α> 10.5.
[0052]
(B-2) Causes of local solutions
▲ 1 ▼ When α is small
α0= 1.5, α1= 1.25, α2An example of the search result when = 1.0 is shown in FIG. As can be seen from this figure, a route that passes only one point (point A) out of two preset waypoints is obtained. Because α is small,
(Shortest path length via two points)> (shortest path length via one point x α1)
This is because an optimum solution cannot be obtained with the evaluation function using the weights.
[0053]
(2) When α is large
When α is made sufficiently large, it does not become an evaluation function for which a logically optimal solution cannot be obtained as in (1), but the probability of falling into a local solution increases. In FIG.
α = 100.0, α0= α, α1= (1 + α) / 2, α2= 1
An example of a local solution when searching as follows is shown.
From FIG. 25, it can be seen that although all of the designated via points A and B have been passed, they have fallen into a local solution. The reason for falling into the local solution is that the diversity of the population is lost at the search stage. In order to verify this, the change in the variance of the actual path length of the population with the generational change is examined. The result is shown in FIG.
[0054]
The solid line in the figure indicates the variance when the optimal solution is obtained at α = 3.0, and the dotted line indicates the variance when the α = 100.0 falls into the local solution. From FIG. 26, it can be seen that when α = 100.0, the variance is small at the early stage of the search, and the diversity of the population is rapidly lost. Consider the reasons for the loss of diversity. In the present invention, the initial population is randomly generated, and an individual having many via points has a lower probability of occurrence than an individual having few via points. If α is set too large, there will be a large difference in fitness depending on the number of via points. For this reason, the selection probability of a small individual having a large number of via points is increased. Therefore, the population is occupied by the same individual, and the diversity of the population is lost.
When the diversity of the population is small, the types of skimmers that can be building blocks are reduced, and the probability that an optimal building block is formed is reduced. Furthermore, since the convergence to the local solution occurs at a fast stage of the search process, the optimum solution search process is only mutation. However, even if individuals with effective skimmata are generated by mutation, there is a high possibility that they will be deceived by a large difference in fitness, and it is difficult to escape from the local solution.
[0055]
On the other hand, when α is set optimally, there is no extreme bias in the individual selection probability. As a result, diversity in the search process is maintained, and effective skimmers in the individual remain as building blocks, so that an optimal solution can be obtained. FIGS. 27 and 28 show examples of building block formation when α = 3.0 and α = 100.0. In the figure, the dotted line indicates the number of individuals having a transit point A, the broken line indicates the number of individuals having a transit point B, and the solid line indicates the transition of the number of individuals having both.
As can be seen from the figure, when an appropriate α (= 3.0) is set, a building block is formed by combining effective skimmers as generations change. Conversely, if α is too large, it can be seen that no building blocks are formed.
[0056]
(B-3) Weight determination procedure
From the above, the value of α may be set as small as possible within the range in which routes that pass through all the waypoints are selected in order to maintain the diversity of the population and reduce the probability of falling into a local solution. In other words, set the initial value of α small and observe each individual in the search process.
(Route length of best individual with via point n)> (Path length of best individual with via point n-1 × αn-1)
The value of α should be increased when an individual becomes.
FIG. 29 is a weight determination process flow.
At the initial stage, the weight α is set to a smaller value (step 551), the genetic algorithm is applied to the i-th generation (step 552), and then it is checked whether the termination condition is satisfied (step 553). If the termination condition is not satisfied, the shortest path length L that passes through all n route points from the individual (path) group.nAnd the shortest path length L passing through (n-1) waypointsn-1Seeking
Ln<Ln-1・ Αn-1(Five)
Is established (step 554), and if it is established, i is incremented without changing the weight (step 555), and the processing after step 552 is repeated.
On the other hand, if the expression (5) is not satisfied in step 554, the weight is increased by 25% (step 556), and i is incremented to perform the processing after step 552. If the end condition is satisfied in step 553, the process ends.
[0057]
(b-4) Example of weight determination
An implementation example of the above-described weight setting method using specific numerical values will be described. In this example, a value that satisfies the constraint on the weight α is set using the distance between points, and is applied to the map information in FIG. First, the linear distances SA, AB, BG, AG, SG between the starting point S, the transit points A, B, and the arrival point G are examined. Using this, the straight line distance SG between the starting point and destination point, the shortest straight line distance SAG (= SA + AG) via one point, and the shortest straight line distance SABG (= SA + AB + BG) via two points are obtained, and α0= (SA + AB + BG) / SG, α1The search is started with = (SA + AG) / SG as an initial value.
In the search process,
(Route length of best individual with via point n)> (Path length of best individual with via point n-1 × αn-1)
If an individual appears, α0Is increased by 25% of the initial value and α1Is
α1= (α0-1) × (α1Initial value / α0Initial value) +1
Update to be As a result of the search, an optimal solution was obtained. The search time is 3.49 seconds, an 89.9% reduction compared to the second proposed method. In addition, when the search was performed 100 times, the weight values at the end of the search were all within the range indicated by the dotted line in FIG. 23, and the optimum solution was obtained 99 times.
From the above results, it can be said that this weight determination method is effective.
[0058]
(E) Optimal patrol route search through all designated waypoints
The shortest route search method that passes all specified via points when the starting point and the destination are different has been described above, but the shortest route that passes through all specified via points when the starting point and the destination are the same is described below. The traveling route search will be described.
(A) Genotype design
The extended genotype of FIG. 19 (b) can be expressed only when the starting point and the arriving point are different. For this reason, it is necessary to design a genotype when the starting point and the destination are the same. In the present invention, the first route from the starting point through the (N-1) designated waypoints to the last Nth waypoint, and the last designated waypoint to the place of departure. The route is divided into the second route, each route is expressed by a genotype, and a circulation route (individual) is expressed by combining each genotype. That is, FIG. 19B having as a gene a virtual node corresponding to all the passing real nodes of the first route from the departure point through (N−1) designated waypoints to the last Nth waypoint. ) Extended genotype {G1} And the genotype {G of FIG. 5 (c) having all passing real nodes of the second route from the last designated via point to the departure point as genes.2} Genotype formed by linking two
{G1} {G2}
The tour route (individual) is expressed by.
[0059]
(b) Simulation results
Three route points A, B, and C are designated for the map information of Iwaki City, and the shortest route that searches all three points from the departure point S is searched. The fitness is calculated by the reciprocal of the total length of the patrol route, and the selection method uses a roulette strategy and an elite preservation strategy. Crossover is performed so that a new gene having a similar order of the circulating nodes is generated from the two genotypes. Mutation is performed based on the set mutation probability.
As a result of an experiment with the number of individuals being 50, the end condition being 50 generation non-evolution, and the mutation probability being 5%, the shortest path MSRP shown in FIG. 30 was obtained. From the figure, it can be seen that the shortest cyclic route passing through all three designated waypoints A, B, and C is obtained. In addition, although the route passing through the point B has a node that passes redundantly, the shortest cyclic route having such a route can also be searched.
From the above, it has become possible to search for the shortest cyclic route that circulates all of a plurality of specified via points, which was difficult with the conventional method, by a single process.
[0060]
(C) Optimal traveling route search when upper limit cost is set
This is a case where, in an optimum route search for a route through a specified waypoint, if the upper limit of the travel cost (for example, the maximum travel distance) is set, it is not possible to go through all the specified route points within the upper limit cost. In such a case, it is necessary to search and output a patrol route that circulates the maximum number of designated via points at the upper limit cost or less.
FIG. 31 shows a search process flow for an optimum patrol route that passes the maximum number of designated via points below the upper limit cost.
If the number of designated waypoints is N, a predetermined number m (for example, m = 25) of a first population passing through all N waypoints, a predetermined number m passing (N-1) number of designated waypoints A second population of, a predetermined number m of third individuals passing through (N-2) designated via points, and a predetermined number m of N individuals passing through one designated via point Thus, an initial group is set (step 601). Each individual has the genotype {G described in (a) above.1} {G2}.
[0061]
The shortest (optimum) cyclic path that passes through all via points by applying the genetic algorithm repeatedly for each population, the shortest cyclic path that passes through (N-1) via points, and (N-2) The shortest cyclic route passing through the via point,..., The shortest cyclic route passing through one designated via point is obtained (step 602). In this case, a new individual is generated in the process of applying GA to a population passing through (N-1) via points, but an individual that does not pass through (N-1) via points is a lethal gene. Need to kill as.
If the optimum tour route in each individual group is obtained, it is checked whether or not there is an optimum tour route having a set upper limit cost (maximum travel distance) or less (step 603). Whether or not the upper limit cost is equal to or less than the upper limit cost is determined depending on whether or not the travel distance of the cyclic route is obtained by the reciprocal of fitness and the travel distance is equal to or lower than the upper limit cost (maximum travel distance).
If there is an optimal tour route having an upper limit cost (maximum travel distance) or less, a search is made for a tour route that passes through the maximum number of waypoints among the optimum tour routes, and is displayed on a display screen, for example (step 604).
[0062]
(D) Simulation result
An experiment was conducted in which this method was applied to the map information of Iwaki City. The designated waypoints are three points A to C in the map. All individuals are divided into three individual groups, and GA processing is performed using only individuals that pass 1, 2, and 3 points among the via points. The parameters used in this experiment are 50 individuals for each population, termination conditions of 50 generations non-evolution, and mutation probability of 5%.
When the upper limit cost is 25 km, as shown in FIG. 32 (a), the shortest cyclic route that passes through all the route points is obtained, and the same result as the above-mentioned optimal route route search method that circulates all designated route points is obtained. When the upper limit cost is 10 km, the shortest route that passes through two points A and B among the via points is obtained as shown in FIG. That is, when the upper limit cost is 10 km, the travel distance of the shortest route that passes through the three points exceeds the upper limit cost, and the optimal route that passes through two points A and B is taken as a solution, and within the range of the upper limit cost. The shortest path through the maximum number of waypoints can be obtained.
As described above, the present invention can be applied to patrol route search, home delivery route search, and the like in a car navigation system.
The present invention has been described with reference to the embodiments. However, the present invention can be variously modified in accordance with the gist of the present invention described in the claims, and the present invention does not exclude these.
[0063]
【The invention's effect】
As described above, according to the present invention, the weight is determined according to the number of designated via points included in the individual (route), and the inverse of the value obtained by multiplying the distance from the starting point of the individual to the destination by the weight is used in the genetic algorithm. Since the evaluation function is used, it is possible to efficiently search for the optimum route by using an individual that was conventionally a lethal gene, to reduce the amount of calculation, and to find the optimum route in a short time.
In addition, according to the present invention, the shortest path length L of a path including n designated via points that are obtained each time a genetic algorithm is applied by setting a weight to be smaller at the beginning.nAnd the shortest route length L of the route including (n-1) designated via pointsn-1Weight αn-1The path length L multiplied byn-1・ Αn-1Compare the size with Ln> Ln-1・ Αn-1If so, the weight is increased by a predetermined ratio and the weight is controlled to be an optimum value, so that the optimum solution can be obtained without falling into a local solution.
Further, according to the present invention, when searching for an optimal patrol route, a virtual route corresponding to all the passing real nodes of a route passing from the departure point to the last waypoint through (N-1) designated waypoints. Predetermined number of cyclic routes (individuals) expressed by combining extended genotypes with nodes as genes and genotypes with all passing real nodes as genes from the last designated via point Since it is prepared as a group and the genetic algorithm is repeatedly applied to the individual group, it is possible to search for an optimal patrol route that passes through all designated waypoints.
[0064]
In addition, according to the present invention, a predetermined number of first individuals passing through all designated waypoints, a predetermined number of second individuals passing through (N-1) designated waypoints, and (N-2) A predetermined number of third populations that pass through the designated via points,..., And an optimal cyclic route that passes through all the transit points by repeatedly applying a genetic algorithm to each individual population, (N-1) Find the optimal traveling route that passes through the number of waypoints, (N-2) the optimum traveling route that passes through the number of waypoints, and so on, and pass through the maximum number of waypoints with the specified maximum cost or less. Therefore, it is possible to search for a patrol route that passes through the maximum number of designated waypoints and returns to the starting point at the upper limit cost or less.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of a navigation device for explaining an optimum route search according to the present invention.
FIG. 2 is a schematic configuration diagram of a navigation device for explaining an optimum tour route search according to the present invention.
FIG. 3 is an explanatory diagram of a GA processing procedure;
FIG. 4 is a diagram illustrating a general individual expression.
FIG. 5 is an explanatory diagram of genotypes that can be applied to search for a shortest path between two points.
FIG. 6 is a configuration diagram for performing shortest path search based on GA.
FIG. 7 is a search end determination process flow;
FIG. 8 is an explanatory diagram of a selection process.
FIG. 9 is a selection process flow.
FIG. 10 is a diagram illustrating uniform crossover.
FIG. 11 shows an example in which uniform crossing is performed on genotype individuals.
FIG. 12 is a cross-over processing flow.
FIG. 13 is an explanatory diagram of mutation processing.
FIG. 14 is a mutation processing flow.
FIG. 15 is an explanatory diagram of a shortest path search result.
FIG. 16 is an explanatory diagram of second and third rank routes obtained simultaneously with the shortest route in the shortest route search;
FIG. 17 is an explanatory diagram of a route having a virtual node.
FIG. 18 is an example of a connection node.
FIG. 19 is an explanatory diagram of an extended genotype.
FIG. 20 is an explanatory diagram of a search result of a shortest path that passes through all designated waypoints.
FIG. 21 is an explanatory diagram of a search result of a route including two waypoints.
FIG. 22 is an explanatory diagram of parameters.
FIG. 23 is an explanatory diagram of an optimum solution search capability with respect to a weight α.
FIG. 24 is an example of a local solution (α = 1.5).
FIG. 25 is an example of a local solution (α = 100.0).
FIG. 26 is a diagram showing the relationship between the generation change and the distribution of the population.
FIG. 27 is a diagram for explaining the building block formation (α = 3.0).
FIG. 28 is a diagram for explaining the building block formation (α = 100.0).
FIG. 29 is a weight determination processing flow.
FIG. 30 is an explanatory diagram of a search result of a shortest cyclic route passing through all designated waypoints.
FIG. 31 is a flow of a search process for a shortest cyclic route having an upper limit cost or less.
FIG. 32 is an explanatory diagram of a search result of an optimal patrol route that passes the maximum number of designated via points with an upper limit cost or less.
[Explanation of symbols]
1. Map information storage medium
2 ・ Vehicle position detector
3. ・ Mocon unit
4. ・ Route search unit that searches for the optimal route with GA
5. Monitor
S ... Departure point
G ... Destination
A, B ...
MSP ... Shortest path

Claims (4)

地図情報を記憶する地図情報記憶媒体、自車位置を検出する車両位置検出部、目的地や経由点を設定する手段、出発地から設定された経由点を通って目的地に到る最適経路を遺伝的アルゴリズムに基づいて探索する経路探索ユニットを備えたナビゲーション装置において、Map information storage medium for storing map information, vehicle position detection unit for detecting own vehicle position, means for setting destinations and waypoints, optimum route from destination to destination via route points set In a navigation apparatus having a route search unit for searching based on a genetic algorithm,
前記経路探索ユニットは、  The route search unit is
出発地から指定されたN個の経由点を通って目的地に到る経路を探索する場合、全実ノードにおける最大接続ノード数Mと指定経由点数に1を加えた  When searching for a route to the destination through N route points specified from the departure point, 1 is added to the maximum number of connected nodes M and the number of designated route points in all real nodes. (N+1)(N + 1) のうち小さい方を仮想ノード数kとし、各実ノードについてk個の仮想ノードを用意し、該仮想ノードを遺伝子として有する拡張遺伝子型の前記出発地から目的地までの経路(個体)を所定数、初期個体群として用意する初期集団作成部、The smaller of the number of virtual nodes is k, k virtual nodes are prepared for each real node, and a predetermined number of routes (individuals) from the starting point to the destination of the extended genotype having the virtual node as a gene , An initial population creation unit prepared as an initial population,
前記個体に含まれる指定経由点数に応じて重みを決定し、該個体の出発地から目的地までの距離に前記重みを乗じた値の逆数を遺伝的アルゴリズムにおける評価関数とし、該評価関数を用いて各個体の適応度を計算する適応度算出部、  A weight is determined according to the number of designated via points included in the individual, and an inverse of a value obtained by multiplying the distance from the starting point of the individual to the destination by the weight is used as an evaluation function in the genetic algorithm, and the evaluation function is used. Fitness calculation unit for calculating the fitness of each individual
適応度が大きい全体の所定割合の個体を選択して残りを淘汰する選択淘汰処理部、  A selection selection processing unit that selects a predetermined percentage of individuals with a high fitness and selects the rest.
選択された個体に交叉処理、突然変異処理を施して新たな個体を生成して総計が前記所定数の個体よりなる個体群を生成する交叉  A crossover process and a mutation process are performed on the selected individual to generate a new individual, and a crossover that generates a population consisting of the predetermined number of individuals. // 突然変異処理部、Mutation processing department,
適応度の改善が見られなくなるまで、あるいは、遺伝的アルゴリズムの適用回数が設定回数になるまで、前記個体群を構成する各個体に上記適応度算出処理、選択淘汰処理、交叉処理、突然変異処理を施し、適応度の改善が見られなくなったとき、あるいは、遺伝的アルゴリズムの適用回数が設定回数になったとき、適応度が最良の個体を最適経路として出力する最適経路出力部、  The fitness calculation processing, selection selection processing, crossover processing, and mutation processing are performed on each individual constituting the individual group until improvement in fitness is not observed or until the number of times the genetic algorithm is applied reaches a set number. When the improvement of fitness is not seen, or when the number of times the genetic algorithm is applied reaches the set number of times, the optimum route output unit that outputs the individual with the best fitness as the optimum route,
を備えたことを特徴とするナビゲーション装置。  A navigation device characterized by comprising:
前記適応度算出部は、
前記重みの初期値を小さめに設定し、遺伝的アルゴリズムを適用する毎に求まるn個の指定経由点を含む経路の最短経路長Lnと、(n-1)個の指定経由点を含む経路の最短経路長Ln-1に重みαn-1を乗算した経路長Ln-1・αn-1との大小を比較し、Ln>Ln-1・αn-1であれば、重みを増加する、
ことを特徴とする請求項1記載のナビゲーション装置。
The fitness calculation unit
The initial value of the weight is set to a small value, and the shortest path length L n of the path including n designated via points obtained every time the genetic algorithm is applied, and the path including (n−1) designated via points comparing the magnitude of the path length L n-1 · alpha n-1 multiplied by the weight alpha n-1 to the shortest path length L n-1 of the long L n> L n-1 · α a n-1 , Increase weight,
2. The navigation device according to claim 1, wherein:
前記初期集団作成部は、前記出発地と目的地が同一地点である最適巡回経路を探索する場合、出発地からThe initial group creation unit, when searching for an optimal patrol route where the departure point and the destination are the same point, (N-1)(N-1) 個の指定経由点を通って最後の経由点に到る拡張遺伝子型経路と、最後の指定経由点から出発地に到る遺伝子型経路とを組み合わせて表現された巡回経路を所定数、初期個体群として用意し、A predetermined number of cyclic routes expressed by combining the extended genotype route from the last designated waypoint to the last waypoint and the genotype route from the last designated waypoint to the departure point, the initial individual Prepare as a group,
前記経路探索ユニットは、前記個体群に遺伝的アルゴリズムを繰り返し適用して全指定経由点を通って出発地に戻る最適巡回経路を探索する、  The route search unit repeatedly applies a genetic algorithm to the population to search for an optimal patrol route that returns to the starting point through all designated via points.
ことを特徴とする請求項1記載のナビゲーション装置。  The navigation device according to claim 1.
前記初期集団作成部は、指定経由点を全て通る所定数の第1の個体群、(N-1)個の指定経由点を通る所定数の第2の個体群、(N-2)個の指定経由点を通る所定数の第3の個体群、・・・を用意し、
前記経路探索ユニットは、それぞれの個体群について遺伝的アルゴリズムを繰り返し適用して全経由点を通過する最適の巡回経路、(N-1)個の経由点を通る最適の巡回経路、(N-2)個の経由点を通る最適の巡回経路、・・・を求め、指定された上限コスト以下で最大数の経由点を通過する巡回経路を探索する、
ことを特徴とする請求項3記載のナビゲーション装置
The initial group creation unit includes a predetermined number of first individuals that pass through all designated waypoints, a predetermined number of second individuals that pass through (N-1) designated waypoints, and (N-2) Prepare a predetermined number of third populations that pass through the designated waypoint, ...
The route search unit repeatedly applies a genetic algorithm for each population to pass through all the route points, (N-1) an optimum route route through the route points, (N-2 ) Find the optimal route that passes through a number of waypoints, and search for the route that passes the maximum number of waypoints at a specified maximum cost or less.
The navigation device according to claim 3 .
JP15356899A 1998-10-02 1999-06-01 Navigation device Expired - Fee Related JP3792938B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15356899A JP3792938B2 (en) 1998-10-02 1999-06-01 Navigation device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP28114798 1998-10-02
JP10-281147 1998-10-02
JP15356899A JP3792938B2 (en) 1998-10-02 1999-06-01 Navigation device

Publications (2)

Publication Number Publication Date
JP2000172664A JP2000172664A (en) 2000-06-23
JP3792938B2 true JP3792938B2 (en) 2006-07-05

Family

ID=26482152

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15356899A Expired - Fee Related JP3792938B2 (en) 1998-10-02 1999-06-01 Navigation device

Country Status (1)

Country Link
JP (1) JP3792938B2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100902737B1 (en) * 2002-09-28 2009-06-15 주식회사 케이티 Many most suitable path search method to do with dynamic traffic information
JP4508672B2 (en) * 2004-02-17 2010-07-21 株式会社ケンウッド Guide route search device, navigation device, and guide route search method
JP3987073B2 (en) 2005-04-20 2007-10-03 株式会社ナビタイムジャパン Navigation system, route search server, route search method and program
JP5070574B2 (en) * 2008-06-30 2012-11-14 学校法人早稲田大学 Local traffic prediction program generation device, local traffic prediction device, local traffic prediction program generation method, local traffic prediction method and program
CN106845716B (en) * 2017-01-25 2020-09-08 东南大学 Navigation error constraint-based water surface unmanned ship local hierarchical path planning method
KR102016434B1 (en) * 2017-09-26 2019-10-21 엔에이치엔 주식회사 Method and apparatus to guide route
CN107911245A (en) * 2017-11-20 2018-04-13 信阳师范学院 Virtual network mapping model and algorithm in a kind of core elastic optical network
CN110763953B (en) * 2019-10-30 2022-04-22 国网四川省电力公司电力科学研究院 Troubleshooting line patrol path planning method under distribution automation condition
CN111652550A (en) * 2020-05-28 2020-09-11 优信数享(北京)信息技术有限公司 Method, system and equipment for intelligently searching optimal loop set
KR102571957B1 (en) * 2021-07-29 2023-08-29 제주대학교 산학협력단 Method and apparatus for parking enforcement scheduling based on genetic algorithm
CN114880931A (en) * 2022-05-11 2022-08-09 福建和盛高科技产业有限公司 Power distribution network multi-objective optimization method based on weight dependency
CN115451974B (en) * 2022-11-09 2023-04-07 广东电网有限责任公司湛江供电局 Power equipment routing inspection path planning method, system, equipment and medium

Also Published As

Publication number Publication date
JP2000172664A (en) 2000-06-23

Similar Documents

Publication Publication Date Title
JP3792938B2 (en) Navigation device
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
CN111426323B (en) Routing planning method and device for inspection robot
CN104866903B (en) The most U.S. path navigation algorithm of based on genetic algorithm
CN116386389B (en) Civil aviation route planning method with limit
Abramovich et al. Multi-objective topology and weight evolution of neuro-controllers
US6052678A (en) Problem solving operation apparatus using a state transition
CN114399043A (en) Vehicle position routing method based on non-dominated sorting particle swarm genetic algorithm
Furqan et al. A review of prim and genetic algorithms in finding and determining routes on connected weighted graphs
González et al. A memetic algorithm for the capacitated vehicle routing problem with time windows
CN112884229B (en) Large-scale public place people flow guiding path planning method based on differential evolution algorithm
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 (en) Optimum route searching method
CN109631923B (en) Scenic driving route planning method based on modular factorial algorithm
Delavar et al. A GIS-assisted optimal urban route finding approach based on genetic algorithms
KR100902737B1 (en) Many most suitable path search method to do with dynamic traffic information
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 (en) Many most suitable path search method to use evolution program
Maeda et al. A genetic algorithm approach to vehicle routing problem with time deadlines in geographical information systems
Seo et al. The genetic algorithm based route finding method for alternative paths
Zhou et al. Class association rules mining with time series and its application to traffic prediction

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