(57)【要約】【課題】巡回すべき多数の地点を複数の分割グループに分け、各分割グループ内の各地点を巡回する分割巡回経路のコストがほぼ均等になるように、同時に各分割巡回経路を探索する。【解決手段】地点分割手段２１０が分割数に従って巡回対象の各地点を分割グループに分け、巡回対象の全ての２地点間の最短経路を探索し記憶しておき、ＧＡ処理手段１５５が遺伝アルゴリズムを用いて分割グループ内の各地点の巡回経路の評価値を経路コストの和として算出し、評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて分割巡回経路探索を進め、ＳＡ処理手段２１１がシミュレーテッドアニーリング法により、所定の試行回数に達するか、指定試行回数の間、前記最良解が更新されなくなるまで、任意の複数の分割グループ内の任意の各１つの地点を選択して分割グループを入れ換え、ＧＡ処理手段１５５が探索した評価値を評価して前記最良解を更新する。【選択図】図１
2007241340.tif 000002
【特許請求の範囲】
【請求項１】
複数の地点を任意の分割数Ｎで分割した分割グループごとに当該分割グループ内の地点を巡回する分割巡回経路を探索するＮ分割巡回経路探索システムであって、
前記分割数、巡回対象の地点の位置情報を入力する入力手段と、２地点間の経路を探索する２地点間経路探索手段と、分割数に基づいて複数の巡回対象の地点を分割数に応じた分割グループに分割する地点分割手段と、分割グループごとに分割グループ内の各地点を巡回する巡回経路を探索する巡回経路探索手段と、巡回経路探索手段が探索した評価値をシミュレーテッドアニーリング法により評価して最良解を更新するＳＡ処理手段と、を備え、
前記２地点間経路探索手段は、巡回対象の２地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に基づく評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進め、
前記ＳＡ処理手段は、所定の試行回数に達するか、指定試行回数の間、前記最良解が更新されなくなるまで、前記地点分割手段により任意の複数の分割グループ内の任意の各１つの地点を選択して分割グループを入れ換えて分割グループを再設定し、前記巡回経路探索手段が探索した評価値を評価して前記最良解を更新することを特徴とするＮ分割巡回経路探索システム。
【請求項２】
前記入力手段は、更に、前記巡回対象の地点の制約条件を入力する手段を備え、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めることを特徴とする請求項１に記載のＮ分割巡回経路探索システム。
【請求項３】
前記巡回対象の地点の制約条件は、当該地点の巡回順序の優先度であることを特徴とする請求項２に記載のＮ分割巡回経路探索システム。
【請求項４】
前記巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯であることを特徴とする請求項２に記載のＮ分割巡回経路探索システム。
【請求項５】
前記２地点間経路探索手段は、巡回対象の２地点間全ての最短経路を探索する際、２地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶することを特徴とする請求項１または請求項２に記載のＮ分割巡回経路探索システム。
【請求項６】
複数の地点を任意の分割数Ｎで分割した分割グループごとに当該分割グループ内の地点を巡回する分割巡回経路を探索する経路探索サーバであって、
前記分割数、巡回対象の地点の位置情報を入力する入力手段と、２地点間の経路を探索する２地点間経路探索手段と、分割数に基づいて複数の巡回対象の地点を分割数に応じた分割グループに分割する地点分割手段と、分割グループごとに分割グループ内の各地点を巡回する巡回経路を探索する巡回経路探索手段と、巡回経路探索手段が探索した評価値をシミュレーテッドアニーリング法により評価して最良解を更新するＳＡ処理手段と、を備え、
前記２地点間経路探索手段は、巡回対象の２地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に基づく評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進め、
前記ＳＡ処理手段は、所定の試行回数に達するか、指定試行回数の間、前記最良解が更新されなくなるまで、前記地点分割手段により任意の複数の分割グループ内の任意の各１つの地点を選択して分割グループを入れ換えて分割グループを再設定し、前記巡回経路探索手段が探索した評価値を評価して前記最良解を更新することを特徴とする経路探索サーバ。
【請求項７】
前記入力手段は、更に、前記巡回対象の地点の制約条件を入力する手段を備え、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めることを特徴とする請求項６に記載の経路探索サーバ。
【請求項８】
前記巡回対象の地点の制約条件は、当該地点の巡回順序の優先度であることを特徴とする請求項７に記載の経路探索サーバ。
【請求項９】
前記巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯であることを特徴とする請求項７に記載のＮ分割巡回経路探索システム。
【請求項１０】
前記２地点間経路探索手段は、巡回対象の２地点間全ての最短経路を探索する際、２地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶することを特徴とする請求項６または請求項７に記載の経路探索サーバ。
【請求項１１】
複数の地点を任意の分割数Ｎで分割した分割グループごとに当該分割グループ内の地点を巡回する分割巡回経路を探索するＮ分割巡回経路探索システムにおけるＮ分割巡回経路探索方法であって、
前記Ｎ分割巡回経路探索システムは、前記分割数、巡回対象の地点の位置情報を入力する入力手段と、２地点間の経路を探索する２地点間経路探索手段と、分割数に基づいて複数の巡回対象の地点を分割数に応じた分割グループに分割する地点分割手段と、分割グループごとに分割グループ内の各地点を巡回する巡回経路を探索する巡回経路探索手段と、巡回経路探索手段が探索した評価値をシミュレーテッドアニーリング法により評価して最良解を更新するＳＡ処理手段と、を備え、
前記２地点間経路探索手段が、巡回対象の２地点間全ての最短経路を探索してその最適経路および経路コストを記憶するステップと、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に基づく評価値を算出するステップと、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えるステップと、を含む巡回経路探索を進めるステップと、
前記ＳＡ処理手段が、所定の試行回数に達するか、指定試行回数の間、前記最良解が更新されなくなるまで、前記地点分割手段により任意の複数の分割グループ内の任意の各１つの地点を選択して分割グループを入れ換えて分割グループを再設定するステップと、前記巡回経路探索手段が探索した評価値を評価して最良解を更新するステップと、を有することを特徴とするＮ分割巡回経路探索方法。
【請求項１２】
前記入力手段は、更に、前記巡回対象の地点の制約条件を入力する手段を備え、
前記巡回経路探索手段が、巡回順序に応じた経路コストの和に基づく評価値を算出するステップと、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出する処理を含むことを特徴とする請求項１１に記載のＮ分割巡回経路探索方法。
【請求項１３】
前記２地点間経路探索手段が、巡回対象の２地点間全ての最短経路を探索してその最適経路および経路コストを記憶するステップは、２地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶する処理を含むことを特徴とする請求項１１または請求項１２に記載のＮ分割巡回経路探索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め定められた複数の地点を経由して巡回するための効率的な経路を探索する巡回経路探索機能を有する経路探索システムおよび経路探索サーバおよび巡回経路探索方法に関するものであり、特に、巡回する地点が広域にわたり数多く存在する場合に、地点を複数の分割グループに分け、各分割グループ内の分割巡回経路のコストがほぼ均等になるように、同時に各分割巡回経路を探索するようにしたＮ分割巡回経路探索システム、経路探索サーバおよびＮ分割巡回経路探索方法に関するものである。
【背景技術】
【０００２】
従来から、地図データ、道路データを用いて、所望の出発地から目的地までの経路を探索して利用者を案内するナビゲーション装置、ナビゲーションシステムが知られている。
このようなナビゲーション装置、ナビゲーションシステムとしては自動車に搭載して運転者に経路を案内するカーナビゲーション装置（以下、カーナビという）、携帯電話をナビゲーション端末として利用して経路探索サーバに経路探索要求を送り、その結果を受信して経路案内を受ける通信型のナビゲーションシステムなどが実用化されている。
【０００３】
上記カーナビは、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ：全地球測位システム）を利用したものであり、地球上を周回している複数のＧＰＳ衛星から送信されるＧＰＳ信号をＧＰＳアンテナで受信し、該ＧＰＳ信号に含まれる衛星位置や時計情報等を解析して位置の特定化を行うものである。該複数のＧＰＳ衛星の個数は少なくとも４個以上必要である。ＧＰＳの単独測位精度は一般的に１０ｍ強であるが、ＤＧＰＳ（Ｄｉｆｆｅｒｅｎｔｉａｌ  ＧＰＳ：ディファレンシャルＧＰＳ）を採用することにより５ｍ以下に向上する。特に、従来は一部の携帯電話にしか搭載されていない測位ユニット、例えば、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）衛星からの信号を受信して測位するＧＰＳ受信機などが、第三世代と称される携帯電話では全ての機種に搭載されるような趨勢にある。
【０００４】
一般的なナビゲーション装置、通信ナビゲーションシステムに使用される経路探索装置、経路探索方法は、例えば、下記の特許文献１（特開２００１−１６５６８１号公報）に開示されている。このナビゲーションシステムは、携帯ナビゲーション端末から出発地と目的地の情報を経路探索サーバに送り、経路探索サーバで道路網や交通網のデータから探索条件に合致した経路を探索して案内するように構成されている。探索条件としては、出発地から目的地までの移動手段、例えば、徒歩、自動車、鉄道と徒歩の併用などがあり、これを探索条件の１つとして経路探索する。
【０００５】
経路探索サーバは、地図データの道路（経路）をその結節点、屈曲点の位置をノードとし、各ノードを結ぶ経路をリンクとし、全てのリンクのコスト情報（距離や所要時間）をデータベースとして備えている。そして、経路探索サーバは、データベースを参照して、出発地のノードから目的地のノードに至るリンクを順次探索し、リンクのコスト情報が最小となるノード、リンクをたどって案内経路とすることによって最短の経路を携帯ナビゲーション端末に案内することができる。このような経路探索の手法としてはラベル確定法あるいはダイクストラ法と言われる手法が用いられる。上記特許文献１には、このダイクストラ法を用いた経路探索方法も開示されている。
【０００６】
ところで、経路探索において所望の２地点間の最適経路を探索する場合の他、所望の出発地から目的地までの間に所定の複数の地点を経由地として巡回する経路を探索する巡回経路探索が必要になる場合がある。このような経路探索は、例えば、物品の配送作業やセールスマンが複数の顧客場所を巡回する作業において必要になる。このような経路探索を巡回経路探索という。
【０００７】
巡回経路探索は、ｎ個の頂点を持つ完全グラフＧ（Ｖ、Ｅ）が与えられたとき、du,vを辺 (u, v) ∈Eのコストとすると、ある頂点s ∈Vから出発し、他の頂点を全て一度ずつ訪問して、最後に目的地eへ到達する経路を求めることを目的としている。ここで、一般的な配送などの業務の効率を考えた場合、なるべく巡回する経路の総コストが小さくなることが望まれる。この巡回経路を探索する課題は、ＮＰ困難な問題として知られている。
【０００８】
ＮＰ困難な問題とは、アルゴリズムの時間複雑度が指数時間となる問題、つまり、その問題を解くためのアルゴリズムにおいて必要なステップ数に関する漸近的な限界がO(cn)（ただし、cは1より大きい実数、nは問題の規模）となるものをいう。
たとえば、出発地と目的地を含まない巡回地点数がnの場合、最適な巡回経路を求めるための巡回経路探索回数は、n！となる。つまり、１０地点を巡回する場合の探索回数は、（１０×９×８×７×６×５×４×３×２×１）＝３６２８８０回となる。
ちなみに出発地を巡回地数に含め、かつ出発地に戻ってくる場合の巡回経路探索回数は（ｎ−１）！／２となる。
【０００９】
図３３は、１０ＴＦｌｏｐｓ（１秒間に１０１３回浮動小数点演算が可能）のスーパーコンピュータを用いて上記のような巡回経路探索を、巡回数を代えて行った場合の各巡回数に対する巡回経路総数と計算時間を示す。１０ＴＦｌｏｐｓのスーパーコンピュータは、例えば、Pentium（登録商標名）4-1.8ＧＨｚのパソコン５０００台分程度の演算能力を持つものである。
【００１０】
図３３に示したように、巡回経路探索は、巡回地点が多くなると現在の一般的な演算処理装置で総当り演算を行うと膨大な演算が必要となり現実的には困難であるという問題点があるため、一般的には「遺伝アルゴリズム」と言われるアルゴリズムなどを用いて近似解を求めることが行われる。
【００１１】
例えば、下記の特許文献２（特開２０００−１７２６６４号公報）、特許文献３（特開平８−２０２６７５号公報）に、遺伝アルゴリズムを用いた巡回経路探索の技術が開示されている。
【００１２】
遺伝アルゴリズムは、生物の進化過程（交叉、突然変異等）をモデルとして、確率的に解を探索しようとする手法である。まずここで遺伝アルゴリズムについて説明する。遺伝アルゴリズムについて、例えば、下記の非特許文献１（ David E. Goldの「Genetic Algorithms in Search, Optimization and Machine Learning」(Addison Wesley社）に詳細が開示されている。
【００１３】
遺伝アルゴリズムでは、入力値として、ｘ個のビット列Ｂ＝(Ｂ１、Ｂ２、…、ＢＸ)、（あるいは省略して単に、Ｂ１Ｂ２…ＢＸとも記す）の集合Ｐが与えられる。集合Ｐの元（ｘ個のビット列）の個数をｎとし、各元を遺伝子、集合Ｐを個体群と呼ぶ。集合Ｐの各元は、与えられた問題の解をそれぞれ表現しており、遺伝アルゴリズムでは、生物の進化過程に倣った繰り返し処理を集合Ｐに加え、最適解を得ようとする。
【００１４】
遺伝アルゴリズムにおける処理の概要は次のようである。まず、ランダムに生成した遺伝子の集合として個体群を構成する。これを初期個体群と呼ぶ。次に、問題に応じて与えられた評価尺度（評価関数）にしたがって、個体群中の各遺伝子において解としての良さを評価し、その結果を遺伝子ごとに評価値として表す。そして、求めた評価値にしたがって、評価の低い遺伝子を減らし、その分、評価の良い遺伝子を増やす。その結果、評価の良い遺伝子ほど個体群Ｐに占める割合が高くなる。このような現象を「淘汰」と呼ぶ。この遺伝子の淘汰の処理は下記のようにして行われる。
【００１５】
まず、ランダムに生成された個体群から２つの遺伝子を、例えばランク方式やルーレット方式などの方法により選択し、それらの遺伝子を成すビット列の一部を交換する。この操作を「交叉」と呼ぶ。この交叉は、予め設定された交叉率により繰り返す回数が決定される。交叉によって新しく生成される遺伝子の数は、この交叉率に遺伝子数ｎを乗じた数となる。続いて、通常低い確率で設定される突然変異率にしたがい交叉によって得られた遺伝子を少し変更する。この操作を「突然変異」と呼ぶ。突然変異の方法としては、例えば遺伝子のビット列の一部をビット反転するなどの方法が知られている。
【００１６】
交叉・突然変異などの操作が完了したら、個体群中の各遺伝子において解としての良さを評価し、その評価結果にしたがい次の個体群を生成する。新たな個体群は、上述の操作によって作られた個体群と以前の個体群において、良い評価値を持つ遺伝子を遺伝子数ｎ分だけ抽出することによって生成される。この１回の淘汰、すなわち交叉・突然変異及び新たな個体群の生成の１回のサイクルが「世代」に相当する。このような上述の処理を繰り返すことで個体群の世代が進み、個体群の各遺伝子が淘汰されることで、個体群内の各遺伝子は、与えられた問題の最適解あるいは準最適解に達する。
【００１７】
上記の遺伝アルゴリズムを複数の地点を巡回する経路探索に用いる場合、１つの遺伝子は出発地、目的地を含んだ１つの巡回経路となる。例えば、出発地から全ての巡回地点を１度だけ通り目的地に至る巡回経路を探索する場合、まず出発地から各巡回地点を通り目的地に至る経路をランダムに複数作成する。これらの複数の遺伝子は個体群として保存され、集合Ｐ０が形成される。集合Ｐ０における各遺伝子の評価値は、設定した各地点間の経路コスト（時間および／または距離）の総和になる。
【００１８】
次に、集合Ｐ０から選択した２つの遺伝子から新しい遺伝子を生成し、その遺伝子の評価値を求める。例えば、ルーレット方式で新しい集合Ｐ１を作成する場合は、良い評価値を持つ遺伝子ほど高い確率で集合Ｐ０から選択される。つまり、良い評価値を持つ遺伝子ほど新しい遺伝子を生成するための種となりやすいということである。ここで選択された２つの遺伝子（巡回経路）において巡回順の一部を入れ換えて新たな遺伝子を作成し、かつ低い確率で突然変異を行い、その評価値を求める。
【００１９】
この新しい遺伝子の評価値が、集合Ｐ０における最も評価値が悪い遺伝子より良い評価値を持っていれば、この遺伝子を入れ換える。集合Ｐ１は、このような操作を１世代分行うことによって得られる。この処理を繰り返して世代交代を行い、世代交代が予め設定した所定の回数に達するか、評価値が収束すれば処理を終了し、最後に得られた集合ＰＮにおける最良の評価値を持つ遺伝子（巡回経路）が最適解または準最適解となる。
【００２０】
一般的に巡回経路探索は、物品の配送や送迎の業務を効率化することを目的としているため、必ずしも最適解が必要というわけでない。つまり、準最適解でも十分有用であるということである。一般的な業務においては、最適な巡回経路を求めなくとも人間が考える経路よりも良い結果を導き出すことができれば良い。あるいは、巡回経路探索装置を使用することによって人間が経路を考えるという労力を少なくするができるため、これだけでも業務の効率化を行うことが可能である。これらのことも、巡回経路探索に近似解法が適用される1つの要因となっている。
【００２１】
巡回経路を求める演算は非常に計算量が多く困難を極めるため、人間の勘に頼るか、あるいは現在地を中心に周回するだけの経路を求めることで妥協する例も見られる。また、単純な巡回経路探索は、なるべく短い巡回経路を求めることが目的となっており実際の利用状況にそぐわない場合がある。
たとえば、
１）巡回地点に順番の優先条件がある場合
２）巡回地点に立ち寄る時刻条件がある場合
３）巡回地点に順番の優先条件と立ち寄る時刻条件がある場合
である。
【００２２】
物品の集荷や配送における経路決定においては巡回する地点の間に順序の制約（優先条件）がある。つまり物品を配送する場合、集荷と配達があるので、巡回経路を探索する場合には集荷と配達の順番を満たさなければならない。そのため上記遺伝アルゴリズムを適用した単純な巡回経路探索では満足できる結果が得られないという問題点があった。このような問題点は特開２００５−２６３４４７号公報においても課題として開示されている。
【００２３】
別の例を挙げると、過疎地において１台の車両で複数の住民の移動の希望を同時に満たすために乗り合いバスを運行する場合が該当する。それぞれの住民の乗車希望位置と下車希望位置が巡回地点になるが、乗車→下車の順番が条件となるので、純粋な巡回経路探索では解が求められない。（乗車と下車の順番が逆になるとその住民は利用できない）。
このようなケースにおいては、巡回する必要のある地点が１０地点とすると、巡回地 Ｒ∈｛ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｉ，ｊ}のとき、地点ｃはａより後、あるいは地点ｄ，ｃは地点ｈ，ｉ，ｊより後に巡回するというような条件を同時に満足する巡回経路を導き出すことが求められる。
【００２４】
巡回地点に時間的制約（優先条件）があるケースとは、例えば、巡回地点がある決まった時間にしか立ち入ることができないビル内にあるようなケースである。物品の配送の例でいえば、立ち入りの時間が限られるビル内に設置された自動販売機に商品を配送するようなケースである。
つまり、このような経路探索においては、出発地の出発時刻あるいは到着地の到着時刻を基準とする巡回地点の到着希望時刻などの条件を満たす巡回経路を導き出すことが求められるのである。
【００２５】
また、上記のような順序の制約と時間の制約が同時に存在する場合もある。このようなケースは、例えば、上記の過疎地における乗合バス運行の巡回経路探索において、過疎地の住民が乗車希望位置と下車希望位置と、乗車または下車の希望時刻まで条件設定できる巡回経路探索というテーマにも発展するものである。しかしながら、単純に遺伝アルゴリズムを用いて巡回経路探索を行っても、巡回地点に上記のような制約条件がある場合に効率的ない巡回経路を求めることはできない。
【００２６】
本願の発明者は、巡回すべき複数の地点に順序および／または時間的な制約がある場合に、当該制約を満足し得る巡回経路を探索できるようにした巡回経路探索システムを得る目的で、既に特願２００６−００６７０３号の発明についての特許出願を行っている。
この特願２００６−００６７０３号（以下、「先願１」という。）に開示された発明は、巡回対象の地点の位置情報および／または巡回対象の地点の制約条件を入力する操作・入力手段と、２地点間の経路を探索する２点間経路探索手段と、複数の巡回対象の地点を巡回する巡回経路を探索する巡回経路探索手段と、を備え、２地点間経路探索手段は、巡回対象の２地点間全ての最短経路を探索して記憶し、巡回経路探索手段は遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めるようにしたことを特徴としている。
【００２７】
この先願１の巡回経路探索システムは、各巡回地点において順序的制約および時間的制約の条件を入力し、遺伝アルゴリズムを用いて評価値を算出する際に経路コストに加えて、各巡回地点に設定された順序的制約、時間的制約条件に基づく制約コストを付加して算出することに特徴がある。この制約に基づくコストは、順序制約や時間制約を違反した巡回地の数によって変化する。これにより、巡回地点に制約が付されている場合の巡回経路を算出することができるようになる。
【００２８】
図３４、図３５は、この先願１の遺伝アルゴリズムを用いた巡回経路探索処理の概念を説明するための模式図である。図３４、図３５において、出発地ＳＴから巡回地点Ｘ１〜Ｘ６を巡回して目的地ＧＬに至る巡回経路を探索する例を示し、巡回地点Ｘ２とＸ６には順序の条件としてＸ５の巡回順の優先度がＸ２より高い：Ｘ５はＸ２より先に巡回するという条件）が付加されている。
【００２９】
図３４に示すランダムに生成された初期個体群における１つの遺伝子Ｇ０が表す巡回経路の評価値として、まず経路コストの総和が加算される。評価値は経路コストの総和である。全ての２地点間の最適経路の経路コストは、２点間経路探索において探索し、その結果は保存されている。ここで、巡回地点Ｘ２とＸ５は順序制約があり、Ｘ５の巡回順の優先度がＸ２より高いので、順序制約を違反している巡回地点数がカウントアップされる。
【００３０】
この制約違反の総数を予め設定した順序制約の重みで割り、それに経路コストを乗じることによって制約コストが求まる。ここで順序制約の重みは通常１とするが、順序に関する制約を強めたい場合は０．１〜０．９程度の値を、弱めたい場合は１．１〜１．９程度の値を設定する。この制約コストと予め求めた経路コストを加算することによって、この遺伝子の評価値が決定する。巡回地点に時間的制約が存在する場合も同様である。
【００３１】
次いで、初期個体群から２つの遺伝子を選択し、新たに生成した遺伝子Ｇ１が表す巡回経路を図３５に示す。この遺伝子では、上述の遺伝子が表す巡回経路における巡回地点Ｘ２とＸ５が交換された形となっている。この遺伝子の評価値を先と同様にして算出する。ここで得た評価値が、初期個体群における遺伝子より良い評価値であれば遺伝子集団に加え新たな遺伝子を保存し、悪い評価値であれば遺伝子集団に加えず破棄する。
【００３２】
このような処理を繰り返し、全ての遺伝子の評価値が同じになるか、最も良い遺伝子の評価値が集団の平均評価値とほぼ同じである状態に収束したならば、最も良い評価値を持つ遺伝子が巡回地点Ｘ１〜Ｘ６を巡回する最適解、または、準最適解になる。
【００３３】
また、ＮＰ困難な問題のような最適化問題を解くための他の解法として「シミュレーテッドアニーリング」と言われるアルゴリズムも知られている。最適化問題とは、与えられた制約条件のもとでその評価関数を最大または最小にする最適解を求める問題のことを言い、シミュレーテッドアニーリングもまた遺伝アルゴリズムと同様に、汎用的な確率的アルゴリズムによって準最適解を求める解法である。
【００３４】
この解法は、例えば、下記の非特許文献２（S. Kirkpatrick, C. D. Gelatt Jr., and J. P. Vecchi.著 「Optimaization by simulated annealing」（Science, 220(4598): 671-680, 1983.年発行））にシミュレーティドアニーリング法（ＳＡ法）といわれる組み合わせ最適化問題の解法が開示されており、様々な分野で用いられている。
【００３５】
シュミレーテッドアニーリング（以下、単にＳＡという）は、金属の焼き鈍しという物理現象にヒントを得て開発されたアルゴリズムであり、ＳＡにおいては目的関数をエネルギー関数と呼び、現在の解から求められた範囲内に確率的に次の候補解を生成する。この候補解が現在の解に比べて良い評価値となる場合にはその解に遷移する。また、評価値が悪くなる場合でも、例えば、温度というパラメータで決定される確率でその解に遷移する。
【００３６】
これを、前述した経路探索における遺伝アルゴリズムと比較すると、エネルギー関数は１つの巡回経路の経路コスト総和に相当する評価値関数であり、現在の解から求められた範囲内で確率的に次の候補解を生成する過程が遺伝的操作過程に相当する。そして候補解の遺伝子が初期解の遺伝子より良い遺伝子であればその遺伝子を保存して、遺伝的操作過程を繰り返し、最も良い遺伝子を持つ解も求めるのが遺伝アルゴリズムである。
【００３７】
一方、ＳＡ法においては新しい解の評価値が最良解の評価値より悪かった場合、最良解の更新は行わないが、次回の探索に、この新しい解を採用するかどうかは、次のような確率に基づいて決定する。
Random() < e−△Cost/T
このとき、ΔCostは 新しい解の評価値と現在の解の評価値の差分値、温度Tは探索回数が増加するにつれて減少するパラメータとする。
【００３８】
ここで、ΔCost > 0と仮定、すなわち評価値が低い方が良い解と定義すると、所定のパラメータ温度Tが高い場合（T≒∞）、e−△Cost/T≒1となり、上記の条件式Random() < e−△Cost/Tが成り立つ（真となる）確率は1に近づいてゆく。しかし、温度Tが下がる（T→0）につれてe−△Cost/Tは1→0へと低下し、Random() < e−△Cost/Tが成り立つ（真となる）確率は0へ近づく。前記のように温度Tに従い、Random() < e−△Cost/Tを満たす場合は新しい解を次回の探索に使用する。そうでない場合は、以前に採用した解を次回の探索に使用する。このＳＡ法の特徴をまとめると次のようになる。
【００３９】
・探索が進むにつれて最良解より悪い解を次回の探索に使用する確率が小さくなる。
・探索の初期は、これまでに発見した最良解を利用せず、新しく生成した解を利用する確率が高い。つまり、探索の初期は、幅広く解の探索を行う。
・探索が進むにつれて、新しく生成した解を利用せず、最良解を次回の探索に利用するようになる。つまり、だんだん手堅く良い解を得られる方を採用するようになる。この段々と良い解を採択するようになるという所が、焼きなまし法という名前の由来となっている。
以上のようにパラメータ温度Tと評価値の差分によって与えられる確率によって悪い遺伝子を持つ解をも保存する処理が行われる点が遺伝的アルゴリズムとは異なる。
【００４０】
ＳＡ法は、このように悪い遺伝子を持つ解も保存することから、処理の初期段階で陥りやすい、局所的最適解、良くない遺伝子を採択する可能性からの脱出を助けるという利点、また、初期解の影響も少なく大域的最適解を得ることができるという利点がある。
【００４１】
【特許文献１】特開２００１−１６５６８１号公報（図１、図２）
【特許文献２】特開２０００−１７２６６４公報
【特許文献３】特開平８−２０２６７５号公報
【非特許文献１】David E. Gold著、「Genetic Algorithms in Search, Optimization and Machine Learning」(Addison Wesley社  １９８９年発行)
【非特許文献２】S. Kirkpatrick, C. D. Gelatt Jr., and J. P. Vecchi.著 「Optimaization by simulated annealing」（Science, 220(4598): 671-680, 1983.年発行）
【発明の開示】
【発明が解決しようとする課題】
【００４２】
ところで、効率的な巡回経路を探索する目的は、先に述べたように物品の配送や送迎の業務を効率化することを目的としている。このような業務の場合、比較的広い地理的範囲に多数の巡回すべき地点が点在していることが多い。上記の先願１による巡回経路探索によれば、全ての巡回すべき地点をただ１人またはただ１台の配送車両により巡回する場合に、巡回地点に順序的あるいは時間的制約条件があっても当該制約条件を満足する効率的な巡回経路を求めることができる。
【００４３】
しかしながら、比較的広い地理的範囲に多数の巡回すべき地点が点在している場合に、全ての巡回地点をただ１人またはただ１台の配送車両により巡回することは、現実的には困難な場合が多く、数人または数台の配送車両を用いて担当する巡回地点を分担して巡回するように考慮する必要がある。すなわち、全ての巡回地点をＮ分割して分割されたグループ内の効率的な巡回経路を探索する必要がある。このような場合、分割された巡回地点を巡回する巡回経路は、巡回する時間、巡回する距離などに格差がなく、略均等であることが好ましい。なぜならば、各作業者や配送車両にかかる負荷を均等にすることができるからである。
【００４４】
予め全ての巡回地点を分割してグループ化する際、当該グループ分けされた地点を巡回する巡回経路をその負荷が均等になるように巡回地点を分割することは極めて困難なものであり、一般的には、地理的なエリアを均等に分割したり、地理的なエリア内に含まれる巡回地点の数を均等にしたりするなどの分割方法がとられる。巡回地点が分割されれば、先願１のような巡回経路探索を行って効率的な巡回経路を求めることはできるが、求められた各グループの巡回経路の負荷が均等になる保証はない。一般的には負荷が均等にならない場合が殆どであると考えられる。
【００４５】
特に、巡回すべき地点の間に時間的制約、順序的制約があった場合、問題はもっと複雑になり、均等な負荷になる巡回経路を求めるような巡回地点の分割はより一層困難になるという問題点がある。
【００４６】
このため、人間が手動で試行錯誤的に巡回地点の分割（分割グループに含まれる地点の組み合わせ）を変更し、遺伝アルゴリズムを適用して各分割グループにおけるそれぞれの巡回経路を探索したとしても、巡回地点の分割を正確に行わなければ、各分割グループにおける巡回経路の経路コストを均等にすることはできず、試行錯誤的な分割の変更前と変更後において、各分割グループのそれぞれの巡回経路の遺伝子が必ずしも良い遺伝子になるとは限らないという問題点がある。また、巡回地点数が多ければ多いほど、各分割グループへの巡回地点の割り当てパターンも増加するため、手動での試行錯誤的な巡回地点の分割は現実的ではない。
【００４７】
本願の発明者は上記の問題点を解消すべく種々検討を重ねた結果、巡回対象の地点をグループ分けする分割グループ数の入力手段を設け、分割数に従って巡回対象の各地点を重複することなく何れかの分割グループに分け、巡回対象の全ての２地点間の最短経路を探索し記憶しておき、遺伝アルゴリズムを用いて分割グループ内の各地点の巡回経路の評価値を経路コストの和として算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて分割巡回経路探索を進め、シミュレーテッドアニーリング法により、所定の試行回数に達するか、指定試行回数の間、前記最良解が更新されなくなるまで、任意の複数の分割グループ内の任意の各１つの地点を選択して分割グループを入れ換えて分割グループを再設定し、前記巡回経路探索手段が探索した評価値を評価して前記最良解を更新するようになせば上記の問題点を解消し得ることに想到して本発明を完成するに至ったものである。
【００４８】
また、その際、巡回対象の地点の制約条件を入力する手段を設け、巡回経路探索手段は遺伝的アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和だけでなく、巡回対象の地点の制約条件に対する評価値を加味して算出して、この評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めるようになせば、巡回地点に順序的あるいは時間的な制約条件がある場合に、巡回地点を複数のグループに分割し、全ての巡回地点に設けられた当該制約条件を加味した効率的な巡回経路を探索することができることに想到して本発明を完成するに至ったものである。
【００４９】
すなわち、本発明は上記の問題点を解消することを目的とし、巡回する地点が広域にわたり数多く存在する場合に、地点を複数の分割グループに分け、各分割グループ内の分割巡回経路のコストがほぼ均等になるように、同時に各分割巡回経路を探索するようにしたＮ分割巡回経路探索システム、経路探索サーバおよびＮ分割巡回経路探索方法を提供することを第１の目的とするものである。
【００５０】
また、本発明は、巡回する地点が広域にわたり数多く存在し、巡回地点に順序的あるいは時間的な制約条件があっても、巡回地点を複数のグループに分割し、全ての巡回地点に設けられた当該制約条件を加味した効率的な、かつ、各巡回経路の経路コストがほぼ均一になる分割巡回経路を探索するようにしたＮ分割巡回経路探索システム、経路探索サーバおよびＮ分割巡回経路探索方法を提供することを第２の目的とするものである。
【課題を解決するための手段】
【００５１】
前記課題を解決するために、本願の請求項１にかかる発明は、
複数の地点を任意の分割数Ｎで分割した分割グループごとに当該分割グループ内の地点を巡回する分割巡回経路を探索するＮ分割巡回経路探索システムであって、
前記分割数、巡回対象の地点の位置情報を入力する入力手段と、２地点間の経路を探索する２地点間経路探索手段と、分割数に基づいて複数の巡回対象の地点を分割数に応じた分割グループに分割する地点分割手段と、分割グループごとに分割グループ内の各地点を巡回する巡回経路を探索する巡回経路探索手段と、巡回経路探索手段が探索した評価値をシミュレーテッドアニーリング法により評価して最良解を更新するＳＡ処理手段と、を備え、
前記２地点間経路探索手段は、巡回対象の２地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に基づく評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進め、
前記ＳＡ処理手段は、所定の試行回数に達するか、指定試行回数の間、前記最良解が更新されなくなるまで、前記地点分割手段により任意の複数の分割グループ内の任意の各１つの地点を選択して分割グループを入れ換えて分割グループを再設定し、前記巡回経路探索手段が探索した評価値を評価して前記最良解を更新することを特徴とする。
【００５２】
本願の請求項２にかかる発明は、請求項１にかかるＮ分割巡回経路探索システムにおいて、前記入力手段は、更に、前記巡回対象の地点の制約条件を入力する手段を備え、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めることを特徴とする請求項１に記載のＮ分割巡回経路探索システム。
【００５３】
本願の請求項３にかかる発明は、請求項２にかかるＮ分割巡回経路探索システムにおいて、前記巡回対象の地点の制約条件は、当該地点の巡回順序の優先度であることを特徴とする。
【００５４】
本願の請求項４にかかる発明は、請求項２にかかるＮ分割巡回経路探索システムにおいて、前記巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯であることを特徴とする。
【００５５】
本願の請求項５にかかる発明は、請求項１または請求項２にかかるＮ分割巡回経路探索システムにおいて、前記２地点間経路探索手段は、巡回対象の２地点間全ての最短経路を探索する際、２地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶することを特徴とする請求項１または請求項２に記載のＮ分割巡回経路探索システム。
【００５６】
また、本願の請求項６にかかる発明は、
複数の地点を任意の分割数Ｎで分割した分割グループごとに当該分割グループ内の地点を巡回する分割巡回経路を探索する経路探索サーバであって、
前記分割数、巡回対象の地点の位置情報を入力する入力手段と、２地点間の経路を探索する２地点間経路探索手段と、分割数に基づいて複数の巡回対象の地点を分割数に応じた分割グループに分割する地点分割手段と、分割グループごとに分割グループ内の各地点を巡回する巡回経路を探索する巡回経路探索手段と、巡回経路探索手段が探索した評価値をシミュレーテッドアニーリング法により評価して最良解を更新するＳＡ処理手段と、を備え、
前記２地点間経路探索手段は、巡回対象の２地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に基づく評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進め、
前記ＳＡ処理手段は、所定の試行回数に達するか、指定試行回数の間、前記最良解が更新されなくなるまで、前記地点分割手段により任意の複数の分割グループ内の任意の各１つの地点を選択して分割グループを入れ換えて分割グループを再設定し、前記巡回経路探索手段が探索した評価値を評価して前記最良解を更新することを特徴とする。
【００５７】
本願の請求項７にかかる発明は、請求項６にかかる経路探索サーバにおいて、前記入力手段は、更に、前記巡回対象の地点の制約条件を入力する手段を備え、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進めることを特徴とする。
【００５８】
本願の請求項８にかかる発明は、請求項７にかかる経路探索サーバにおいて、前記巡回対象の地点の制約条件は、当該地点の巡回順序の優先度であることを特徴とする。
【００５９】
本願の請求項９にかかる発明は、請求項７にかかる経路探索サーバにおいて、前記巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯であることを特徴とする。
【００６０】
本願の請求項１０にかかる発明は、請求項６または請求項７にかかる経路探索サーバにおいて、前記２地点間経路探索手段は、巡回対象の２地点間全ての最短経路を探索する際、２地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶することを特徴とする経路探索サーバ。
【００６１】
また、本願のか請求項１１にかかる発明は、
複数の地点を任意の分割数Ｎで分割した分割グループごとに当該分割グループ内の地点を巡回する分割巡回経路を探索するＮ分割巡回経路探索システムにおけるＮ分割巡回経路探索方法であって、
前記Ｎ分割巡回経路探索システムは、前記分割数、巡回対象の地点の位置情報を入力する入力手段と、２地点間の経路を探索する２地点間経路探索手段と、分割数に基づいて複数の巡回対象の地点を分割数に応じた分割グループに分割する地点分割手段と、分割グループごとに分割グループ内の各地点を巡回する巡回経路を探索する巡回経路探索手段と、巡回経路探索手段が探索した評価値をシミュレーテッドアニーリング法により評価して最良解を更新するＳＡ処理手段と、を備え、
前記２地点間経路探索手段が、巡回対象の２地点間全ての最短経路を探索してその最適経路および経路コストを記憶するステップと、
前記巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に基づく評価値を算出するステップと、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えるステップと、を含む巡回経路探索を進めるステップと、
前記ＳＡ処理手段が、所定の試行回数に達するか、指定試行回数の間、前記最良解が更新されなくなるまで、前記地点分割手段により任意の複数の分割グループ内の任意の各１つの地点を選択して分割グループを入れ換えて分割グループを再設定するステップと、前記巡回経路探索手段が探索した評価値を評価して最良解を更新するステップと、を有することを特徴とする。
【００６２】
本願の請求項１２にかかる発明は、請求項１１にかかるＮ分割巡回経路探索方法において、前記入力手段は、更に、前記巡回対象の地点の制約条件を入力する手段を備え、
前記巡回経路探索手段が、巡回順序に応じた経路コストの和に基づく評価値を算出するステップと、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出する処理を含むことを特徴とする。
【００６３】
本願の請求項１３にかかる発明は、請求項１１または請求項１２にかかるＮ分割巡回経路探索方法において、前記２地点間経路探索手段が、巡回対象の２地点間全ての最短経路を探索してその最適経路および経路コストを記憶するステップは、２地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶する処理を含むことを特徴とする。
【発明の効果】
【００６４】
請求項１にかかる発明においては、２地点間経路探索手段は、巡回対象の２地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に基づく評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進め、ＳＡ処理手段は、所定の試行回数に達するか、指定試行回数の間、前記最良解が更新されなくなるまで、地点分割手段により任意の複数の分割グループ内の任意の各１つの地点を選択して分割グループを入れ換えて分割グループを再設定し、巡回経路探索手段が探索した評価値を評価して最良解を更新する。
【００６５】
このような構成により、複数の地点を任意の分割数Ｎで分割した分割グループごとに当該分割グループ内の地点を巡回する分割巡回経路を探索する際、経路コストがほぼ均等な、複数の分割巡回経路を同時に求めることができるようになる。この結果、配送業務などの効率化、無駄の少ない労働力の活用、配送車両の省エネ効果の向上などが可能になる。
【００６６】
請求項２にかかる発明においては、請求項１にかかるN分割巡回経路探索システムにおいて、巡回経路探索手段は、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に前記巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて、巡回経路探索を進める。
【００６７】
このような構成により、分割グループ内の巡回地点の間に時間的な制約条件や順序的な制約条件がある場合であっても、制約条件を満足する効率的な巡回経路を探索して提供できるようになる。
【００６８】
請求項３にかかる発明においては、請求項２にかかるN分割巡回経路探索システムにおいて、前記巡回対象の地点の制約条件は、当該地点の巡回順序の優先度である。このような構成によれば、遺伝アルゴリズムを用いて複数の巡回地点を巡回する巡回経路を探索する際、巡回地点の間に順序的な制約条件がある場合であっても、制約条件を満足する効率的な巡回経路を探索して提供できるようになる。
【００６９】
請求項４にかかる発明においては、請求項２にかかるN分割巡回経路探索システムにおいて、前記巡回対象の地点の制約条件は、当該地点の巡回時刻または巡回時間帯である。このような構成によれば、遺伝アルゴリズムを用いて複数の巡回地点を巡回する巡回経路を探索する際、巡回地点に時間的な制約条件がある場合であっても、制約条件を満足する効率的な巡回経路を探索して提供できるようになる。
【００７０】
請求項５にかかる発明においては、請求項１にかかるN分割巡回経路探索システムにおいて、２地点間経路探索手段は、巡回対象の２地点間全ての最短経路を探索する際、２地点間の経路を有向リンクとして取り扱い、両方向の経路コストを算出して記憶する。このような構成によれば、都市部のように一方通行路が多い場合、あるいは方向によって著しくコストが異なる経路が存在する場合においても効率のよい巡回経路を探索することができるようになる。
【００７１】
また、請求項６〜請求項１０にかかる発明においては、それぞれ請求項１〜請求項５にかかるN分割巡回経路探索システムを構成する経路探索サーバを提供することができるようになる。また、請求項１１〜請求項１３にかかる発明においては、それぞれ請求項１、請求項２、請求項５にかかるN分割巡回経路探索システムを実現するＮ分割巡回経路探索方法を提供することができるようになる。
【発明を実施するための最良の形態】
【００７２】
以下、本発明の具体例を実施例及び図面を用いて詳細に説明する。但し、以下に示す実施例は、本発明の技術思想を具体化するためのＮ分割巡回経路探索システムを例示するものであって、本発明をこのＮ分割巡回経路探索システムに特定することを意図するものではなく、特許請求の範囲に含まれるその他の実施形態のＮ分割巡回経路探索システムにも等しく適用し得るものである。なお、以下、本明細書においては、Ｎ分割巡回経路探索システムを単に経路探索システムということとする。
【００７３】
本発明の実施例にかかる経路探索システムは、図１に示すように経路探索サーバ１０を備えて構成されている。経路探索サーバ１０は、図示しない端末装置から経路探索要求を受信し、出発地から目的地までの最適経路を探索し、要求元の端末装置に配信する。
【００７４】
経路探索サーバ１０は、制御手段１１０、通信手段１２０、出力・配信手段１３０、経路探索手段１４０、巡回経路探索手段１５０、前処理手段１５１、２点間経路探索手段１５３、ＧＡ処理手段１５５、表示手段１６０、操作・入力手段１７０、地図データ１８０、道路ネットワークデータベース１９０、ガイダンスデータベース２００、地点分割手段２１０などを備えて構成されている。
【００７５】
制御手段１１０は、図示してはいないがＲＡＭ、ＲＯＭ、プロセッサを有するマイクロプロセッサであり、ＲＯＭに格納された制御プログラムにより各部の動作を制御する。通信手段１２０はネットワークを介して端末装置や他のサーバと通信するためのものである。出力・配信手段１３０は、経路探索結果を出力し、あるいは、端末装置に配信するためのものであり、経路データ、ガイダンスデータを端末装置に配信するためのデータに編集する。操作・入力手段１７０は経路探索サーバ１０に所望の入力、操作を行うためのものであり、表示手段１６０は液晶表示ユニットなどから構成され、所定の入力画面を表示する。
【００７６】
地図データ１８０には端末装置に提供する地図情報が蓄積されており、道路ネットワークデータベース１９０には地図データの道路（経路）をその結節点、屈曲点の位置をノードとし、各ノードを結ぶ経路をリンクとし、全てのリンクのコスト情報（距離や所要時間）などがデータベースとして蓄積されている。ガイダンスデータベース２００には、交差点などにおける進行方向案内のための音声データや案内表示画像データが蓄積されている。
【００７７】
経路探索手段１４０は道路ネットワークデータベース１９０を参照して通常の経路探索を行う。巡回経路探索手段１５０は本実施例における巡回経路の探索を行うものである。巡回経路探索手段１５０は、前処理手段１５１、２点間経路探索手段１５３、ＧＡ処理手段１５５を備え、地点分割手段２１０はＳＡ処理手段２１１を備えて構成されている。これらの詳細については後述する。
【００７８】
本実施例においては、Ｎ分割巡回経路探索のモデルを、例えば、荷物の集配の例で説明する。
従来、荷物の配送業務は各地区の担当者を決めておき、その担当者が責任をもって配送するようになっている。従って、荷物の量や配達時間指定によって、各地区の担当者の負荷は毎日変動してしまう。現在ではナビゲーション技術が発達しているので、必ずしも土地勘のある地区担当者のみが配達可能なわけではなくて、ナビゲーション装置が案内すれば、どこにでも配送が可能になっている。従って、地区というエリアで担当者を決めるのではなくて、各担当者の負荷のバランスをとりながら総合的に最も効率の良い配送計画を提供することが好ましい。そこで、配達先や集荷先を巡回地点と考え、それをＮ人で分割した場合の、総合的に最も効率の良い分割巡回経路を求める。
【００７９】
宅配便や郵便は、毎日、異なる地点を巡回して宅配物や郵便物を配送する必要がある。また、１日に巡回しなければならない場所の数は、１人では１日で巡回できないほど多い。このような場合、複数人で該当の配送場所などを巡回する必要がある。つまり、複数の地点を複数人で巡回するために、複数の経路を同時に求めることが要求される。このとき、なるべく経路コストを少なくし、かつ、各経路コストが均等になるように巡回経路を分割できるとよい。また、同時に前述したような各種記の制約条件も考慮して巡回経路探索を行うことで、より実際の業務に即した結果を得ることができる。
【００８０】
そこで、本発明においては、巡回すべき複数の地点を所望の分割グループに分け、遺伝アルゴリズムを用いて分割グループ内の各地点の巡回経路の評価値を経路コストの和として算出し、該評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加えて分割巡回経路探索を進め、シミュレーテッドアニーリング法により、所定の試行回数に達するか、指定試行回数の間、前記最良解が更新されなくなるまで、前記地点分割手段により２つの分割グループ内の任意の各１つの地点を入れ換えて分割グループを再設定し、前記巡回経路探索手段が探索した評価値を評価して前記最良解を更新するように構成して分割巡回経路を探索する。
【００８１】
図２は、経路探索サーバ１０においてＮ分割巡回経路探索を実施する際の端末装置における巡回地点の入力画面である。実施に当たってはそれぞれの業態により最適なユーザインタフェース（ＵＩ）にカスタマイズされるべきであるが、機能のみを簡潔に説明する。この実施例では、出発地はこの配送業者の営業所、また最終目的地は出発地に戻るものとして登録済みである。また、経路探索サーバ１０を本実施例の経路探索エンジンをインストールしたパーソナルコンピュータに置き換えることもできる。
【００８２】
ある日の集配計画を立てるために、図２に示す入力画面からまず巡回地点の入力と、全地点をいくつの分割グループに分割するかを指定する分割数「Ｎ」の入力を行う。配送車両４台で全地点を巡回する場合、入力する分割数は「４」である。巡回地点は、住所、店舗／施設名、電話番号などを選択してフリーワードで入力可能である（選択しなくても検索機能により検索して入力することも可能である）。
【００８３】
分割巡回経路に対応する出発地および目的地の地点および数は、図３〜図５の５パターンである。分割数「Ｎ」によって地点が分割され、分割グループごとに分割巡回経路ＧＬｎが求められる。
図３は、出発地ＳＴと目的地ＧＬとを同じ場所（地点）とするパターンである。
図４は、出発地ＳＴ（１箇所）と目的地ＧＬ（１箇所）とを別々の地点とするパターンである。
図５は、出発地ＳＴ（１箇所）と目的地ＧＬ（複数箇所）とを別々の地点とするパターンである。
図６は、出発地ＳＴ（複数箇所）と目的地ＧＬ（１箇所）とを別々の地点とするパターンである。
図７は、出発地ＳＴ（複数箇所）と目的地ＧＬ（複数箇所）とを別々の地点とするパターンである。
【００８４】
ある巡回地点に立ち寄る時刻条件があれば、時刻指定から選択する。デフォルトは、「なし」であるが、プルダウンメニューによって、
11：00〜13：00
13：00〜15：00
15：00〜17：00
．．．
など時間の制約条件を指定することが可能である。
荷物の集荷から配達をまで行う場合には、左側の欄に集荷地点、右側の欄に配達先を入力することで、順序条件を指定する。この順序条件を設定することにより、この２つの地点は順序制約を与えられた順序グループとして関連付けられる。
【００８５】
地点を確認する場合は、地図ボタンを押すことで地図上の位置を確認できる。また地図上で修正も可能である。誤入力した場合は、削除ボタンで、その行をクリアすることもできる。さらに巡回地点がある場合は、次の行に順次入力する。行が足りなくなったら、追加ボタンを押して、さらに入力行を増やせるようになっている。なお、巡回経路を求めるので、オペレータは地点を順次入力して行くだけでよい（入力の順番を意識する必要は無い）。
【００８６】
入力が終わったところで、検索ボタンを押すと、巡回経路探索の処理に移る。巡回経路探索の処理は大きく分けて図８のフローチャートに示す手順で進行する。すなわち、ステップＳ１１の処理において前処理を行った後、ステップＳ１２の処理において巡回地点の各２地点間の全ての組み合わせの最適経路探索を行う。
【００８７】
なお、２地点間の経路に一方通行路などが含まれない場合は２地点間の順序による経路コストは考慮しなくても良いが、都市部のように一方通行路が多い場合、あるいは方向によって著しくコストが異なる経路が存在する場合は双方向の経路を探索するのが良い。一度最適経路探索を行って経路コストを記憶しておけば、巡回経路の探索では経路コストのみを扱えばよい。
【００８８】
このため、ステップＳ１３の処理において探索した全ての最適経路とその経路コストを保存する。そしてステップＳ１４の処理において地点分割手段２１０が分割数に従ってランダムに巡回すべき各地点を分割する。次いでステップＳ１５の処理において各分割グループにおける巡回経路探索を行い、ステップＳ１６の処理において地点分割処理手段２１０のＳＡ処理手段２１１がシミュレーテッドアニーリング法に基づく評価を行い、評価が終了であればステップＳ１７の処理において結果を出力する。評価が未終了であればステップＳ１４の処理に戻り、ステップＳ１６までの処理を繰り返す。
【００８９】
ステップＳ１４の処理に戻った場合は、前回の処理で地点分割手段２１０が分割した分割グループのうち２つの分割グループにおいて、巡回すべき各地点の中から任意の各１つの地点を選択し、相互に入れ換えて分割グループを再設定する。なお、このとき入れ換えられる地点に対して巡回順序の制約が与えられている場合、その順序制約に関連付けられている他の全ての地点も同時に移動する。また、この時、巡回する地点に対して巡回時間制約がある場合、制約条件は同じ分割グループ内の地点間においてのみ有効とし、分割グループの異なる地点の時間制約は考慮しない。
【００９０】
図９、図１０は分割グループの再設定の概念を示す図であり、図９は初期の分割グループの様子を模式的に示す図、図１０は、図９における任意の２地点を入れ換えて新たな分割グループが設定された状態を示す模式図である。すなわち、図９に示すように地点分割手段２１０が初期状態において地点Ｘ１〜Ｘ１１を分割グループＧＬ１とＧＬ２に分割したものとする。
【００９１】
ステップＳ１４の処理に戻った場合、地点分割手段２１０は、各分割グループＧＬ１とＧＬ２に属する任意の地点をランダムに選択して相互に入れ換える。図１０においては分割グループＧＬ１の地点Ｘ１と分割グループＧＬ２の地点Ｘ２とが選択され、相互に入れ換えられている。すなわち、地点Ｘ１が分割グループＧＬ２に、地点Ｘ２が分割グループＧＬ２に属するように入れ換えられ、新たな分割グループが再設定される。
【００９２】
次に、図８のフローチャートの各処理を更に詳細に説明する。
［前処理］
まず、前処理手段１５１は、前処理として、入力されたデータの整理とエラーのチェックを行う。前処理は、図１１Ａに示すように、たとえば、同一地点（Ａ）から複数の地点（Ｂ，Ｃ，Ｄ）への順番が入力された場合に、同一地点（Ａ）に複数の時刻指定が無ければ同一地点（Ａ）への巡回は１回のみとして、内部表現ではＡ，Ｂ，Ｃ，Ｄを１つの順序グループとみなし、図１１Ｂに示すように
Ａ（１），Ｂ（２），Ｃ（２），Ｄ（２）・・・（括弧内はグループ内優先度）
という順序グループを作っておく。
また、逆に図１１Ｃに示すように配達先が地点（Ａ）１箇所となるような場合もグループ化しておく。さらに、時刻指定が集荷と配達で時間的に逆になっているような場合は、配達の時刻指定を集荷後になるように変更する、あるいはエラーを表示して再入力を促す、という処理も行う。
【００９３】
［２地点間経路探索］
次に、２点間経路探索手段１５３は、前処理を経て登録された巡回地点の各２点間の全ての組み合わせにおける２地点間の最適経路探索を行う。一度最適経路探索を行って経路コストを記憶しておけば、巡回経路の探索では経路コストのみを扱えばよい。この探索は通常の経路探索を行う経路探索手段１４０を使用して行ってもよい。
【００９４】
［巡回経路探索］
次いで、本発明の中心となる巡回経路探索を行う。この処理はＧＡ処理手段１５５によって行われる。ＧＡ処理手段１５５は遺伝アルゴリズム（Genetic Algorithms）を用いて経路を探索する。遺伝アルゴリズムは先に述べたように進化論にヒントを得た探索手法の1つである。遺伝子に見立てた解が効率的かつ系統的に解空間を探索し最適解を求めるために、自然の進化過程を模倣している。
【００９５】
ある有利な特徴を持つ遺伝子、すなわち最適解に近い解は、より長く生き延び、かつ多くの子孫を残すことができる。つまり、自然淘汰の理論を用いている。この過程は、解をビット列の遺伝子として表現し、遺伝子の選択や交叉・突然変異などの操作によって行う。
この中で、さらに特徴的な部分が、遺伝子の評価方法である。遺伝子の評価は、良い解を導くための重要な指標となる。なぜならば、この関数によって求められた評価値を基準にして、その遺伝子を次世代に残すかどうかを決定するからである。
【００９６】
ここでの処理は先に概念を説明したように、出発地、目的地を含んだ１つの巡回経路が１つの遺伝子であり、複数の遺伝子により個体群、集合Ｐ０が形成される。例えば、出発地から全ての巡回地点を１度だけとおり目的地に至る巡回経路を探索する場合、出発地から各巡回地点をとおり目的地に至る経路をランダムに複数作成する。これらの複数の遺伝子は個体群として保存され、集合Ｐ０が形成される。集合Ｐ０における各遺伝子の評価値は、設定した各地点間の経路コスト（時間および／または距離）の総和になる。
【００９７】
次に、集合Ｐ０から選択した２つの遺伝子から新しい遺伝子を生成し、その遺伝子の評価値を求める。例えば、ルーレット方式で新しい集合Ｐ１を作成する場合は、良い評価値を持つ遺伝子ほど高い確率で集合Ｐ０から選択される。つまり、良い評価値を持つ遺伝子ほど新しい遺伝子を生成するための種となりやすいということである。ここで選択された２つの遺伝子（巡回経路）において巡回順の一部を入れ換えて新たな遺伝子を作成し、かつ低い確率で突然変異を行い、その評価値を求める。この新しい遺伝子の評価値が、集合Ｐ０における最も評価値が悪い遺伝子より良い評価値を持っていれば、この遺伝子を入れ換える。集合Ｐ１は、このような操作を１世代分行うことによって得られる。この処理を繰り返して世代交代を行い、世代交代が予め設定した所定の回数に達するか、評価値が収束すれば処理を終了し、最後に得られた集合ＰＮにおける最良の評価値を持つ遺伝子（巡回経路）が最適解または準最適解となる。
【００９８】
本実施例においては、各巡回地点における順序的制約および時間的制約の条件を入力し、遺伝アルゴリズムを用いて評価値を算出する際に経路コストに加えて、各巡回地点に設定された順序的制約、時間的制約条件に基づく制約コストを付加して算出することに特徴がある。この制約に基づくコストは、順序制約や時間制約を違反した巡回地の数によって変化する。これにより、巡回地点に制約が付されている場合の巡回経路を算出することができるようになる。この処理の概念は、先に図３４、図３５を用いて説明した先願１の手法である。
【００９９】
このような処理を各分割グループについて繰り返し、分割グループ内の遺伝子の評価値が同じになるか、最も良い遺伝子の評価値が集団の平均評価値とほぼ同じである状態に収束したならば、最も良い評価値を持つ遺伝子がその分割グループの分割巡回経路の最適解、または、準最適解になり、処理を終了する。
【０１００】
図１２は、ＧＡ処理部１５３における処理手順を示す概念図である。ＧＡ処理手段１５３への入力情報は前処理を完了した巡回地点数、巡回地情報、各２地点間経路の経路コストである。ステップＳ２１の処理において、初期遺伝子の生成処理を行う。ここで指定された数の遺伝子をランダムに生成することにより、初期個体群Ｐ０が作成される。初期遺伝子は、ランダムに各巡回地点を通るルートを引き、既に保存してある２地点間経路のコスト総和を求める処理である。このとき、前処理で付加された各巡回地点の制約条件による制約コストが加味され各遺伝子の評価値が算出される。
【０１０１】
続いて、ステップＳ２２の処理において初期遺伝子として生成された初期個体群Ｐ０から２つの遺伝子を親遺伝子として選択し、ステップＳ２３の処理において２つの遺伝子の任意の巡回地点を選択して入れ換える操作である交叉、および１つの遺伝子において巡回地点を変更する操作である突然変異を行い、ステップＳ２４にて新たな遺伝子すなわち子遺伝子を生成する。ことのき、全ての巡回地点を必ず１度だけ通るよう、つまり同じ地点を複数回巡回せず、かつ１度も巡回しない地点が存在しないような遺伝子操作を行う。
【０１０２】
次いで、ステップＳ２５の処理において新たに生成された子遺伝子の評価値を算出し、個体群Ｐ０における各遺伝子の評価値と比較する。ここで生成された子遺伝子が個体群Ｐ０における遺伝子の評価値より良い値であればこの子遺伝子を採用し、その評価値と巡回順（ルート）を表現する遺伝子とを保存し、子遺伝子が個体群Ｐ０の遺伝子の評価値より悪い値であればこの子遺伝子は採用されず、結果は保存しない。
【０１０３】
その後、ステップＳ２６の処理において処理の終了判定を行い、処理が終了していなければステップＳ２２の処理に戻り、上記の遺伝的操作を繰り返し行う。
【０１０４】
［処理の終了判定］
ＧＡ処理手段１５３による探索処理は、試行回数が指定回数を満たした場合、あるいは遺伝子の集団における評価値が収束した場合に終了する。例えば、2つの遺伝子を選択して子遺伝子を生成する過程を1試行とすると、巡回数がnの場合、このケースにおいては最大試行回数を５０ｎ2程度とするのが良い。また、評価値が収束した状態というのは、全ての遺伝子の評価値が同じになるか、最も良い遺伝子の評価値が集団の平均評価値とほぼ同じである状態のことをいう。このような状態になったら処理が終了したものと判定し、巡回地点数、巡回順が出力される。巡回順がわかれば、保存してあった２地点間の最適経路を当該巡回順にならべて巡回経路を提供することができる。
【０１０５】
巡回経路探索手段１５０における目的関数Ｆは次式のようになる。
Ｆ＝ｍｉｎ（ｅｖａｌ（ｎ））
ここで、遺伝子の評価値を求める評価関数ｅｖａｌ（ｎ）は次式のように定義する。
【数１】
2007241340.tif 000003
ここで、ｎ：                巡回地点数
ｄｉｓｔ（ｉ）：    ｉ番目の巡回地点間の経路コスト
Ｄｄｉｓｔ：        経路コストに対する重み
Ｄｔｉｍｅ：        時間制約に対する重み
Ｄｏｒｄｅｒ：      順序制約に対する重み
Ｐｔｉｍｅ：        時間制約に違反した巡回地点の総数
Ｐｏｒｄｅｒ：      順序制約に違反した巡回地点の総数
である。
【０１０６】
この評価によって得られた評価値が、既存集団における遺伝子より良い評価値であれば遺伝子集団に加える（図１２のステップＳ２２〜ステップＳ２５の処理参照）。このとき、既存遺伝子集団において評価値が最下位の遺伝子が集団から排除される。
【０１０７】
以上のようにして最初に全地点を指定された分割数「Ｎ」に従ってグループ分した分割各グループ内の最適解または準最適解である分割巡回経路が求められるが、各分割グループにおける分割巡回経路が均等であるか否かは不明である。
【０１０８】
そこで、本発明においては、地点分割手段２１０が前回の処理で分割した分割グループのうち、任意の２つの分割グループに属する巡回すべき各地点の中から任意の各１つの地点を選択する。そして選択した地点を相互に入れ換えて分割グループを再設定し、前述したＧＡ処理手段１５５の処理を繰り返す。そして、ＳＡ処理手段２１１により、以下に説明するシミュレーテッドアニーリング法を用いた分割巡回経路の評価を行い、ＧＡ処理手段１５５で求めた解を更新するか否かを決定する。
【０１０９】
［分割巡回経路の評価（ＳＡ処理）］
図１３は、ＳＡ処理手段２１１における処理手順を示す概念図である。ＳＡ処理手段２１１への入力情報は、分割数「Ｎ」、出発地、到着地（目的地）情報、前処理を完了した巡回地点数、巡回地情報、各２地点間経路の経路コストである。ステップＳ３２１の処理において、初期解を生成する。この初期解は、地点分割手段２１０が最初にランダムに地点を分割した分割グループごとに、ＧＡ処理手段１５５による処理によって得られた分割巡回経路、各地点の巡回順（遺伝子）であり、また、その遺伝子が持つ評価関数の値（評価値）である。
【０１１０】
次に、ステップＳ３２の処理において、分割巡回経路の評価を行う。ここでの評価はステップＳ３１の処理において得られた遺伝子についてシュミレーテッドアニーリングの手法を用いた評価関数（目的関数）の値を算出する処理である。初期解においては、他に最良解はないので、ステップＳ３３の最良解更新判断では、初期解が最良解とされ、ステップＳ３４のＳＡスケジュールによる候補解の更新において初期解がそのまま維持される。
【０１１１】
次いで、ステップＳ３５の処理において候補解の局所探索（近傍解の探索）が行われ、ステップＳ３６の処理終了と判定されると地点分割情報（分割グループ情報）、分割巡回経路、巡回順序情報が出力される。通常、初期解では処理終了にならないので、ステップＳ３６の判定処理では、処理継続となりステップＳ３２の分割巡回経路の評価に戻り、ステップＳ３６までの処理を繰り返す。
【０１１２】
すなわち、ステップ３２に戻ってからの処理は、地点分割手段２１０により地点入れ換えによる新たな分割グループについてＧＡ処理手段１５５で得た遺伝子についてシュミレーテッドアニーリングの手法を用いた評価関数（目的関数）の値を算出し、候補解を更新するか否か判定し、候補解の局所解の探索を行う処理である。
【０１１３】
すなわち、この処理は、シミュレーテッドアニーリング法を用いた評価によって得られた評価値が、これまでの探索で得られた最良解より良い評価値であれば、その解を最良解とし、次回の探索では、その最良解を局所探索することによって得た解を使用する。また、既存の最良解より悪い評価値の解であった場合は、最良解は更新しない。このとき、焼きなましスケジュールによって与えられる所定のパラメータにより、この解を次回の探索に採用するかどうかを判定する。採用されなかった場合は、前回使用した既存の解を使用する。
【０１１４】
このようにシミュレーテッドアニーリング法では、山登り探索のように目的関数によって与えられる解の評価値を改善する方向へ探索を進めることに加えて、ある条件のもとに評価値が悪化する解も採択する。この結果、探索の初期段階では、良くない解を採択する確率が大きいが、探索が進むにしたがい、より良い解を採択するようになり、最終的にはその探索において得られた最も良いと思われる解が出力される。
【０１１５】
［分割巡回経路の評価（ＳＡ処理）の終了判定］
ＳＡ処理手段２１１におけるシミュレーテッドアニーリングによる探索処理は、試行回数が指定回数を満たした場合、あるいは探索中の最良解の更新が指定探索回数の間、更新されなかった場合に終了する。
【０１１６】
シミュレーテッドアニーリングの目的関数  ｆsaは  ｆsa＝ｍｉｎ（ｅｖａｌsa（ｘ））のようになる。ここで、評価関数ｅｖａｌsa（ｘ）は以下のように定義される。
【数２】
2007241340.tif 000004
【０１１７】
次に、本発明によるＮ分割巡回経路探索を適用して巡回経路探索を実施した具体例を説明する。なお、この以下の図１４〜図２０および図２１〜図２７における具体例は、各地点に制約条件を持たないケースで分割巡回経路を探索したものである。また、図２８〜図３１における具体例は、設定された巡回地点の数カ所に対して制約条件を与えてＮ分割巡回経路探索を行ったものである。
【０１１８】
図１４は、巡回経路探索の対象となるエリアの地図、配送地点（巡回すべき地点）を示す図である。図１４には出発地と目的地の他、地点１〜地点４９の巡回する地点が存在する。分割数を「４」とし地点１〜地点４９を４つの分割グループとしてそれぞれの分割グループの巡回経路を探索した結果を図１５〜図１８に示す。図１５は、各分割グループの巡回経路の全てを表示した図である。
【０１１９】
図１６は、図１５における第１分割グループの巡回経路を示す図、図１７は、図１５における第２分割グループの巡回経路を示す図、図１８は、図１５における第３分割グループの巡回経路を示す図、図１９は、図１５における第４分割グループの巡回経路を示す図である。これらの巡回経路は、出発地から目的地に到着するまでの間、各分割グループのそれぞれの巡回経路は円弧を描くような形状となっている。その経路コストは、ほぼ均等となっている。すなわち、図２０は、各分割巡回経路の距離（経路コスト）を示す図であり、第１分割グループの経路長は５９．８８５Ｋｍ、第２分割グループの経路長は６５．６５２Ｋｍ、第３分割グループの経路長は６１．１２９Ｋｍ、第４分割グループの経路長は６４．４９９Ｋｍ、とおよそ均等の距離となっていることが分かる。
【０１２０】
図２１は、本発明によるＮ分割巡回経路探索を適用して巡回経路探索を実施した他の具体例を説明するための図であり、巡回経路探索の対象となるエリアの地図、配送地点（巡回すべき地点）を示す図である。図２１に示すように、この例は、出発地と目的地が同じ地点であり、巡回すべき地点が地点１〜地点４９存在すし、出発地を出発して分割された各地点を巡回し、元の出発地に戻る巡回経路を探索する例である。
【０１２１】
図２１において、分割数を「４」とし地点１〜地点４９を４つの分割グループとしてそれぞれの分割グループの巡回経路を探索した結果を、図２２〜図２６に示す。図２２は、各分割グループの巡回経路の全てを表示した図である。
【０１２２】
図２３は、図２１における第１分割グループの巡回経路を示す図、図２４は、図２１における第２分割グループの巡回経路を示す図、図２５は、図２１における第３分割グループの巡回経路を示す図、図２６は、図２１における第４分割グループの巡回経路を示す図である。これらの巡回経路は、出発地から目的地に戻るまでの間、各分割グループのそれぞれの巡回経路は円弧を描くような形状となっている。その経路コストは、ほぼ均等となっている。すなわち、図２７は、各分割巡回経路の距離（経路コスト）を示す図であり、第１分割グループの経路長は１３１．１２７Ｋｍ、第２分割グループの経路長は１３０．４８１Ｋｍ、第３分割グループの経路長は１３４．４５７Ｋｍ、第４分割グループの経路長は１３１．５０４Ｋｍ、とおよそ均等の距離となっていることが分かる。
【０１２３】
図２８は、本発明によるＮ分割巡回経路探索を適用して巡回経路探索を実施した更に他の具体例を説明するための図であり、巡回経路探索の対象となるエリアの地図、配送地点（巡回すべき地点）を示す図である。図２８において、分割数を「３」とし、地点１〜地点１９を３つの分割グループに対して割り当てて、各分割グループに対して巡回経路探索を行った結果を図２９および図３０に示している。図３１は各地点に対して与えた順序制約の条件を示すものである。ここで与えられた順序制約は、次のとおりである。
グループ１：地点２（優先度１−高）、地点１８（優先度２−低）
グループ２：地点３（優先度２−低）、地点７（優先度１−高）
グループ３：地点９（優先度１−高）、地点１４（優先度２−中）、地点１７（優先度３−低）
【０１２４】
図２９は、順序制約を与えずにＮ分割巡回経路探索を行った結果、図３０は、上記の順序制約を与えてＮ分割巡回経路探索を行った結果である。例えば、図２９では、地点２と地点１８は別々の系の経路で巡回している。しかし、順序制約を設定した結果である図３０では、地点２と地点１８は同じ系の経路で巡回し、かつ順序制約を満たしている。また、他の順序制約を与えた地点も同様に、同じグループであれば同じ系の経路で巡回し、順序制約を満足している。
【０１２５】
図３２は、上記の探索結果の距離（経路コスト）を示す図であり、図３２Ａは順序制約を与えずに分割巡回経路探索を行ったときの各分割巡回経路の距離（経路コスト）を示し、図３２Ｂは上記の順序制約を与えて分割巡回経路探索を行ったときの各分割巡回経路の距離（経路コスト）である。およそ、各分割経路の経路コストは同じである。また、今回のケースにおいて、順序制約を与えない場合の平均経路長は７３．７９９Ｋｍ、順序制約を与えた場合の平均経路長は７６．２１４Ｋｍであり、各分割巡回経路の平均経路コストはおよそ同程度となっている。
【０１２６】
上記のＮ分割巡回経路探索を処理したＰＣ（経路探索サーバ）の処理実行時間は、何れの場合でも数分程度のものであり、うち、約１分程度は、図８の概略フローチャートにおけるステップ１２の２点間の経路探索（全ての地点における全ての２地点の組み合わせにおける各最適経路の探索）に要した時間であった。
【０１２７】
以上のように、各分割グループの巡回経路の経路コストが均等となる分割巡回経路の解が「地理的なエリアで地点１〜地点４９を４分割した分割巡回経路として求められるであろう」という従来の固定観念的から推測した常識的な解とならず、分割巡回経路同士が交差した、周回状に全エリアを巡るような分割巡回経路が、実は総合的に優れているという結果を得た。このことは、例えば、従来のように人為的に地理的なエリアで地点を分割する手法では、（１）各エリアまでの移動が無駄な要素になる。（２）エリア内を巡回するような経路しか作成することができないため、それ以外のエリアを跨ぐようなパターンについて考慮することができなかった。というような原因があったためであると考えられる。
【０１２８】
すなわち、通常、１人あたりの１日の労働時間は８時間程度であり、１人で全ての巡回地点を巡回するのは不可能なことが多い。また、配送やセールスなどの業務を行う際、巡回する順序や到着時間、滞在時間などの制約を考慮する必要がある。このような場合に、Ｎ人で分割する、あるいは１人でＮ日かけて行うとした場合に、従来の１本の巡回経路を単純に地理的エリアで分割しただけでは、効率が悪いのである。
【０１２９】
本発明によれば、このような現実的な問題を考慮して、経路コストがほぼ均等な、複数の分割巡回経路を同時に求めることができ、配送業務などの効率化、無駄の少ない労働力の活用や配送車両の省エネ効果の向上などが可能になる。
【産業上の利用可能性】
【０１３０】
本発明は、物流やセールスなどにおいて、複数人の従業員の仕事量を均等に分割することができ効率的に作業を行うことができる。また、実際の条件に即した巡回経路を提供することができるため、幅広い分野での応用が可能である。
【図面の簡単な説明】
【０１３１】
【図１】本発明の実施例にかかる経路探索システムにおける経路探索サーバの構成を示すブロック図である。
【図２】Ｎ分割巡回経路探索における巡回地点などを入力する際の入力画面の構成を示す図である。
【図３】分割巡回経路に対応する出発地および目的地の地点および数のパターンを示す模式図であり、出発地ＳＴと目的地ＧＬとを同じ場所（地点）とするパターン示す図である。
【図４】分割巡回経路に対応する出発地および目的地の地点および数のパターンを示す模式図であり、出発地ＳＴ（１箇所）と目的地ＧＬ（１箇所）とを別々の地点とするパターンを示す図である。
【図５】分割巡回経路に対応する出発地および目的地の地点および数のパターンを示す模式図であり、出発地ＳＴ（１箇所）と目的地ＧＬ（複数箇所）とを別々の地点とするパターンを示す図である。
【図６】分割巡回経路に対応する出発地および目的地の地点および数のパターンを示す模式図であり、出発地ＳＴ（複数箇所）と目的地ＧＬ（１箇所）とを別々の地点とするパターンを示す図である。
【図７】分割巡回経路に対応する出発地および目的地の地点および数のパターンを示す模式図であり、出発地ＳＴ（複数箇所）と目的地ＧＬ（複数箇所）とを別々の地点とするパターンを示す図である。
【図８】本発明の実施例にかかるＮ分割巡回経路探索の概略処理手順を示すフローチャートである。
【図９】指定された分割数に従って巡回すべき全地点をランダムに分割した分割グループの初期状態を模式的に示す図である。
【図１０】図９に示す分割グループの任意の地点を選択して相互に入れ換え、新たな分割グルプーが再設定された状態を模式的に示す図である。
【図１１】本発明の実施例にかかるＮ分割巡回経路探索の前処理の概念を示す図であり、図１１Ａは出発地から複数地点への順番が入力された状態を示す模式図、図１１Ｂは出発地をＡとする巡回地点のグループを作成した状態を示す模式図、図１１Ｂは目的地をＡとする巡回地点のグループを作成した状態を示す模式図である。
【図１２】遺伝アルゴリズムを使用したＧＡ処理部における処理手順を示す概念図である。
【図１３】シミュレーテッドアニーリング法を使用したＳＡ処理部における処理手順を示す概念図である。
【図１４】本発明によるＮ分割巡回経路探索を適用して巡回経路探索を実施した具体例を説明するための図であり、巡回経路探索の対象となるエリアの地図、配送地点（巡回すべき地点）を示す図である。
【図１５】図１４の地点を４分割して探索した各分割グループの巡回経路を示す図である。
【図１６】図１５における第１分割グループの巡回経路を示す図である。
【図１７】図１５における第２分割グループの巡回経路を示す図である。
【図１８】図１５における第３分割グループの巡回経路を示す図である。
【図１９】図１５における第４分割グループの巡回経路を示す図である。
【図２０】図１６〜図１９に示す各分割グループの巡回経路の経路コストを示す図である。
【図２１】本発明によるＮ分割巡回経路探索を適用して巡回経路探索を実施した他の具体例を説明するための図であり、巡回経路探索の対象となるエリアの地図、配送地点（巡回すべき地点）を示す図である。
【図２２】図２１の地点を４分割して探索した各分割グループの巡回経路を示す図である。
【図２３】図２２における第１分割グループの巡回経路を示す図である。
【図２４】図２２における第２分割グループの巡回経路を示す図である。
【図２５】図２２における第３分割グループの巡回経路を示す図である。
【図２６】図２２における第４分割グループの巡回経路を示す図である。
【図２７】図２３〜図２６に示す各分割グループの巡回経路の経路コストを示す図である。
【図２８】本発明によるＮ分割巡回経路探索を適用して巡回経路探索を実施した更に他の具体例を説明するための図であり、巡回経路探索の対象となるエリアの地図、配送地点（巡回すべき地点）を示す図である。
【図２９】図２８における各地点を３分割し、順序制約を与えずに分割巡回経路探索を行って得た各巡回経路を示す図である。
【図３０】図２８における各地点を３分割し、順序制約を与えて分割巡回経路探索を行って得た各巡回経路を示す図である。
【図３１】図３０における地点に与えた順序制約の条件を示す図である。
【図３２】図３２は、図２９、図３０における探索結果の距離（経路コスト）を示す図であり、図３２Ａは順序制約を与えずに分割巡回経路探索を行ったときの各分割巡回経路の距離（経路コスト）を示し、図３２Ｂは上記の順序制約を与えて分割巡回経路探索を行ったときの各分割巡回経路の距離（経路コスト）である。
【図３３】１０ＴＦｌｏｐｓ（１秒間に１０１３回浮動小数点演算が可能）のスーパーコンピュータを用いて巡回経路探索を、巡回数を代えて行った場合の各巡回数に対する巡回経路総数と計算時間を示す図である。
【図３４】遺伝アルゴリズムを用いた巡回経路探索処理の概念を説明するための模式図である。
【図３５】遺伝アルゴリズムを用いた巡回経路探索処理の概念を説明するための模式図である。
【符号の説明】
【０１３２】
１０・・・・経路探索サーバ
１１０・・・制御手段
１２０・・・通信手段
１３０・・・出力・配信手段
１４０・・・経路探索手段
１５０・・・巡回経路探索手段
１５１・・・前処理手段
１５３・・・２点間経路探索手段
１５５・・・ＧＡ処理手段
１６０・・・表示手段
１７０・・・操作・入力手段
１８０・・・地図データ
１９０・・・道路ネットワークデータベース
２００・・・ガイダンスデータベース
２１０・・・地点分割手段
２１１・・・ＳＡ処理手段
【図１】
2007241340.tif 000005
【図２】
2007241340.tif 000006
【図３】
2007241340.tif 000007
【図４】
2007241340.tif 000008
【図５】
2007241340.tif 000009
【図６】
2007241340.tif 000010
【図７】
2007241340.tif 000011
【図８】
2007241340.tif 000012
【図９】
2007241340.tif 000013
【図１０】
2007241340.tif 000014
【図１１】
2007241340.tif 000015
【図１２】
2007241340.tif 000016
【図１３】
2007241340.tif 000017
【図２０】
2007241340.tif 000018
【図２７】
2007241340.tif 000019
【図３２】
2007241340.tif 000020
【図３３】
2007241340.tif 000021
【図３４】
2007241340.tif 000022
【図３５】
2007241340.tif 000023
【図１４】
2007241340.tif 000024
【図１５】
2007241340.tif 000025
【図１６】
2007241340.tif 000026
【図１７】
2007241340.tif 000027
【図１８】
2007241340.tif 000028
【図１９】
2007241340.tif 000029
【図２１】
2007241340.tif 000030
【図２２】
2007241340.tif 000031
【図２３】
2007241340.tif 000032
【図２４】
2007241340.tif 000033
【図２５】
2007241340.tif 000034
【図２６】
2007241340.tif 000035
【図２８】
2007241340.tif 000036
【図２９】
2007241340.tif 000037
【図３０】
2007241340.tif 000038
【図３１】
2007241340.tif 000039