巡回経路探索機能を有するナビゲーションシステムおよび経路探索サーバならびに巡回経路探索方法
【課題】巡回すべき複数の地点に順序および/または時間的な制約がある場合に、当該制約を満足し得る巡回経路を探索できるようにする。
【解決手段】巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する操作・入力手段170と、2地点間の経路を探索する2点間経路探索手段153と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段150と、を備え、2地点間経路探索手段153は、巡回対象の2地点間全ての最短経路を探索して記憶し、巡回経路探索手段は150、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進める。
【解決手段】巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する操作・入力手段170と、2地点間の経路を探索する2点間経路探索手段153と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段150と、を備え、2地点間経路探索手段153は、巡回対象の2地点間全ての最短経路を探索して記憶し、巡回経路探索手段は150、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進める。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所望の地点から所望の地点までの最適経路を探索して案内するナビゲーションシステムにし、予め定められた複数の地点を経由して巡回するための効率的な経路を探索する巡回経路探索機能を有するナビゲーションシステムおよび経路探索サーバに関するものであり、特に、巡回する地点に順序的あるいは時間的な制約条件がある場合に、当該制約条件を加味した効率的な巡回経路を探索するナビゲーションシステムおよび経路探索サーバならびに巡回経路探索方法に関するものである。
【背景技術】
【0002】
従来から、地図データ、道路データを用いて、所望の出発地から目的地までの経路を探索して利用者を案内するナビゲーション装置、ナビゲーションシステムが知られている。
このようなナビゲーション装置、ナビゲーションシステムとしては自動車に搭載して運転者に経路を案内するカーナビゲーション装置(以下、カーナビという)、携帯電話をナビゲーション端末として利用して経路探索サーバに経路探索要求を送り、その結果を受信して経路案内を受ける通信型のナビゲーションシステムなどが実用化されている。
【0003】
上記カーナビは、GPS(Global Positioning System:全地球測位システム)を利用したものであり、地球上を周回している複数のGPS衛星から送信されるGPS信号をGPSアンテナで受信し、該GPS信号に含まれる衛星位置や時計情報等を解析して位置の特定化を行うものである。該複数のGPS衛星の個数は少なくとも4個以上必要である。GPSの単独測位精度は一般的に10m強であるが、DGPS(Differential GPS:ディファレンシャルGPS)を採用することにより5m以下に向上する。特に、従来は一部の携帯電話にしか搭載されていない測位ユニット、例えば、GPS(Global Positioning System)衛星からの信号を受信して測位するGPS受信機などが、第三世代と称される携帯電話では全ての機種に搭載されるような趨勢にある。
【0004】
一般的なナビゲーション装置、通信ナビゲーションシステムに使用される経路探索装置、経路探索方法は、例えば、下記の特許文献1(特開2001−165681号公報)に開示されている。このナビゲーションシステムは、携帯ナビゲーション端末から出発地と目的地の情報を経路探索サーバに送り、経路探索サーバで道路網や交通網のデータから探索条件に合致した経路を探索して案内するように構成されている。探索条件としては、出発地から目的地までの移動手段、例えば、徒歩、自動車、鉄道と徒歩の併用などがあり、これを探索条件の1つとして経路探索する。
【0005】
経路探索サーバは、地図データの道路(経路)をその結節点、屈曲点の位置をノードとし、各ノードを結ぶ経路をリンクとし、全てのリンクのコスト情報(距離や所要時間)をデータベースとして備えている。そして、経路探索サーバは、データベースを参照して、出発地のノードから目的地のノードに至るリンクを順次探索し、リンクのコスト情報が最小となるノード、リンクをたどって案内経路とすることによって最短の経路を携帯ナビゲーション端末に案内することができる。このような経路探索の手法としてはラベル確定法あるいはダイクストラ法と言われる手法が用いられる。上記特許文献1には、このダイクストラ法を用いた経路探索方法も開示されている。
【0006】
ところで、経路探索において所望の2地点間の最適経路を探索する場合の他、所望の出発地から目的地までの間に所定の複数の地点を経由地として巡回する経路を探索する巡回経路探索が必要になる場合がある。このような経路探索は、例えば、物品の配送作業やセールスマンが複数の顧客場所を巡回する作業において必要になる。このような経路探索を巡回経路探索という。
【0007】
巡回経路探索は、n個の頂点を持つ完全グラフG(V、E)が与えられたとき、du,vを辺 (u, v) ∈Eのコストとすると、ある頂点s ∈Vから出発し、他の頂点を全て一度ずつ訪問して、最後に目的地eへ到達する経路を求めることを目的としている。ここで、一般的な配送などの業務の効率を考えた場合、なるべく巡回する経路の総コストが小さくなることが望まれる。この巡回経路を探索する課題は、NP困難な問題として知られている。
【0008】
NP困難な問題とは、アルゴリズムの時間複雑度が指数時間となる問題、つまり、その問題を解くためのアルゴリズムにおいて必要なステップ数に関する漸近的な限界がO(cn)(ただし、cは1より大きい実数、nは問題の規模)となるものをいう。
たとえば、出発地と目的地を含まない巡回地点数がnの場合、最適な巡回経路を求めるための巡回経路探索回数は、n!となる。つまり、10地点を巡回する場合の探索回数は、(10×9×8×7×6×5×4×3×2×1)=362880回となる。
ちなみに出発地を巡回地数に含め、かつ出発地に戻ってくる場合の巡回経路探索回数は(n−1)!/2となる。
【0009】
図15は、10TFlops(1秒間に1013回浮動小数点演算が可能)のスーパーコンピュータを用いて上記のような巡回経路探索を、巡回数を代えて行った場合の各巡回数に対する巡回経路総数と計算時間を示す。10TFlopsのスーパーコンピュータは、例えば、Pentium4(登録商標名)-1.8GHzのパソコン5000台分程度の演算能力を持つものである。
【0010】
図15に示したように、巡回経路探索は、巡回地点が多くなると現在の一般的な演算処理装置で総当り演算を行うと膨大な演算が必要となり現実的には困難であるという問題点があるため、一般的には「遺伝アルゴリズム」と言われるアルゴリズムなどを用いて近似解を求めることが行われる。
【0011】
例えば、下記の特許文献2(特開2000−172664号公報)、特許文献3(特開平8−202675号公報)に、遺伝アルゴリズムを用いた巡回経路探索の技術が開示されている。
【0012】
遺伝アルゴリズムは、生物の進化過程(交叉、突然変異等)をモデルとして、確率的に解を探索しようとする手法である。まずここで遺伝アルゴリズムについて説明する。遺伝アルゴリズムについて、例えば、下記の非特許文献1( David E. Goldの「Genetic Algorithms in Search, Optimization and Machine Learning」(Addison Wesley社)に詳細が開示されている。
【0013】
遺伝アルゴリズムでは、入力値として、x個のビット列B=(B1,B2,…,BX)、(あるいは省略して単に、B1B2…BXとも記す)の集合Pが与えられる。集合Pの元(x個のビット列)の個数をnとし、各元を遺伝子、集合Pを個体群と呼ぶ。集合Pの各元は、与えられた問題の解をそれぞれ表現しており、遺伝アルゴリズムでは、生物の進化過程に倣った繰り返し処理を集合Pに加え、最適解を得ようとする。
【0014】
遺伝アルゴリズムにおける処理の概要は次のようである。まず、ランダムに生成した遺伝子の集合として個体群を構成する。これを初期個体群と呼ぶ。次に、問題に応じて与えられた評価尺度(評価関数)にしたがって、個体群中の各遺伝子において解としての良さを評価し、その結果を遺伝子ごとに評価値として表す。そして、求めた評価値にしたがって、評価の低い遺伝子を減らし、その分、評価の良い遺伝子を増やす。その結果、評価の良い遺伝子ほど個体群Pに占める割合が高くなる。このような現象を「淘汰」と呼ぶ。この遺伝子の淘汰の処理は下記のようにして行われる。
【0015】
まず、ランダムに生成された個体群から2つの遺伝子を、例えばランク方式やルーレット方式などの方法により選択し、それらの遺伝子を成すビット列の一部を交換する。この操作を「交叉」と呼ぶ。この交叉は、予め設定された交叉率により繰り返す回数が決定される。交叉によって新しく生成される遺伝子の数は、この交叉率に遺伝子数nを乗じた数となる。続いて、通常低い確率で設定される突然変異率にしたがい交叉によって得られた遺伝子を少し変更する。この操作を「突然変異」と呼ぶ。突然変異の方法としては、例えば遺伝子のビット列の一部をビット反転するなどの方法が知られている。
【0016】
交叉・突然変異などの操作が完了したら、個体群中の各遺伝子において解としての良さを評価し、その評価結果にしたがい次の個体群を生成する。新たな個体群は、上述の操作によって作られた個体群と以前の個体群において、良い評価値を持つ遺伝子を遺伝子数n分だけ抽出することによって生成される。この1回の淘汰、すなわち交叉・突然変異及び新たな個体群の生成の1回のサイクルが「世代」に相当する。このような上述の処理を繰り返すことで個体群の世代が進み、個体群の各遺伝子が淘汰されることで、個体群内の各遺伝子は、与えられた問題の最適解あるいは準最適解に達する。
【0017】
上記の遺伝アルゴリズムを複数の地点を巡回する経路探索に用いる場合、1つの遺伝子は出発地、目的地を含んだ1つの巡回経路となる。例えば、出発地から全ての巡回地点を1度だけ通り目的地に至る巡回経路を探索する場合、まず出発地から各巡回地点を通り目的地に至る経路をランダムに複数作成する。これらの複数の遺伝子は個体群として保存され、集合P0が形成される。集合P0における各遺伝子の評価値は、設定した各地点間の経路コスト(時間および/または距離)の総和になる。
【0018】
次に、集合P0から選択した2つの遺伝子から新しい遺伝子を生成し、その遺伝子の評価値を求める。例えば、ルーレット方式で新しい集合P1を作成する場合は、良い評価値を持つ遺伝子ほど高い確率で集合P0から選択される。つまり、良い評価値を持つ遺伝子ほど新しい遺伝子を生成するための種となりやすいということである。ここで選択された2つの遺伝子(巡回経路)において巡回順の一部を入れ換えて新たな遺伝子を作成し、かつ低い確率で突然変異を行い、その評価値を求める。この新しい遺伝子の評価値が、集合P0における最も評価値が悪い遺伝子より良い評価値を持っていれば、この遺伝子を入れ換える。集合P1は、このような操作を1世代分行うことによって得られる。この処理を繰り返して世代交代を行い、世代交代が予め設定した所定の回数に達するか、評価値が収束すれば処理を終了し、最後に得られた集合PNにおける最良の評価値を持つ遺伝子(巡回経路)が最適解または準最適解となる。
【0019】
【特許文献1】特開2001−165681号公報(図1、図2)
【特許文献2】特開2000−172664公報
【特許文献3】特開平8−202675号公報
【非特許文献1】David E. Gold著、「Genetic Algorithms in Search, Optimization and Machine Learning」(Addison Wesley社 1989年発行)
【発明の開示】
【発明が解決しようとする課題】
【0020】
一般的に巡回経路探索は、物品の配送や送迎の業務を効率化することを目的としているため、必ずしも最適解が必要というわけでない。つまり、準最適解でも十分有用であるということである。一般的な業務においては、最適な巡回経路を求めなくとも人間が考える経路よりも良い結果を導き出すことができれば良い。あるいは、巡回経路探索装置を使用することによって人間が経路を考えるという労力を少なくするができるため、これだけでも業務の効率化を行うことが可能である。これらのことも、巡回経路探索に近似解法が適用される1つの要因となっている。
【0021】
巡回経路を求める演算は非常に計算量が多く困難を極めるため、人間の勘に頼るか、あるいは現在地を中心に周回するだけの経路を求めることで妥協する例も見られる。また、単純な巡回経路探索は、なるべく短い巡回経路を求めることが目的となっており実際の利用状況にそぐわない場合がある。
たとえば、
1)巡回地点に順番の優先条件がある場合
2)巡回地点に立ち寄る時刻条件がある場合
3)巡回地点に順番の優先条件と立ち寄る時刻条件がある場合
である。
【0022】
物品の集荷や配送における経路決定においては巡回する地点の間に順序の制約(優先条件)がある。つまり物品を配送する場合、集荷と配達があるので、巡回経路を探索する場合には集荷と配達の順番を満たさなければならない。そのため上記遺伝アルゴリズムを適用した単純な巡回経路探索では満足できる結果が得られないという問題点があった。このような問題点は特開2005−263447号公報においても課題として開示されている。
【0023】
別の例を挙げると、過疎地において1台の車両で複数の住民の移動の希望を同時に満たすために乗り合いバスを運行する場合が該当する。それぞれの住民の乗車希望位置と下車希望位置が巡回地点になるが、乗車→下車の順番が条件となるので、純粋な巡回経路探索では解が求められない。(乗車と下車の順番が逆になるとその住民は利用できない)。
このようなケースにおいては、巡回する必要のある地点が10地点とすると、巡回地 R∈{a,b,c,d,e,f,g,h,i,j}のとき、地点cはaより後、あるいは地点d,cは地点h,i,jより後に巡回するというような条件を同時に満足する巡回経路を導き出すことが求められる。
【0024】
巡回地点に時間的制約(優先条件)があるケースとは、例えば、巡回地点がある決まった時間にしか立ち入ることができないビル内にあるようなケースである。物品の配送の例でいえば、立ち入りの時間が限られるビル内に設置された自動販売機に商品を配送するようなケースである。
つまり、このような経路探索においては、出発地の出発時刻あるいは到着地の到着時刻を基準とする巡回地点の到着希望時刻などの条件を満たす巡回経路を導き出すことが求められるのである。
【0025】
また、上記のような順序の制約と時間の制約が同時に存在する場合もある。このようなケースは、例えば、上記の過疎地における乗合バス運行の巡回経路探索において、過疎地の住民が乗車希望位置と下車希望位置と、乗車または下車の希望時刻まで条件設定できる巡回経路探索というテーマにも発展するものである。
【0026】
本願の発明者は上記のような問題点を解消すべく種々検討を重ねた結果、巡回対象の地点の制約条件を入力する手段を設け、巡回対象の全ての2地点間の最短経路を探索し記憶しておき、順序探索手段は遺伝的アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和だけでなく、巡回対象の地点の制約条件に対する評価値を加味して算出して、この評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めるようになせば上記問題点を解消し得ることに想到し本発明を完成するに至ったものである。
【0027】
すなわち、本発明は上記の問題点を解消することを目的とし、巡回すべき複数の地点に順序および/または時間的な制約がある場合に、当該制約を満足し得る巡回経路を探索できるようにしたナビゲーションシステム、経路探索サーバを提供することを目的とするものである。
【課題を解決するための手段】
【0028】
前記課題を解決するために、本願の請求項1にかかる発明は、
複数の地点を巡回する巡回経路探索機能を有するナビゲーションシステムであって、
巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する入力手段と、2地点間の経路を探索する2地点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、を備え、
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めることを特徴とする。
【0029】
本願の請求項2にかかる発明は、請求項1にかかるナビゲーションシステムにおいて、
前記巡回対象の地点の制約条件は、当該地点の巡回順序の優先度であることを特徴とする。
【0030】
本願の請求項2にかかる発明は、請求項1にかかるナビゲーションシステムにおいて、
前記巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯であることを特徴とする。
【0031】
本願の請求項4にかかる発明は、請求項1にかかるナビゲーションシステムにおいて、
前記巡回順序に応じた経路コストは、少なくとも、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量の1つを考慮して算出した距離または時間であることを特徴とする。
【0032】
本願の請求項5にかかる発明は、請求項1にかかるナビゲーションシステムにおいて、
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索する際、2地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶することを特徴とする。
【0033】
また、請求項6にかかる発明は、
複数の地点を巡回する巡回経路探索機能を有する経路探索サーバであって、
巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する入力手段と、2地点間の経路を探索する2地点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、とを備え、
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めることを特徴とする。
【0034】
本願の請求項7にかかる発明は、請求項6にかかるナビゲーションサーバにおいて、
前記巡回対象の地点の制約条件は、当該地点の巡回順序の優先度であることを特徴とする。
【0035】
本願の請求項8にかかる発明は、請求項6にかかるナビゲーションサーバにおいて、
前記巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯であることを特徴とする。
【0036】
本願の請求項9にかかる発明は、請求項6にかかるナビゲーションサーバにおいて、
前記巡回順序に応じた経路コストは、少なくとも、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量の1つを考慮して算出した距離または時間であることを特徴とする。
【0037】
本願の請求項10にかかる発明は、請求項6にかかるナビゲーションサーバにおいて、
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索する際、2地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶することを特徴とする。
【0038】
また、本願の請求項11にかかる発明は、
複数の地点を巡回する巡回経路探索方法であって、
巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する入力手段と、2地点間の経路を探索する2地点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、とを備え、
前記2地点間経路探索手段が、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶するステップと、
前記巡回経路探索手段が、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出するステップと、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えるステップと、を含み巡回経路探索を進めることを特徴とする。
【0039】
また、本願の請求項12にかかる発明は、請求項11にかかる巡回経路探索方法において、
前記2地点間経路探索手段が最短経路を探索してその最適経路および経路コストを記憶するステップは、2地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶する処理を含むことを特徴とする。
【発明の効果】
【0040】
請求項1にかかる発明においては、
巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する入力手段と、2地点間の経路を探索する2地点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、を備え、2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進める。
【0041】
このような構成によれば、遺伝アルゴリズムを用いて複数の巡回地点を巡回する巡回経路を探索する際、巡回地点の間に時間的な制約条件や順序的な制約条件がある場合であっても、制約条件を満足する効率的な巡回経路を探索して提供できるようになる。
【0042】
また、請求項2にかかる発明においては、請求項1にかかるナビゲーションシステムにおいて、巡回対象の地点の制約条件は、当該地点の巡回順序の優先度である。
このような構成によれば、遺伝アルゴリズムを用いて複数の巡回地点を巡回する巡回経路を探索する際、巡回地点の間に順序的な制約条件がある場合であっても、制約条件を満足する効率的な巡回経路を探索して提供できるようになる。
【0043】
また、請求項3にかかる発明においては、請求項1にかかるナビゲーションシステムにおいて、巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯である。
このような構成によれば、遺伝アルゴリズムを用いて複数の巡回地点を巡回する巡回経路を探索する際、巡回地点に時間的な制約条件がある場合であっても、制約条件を満足する効率的な巡回経路を探索して提供できるようになる。
【0044】
また、請求項4にかかる発明においては、請求項1にかかるナビゲーションシステムにおいて、巡回順序に応じた経路コストは、少なくとも、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量の1つを考慮して算出した距離または時間である。
このような構成によれば、遺伝アルゴリズムを用いて複数の巡回地点を巡回する巡回経路を探索する際、巡回地点の間に時間的な制約条件や順序的な制約条件がある場合であっても、制約条件を満足し、かつ、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量の1つを考慮した効率的な巡回経路を探索して提供できるようになる。
【0045】
また、請求項5にかかる発明においてはき、請求項1にかかるナビゲーションシステムにおいて、記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索する際、2地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶する。
このような構成によれば、都市部のように一方通行路が多い場合、あるいは方向によって著しくコストが異なる経路が存在する場合においても効率のよい巡回経路を探索することができるようになる。
【0046】
本願の請求項6〜請求項10にかかる発明においては、それぞれ請求項1〜請求項5にかかるナビゲーションシステムを構成する経路探索サーバを提供することができ、請求項11、請求項12にかかる発明においては、それぞれ請求項6、請求項10にかかる経路探索サーバにおける巡回経路探索方法を提供することができるようになる。
【発明を実施するための最良の形態】
【0047】
以下、本発明の具体例を実施例及び図面を用いて詳細に説明する。但し、以下に示す実施例は、本発明の技術思想を具体化するためのナビゲーションシステムを例示するものであって、本発明をこのナビゲーションシステムに特定することを意図するものではなく、特許請求の範囲に含まれるその他の実施形態のナビゲーションシステムにも等しく適用し得るものである。
【実施例1】
【0048】
本発明の実施例にかかるナビゲーションシステムは、図1に示すように経路探索サーバ10を備えて構成されている。経路探索サーバ10は図示しない端末装置から経路探索要求を受信し、出発地から目的地までの最適経路を探索し、要求元の端末装置に配信する。
【0049】
経路探索サーバ10は、制御手段110、通信手段120、出力・配信手段130、経路探索手段140、巡回経路探索手段150、前処理手段151、2点間経路探索手段153、GA処理手段155、表示手段160、操作・入力手段170、地図データ180、道路ネットワークデータベース190、ガイダンスデータベース200などを備えて構成されている。
【0050】
制御手段110は、図示してはいないがRAM、ROM、プロセッサを有するマイクロプロセッサであり、ROMに格納された制御プログラムにより各部の動作を制御する。通信手段120はネットワークを介して端末装置や他のサーバと通信するためのものである。出力・配信手段130は、経路探索結果を出力し、あるいは、端末装置に配信するためのものであり、経路データ、ガイダンスデータを端末装置に配信するためのデータに編集する。操作・入力手段170は経路探索サーバ10に所望の入力、操作を行うためのものであり、表示手段160は液晶表示ユニットなどから構成され、所定の入力画面を表示する。
【0051】
地図データ180には端末装置に提供する地図情報が蓄積されており、道路ネットワークデータベース190には地図データの道路(経路)をその結節点、屈曲点の位置をノードとし、各ノードを結ぶ経路をリンクとし、全てのリンクのコスト情報(距離や所要時間)などがデータベースとして蓄積されている。ガイダンスデータベース200には、交差点などにおける進行方向案内のための音声データや案内表示画像データが蓄積されている。
【0052】
経路探索手段140は道路ネットワークデータベース190を参照して通常の経路探索を行う。巡回経路探索手段150は本実施例における巡回経路の探索を行うものである。巡回経路探索手段150は、前処理手段151、2点間経路探索手段153、GA処理手段155を備えて構成されている。これらの詳細については後述する。
【0053】
本実施例においては、巡回経路探索のモデルを、例えば、僻地における荷物の集配の例で説明する。僻地では単位面積あたりの配送数が少ないので、1台の車両で集荷と配達を行うと効率が良い。また単位面積あたりの配送数が少ないということは、1配送あたりの走行距離も長くなるので、収益面でも出来るだけ効率の良い配送をしないと事業として成り立たない。
【0054】
図2は、経路探索サーバ10において巡回経路探索を実施する際の端末装置における巡回地点の入力画面である。実施に当たってはそれぞれの業態により最適なユーザインタフェース(UI)にカスタマイズされるべきであるが、機能のみを簡潔に説明する。この実施例では、出発地はこの配送業者の営業所、また最終目的地は出発地に戻るものとして登録済みである。また、経路探索サーバ10を本実施例の経路探索エンジンをインストールしたパーソナルコンピュータに置き換えることもできる。
【0055】
ある日の集配計画を立てるために、図2に示す入力画面からまず巡回地点の入力を行う。巡回地点は、住所、店舗/施設名、電話番号などを選択してフリーワードで入力可能である(選択しなくても検索機能により検索して入力することも可能である)。その巡回地点に立ち寄る時刻条件があれば、時刻指定から選択する。デフォルトは、「なし」であるが、プルダウンメニューによって、
11:00〜13:00
13:00〜15:00
15:00〜17:00
...
など時間の制約条件を指定することが可能である。
荷物の集荷から配達をまで行う場合には、左側の欄に集荷地点、右側の欄に配達先を入力することで、順序条件を指定する。
【0056】
地点を確認する場合は、地図ボタンを押すことで地図上の位置を確認できる。また地図上で修正も可能である。誤入力した場合は、削除ボタンで、その行をクリアすることもできる。さらに巡回地点がある場合は、次の行に順次入力する。行が足りなくなったら、追加ボタンを押して、さらに入力行を増やせるようになっている。なお、巡回経路を求めるので、オペレータは地点を順次入力して行くだけでよい(入力の順番を意識する必要は無い)。
【0057】
入力が終わったところで、検索ボタンを押すと、巡回経路探索の処理に移る。巡回経路探索の処理は大きく分けて図3のフローチャートに示す手順で進行する。すなわち、ステップS11の処理において前処理を行った後、ステップS12の処理において巡回地点の各2地点間の全ての組み合わせの最適経路探索を行う。(なお、2地点間の経路に一方通行路などが含まれない場合は2地点間の順序による経路コストは考慮しなくても良いが、都市部のように一方通行路が多い場合、あるいは方向によって著しくコストが異なる経路が存在する場合は双方向の経路を探索するのが良い)一度最適経路探索を行って経路コストを記憶しておけば、巡回経路の探索では経路コストのみを扱えばよい。
【0058】
このため、ステップS13の処理において探索した全ての経路のコストを保存する。次いでステップS14の処理において巡回経路探索を行い、ステップS15の処理において結果を出力する。以下に各処理を更に詳細に説明する。
【0059】
[前処理]
まず、前処理手段151は、前処理として、入力されたデータの整理とエラーのチェックを行う。前処理は、図4Aに示すように、たとえば、同一地点(A)から複数の地点(B,C,D)への順番が入力された場合に、同一地点(A)に複数の時刻指定が無ければ同一地点(A)への巡回は1回のみとして、内部表現ではA,B,C,Dを1つのグループとみなし、図4Bに示すように
A(1),B(2),C(2),D(2)・・・(括弧内はグループ内優先度)
というグループを作っておく。
また、逆に図4Cに示すように配達先が地点(A)1箇所となるような場合もグループ化しておく。さらに、時刻指定が集荷と配達で時間的に逆になっているような場合は、配達の時刻指定を集荷後になるように変更する、あるいはエラーを表示して再入力を促す、という処理も行う。
【0060】
[2地点間経路探索]
次に、2点間経路探索手段153は、前処理を経て登録された巡回地点の各2点間の全ての組み合わせにおける2地点間の最適経路探索を行う。一度最適経路探索を行って経路コストを記憶しておけば、巡回経路の探索では経路コストのみを扱えばよい。この探索は通常の経路探索を行う経路探索手段140を使用して行ってもよい。
【0061】
[巡回経路探索]
次いで、本発明の中心となる巡回経路探索を行う。この処理はGA処理手段155によって行われる。GA処理手段155は遺伝アルゴリズム(Genetic Algorithms)を用いて経路を探索する。遺伝アルゴリズムは先に述べたように進化論にヒントを得た探索手法の1つである。遺伝子に見立てた解が効率的かつ系統的に解空間を探索し最適解を求めるために、自然の進化過程を模倣している。
【0062】
ある有利な特徴を持つ遺伝子、すなわち最適解に近い解は、より長く生き延び、かつ多くの子孫を残すことができる。つまり、自然淘汰の理論を用いている。この過程は、解をビット列の遺伝子として表現し、遺伝子の選択や交叉・突然変異などの操作によって行う。
この中で、さらに特徴的な部分が、遺伝子の評価方法である。遺伝子の評価は、良い解を導くための重要な指標となる。なぜならば、この関数によって求められた評価値を基準にして、その遺伝子を次世代に残すかどうかを決定するからである。
【0063】
ここでの処理は先に概念を説明したように、出発地、目的地を含んだ1つの巡回経路が1つの遺伝子であり、複数の遺伝子により個体群、集合P0が形成される。例えば、出発地から全ての巡回地点を1度だけとおり目的地に至る巡回経路を探索する場合、出発地から各巡回地点をとおり目的地に至る経路をランダムに複数作成する。これらの複数の遺伝子は個体群として保存され、集合P0が形成される。集合P0における各遺伝子の評価値は、設定した各地点間の経路コスト(時間および/または距離)の総和になる。
【0064】
次に、集合P0から選択した2つの遺伝子から新しい遺伝子を生成し、その遺伝子の評価値を求める。例えば、ルーレット方式で新しい集合P1を作成する場合は、良い評価値を持つ遺伝子ほど高い確率で集合P0から選択される。つまり、良い評価値を持つ遺伝子ほど新しい遺伝子を生成するための種となりやすいということである。ここで選択された2つの遺伝子(巡回経路)において巡回順の一部を入れ換えて新たな遺伝子を作成し、かつ低い確率で突然変異を行い、その評価値を求める。この新しい遺伝子の評価値が、集合P0における最も評価値が悪い遺伝子より良い評価値を持っていれば、この遺伝子を入れ換える。集合P1は、このような操作を1世代分行うことによって得られる。この処理を繰り返して世代交代を行い、世代交代が予め設定した所定の回数に達するか、評価値が収束すれば処理を終了し、最後に得られた集合PNにおける最良の評価値を持つ遺伝子(巡回経路)が最適解または準最適解となる。
【0065】
本発明においては、各巡回地点において順序的制約および時間的制約の条件を入力し、遺伝アルゴリズムを用いて評価値を算出する際に経路コストに加えて、各巡回地点に設定された順序的制約、時間的制約条件に基づく制約コストを付加して算出することに特徴がある。この制約に基づくコストは、順序制約や時間制約を違反した巡回地の数によって変化する。これにより、巡回地点に制約が付されている場合の巡回経路を算出することができるようになる。
【0066】
図5、図6は、この処理の概念を説明するための模式図である。図5、図6において、出発地STから巡回地点X1〜X6を巡回して目的地GLに至る巡回経路を探索する例を示し、巡回地点X3とX6には順序の条件(X6の巡回順の優先度がX3より高い:X6はX3より先に巡回するという条件)が付加されている。
【0067】
図5に示すランダムに生成された初期個体群における1つの遺伝子G0が表す巡回経路の評価値として、まず経路コストの総和が加算される。評価値は経路コストの総和である。全ての2地点間の最適経路の経路コストは、2点間経路探索において探索し、その結果は保存されている。ここで、巡回地点X3とX6は順序制約があり、X6の巡回順の優先度がX3より高いので、順序制約を違反している巡回地点数がカウントアップされる。後述する式1にしたがうと、この制約違反の総数を予め設定した順序制約の重みで割り、それに経路コストを乗じることによって制約コストが求まる。ここで順序制約の重みは通常1とするが、順序に関する制約を強めたい場合は0.1〜0.9程度の値を、弱めたい場合は1.1〜1.9程度の値を設定する。この制約コストと予め求めた経路コストを加算することによって、この遺伝子の評価値が決定する。巡回地点に時間的制約が存在する場合も同様である。
【0068】
次いで、初期個体群から2つの遺伝子を選択し、新たに生成した遺伝子G1が表す巡回経路を図6に示す。この遺伝子では、上述の遺伝子が表す巡回経路における巡回地点X2とX5が交換された形となっている。この遺伝子の評価値を先と同様にして算出する。ここで得た評価値が、初期個体群における遺伝子より良い評価値であれば遺伝子集団に加え新たな遺伝子を保存し、悪い評価値であれば遺伝子集団に加えず破棄する。
【0069】
このような処理を繰り返し、全ての遺伝子の評価値が同じになるか、最も良い遺伝子の評価値が集団の平均評価値とほぼ同じである状態に収束したならば、最も良い評価値を持つ遺伝子が巡回地点X1〜X6を巡回する最適解、または、準最適解になる。
【0070】
図7は、GA処理部153における処理手順を示す概念図である。GA処理手段153への入力情報は前処理を完了した巡回地点数、巡回地情報、各2地点間経路の経路コストである。ステップS21の処理において、初期遺伝子の生成処理を行う。ここで指定された数の遺伝子をランダムに生成することにより、初期個体群P0が作成される。初期遺伝子は、ランダムに各巡回地点を通るルートを引き、既に保存してある2地点間経路のコスト総和を求める処理である。このとき、前処理で付加された各巡回地点の制約条件による制約コストが加味され各遺伝子の評価値が算出される。
【0071】
続いて、ステップS22の処理において初期遺伝子として生成された初期個体群P0から2つの遺伝子を親遺伝子として選択し、ステップS23の処理において2つの遺伝子の任意の巡回地点を選択して入れ換える操作である交叉、および1つの遺伝子において巡回地点を変更する操作である突然変異を行い、ステップS24にて新たな遺伝子すなわち子遺伝子を生成する。ことのき、全ての巡回地点を必ず1度だけ通るよう、つまり同じ地点を複数回巡回せず、かつ1度も巡回しない地点が存在しないような遺伝子操作を行う。
【0072】
次いで、ステップS25の処理において新たに生成された子遺伝子の評価値を算出し、個体群P0における各遺伝子の評価値と比較する。ここで生成された子遺伝子が個体群P0における遺伝子の評価値より良い値であればこの子遺伝子を採用し、その評価値と巡回順(ルート)を表現する遺伝子とを保存し、子遺伝子が個体群P0の遺伝子の評価値より悪い値であればこの子遺伝子は採用されず、結果は保存しない。
【0073】
その後、ステップS26の処理において処理の終了判定を行い、処理が終了していなければステップS22の処理に戻り、上記の遺伝的操作を繰り返し行う。
【0074】
[処理の終了判定]
GA処理手段153による探索処理は、試行回数が指定回数を満たした場合、あるいは遺伝子の集団における評価値が収束した場合に終了する。例えば、2つの遺伝子を選択して子遺伝子を生成する過程を1試行とすると、巡回数がnの場合、このケースにおいては最大試行回数を50n2程度とするのが良い。また、評価値が収束した状態というのは、全ての遺伝子の評価値が同じになるか、最も良い遺伝子の評価値が集団の平均評価値とほぼ同じである状態のことをいう。このような状態になったら処理が終了したものと判定し、巡回地点数、巡回順が出力される。巡回順がわかれば、保存してあった2地点間の最適経路を当該巡回順にならべて巡回経路を提供することができる。
【0075】
巡回経路探索手段150における目的関数Fは次式のようになる。
F=min(eval(n))
ここで、遺伝子の評価値を求める評価関数eval(n)は次式のように定義する。
【数1】
ここで、n: 巡回地点数
dist(i): i番目の巡回地点間の経路コスト
Ddist: 経路コストに対する重み
Dtime: 時間制約に対する重み
Dorder: 順序制約に対する重み
Ptime: 時間制約に違反した巡回地点の総数
Porder: 順序制約に違反した巡回地点の総数
である。
【0076】
この評価によって得られた評価値が、既存集団における遺伝子より良い評価値であれば遺伝子集団に加える(図7のステップS22〜ステップS25の処理参照)。このとき、既存遺伝子集団において評価値が最下位の遺伝子が集団から排除される。
【0077】
以上のような構成の巡回経路探索手段150を用いて、図8に示す巡回地点1〜巡回地点5を巡回する巡回経路を求めた結果について以下に説明する。図9は、図8の具体例の配送業務の対象となるエリアの地図、配送地点を示す図である。このエリアの配送業務においては、出発地、目的地、地点1〜地点28の配送地点が存在する。図8の具体例は出発地から地点1〜地点28を巡回して目的地に至る巡回経路を探索する場合を示している
【0078】
図8において、具体例1は各巡回地点のうち巡回地点1〜巡回地点5に到着時間や優先順序に関する制約が何もない巡回経路を求める場合を示す。具体例2は各巡回地点のうち巡回地点1と巡回地点3に図示のような到着時間の制約がある場合を示す。到着時間は出発時間からの経過時間(秒)で示されている。
【0079】
具体例3は各巡回地点のうち巡回地点1と巡回地点2に順序の優先度がある第1のグループ(グループ1)と、巡回地点3〜巡回地点5の間に順序の優先度がある第2のグループ(グループ2)とが存在する場合を示す。順序の優先度は優先度の後に記述された数値(1〜3・・)が小さい程、順序の優先度が高いものとしている。具体例4は、具体例3と具体例4の制約条件を合わせ持つ場合を示している。
【0080】
図8の具体例1の条件で巡回経路を探索した結果により得られた巡回経路が図10に示されている。図10においては図9に示す巡回地点を巡回順序に従った経由地+数値(巡回順)で示している。例えば巡回地点1(図9参照)は経由地8(図10参照)で示されており、巡回順序が8番目になることを示している。具体例1の場合、GA処理手段155の処理において算出される遺伝子は、巡回地点の各2地点間を結ぶ経路コストの総和であり、図10に示すように巡回経路として、経路コストの総和が最も小さくなるほぼ最適解が得られた。
【0081】
図11は具体例2の条件で巡回経路を探索した結果得られた巡回経路を示す図である。この巡回経路においては、時間制約のある巡回地点1が経由地2に、巡回地点3が経由地6になり、巡回地点1の巡回順序が2番目に、巡回地点3の巡回順序が6番目になる巡回経路が求められている。
【0082】
図12は、具体例3の条件で巡回経路を探索した結果得られた巡回経路を示す図である。この巡回経路においては、順序制約のあるグループ1の巡回地点1が経由地6に、巡回地点2が経由地7になり、巡回地点1の巡回順序が6番目に、巡回地点2の巡回順序が7番目になっている。順序制約のあるグループ2の巡回地点3が経由地9に、巡回地点4が経由地11に、巡回地点5が経由地22なり、巡回地点3の巡回順序が9番目に、巡回地点4の巡回順序が11番目に、巡回地点5の巡回順序が22番目になる巡回経路が求められている。
【0083】
図13は、具体例4の条件で巡回経路を探索した結果得られた巡回経路を示す図である。この巡回経路においては、順序制約のあるグループ1の巡回地点1が経由地2に、巡回地点2が経由地15になり、巡回地点1の巡回順序が2番目に、巡回地点2の巡回順序が15番目になっている。順序制約のあるグループ2の巡回地点3が経由地4に、巡回地点4が経由地6に、巡回地点5が経由地10になり、巡回地点3の巡回順序が4番目に、巡回地点4の巡回順序が6番目に、巡回地点5の巡回順序が10番目になる。また、時間制約のある巡回地点1と巡回地点3に関しては、巡回地点1の巡回順序が2番目、巡回地点3の巡回順序が4番目であり、時間制約をも満たす巡回経路が求められている。
【0084】
以上のように、具体例1〜具体例4の全ての条件に対して、それぞれ異なる巡回経路を得ることができ、またこの巡回経路はそれぞれの条件(時間制約、順序制約)を満たす巡回経路になっている。この処理に要した演算処理の実行時間は、いずれの場合でも10秒程度であり、その殆ど(99%)は2点間経路探索までの処理時間であった。
【0085】
図14は、以上のような巡回経路探索に要する演算時間を示すグラフである。図14において横軸は巡回地点の数、縦軸はプロサッサの演算時間(秒)であり、各グラフはそれぞれプロセッサとして Pentium 1.8G(512M)、 Pentium 2.4G(1.0G)、 Pentium 3.0G(1.0G)を使用した場合の巡回地点数に対する演算時間を示している。
【0086】
図14からわかるように、巡回地点が30地点程度の場合の巡回経路探索に要する処理時間は非常に僅かであり、また、上記具体例1〜具体例4に示すように、十分な結果が得られており、実用に適しているのがわかる。
【0087】
なお、上記実施例において、2点間経路探索手段153が2地点間の最適な経路コストを探索する際に、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量などを考慮したネットワークデータを利用すれば、遺伝アルゴリズムを用いて複数の巡回地点を巡回する巡回経路を探索する際、巡回地点の間に時間的な制約条件や順序的な制約条件がある場合であっても、制約条件を満足し、かつ、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量を加味した効率的な巡回経路を探索することができる。これら日時、渋滞情報、道路種別、巡航速度、混雑度、積載量のデータは経路探索サーバ10が道路交通情報サーバなどの他の情報配信サーバからデータを収集し道路ネットワークデータベース190のデータを入れ換えることによって実施することができる。
【産業上の利用可能性】
【0088】
以上説明したように本発明は、実際に即した各種の制約条件を有する巡回地点を効率的に巡回する巡回経路探索が行えるので、物流やセールスおよび巡回調査などの分野に幅広く応用することが可能である。
【図面の簡単な説明】
【0089】
【図1】本発明の実施例にかかるナビゲーションシステムにおける経路探索サーバの構成を示すブロック図である。
【図2】巡回経路探索における巡回地点を入力する際の入力画面の構成を示す図である。
【図3】本発明の実施例にかかる巡回経路探索の処理手順を示すフローチャートである。
【図4】本発明の実施例にかかる巡回経路探索の前処理の概念を示す図であり、図4Aは出発地から複数地点への順番が入力された状態を示す模式図、図4Bは出発地をAとする巡回地点のグループを作成した状態を示す模式図、図4Bは目的地をAとする巡回地点のグループを作成した状態を示す模式図である。
【図5】本発明の実施例にかかる巡回経路探索処理の概念を説明するための模式図である。
【図6】本発明の実施例にかかる巡回経路探索処理の概念を説明するための模式図である。
【図7】遺伝アルゴリズムを使用したGA処理部における処理手順を示す概念図である。
【図8】本発明による巡回経路探索を適用して巡回経路探索を実施した具体例を示す図であり、巡回地点の諸制約条件を示す図である。
【図9】図8に示す具体例の配送業務の対象となるエリアの地図、配送地点を示す図である。
【図10】図8に示す具体例1の条件で求めた巡回経路を示す図である。
【図11】図8に示す具体例2の条件で求めた巡回経路を示す図である。
【図12】図8に示す具体例3の条件で求めた巡回経路を示す図である。
【図13】図8に示す具体例4の条件で求めた巡回経路を示す図である。
【図14】本発明の実施例にかかる巡回経路探索に要する演算時間を示すグラフである。
【図15】10TFlops(1秒間に1013回浮動小数点演算が可能)のスーパーコンピュータを用いて巡回経路探索を、巡回数を代えて行った場合の各巡回数に対する巡回経路総数と計算時間を示す図である。
【符号の説明】
【0090】
10・・・・経路探索サーバ
110・・・制御手段
120・・・通信手段
130・・・出力・配信手段
140・・・経路探索手段
150・・・巡回経路探索手段
151・・・前処理手段
153・・・2点間経路探索手段
155・・・GA処理手段
160・・・表示手段
170・・・操作・入力手段
180・・・地図データ
190・・・道路ネットワークデータベース
200・・・ガイダンスデータベース
【技術分野】
【0001】
本発明は、所望の地点から所望の地点までの最適経路を探索して案内するナビゲーションシステムにし、予め定められた複数の地点を経由して巡回するための効率的な経路を探索する巡回経路探索機能を有するナビゲーションシステムおよび経路探索サーバに関するものであり、特に、巡回する地点に順序的あるいは時間的な制約条件がある場合に、当該制約条件を加味した効率的な巡回経路を探索するナビゲーションシステムおよび経路探索サーバならびに巡回経路探索方法に関するものである。
【背景技術】
【0002】
従来から、地図データ、道路データを用いて、所望の出発地から目的地までの経路を探索して利用者を案内するナビゲーション装置、ナビゲーションシステムが知られている。
このようなナビゲーション装置、ナビゲーションシステムとしては自動車に搭載して運転者に経路を案内するカーナビゲーション装置(以下、カーナビという)、携帯電話をナビゲーション端末として利用して経路探索サーバに経路探索要求を送り、その結果を受信して経路案内を受ける通信型のナビゲーションシステムなどが実用化されている。
【0003】
上記カーナビは、GPS(Global Positioning System:全地球測位システム)を利用したものであり、地球上を周回している複数のGPS衛星から送信されるGPS信号をGPSアンテナで受信し、該GPS信号に含まれる衛星位置や時計情報等を解析して位置の特定化を行うものである。該複数のGPS衛星の個数は少なくとも4個以上必要である。GPSの単独測位精度は一般的に10m強であるが、DGPS(Differential GPS:ディファレンシャルGPS)を採用することにより5m以下に向上する。特に、従来は一部の携帯電話にしか搭載されていない測位ユニット、例えば、GPS(Global Positioning System)衛星からの信号を受信して測位するGPS受信機などが、第三世代と称される携帯電話では全ての機種に搭載されるような趨勢にある。
【0004】
一般的なナビゲーション装置、通信ナビゲーションシステムに使用される経路探索装置、経路探索方法は、例えば、下記の特許文献1(特開2001−165681号公報)に開示されている。このナビゲーションシステムは、携帯ナビゲーション端末から出発地と目的地の情報を経路探索サーバに送り、経路探索サーバで道路網や交通網のデータから探索条件に合致した経路を探索して案内するように構成されている。探索条件としては、出発地から目的地までの移動手段、例えば、徒歩、自動車、鉄道と徒歩の併用などがあり、これを探索条件の1つとして経路探索する。
【0005】
経路探索サーバは、地図データの道路(経路)をその結節点、屈曲点の位置をノードとし、各ノードを結ぶ経路をリンクとし、全てのリンクのコスト情報(距離や所要時間)をデータベースとして備えている。そして、経路探索サーバは、データベースを参照して、出発地のノードから目的地のノードに至るリンクを順次探索し、リンクのコスト情報が最小となるノード、リンクをたどって案内経路とすることによって最短の経路を携帯ナビゲーション端末に案内することができる。このような経路探索の手法としてはラベル確定法あるいはダイクストラ法と言われる手法が用いられる。上記特許文献1には、このダイクストラ法を用いた経路探索方法も開示されている。
【0006】
ところで、経路探索において所望の2地点間の最適経路を探索する場合の他、所望の出発地から目的地までの間に所定の複数の地点を経由地として巡回する経路を探索する巡回経路探索が必要になる場合がある。このような経路探索は、例えば、物品の配送作業やセールスマンが複数の顧客場所を巡回する作業において必要になる。このような経路探索を巡回経路探索という。
【0007】
巡回経路探索は、n個の頂点を持つ完全グラフG(V、E)が与えられたとき、du,vを辺 (u, v) ∈Eのコストとすると、ある頂点s ∈Vから出発し、他の頂点を全て一度ずつ訪問して、最後に目的地eへ到達する経路を求めることを目的としている。ここで、一般的な配送などの業務の効率を考えた場合、なるべく巡回する経路の総コストが小さくなることが望まれる。この巡回経路を探索する課題は、NP困難な問題として知られている。
【0008】
NP困難な問題とは、アルゴリズムの時間複雑度が指数時間となる問題、つまり、その問題を解くためのアルゴリズムにおいて必要なステップ数に関する漸近的な限界がO(cn)(ただし、cは1より大きい実数、nは問題の規模)となるものをいう。
たとえば、出発地と目的地を含まない巡回地点数がnの場合、最適な巡回経路を求めるための巡回経路探索回数は、n!となる。つまり、10地点を巡回する場合の探索回数は、(10×9×8×7×6×5×4×3×2×1)=362880回となる。
ちなみに出発地を巡回地数に含め、かつ出発地に戻ってくる場合の巡回経路探索回数は(n−1)!/2となる。
【0009】
図15は、10TFlops(1秒間に1013回浮動小数点演算が可能)のスーパーコンピュータを用いて上記のような巡回経路探索を、巡回数を代えて行った場合の各巡回数に対する巡回経路総数と計算時間を示す。10TFlopsのスーパーコンピュータは、例えば、Pentium4(登録商標名)-1.8GHzのパソコン5000台分程度の演算能力を持つものである。
【0010】
図15に示したように、巡回経路探索は、巡回地点が多くなると現在の一般的な演算処理装置で総当り演算を行うと膨大な演算が必要となり現実的には困難であるという問題点があるため、一般的には「遺伝アルゴリズム」と言われるアルゴリズムなどを用いて近似解を求めることが行われる。
【0011】
例えば、下記の特許文献2(特開2000−172664号公報)、特許文献3(特開平8−202675号公報)に、遺伝アルゴリズムを用いた巡回経路探索の技術が開示されている。
【0012】
遺伝アルゴリズムは、生物の進化過程(交叉、突然変異等)をモデルとして、確率的に解を探索しようとする手法である。まずここで遺伝アルゴリズムについて説明する。遺伝アルゴリズムについて、例えば、下記の非特許文献1( David E. Goldの「Genetic Algorithms in Search, Optimization and Machine Learning」(Addison Wesley社)に詳細が開示されている。
【0013】
遺伝アルゴリズムでは、入力値として、x個のビット列B=(B1,B2,…,BX)、(あるいは省略して単に、B1B2…BXとも記す)の集合Pが与えられる。集合Pの元(x個のビット列)の個数をnとし、各元を遺伝子、集合Pを個体群と呼ぶ。集合Pの各元は、与えられた問題の解をそれぞれ表現しており、遺伝アルゴリズムでは、生物の進化過程に倣った繰り返し処理を集合Pに加え、最適解を得ようとする。
【0014】
遺伝アルゴリズムにおける処理の概要は次のようである。まず、ランダムに生成した遺伝子の集合として個体群を構成する。これを初期個体群と呼ぶ。次に、問題に応じて与えられた評価尺度(評価関数)にしたがって、個体群中の各遺伝子において解としての良さを評価し、その結果を遺伝子ごとに評価値として表す。そして、求めた評価値にしたがって、評価の低い遺伝子を減らし、その分、評価の良い遺伝子を増やす。その結果、評価の良い遺伝子ほど個体群Pに占める割合が高くなる。このような現象を「淘汰」と呼ぶ。この遺伝子の淘汰の処理は下記のようにして行われる。
【0015】
まず、ランダムに生成された個体群から2つの遺伝子を、例えばランク方式やルーレット方式などの方法により選択し、それらの遺伝子を成すビット列の一部を交換する。この操作を「交叉」と呼ぶ。この交叉は、予め設定された交叉率により繰り返す回数が決定される。交叉によって新しく生成される遺伝子の数は、この交叉率に遺伝子数nを乗じた数となる。続いて、通常低い確率で設定される突然変異率にしたがい交叉によって得られた遺伝子を少し変更する。この操作を「突然変異」と呼ぶ。突然変異の方法としては、例えば遺伝子のビット列の一部をビット反転するなどの方法が知られている。
【0016】
交叉・突然変異などの操作が完了したら、個体群中の各遺伝子において解としての良さを評価し、その評価結果にしたがい次の個体群を生成する。新たな個体群は、上述の操作によって作られた個体群と以前の個体群において、良い評価値を持つ遺伝子を遺伝子数n分だけ抽出することによって生成される。この1回の淘汰、すなわち交叉・突然変異及び新たな個体群の生成の1回のサイクルが「世代」に相当する。このような上述の処理を繰り返すことで個体群の世代が進み、個体群の各遺伝子が淘汰されることで、個体群内の各遺伝子は、与えられた問題の最適解あるいは準最適解に達する。
【0017】
上記の遺伝アルゴリズムを複数の地点を巡回する経路探索に用いる場合、1つの遺伝子は出発地、目的地を含んだ1つの巡回経路となる。例えば、出発地から全ての巡回地点を1度だけ通り目的地に至る巡回経路を探索する場合、まず出発地から各巡回地点を通り目的地に至る経路をランダムに複数作成する。これらの複数の遺伝子は個体群として保存され、集合P0が形成される。集合P0における各遺伝子の評価値は、設定した各地点間の経路コスト(時間および/または距離)の総和になる。
【0018】
次に、集合P0から選択した2つの遺伝子から新しい遺伝子を生成し、その遺伝子の評価値を求める。例えば、ルーレット方式で新しい集合P1を作成する場合は、良い評価値を持つ遺伝子ほど高い確率で集合P0から選択される。つまり、良い評価値を持つ遺伝子ほど新しい遺伝子を生成するための種となりやすいということである。ここで選択された2つの遺伝子(巡回経路)において巡回順の一部を入れ換えて新たな遺伝子を作成し、かつ低い確率で突然変異を行い、その評価値を求める。この新しい遺伝子の評価値が、集合P0における最も評価値が悪い遺伝子より良い評価値を持っていれば、この遺伝子を入れ換える。集合P1は、このような操作を1世代分行うことによって得られる。この処理を繰り返して世代交代を行い、世代交代が予め設定した所定の回数に達するか、評価値が収束すれば処理を終了し、最後に得られた集合PNにおける最良の評価値を持つ遺伝子(巡回経路)が最適解または準最適解となる。
【0019】
【特許文献1】特開2001−165681号公報(図1、図2)
【特許文献2】特開2000−172664公報
【特許文献3】特開平8−202675号公報
【非特許文献1】David E. Gold著、「Genetic Algorithms in Search, Optimization and Machine Learning」(Addison Wesley社 1989年発行)
【発明の開示】
【発明が解決しようとする課題】
【0020】
一般的に巡回経路探索は、物品の配送や送迎の業務を効率化することを目的としているため、必ずしも最適解が必要というわけでない。つまり、準最適解でも十分有用であるということである。一般的な業務においては、最適な巡回経路を求めなくとも人間が考える経路よりも良い結果を導き出すことができれば良い。あるいは、巡回経路探索装置を使用することによって人間が経路を考えるという労力を少なくするができるため、これだけでも業務の効率化を行うことが可能である。これらのことも、巡回経路探索に近似解法が適用される1つの要因となっている。
【0021】
巡回経路を求める演算は非常に計算量が多く困難を極めるため、人間の勘に頼るか、あるいは現在地を中心に周回するだけの経路を求めることで妥協する例も見られる。また、単純な巡回経路探索は、なるべく短い巡回経路を求めることが目的となっており実際の利用状況にそぐわない場合がある。
たとえば、
1)巡回地点に順番の優先条件がある場合
2)巡回地点に立ち寄る時刻条件がある場合
3)巡回地点に順番の優先条件と立ち寄る時刻条件がある場合
である。
【0022】
物品の集荷や配送における経路決定においては巡回する地点の間に順序の制約(優先条件)がある。つまり物品を配送する場合、集荷と配達があるので、巡回経路を探索する場合には集荷と配達の順番を満たさなければならない。そのため上記遺伝アルゴリズムを適用した単純な巡回経路探索では満足できる結果が得られないという問題点があった。このような問題点は特開2005−263447号公報においても課題として開示されている。
【0023】
別の例を挙げると、過疎地において1台の車両で複数の住民の移動の希望を同時に満たすために乗り合いバスを運行する場合が該当する。それぞれの住民の乗車希望位置と下車希望位置が巡回地点になるが、乗車→下車の順番が条件となるので、純粋な巡回経路探索では解が求められない。(乗車と下車の順番が逆になるとその住民は利用できない)。
このようなケースにおいては、巡回する必要のある地点が10地点とすると、巡回地 R∈{a,b,c,d,e,f,g,h,i,j}のとき、地点cはaより後、あるいは地点d,cは地点h,i,jより後に巡回するというような条件を同時に満足する巡回経路を導き出すことが求められる。
【0024】
巡回地点に時間的制約(優先条件)があるケースとは、例えば、巡回地点がある決まった時間にしか立ち入ることができないビル内にあるようなケースである。物品の配送の例でいえば、立ち入りの時間が限られるビル内に設置された自動販売機に商品を配送するようなケースである。
つまり、このような経路探索においては、出発地の出発時刻あるいは到着地の到着時刻を基準とする巡回地点の到着希望時刻などの条件を満たす巡回経路を導き出すことが求められるのである。
【0025】
また、上記のような順序の制約と時間の制約が同時に存在する場合もある。このようなケースは、例えば、上記の過疎地における乗合バス運行の巡回経路探索において、過疎地の住民が乗車希望位置と下車希望位置と、乗車または下車の希望時刻まで条件設定できる巡回経路探索というテーマにも発展するものである。
【0026】
本願の発明者は上記のような問題点を解消すべく種々検討を重ねた結果、巡回対象の地点の制約条件を入力する手段を設け、巡回対象の全ての2地点間の最短経路を探索し記憶しておき、順序探索手段は遺伝的アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和だけでなく、巡回対象の地点の制約条件に対する評価値を加味して算出して、この評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めるようになせば上記問題点を解消し得ることに想到し本発明を完成するに至ったものである。
【0027】
すなわち、本発明は上記の問題点を解消することを目的とし、巡回すべき複数の地点に順序および/または時間的な制約がある場合に、当該制約を満足し得る巡回経路を探索できるようにしたナビゲーションシステム、経路探索サーバを提供することを目的とするものである。
【課題を解決するための手段】
【0028】
前記課題を解決するために、本願の請求項1にかかる発明は、
複数の地点を巡回する巡回経路探索機能を有するナビゲーションシステムであって、
巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する入力手段と、2地点間の経路を探索する2地点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、を備え、
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めることを特徴とする。
【0029】
本願の請求項2にかかる発明は、請求項1にかかるナビゲーションシステムにおいて、
前記巡回対象の地点の制約条件は、当該地点の巡回順序の優先度であることを特徴とする。
【0030】
本願の請求項2にかかる発明は、請求項1にかかるナビゲーションシステムにおいて、
前記巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯であることを特徴とする。
【0031】
本願の請求項4にかかる発明は、請求項1にかかるナビゲーションシステムにおいて、
前記巡回順序に応じた経路コストは、少なくとも、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量の1つを考慮して算出した距離または時間であることを特徴とする。
【0032】
本願の請求項5にかかる発明は、請求項1にかかるナビゲーションシステムにおいて、
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索する際、2地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶することを特徴とする。
【0033】
また、請求項6にかかる発明は、
複数の地点を巡回する巡回経路探索機能を有する経路探索サーバであって、
巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する入力手段と、2地点間の経路を探索する2地点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、とを備え、
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めることを特徴とする。
【0034】
本願の請求項7にかかる発明は、請求項6にかかるナビゲーションサーバにおいて、
前記巡回対象の地点の制約条件は、当該地点の巡回順序の優先度であることを特徴とする。
【0035】
本願の請求項8にかかる発明は、請求項6にかかるナビゲーションサーバにおいて、
前記巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯であることを特徴とする。
【0036】
本願の請求項9にかかる発明は、請求項6にかかるナビゲーションサーバにおいて、
前記巡回順序に応じた経路コストは、少なくとも、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量の1つを考慮して算出した距離または時間であることを特徴とする。
【0037】
本願の請求項10にかかる発明は、請求項6にかかるナビゲーションサーバにおいて、
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索する際、2地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶することを特徴とする。
【0038】
また、本願の請求項11にかかる発明は、
複数の地点を巡回する巡回経路探索方法であって、
巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する入力手段と、2地点間の経路を探索する2地点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、とを備え、
前記2地点間経路探索手段が、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶するステップと、
前記巡回経路探索手段が、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出するステップと、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えるステップと、を含み巡回経路探索を進めることを特徴とする。
【0039】
また、本願の請求項12にかかる発明は、請求項11にかかる巡回経路探索方法において、
前記2地点間経路探索手段が最短経路を探索してその最適経路および経路コストを記憶するステップは、2地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶する処理を含むことを特徴とする。
【発明の効果】
【0040】
請求項1にかかる発明においては、
巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する入力手段と、2地点間の経路を探索する2地点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、を備え、2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進める。
【0041】
このような構成によれば、遺伝アルゴリズムを用いて複数の巡回地点を巡回する巡回経路を探索する際、巡回地点の間に時間的な制約条件や順序的な制約条件がある場合であっても、制約条件を満足する効率的な巡回経路を探索して提供できるようになる。
【0042】
また、請求項2にかかる発明においては、請求項1にかかるナビゲーションシステムにおいて、巡回対象の地点の制約条件は、当該地点の巡回順序の優先度である。
このような構成によれば、遺伝アルゴリズムを用いて複数の巡回地点を巡回する巡回経路を探索する際、巡回地点の間に順序的な制約条件がある場合であっても、制約条件を満足する効率的な巡回経路を探索して提供できるようになる。
【0043】
また、請求項3にかかる発明においては、請求項1にかかるナビゲーションシステムにおいて、巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯である。
このような構成によれば、遺伝アルゴリズムを用いて複数の巡回地点を巡回する巡回経路を探索する際、巡回地点に時間的な制約条件がある場合であっても、制約条件を満足する効率的な巡回経路を探索して提供できるようになる。
【0044】
また、請求項4にかかる発明においては、請求項1にかかるナビゲーションシステムにおいて、巡回順序に応じた経路コストは、少なくとも、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量の1つを考慮して算出した距離または時間である。
このような構成によれば、遺伝アルゴリズムを用いて複数の巡回地点を巡回する巡回経路を探索する際、巡回地点の間に時間的な制約条件や順序的な制約条件がある場合であっても、制約条件を満足し、かつ、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量の1つを考慮した効率的な巡回経路を探索して提供できるようになる。
【0045】
また、請求項5にかかる発明においてはき、請求項1にかかるナビゲーションシステムにおいて、記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索する際、2地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶する。
このような構成によれば、都市部のように一方通行路が多い場合、あるいは方向によって著しくコストが異なる経路が存在する場合においても効率のよい巡回経路を探索することができるようになる。
【0046】
本願の請求項6〜請求項10にかかる発明においては、それぞれ請求項1〜請求項5にかかるナビゲーションシステムを構成する経路探索サーバを提供することができ、請求項11、請求項12にかかる発明においては、それぞれ請求項6、請求項10にかかる経路探索サーバにおける巡回経路探索方法を提供することができるようになる。
【発明を実施するための最良の形態】
【0047】
以下、本発明の具体例を実施例及び図面を用いて詳細に説明する。但し、以下に示す実施例は、本発明の技術思想を具体化するためのナビゲーションシステムを例示するものであって、本発明をこのナビゲーションシステムに特定することを意図するものではなく、特許請求の範囲に含まれるその他の実施形態のナビゲーションシステムにも等しく適用し得るものである。
【実施例1】
【0048】
本発明の実施例にかかるナビゲーションシステムは、図1に示すように経路探索サーバ10を備えて構成されている。経路探索サーバ10は図示しない端末装置から経路探索要求を受信し、出発地から目的地までの最適経路を探索し、要求元の端末装置に配信する。
【0049】
経路探索サーバ10は、制御手段110、通信手段120、出力・配信手段130、経路探索手段140、巡回経路探索手段150、前処理手段151、2点間経路探索手段153、GA処理手段155、表示手段160、操作・入力手段170、地図データ180、道路ネットワークデータベース190、ガイダンスデータベース200などを備えて構成されている。
【0050】
制御手段110は、図示してはいないがRAM、ROM、プロセッサを有するマイクロプロセッサであり、ROMに格納された制御プログラムにより各部の動作を制御する。通信手段120はネットワークを介して端末装置や他のサーバと通信するためのものである。出力・配信手段130は、経路探索結果を出力し、あるいは、端末装置に配信するためのものであり、経路データ、ガイダンスデータを端末装置に配信するためのデータに編集する。操作・入力手段170は経路探索サーバ10に所望の入力、操作を行うためのものであり、表示手段160は液晶表示ユニットなどから構成され、所定の入力画面を表示する。
【0051】
地図データ180には端末装置に提供する地図情報が蓄積されており、道路ネットワークデータベース190には地図データの道路(経路)をその結節点、屈曲点の位置をノードとし、各ノードを結ぶ経路をリンクとし、全てのリンクのコスト情報(距離や所要時間)などがデータベースとして蓄積されている。ガイダンスデータベース200には、交差点などにおける進行方向案内のための音声データや案内表示画像データが蓄積されている。
【0052】
経路探索手段140は道路ネットワークデータベース190を参照して通常の経路探索を行う。巡回経路探索手段150は本実施例における巡回経路の探索を行うものである。巡回経路探索手段150は、前処理手段151、2点間経路探索手段153、GA処理手段155を備えて構成されている。これらの詳細については後述する。
【0053】
本実施例においては、巡回経路探索のモデルを、例えば、僻地における荷物の集配の例で説明する。僻地では単位面積あたりの配送数が少ないので、1台の車両で集荷と配達を行うと効率が良い。また単位面積あたりの配送数が少ないということは、1配送あたりの走行距離も長くなるので、収益面でも出来るだけ効率の良い配送をしないと事業として成り立たない。
【0054】
図2は、経路探索サーバ10において巡回経路探索を実施する際の端末装置における巡回地点の入力画面である。実施に当たってはそれぞれの業態により最適なユーザインタフェース(UI)にカスタマイズされるべきであるが、機能のみを簡潔に説明する。この実施例では、出発地はこの配送業者の営業所、また最終目的地は出発地に戻るものとして登録済みである。また、経路探索サーバ10を本実施例の経路探索エンジンをインストールしたパーソナルコンピュータに置き換えることもできる。
【0055】
ある日の集配計画を立てるために、図2に示す入力画面からまず巡回地点の入力を行う。巡回地点は、住所、店舗/施設名、電話番号などを選択してフリーワードで入力可能である(選択しなくても検索機能により検索して入力することも可能である)。その巡回地点に立ち寄る時刻条件があれば、時刻指定から選択する。デフォルトは、「なし」であるが、プルダウンメニューによって、
11:00〜13:00
13:00〜15:00
15:00〜17:00
...
など時間の制約条件を指定することが可能である。
荷物の集荷から配達をまで行う場合には、左側の欄に集荷地点、右側の欄に配達先を入力することで、順序条件を指定する。
【0056】
地点を確認する場合は、地図ボタンを押すことで地図上の位置を確認できる。また地図上で修正も可能である。誤入力した場合は、削除ボタンで、その行をクリアすることもできる。さらに巡回地点がある場合は、次の行に順次入力する。行が足りなくなったら、追加ボタンを押して、さらに入力行を増やせるようになっている。なお、巡回経路を求めるので、オペレータは地点を順次入力して行くだけでよい(入力の順番を意識する必要は無い)。
【0057】
入力が終わったところで、検索ボタンを押すと、巡回経路探索の処理に移る。巡回経路探索の処理は大きく分けて図3のフローチャートに示す手順で進行する。すなわち、ステップS11の処理において前処理を行った後、ステップS12の処理において巡回地点の各2地点間の全ての組み合わせの最適経路探索を行う。(なお、2地点間の経路に一方通行路などが含まれない場合は2地点間の順序による経路コストは考慮しなくても良いが、都市部のように一方通行路が多い場合、あるいは方向によって著しくコストが異なる経路が存在する場合は双方向の経路を探索するのが良い)一度最適経路探索を行って経路コストを記憶しておけば、巡回経路の探索では経路コストのみを扱えばよい。
【0058】
このため、ステップS13の処理において探索した全ての経路のコストを保存する。次いでステップS14の処理において巡回経路探索を行い、ステップS15の処理において結果を出力する。以下に各処理を更に詳細に説明する。
【0059】
[前処理]
まず、前処理手段151は、前処理として、入力されたデータの整理とエラーのチェックを行う。前処理は、図4Aに示すように、たとえば、同一地点(A)から複数の地点(B,C,D)への順番が入力された場合に、同一地点(A)に複数の時刻指定が無ければ同一地点(A)への巡回は1回のみとして、内部表現ではA,B,C,Dを1つのグループとみなし、図4Bに示すように
A(1),B(2),C(2),D(2)・・・(括弧内はグループ内優先度)
というグループを作っておく。
また、逆に図4Cに示すように配達先が地点(A)1箇所となるような場合もグループ化しておく。さらに、時刻指定が集荷と配達で時間的に逆になっているような場合は、配達の時刻指定を集荷後になるように変更する、あるいはエラーを表示して再入力を促す、という処理も行う。
【0060】
[2地点間経路探索]
次に、2点間経路探索手段153は、前処理を経て登録された巡回地点の各2点間の全ての組み合わせにおける2地点間の最適経路探索を行う。一度最適経路探索を行って経路コストを記憶しておけば、巡回経路の探索では経路コストのみを扱えばよい。この探索は通常の経路探索を行う経路探索手段140を使用して行ってもよい。
【0061】
[巡回経路探索]
次いで、本発明の中心となる巡回経路探索を行う。この処理はGA処理手段155によって行われる。GA処理手段155は遺伝アルゴリズム(Genetic Algorithms)を用いて経路を探索する。遺伝アルゴリズムは先に述べたように進化論にヒントを得た探索手法の1つである。遺伝子に見立てた解が効率的かつ系統的に解空間を探索し最適解を求めるために、自然の進化過程を模倣している。
【0062】
ある有利な特徴を持つ遺伝子、すなわち最適解に近い解は、より長く生き延び、かつ多くの子孫を残すことができる。つまり、自然淘汰の理論を用いている。この過程は、解をビット列の遺伝子として表現し、遺伝子の選択や交叉・突然変異などの操作によって行う。
この中で、さらに特徴的な部分が、遺伝子の評価方法である。遺伝子の評価は、良い解を導くための重要な指標となる。なぜならば、この関数によって求められた評価値を基準にして、その遺伝子を次世代に残すかどうかを決定するからである。
【0063】
ここでの処理は先に概念を説明したように、出発地、目的地を含んだ1つの巡回経路が1つの遺伝子であり、複数の遺伝子により個体群、集合P0が形成される。例えば、出発地から全ての巡回地点を1度だけとおり目的地に至る巡回経路を探索する場合、出発地から各巡回地点をとおり目的地に至る経路をランダムに複数作成する。これらの複数の遺伝子は個体群として保存され、集合P0が形成される。集合P0における各遺伝子の評価値は、設定した各地点間の経路コスト(時間および/または距離)の総和になる。
【0064】
次に、集合P0から選択した2つの遺伝子から新しい遺伝子を生成し、その遺伝子の評価値を求める。例えば、ルーレット方式で新しい集合P1を作成する場合は、良い評価値を持つ遺伝子ほど高い確率で集合P0から選択される。つまり、良い評価値を持つ遺伝子ほど新しい遺伝子を生成するための種となりやすいということである。ここで選択された2つの遺伝子(巡回経路)において巡回順の一部を入れ換えて新たな遺伝子を作成し、かつ低い確率で突然変異を行い、その評価値を求める。この新しい遺伝子の評価値が、集合P0における最も評価値が悪い遺伝子より良い評価値を持っていれば、この遺伝子を入れ換える。集合P1は、このような操作を1世代分行うことによって得られる。この処理を繰り返して世代交代を行い、世代交代が予め設定した所定の回数に達するか、評価値が収束すれば処理を終了し、最後に得られた集合PNにおける最良の評価値を持つ遺伝子(巡回経路)が最適解または準最適解となる。
【0065】
本発明においては、各巡回地点において順序的制約および時間的制約の条件を入力し、遺伝アルゴリズムを用いて評価値を算出する際に経路コストに加えて、各巡回地点に設定された順序的制約、時間的制約条件に基づく制約コストを付加して算出することに特徴がある。この制約に基づくコストは、順序制約や時間制約を違反した巡回地の数によって変化する。これにより、巡回地点に制約が付されている場合の巡回経路を算出することができるようになる。
【0066】
図5、図6は、この処理の概念を説明するための模式図である。図5、図6において、出発地STから巡回地点X1〜X6を巡回して目的地GLに至る巡回経路を探索する例を示し、巡回地点X3とX6には順序の条件(X6の巡回順の優先度がX3より高い:X6はX3より先に巡回するという条件)が付加されている。
【0067】
図5に示すランダムに生成された初期個体群における1つの遺伝子G0が表す巡回経路の評価値として、まず経路コストの総和が加算される。評価値は経路コストの総和である。全ての2地点間の最適経路の経路コストは、2点間経路探索において探索し、その結果は保存されている。ここで、巡回地点X3とX6は順序制約があり、X6の巡回順の優先度がX3より高いので、順序制約を違反している巡回地点数がカウントアップされる。後述する式1にしたがうと、この制約違反の総数を予め設定した順序制約の重みで割り、それに経路コストを乗じることによって制約コストが求まる。ここで順序制約の重みは通常1とするが、順序に関する制約を強めたい場合は0.1〜0.9程度の値を、弱めたい場合は1.1〜1.9程度の値を設定する。この制約コストと予め求めた経路コストを加算することによって、この遺伝子の評価値が決定する。巡回地点に時間的制約が存在する場合も同様である。
【0068】
次いで、初期個体群から2つの遺伝子を選択し、新たに生成した遺伝子G1が表す巡回経路を図6に示す。この遺伝子では、上述の遺伝子が表す巡回経路における巡回地点X2とX5が交換された形となっている。この遺伝子の評価値を先と同様にして算出する。ここで得た評価値が、初期個体群における遺伝子より良い評価値であれば遺伝子集団に加え新たな遺伝子を保存し、悪い評価値であれば遺伝子集団に加えず破棄する。
【0069】
このような処理を繰り返し、全ての遺伝子の評価値が同じになるか、最も良い遺伝子の評価値が集団の平均評価値とほぼ同じである状態に収束したならば、最も良い評価値を持つ遺伝子が巡回地点X1〜X6を巡回する最適解、または、準最適解になる。
【0070】
図7は、GA処理部153における処理手順を示す概念図である。GA処理手段153への入力情報は前処理を完了した巡回地点数、巡回地情報、各2地点間経路の経路コストである。ステップS21の処理において、初期遺伝子の生成処理を行う。ここで指定された数の遺伝子をランダムに生成することにより、初期個体群P0が作成される。初期遺伝子は、ランダムに各巡回地点を通るルートを引き、既に保存してある2地点間経路のコスト総和を求める処理である。このとき、前処理で付加された各巡回地点の制約条件による制約コストが加味され各遺伝子の評価値が算出される。
【0071】
続いて、ステップS22の処理において初期遺伝子として生成された初期個体群P0から2つの遺伝子を親遺伝子として選択し、ステップS23の処理において2つの遺伝子の任意の巡回地点を選択して入れ換える操作である交叉、および1つの遺伝子において巡回地点を変更する操作である突然変異を行い、ステップS24にて新たな遺伝子すなわち子遺伝子を生成する。ことのき、全ての巡回地点を必ず1度だけ通るよう、つまり同じ地点を複数回巡回せず、かつ1度も巡回しない地点が存在しないような遺伝子操作を行う。
【0072】
次いで、ステップS25の処理において新たに生成された子遺伝子の評価値を算出し、個体群P0における各遺伝子の評価値と比較する。ここで生成された子遺伝子が個体群P0における遺伝子の評価値より良い値であればこの子遺伝子を採用し、その評価値と巡回順(ルート)を表現する遺伝子とを保存し、子遺伝子が個体群P0の遺伝子の評価値より悪い値であればこの子遺伝子は採用されず、結果は保存しない。
【0073】
その後、ステップS26の処理において処理の終了判定を行い、処理が終了していなければステップS22の処理に戻り、上記の遺伝的操作を繰り返し行う。
【0074】
[処理の終了判定]
GA処理手段153による探索処理は、試行回数が指定回数を満たした場合、あるいは遺伝子の集団における評価値が収束した場合に終了する。例えば、2つの遺伝子を選択して子遺伝子を生成する過程を1試行とすると、巡回数がnの場合、このケースにおいては最大試行回数を50n2程度とするのが良い。また、評価値が収束した状態というのは、全ての遺伝子の評価値が同じになるか、最も良い遺伝子の評価値が集団の平均評価値とほぼ同じである状態のことをいう。このような状態になったら処理が終了したものと判定し、巡回地点数、巡回順が出力される。巡回順がわかれば、保存してあった2地点間の最適経路を当該巡回順にならべて巡回経路を提供することができる。
【0075】
巡回経路探索手段150における目的関数Fは次式のようになる。
F=min(eval(n))
ここで、遺伝子の評価値を求める評価関数eval(n)は次式のように定義する。
【数1】
ここで、n: 巡回地点数
dist(i): i番目の巡回地点間の経路コスト
Ddist: 経路コストに対する重み
Dtime: 時間制約に対する重み
Dorder: 順序制約に対する重み
Ptime: 時間制約に違反した巡回地点の総数
Porder: 順序制約に違反した巡回地点の総数
である。
【0076】
この評価によって得られた評価値が、既存集団における遺伝子より良い評価値であれば遺伝子集団に加える(図7のステップS22〜ステップS25の処理参照)。このとき、既存遺伝子集団において評価値が最下位の遺伝子が集団から排除される。
【0077】
以上のような構成の巡回経路探索手段150を用いて、図8に示す巡回地点1〜巡回地点5を巡回する巡回経路を求めた結果について以下に説明する。図9は、図8の具体例の配送業務の対象となるエリアの地図、配送地点を示す図である。このエリアの配送業務においては、出発地、目的地、地点1〜地点28の配送地点が存在する。図8の具体例は出発地から地点1〜地点28を巡回して目的地に至る巡回経路を探索する場合を示している
【0078】
図8において、具体例1は各巡回地点のうち巡回地点1〜巡回地点5に到着時間や優先順序に関する制約が何もない巡回経路を求める場合を示す。具体例2は各巡回地点のうち巡回地点1と巡回地点3に図示のような到着時間の制約がある場合を示す。到着時間は出発時間からの経過時間(秒)で示されている。
【0079】
具体例3は各巡回地点のうち巡回地点1と巡回地点2に順序の優先度がある第1のグループ(グループ1)と、巡回地点3〜巡回地点5の間に順序の優先度がある第2のグループ(グループ2)とが存在する場合を示す。順序の優先度は優先度の後に記述された数値(1〜3・・)が小さい程、順序の優先度が高いものとしている。具体例4は、具体例3と具体例4の制約条件を合わせ持つ場合を示している。
【0080】
図8の具体例1の条件で巡回経路を探索した結果により得られた巡回経路が図10に示されている。図10においては図9に示す巡回地点を巡回順序に従った経由地+数値(巡回順)で示している。例えば巡回地点1(図9参照)は経由地8(図10参照)で示されており、巡回順序が8番目になることを示している。具体例1の場合、GA処理手段155の処理において算出される遺伝子は、巡回地点の各2地点間を結ぶ経路コストの総和であり、図10に示すように巡回経路として、経路コストの総和が最も小さくなるほぼ最適解が得られた。
【0081】
図11は具体例2の条件で巡回経路を探索した結果得られた巡回経路を示す図である。この巡回経路においては、時間制約のある巡回地点1が経由地2に、巡回地点3が経由地6になり、巡回地点1の巡回順序が2番目に、巡回地点3の巡回順序が6番目になる巡回経路が求められている。
【0082】
図12は、具体例3の条件で巡回経路を探索した結果得られた巡回経路を示す図である。この巡回経路においては、順序制約のあるグループ1の巡回地点1が経由地6に、巡回地点2が経由地7になり、巡回地点1の巡回順序が6番目に、巡回地点2の巡回順序が7番目になっている。順序制約のあるグループ2の巡回地点3が経由地9に、巡回地点4が経由地11に、巡回地点5が経由地22なり、巡回地点3の巡回順序が9番目に、巡回地点4の巡回順序が11番目に、巡回地点5の巡回順序が22番目になる巡回経路が求められている。
【0083】
図13は、具体例4の条件で巡回経路を探索した結果得られた巡回経路を示す図である。この巡回経路においては、順序制約のあるグループ1の巡回地点1が経由地2に、巡回地点2が経由地15になり、巡回地点1の巡回順序が2番目に、巡回地点2の巡回順序が15番目になっている。順序制約のあるグループ2の巡回地点3が経由地4に、巡回地点4が経由地6に、巡回地点5が経由地10になり、巡回地点3の巡回順序が4番目に、巡回地点4の巡回順序が6番目に、巡回地点5の巡回順序が10番目になる。また、時間制約のある巡回地点1と巡回地点3に関しては、巡回地点1の巡回順序が2番目、巡回地点3の巡回順序が4番目であり、時間制約をも満たす巡回経路が求められている。
【0084】
以上のように、具体例1〜具体例4の全ての条件に対して、それぞれ異なる巡回経路を得ることができ、またこの巡回経路はそれぞれの条件(時間制約、順序制約)を満たす巡回経路になっている。この処理に要した演算処理の実行時間は、いずれの場合でも10秒程度であり、その殆ど(99%)は2点間経路探索までの処理時間であった。
【0085】
図14は、以上のような巡回経路探索に要する演算時間を示すグラフである。図14において横軸は巡回地点の数、縦軸はプロサッサの演算時間(秒)であり、各グラフはそれぞれプロセッサとして Pentium 1.8G(512M)、 Pentium 2.4G(1.0G)、 Pentium 3.0G(1.0G)を使用した場合の巡回地点数に対する演算時間を示している。
【0086】
図14からわかるように、巡回地点が30地点程度の場合の巡回経路探索に要する処理時間は非常に僅かであり、また、上記具体例1〜具体例4に示すように、十分な結果が得られており、実用に適しているのがわかる。
【0087】
なお、上記実施例において、2点間経路探索手段153が2地点間の最適な経路コストを探索する際に、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量などを考慮したネットワークデータを利用すれば、遺伝アルゴリズムを用いて複数の巡回地点を巡回する巡回経路を探索する際、巡回地点の間に時間的な制約条件や順序的な制約条件がある場合であっても、制約条件を満足し、かつ、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量を加味した効率的な巡回経路を探索することができる。これら日時、渋滞情報、道路種別、巡航速度、混雑度、積載量のデータは経路探索サーバ10が道路交通情報サーバなどの他の情報配信サーバからデータを収集し道路ネットワークデータベース190のデータを入れ換えることによって実施することができる。
【産業上の利用可能性】
【0088】
以上説明したように本発明は、実際に即した各種の制約条件を有する巡回地点を効率的に巡回する巡回経路探索が行えるので、物流やセールスおよび巡回調査などの分野に幅広く応用することが可能である。
【図面の簡単な説明】
【0089】
【図1】本発明の実施例にかかるナビゲーションシステムにおける経路探索サーバの構成を示すブロック図である。
【図2】巡回経路探索における巡回地点を入力する際の入力画面の構成を示す図である。
【図3】本発明の実施例にかかる巡回経路探索の処理手順を示すフローチャートである。
【図4】本発明の実施例にかかる巡回経路探索の前処理の概念を示す図であり、図4Aは出発地から複数地点への順番が入力された状態を示す模式図、図4Bは出発地をAとする巡回地点のグループを作成した状態を示す模式図、図4Bは目的地をAとする巡回地点のグループを作成した状態を示す模式図である。
【図5】本発明の実施例にかかる巡回経路探索処理の概念を説明するための模式図である。
【図6】本発明の実施例にかかる巡回経路探索処理の概念を説明するための模式図である。
【図7】遺伝アルゴリズムを使用したGA処理部における処理手順を示す概念図である。
【図8】本発明による巡回経路探索を適用して巡回経路探索を実施した具体例を示す図であり、巡回地点の諸制約条件を示す図である。
【図9】図8に示す具体例の配送業務の対象となるエリアの地図、配送地点を示す図である。
【図10】図8に示す具体例1の条件で求めた巡回経路を示す図である。
【図11】図8に示す具体例2の条件で求めた巡回経路を示す図である。
【図12】図8に示す具体例3の条件で求めた巡回経路を示す図である。
【図13】図8に示す具体例4の条件で求めた巡回経路を示す図である。
【図14】本発明の実施例にかかる巡回経路探索に要する演算時間を示すグラフである。
【図15】10TFlops(1秒間に1013回浮動小数点演算が可能)のスーパーコンピュータを用いて巡回経路探索を、巡回数を代えて行った場合の各巡回数に対する巡回経路総数と計算時間を示す図である。
【符号の説明】
【0090】
10・・・・経路探索サーバ
110・・・制御手段
120・・・通信手段
130・・・出力・配信手段
140・・・経路探索手段
150・・・巡回経路探索手段
151・・・前処理手段
153・・・2点間経路探索手段
155・・・GA処理手段
160・・・表示手段
170・・・操作・入力手段
180・・・地図データ
190・・・道路ネットワークデータベース
200・・・ガイダンスデータベース
【特許請求の範囲】
【請求項1】
複数の地点を巡回する巡回経路探索機能を有するナビゲーションシステムであって、
巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する入力手段と、2地点間の経路を探索する2地点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、を備え、
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めることを特徴とする巡回経路探索機能を有するナビゲーションシステム。
【請求項2】
前記巡回対象の地点の制約条件は、当該地点の巡回順序の優先度であることを特徴とする請求項1に記載の巡回経路探索機能を有するナビゲーションシステム。
【請求項3】
前記巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯であることを特徴とする請求項1に記載の巡回経路探索機能を有するナビゲーションシステム。
【請求項4】
前記巡回順序に応じた経路コストは、少なくとも、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量の1つを考慮して算出した距離または時間であることを特徴とする請求項1に記載の巡回経路探索機能を有するナビゲーションシステム。
【請求項5】
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索する際、2地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶することを特徴とする請求項1に記載の巡回経路探索機能を有するナビゲーションシステム。
【請求項6】
複数の地点を巡回する巡回経路探索機能を有する経路探索サーバであって、
巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する入力手段と、2地点間の経路を探索する2地点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、とを備え、
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めることを特徴とする巡回経路探索機能を有する経路探索サーバ。
【請求項7】
前記巡回対象の地点の制約条件は、当該地点の巡回順序の優先度であることを特徴とする請求項6に記載の巡回経路探索機能を有する経路探索サーバ。
【請求項8】
前記巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯であることを特徴とする請求項6に記載の巡回経路探索機能を有する経路探索サーバ。
【請求項9】
前記巡回順序に応じた経路コストは、少なくとも、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量の1つを考慮して算出した距離または時間であることを特徴とする請求項6に記載の巡回経路探索機能を有する経路探索サーバ。
【請求項10】
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索する際、2地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶することを特徴とする請求項6に記載の巡回経路探索機能を有す経路探索サーバ。
【請求項11】
複数の地点を巡回する巡回経路探索方法であって、
巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する入力手段と、2地点間の経路を探索する2地点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、とを備え、
前記2地点間経路探索手段が、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶するステップと、
前記巡回経路探索手段が、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出するステップと、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えるステップと、を含み巡回経路探索を進めることを特徴とする巡回経路探索方法。
【請求項12】
前記2地点間経路探索手段が最短経路を探索してその最適経路および経路コストを記憶するステップは、2地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶する処理を含むことを特徴とする請求項11に記載の巡回経路探索方法。
【請求項1】
複数の地点を巡回する巡回経路探索機能を有するナビゲーションシステムであって、
巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する入力手段と、2地点間の経路を探索する2地点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、を備え、
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めることを特徴とする巡回経路探索機能を有するナビゲーションシステム。
【請求項2】
前記巡回対象の地点の制約条件は、当該地点の巡回順序の優先度であることを特徴とする請求項1に記載の巡回経路探索機能を有するナビゲーションシステム。
【請求項3】
前記巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯であることを特徴とする請求項1に記載の巡回経路探索機能を有するナビゲーションシステム。
【請求項4】
前記巡回順序に応じた経路コストは、少なくとも、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量の1つを考慮して算出した距離または時間であることを特徴とする請求項1に記載の巡回経路探索機能を有するナビゲーションシステム。
【請求項5】
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索する際、2地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶することを特徴とする請求項1に記載の巡回経路探索機能を有するナビゲーションシステム。
【請求項6】
複数の地点を巡回する巡回経路探索機能を有する経路探索サーバであって、
巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する入力手段と、2地点間の経路を探索する2地点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、とを備え、
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めることを特徴とする巡回経路探索機能を有する経路探索サーバ。
【請求項7】
前記巡回対象の地点の制約条件は、当該地点の巡回順序の優先度であることを特徴とする請求項6に記載の巡回経路探索機能を有する経路探索サーバ。
【請求項8】
前記巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯であることを特徴とする請求項6に記載の巡回経路探索機能を有する経路探索サーバ。
【請求項9】
前記巡回順序に応じた経路コストは、少なくとも、日時、渋滞情報、道路種別、巡航速度、混雑度、積載量の1つを考慮して算出した距離または時間であることを特徴とする請求項6に記載の巡回経路探索機能を有する経路探索サーバ。
【請求項10】
前記2地点間経路探索手段は、巡回対象の2地点間全ての最短経路を探索する際、2地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶することを特徴とする請求項6に記載の巡回経路探索機能を有す経路探索サーバ。
【請求項11】
複数の地点を巡回する巡回経路探索方法であって、
巡回対象の地点の位置情報および/または巡回対象の地点の制約条件を入力する入力手段と、2地点間の経路を探索する2地点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、とを備え、
前記2地点間経路探索手段が、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶するステップと、
前記巡回経路探索手段が、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出するステップと、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えるステップと、を含み巡回経路探索を進めることを特徴とする巡回経路探索方法。
【請求項12】
前記2地点間経路探索手段が最短経路を探索してその最適経路および経路コストを記憶するステップは、2地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶する処理を含むことを特徴とする請求項11に記載の巡回経路探索方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図14】
【図15】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図14】
【図15】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2007−187584(P2007−187584A)
【公開日】平成19年7月26日(2007.7.26)
【国際特許分類】
【出願番号】特願2006−6703(P2006−6703)
【出願日】平成18年1月13日(2006.1.13)
【出願人】(500168811)株式会社ナビタイムジャパン (410)
【Fターム(参考)】
【公開日】平成19年7月26日(2007.7.26)
【国際特許分類】
【出願日】平成18年1月13日(2006.1.13)
【出願人】(500168811)株式会社ナビタイムジャパン (410)
【Fターム(参考)】
[ Back to top ]