(57)【特許請求の範囲】
【請求項１】
複数の移動体間の最近接距離と、前記複数の移動体のそれぞれが複数の地点を巡回する際の前記巡回に掛かる最長時間とを出力変数とし、各移動体の移動開始地点と、各移動体の移動方向と、各移動体が巡回する領域を特定する領域情報とを入力変数とし、前記入力変数を最適化して最適解となる前記出力変数を取得する処理と、
前記出力変数が最適解となったときの前記入力変数を用いて算出された前記移動体毎の巡回経路を出力する処理と、をコンピュータに実行させる経路最適化プログラム。
【請求項２】
前記出力変数を取得する処理は、
前記複数の移動体間の最近接距離が最大となり、且つ前記巡回に掛かる最長時間が最小となるように、前記各移動体の巡回経路を算出し、
算出された前記各移動体の巡回経路に基づき、前記出力変数を算出する請求項１記載の経路最適化プログラム。
【請求項３】
前記最適解となる前記出力変数の群から、
前記最近接距離が所定の値以上であり、且つ前記最長時間が最も短い出力変数を選択する処理を、前記コンピュータに実行させる請求項２記載の経路最適化プログラム。
【請求項４】
複数の移動体間の最近接距離と、前記複数の移動体のそれぞれが複数の地点を巡回する際の前記巡回に掛かる最長時間とを出力変数とし、各移動体の移動開始地点と、各移動体の移動方向と、各移動体が巡回する領域を特定する領域情報とを入力変数とし、前記入力変数を最適化して最適解となる前記出力変数を得る出力変数取得部と、
前記出力変数が最適解となったときの前記入力変数を用いて算出された前記移動体毎の巡回経路を出力する経路提示部と、を有する経路最適化装置。
【請求項５】
コンピュータによる経路最適化方法であって、該コンピュータが、
複数の移動体間の最近接距離と、前記複数の移動体のそれぞれが複数の地点を巡回する際の前記巡回に掛かる最長時間とを出力変数とし、各移動体の移動開始地点と、各移動体の移動方向と、各移動体が巡回する領域を特定する領域情報とを入力変数とし、前記入力変数を最適化して最適解となる前記出力変数を取得し、
前記出力変数が最適解となったときの前記入力変数を用いて算出された前記移動体毎の巡回経路を出力する、経路最適化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の移動体の経路を探索する経路最適化装置、経路最適化プログラム及び経路最適化方法に関する。
【背景技術】
【０００２】
従来から、移動体が複数の地点へ移動する際の最適な経路を探索する問題は、巡回セールスマン問題（traveling salesman problem: TSP）に当てはめられることが知られている。巡回セールスマン問題とは、「あるセールスマンが幾つかの都市を一度ずつ訪問して出発点に戻ってくるときに、移動距離が最短になる経路」を求める問題である。
【０００３】
具体的には、従来では、物品の配送経路の探索や、製造業において使用される加工ロボットによる加工経路の探索等に、巡回セールスマン問題の解法が用いられることが知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−５３９５１号公報
【特許文献２】特開平１０−３９９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
巡回セールスマン問題は、移動体が単数の場合における移動体の巡回経路を探索する問題であり、移動体が複数である場合について考慮されていない。
【０００６】
このため、複数の移動体が存在する場合において、巡回セールスマン問題の解法を当てはめて探索した各移動体の巡回経路では、移動体同士の干渉等が生じる虞がある。そこで、移動体同士の干渉が生じない巡回経路を求めようとした場合、考慮すべき変数が増えて膨大な量の計算が必要となり、最適な巡回経路を求めることが困難である。
【０００７】
１つの側面では、複数の移動体における各移動体の最適な巡回経路を探索する経路最適化装置、経路最適化プログラム及び経路最適化方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
一様態によれば、複数の移動体間の最近接距離と、前記複数の移動体のそれぞれが複数の地点を巡回する際の前記巡回に掛かる最長時間とを出力変数とし、各移動体の移動開始地点と、各移動体の移動方向と、各移動体が移動する領域を特定する領域情報とを入力変数とし、前記入力変数を最適化して最適解となる前記出力変数を取得する処理と、前記出力変数が最適解となったときの前記入力変数を用いて算出された前記移動体毎の巡回経路を出力する処理と、をコンピュータに実行させる。
【０００９】
上記各処理は、上記各処理を実現する機能部、上記各処理を手順としてコンピュータにより実行させる方法、プログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【００１０】
複数の移動体における各移動体の最適な巡回経路を探索できる。
【図面の簡単な説明】
【００１１】
【図１】経路最適化装置を説明する図である。
【図２】経路最適化装置による処理の概要を説明する図である。
【図３】経路最適化装置のハードウェア構成の一例を示す図である。
【図４】移動先データベースの一例を示す図である。
【図５】初期入力変数データベースの一例を示す図である。
【図６】経路最適化装置の機能を説明する図である。
【図７】経路最適化装置の動作を説明するフローチャートである。
【図８】移動体毎の巡回経路を説明する図である。
【図９】出力変数情報の一例を示す図である。
【図１０】入力変数再設定部により設定された入力変数毎に求めた最近接距離と最長巡回時間の関係を示す図である。
【図１１】各移動体の巡回経路が表示された例を示す図である。
【発明を実施するための形態】
【００１２】
以下に図面を参照して実施形態について説明する。図１は、経路最適化装置を説明する図である。
【００１３】
本実施形態の経路最適化装置１００は、複数の移動体を有する移動体制御装置２００に対し、複数の移動体のそれぞれが複数の地点へ移動する際の巡回経路を示す経路情報３００を提供する。
【００１４】
本実施形態の移動体制御装置２００は、例えば、複数のプローブを物質の表面をなぞるように動かして表面状態を拡大観察する走査型プローブ顕微鏡である。この場合、複数のプローブが移動体となる。また、本実施形態の移動体制御装置２００は、例えば、回路基板等に穴をあける複数のドリルを有する穴あけ装置である。この場合、複数のドリルが移動体となる。
【００１５】
本実施形態の経路最適化装置１００は、経路最適化プログラム１１０がインストールされており、移動先データベース１２０と、初期入力変数データベース１３０と、を有する。本実施形態の移動先データベース１２０には、移動体が巡回する地点を示す情報と、その地点に滞在する滞在時間とが対応付けられて格納されている。初期入力変数データベース１３０は、経路最適化装置１００に初期値として与えられる各種の変数が格納されている。
【００１６】
本実施形態の経路最適化装置１００は、経路最適化プログラム１１０を実行することで、移動先データベース１２０と、初期入力変数データベース１３０とを参照し、複数の移動体が移動する際に、互いに干渉しないように、各移動体の巡回経路を求める。
【００１７】
尚、本実施形態の経路最適化装置１００は、ネットワーク等を介して経路情報３００を移動体制御装置２００に提供しても良い。また、本実施形態の経路最適化装置１００は、例えば可搬型の記憶媒体等に経路情報３００を格納しても良い。この場合、可搬型の記憶媒体に格納された経路情報３００は、移動体制御装置２００により読み込まれる。
【００１８】
また、図１の例では、経路最適化装置１００と移動体制御装置２００とを別々の装置としたが、これに限定されない。本実施形態では、経路最適化装置１００が移動体制御装置２００に含まれていても良い。
【００１９】
以下に、図２を参照して、本実施形態の経路最適化装置１００による処理の概要を説明する。図２は、経路最適化装置による処理の概要を説明する図である。図２では、移動先となる地点を１２０箇所とし、移動体を４つとし、４つの移動体で１２０箇所全てを巡回する場合の処理について説明する。
【００２０】
図２（Ａ）は、移動体の移動先となる１２０箇所の地点が領域Ｓ内にランダムにプロットされた状態を示している。本実施形態では、図２（Ｂ）に示すように、領域Ｓを線Ｔ１によりｘ軸方向に分割し、線Ｔ２により領域Ｓをｙ軸方向に分割することで、領域Ｓを移動体の数と同数である４つの領域Ｓ１〜Ｓ４に分割する。尚、図２（Ｂ）では、線Ｔ１と線Ｔ２との交点をＰとした。
【００２１】
そして、本実施形態では、各領域Ｓ１〜Ｓ４に移動体を割り当て、領域Ｓ１〜Ｓ４内での各移動体の巡回経路Ｒ１〜Ｒ４を求める。このとき、本実施形態では、移動体が互いに干渉しない巡回経路Ｒ１〜Ｒ４を求める。
【００２２】
ここで、巡回経路Ｒ１〜Ｒ４を求める際には、領域Ｓ１〜Ｓ４の境界の位置と、各移動体が移動を開始する位置と、移動の方向と、各移動体が巡回する各地点での滞在時間とが、考慮すべき項目となる。
【００２３】
また、巡回経路Ｒ１〜Ｒ４は、移動体同士が干渉せず、且つ巡回に掛かる時間が短くなることが好ましい。
【００２４】
そこで、本実施形態の経路最適化装置１００は、各移動体が巡回する領域を示す情報（領域Ｓ１〜Ｓ４の境界の位置を示す情報）、各移動体が移動を開始する位置を示す情報、各移動体の移動方向を示す情報、各移動体の移動速度を示す情報と、を入力変数とする。また、本実施形態の経路最適化装置１００は、移動体間の最近接距離と、複数の移動体の巡回時間のうち最も長い最長巡回時間と、を出力変数とする。
【００２５】
そして、本実施形態の経路最適化装置１００は、最近接距離が最大となり、最長巡回時間が最短となるように、入力変数を最適化することで、最適解となる出力変数を取得する。すなわち、本実施形態では、複数の移動体が互いに干渉せず、且つ最短の経路で全ての地点を巡回する巡回経路を算出することができる。
【００２６】
また、本実施形態では、入力変数の最適化を行うことで、考えられる全ての条件で移動体毎に巡回セールスマン問題を適用して複数の移動体の巡回経路を算出する場合と比較して、不要な計算を省き、処理時間を短縮することができる。
【００２７】
以下に、本実施形態の経路最適化装置１００について説明する。図３は、経路最適化装置のハードウェア構成の一例を示す図である。
【００２８】
本実施形態の経路最適化装置１００は、それぞれバスＢで相互に接続されている入力装置１１、出力装置１２、ドライブ装置１３、補助記憶装置１４、メモリ装置１５、演算処理装置１６及びインターフェース装置１７を含む。
【００２９】
入力装置１１はキーボードやマウス等を含み、各種信号を入力するために用いられる。出力装置１２はディスプレイ装置等を含み、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置１７は、モデム、ＬＡＮカード等を含み、ネットワークに接続する為に用いられる。
【００３０】
経路最適化プログラム１１０は、経路最適化装置１００を制御する各種プログラムの少なくとも一部である。経路最適化プログラム１１０は例えば記録媒体１８の配布やネットワークからのダウンロードなどによって提供される。経路最適化プログラム１１０を記録した記録媒体１８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００３１】
また、経路最適化プログラム１１０は、経路最適化プログラム１１０を記録した記録媒体１８がドライブ装置１３にセットされると、記録媒体１８からドライブ装置１３を介して補助記憶装置１４にインストールされる。ネットワークからダウンロードされた経路最適化プログラム１１０は、インターフェース装置１７を介して補助記憶装置１４にインストールされる。
【００３２】
補助記憶装置１４は、インストールされた経路最適化プログラム１１０を格納すると共に、必要なファイル、データ等を格納する。メモリ装置１５は、コンピュータの起動時に補助記憶装置１４から経路最適化プログラム１１０を読み出して格納する。そして、演算処理装置１６はメモリ装置１５に格納された経路最適化プログラム１１０に従って、後述するような各種処理を実現している。
【００３３】
次に、図４、図５を参照し、経路最適化装置１００の有する各データベースについて説明する。図４は、移動先データベースの一例を示す図である。本実施形態の移動先データベース１２０は、移動体制御装置２００と対応して、経路最適化装置１００に予め与えられている。
【００３４】
本実施形態の移動先データベース１２０は、情報の項目として、座標と、滞在時間と、を有する。
【００３５】
項目「座標」の値は、移動体が巡回し、滞在する地点を示す座標である。尚、本実施形態の項目「座標」の値は、２次元の座標とした。より具体的には、項目「座標」の値は、領域Ｓにおける地点を示す情報である。
【００３６】
項目「滞在時間」の値は、移動体が座標の値で指定される地点に滞在する時間を示す。
【００３７】
以下の説明では、項目「座標」の値と、項目「滞在時間」の値とが対応付けられた情報を移動先情報と呼ぶ。
【００３８】
図５は、初期入力変数データベースの一例を示す図である。本実施形態の初期入力変数データベース１３０は、例えば経路最適化プログラム１１０が実行される際に、与えられても良い。また、初期入力変数データベース１３０は、移動体制御装置２００と対応して、予め与えられていても良い。
【００３９】
図５の例では、移動体制御装置２００の有する４つの移動体を、移動体１〜４として示している。
【００４０】
本実施形態の初期入力変数データベース１３０は、情報の項目として、境界座標、移動方向、移動開始地点、移動速度とを有する。本実施形態において、これらの項目は、経路最適化プログラム１１０による処理の際に与えられる入力変数である。本実施形態では、項目「境界座標」の値と、項目「境界座標」の値と対応付けられた他の項目の値と、入力変数情報と呼ぶ。本実施形態の初期入力変数データベース１３０には、複数の入力変数情報が予め格納されており、各入力変数情報に含まれる値が、入力変数の初期値として参照される。
【００４１】
項目「境界座標」の値は、移動体毎に割り振られた領域の境界の座標である。すなわち、本実施形態の項目「境界座標」は、各移動体が巡回する領域を特定する領域情報である。以下の説明では、移動先となる地点が存在する領域Ｓにおいて、移動体毎に割り振られた領域Ｓ１〜Ｓ４を分割領域と呼ぶ。本実施形態の項目「境界座標」の値は、領域Ｓをｘ軸方向に分割する線Ｔ１と、領域Ｓをｙ軸方向に分割する線Ｔ２との交点Ｐの座標とした（図２参照）。
【００４２】
項目「移動方向」の値は、移動体２〜４の移動方向を示す。本実施形態の移動方向は、移動体に割り振られた領域内を時計回りに移動するか、又は反時計回りに移動するかを示している。本実施形態では、移動体が、分割領域の中で、時計回りの方向に移動する場合、項目「移動方向」の値を「１」とする。また、本実施形態では、移動体が分割領域の中で、反時計回りの方向に移動する場合に、項目「移動方向」の値を「−１」とする。例えば図２（Ｃ）において、領域Ｓ１内を移動する移動体の移動方向は、時計回りを示す「１」で与えられる。
【００４３】
項目「移動開始地点」の値は、移動体２〜４が移動を開始する際のスタート地点を示している。本実施形態では、例えば移動体が巡回する地点のそれぞれに、番号が付与されており、項目「移動開始地点」の値は、各地点に付与された番号により示されても良い。
【００４４】
尚、本実施形態では、複数の移動体において、基準となる移動体と、基準となる移動体の移動方向、移動開始地点と、が予め設定されているものとした。したがって、本実施形態の初期入力変数データベース１３０の項目「移動方向」と、項目「移動開始地点」と、には、基準となる移動体に対応する値は格納されない。図５の例では、移動体１を基準となる移動体としているため、項目「移動方向」と項目「移動開始地点」のそれぞれにおいて、移動体１に対応する値は格納されていない。
【００４５】
項目「移動速度」の値は、各移動体の移動速度を示す。
【００４６】
次に、図６を参照して本実施形態の経路最適化装置１００の機能について説明する。図６は、経路最適化装置の機能を説明する図である。
【００４７】
本実施形態の経路最適化装置１００は、経路最適化処理部１１０Ａを有する。本実施形態の経路最適化処理部１１０Ａは、演算処理装置１６が経路最適化プログラム１１０を実行することで実現される。
【００４８】
本実施形態の経路最適化装置１００は、記憶領域３００を有する。記憶領域３００は、例えば補助記憶装置１４やメモリ装置１５等の所定の領域に設けられても良い。本実施形態の記憶領域３００は、経路最適化処理部１１０Ａの処理結果として出力される出力変数情報３１０、パレート解情報３２０等が格納される。
【００４９】
本実施形態の経路最適化処理部１１０Ａは、移動先情報取得部１１１、初期入力変数設定部１１２、出力変数取得部１１３、入力変数再設定部１１４、パレート解抽出部１１５、最適解選択部１１６、経路提示部１１７を有する。
【００５０】
本実施形態の移動先情報取得部１１１は、移動先データベース１２０から、移動先情報を取得する。初期入力変数設定部１１２は、初期入力変数データベース１３０から、入力変数情報を取得し、各入力変数を設定する。
【００５１】
出力変数取得部１１３は、１の入力変数情報について、巡回セールスマン問題の解法を用い、移動体毎の最適な巡回経路を求める。出力変数取得部１１３による演算に用いられる入力変数情報は、初期入力変数データベース１３０に格納された入力変数情報と、入力変数再設定部１１４により生成された入力変数情報と、が含まれる。
【００５２】
また、出力変数取得部１１３は、各移動体が分割領域内を最適な巡回経路で巡回した際に、移動体同士が最も接近したときの距離と、移動体が分割領域内を巡回した巡回時間のうち、最も長い巡回時間と、を出力変数として取得し、出力する。尚、分割領域における移動体の巡回時間には、移動体が移動先の地点に滞在する滞在時間も含む。すなわち、本実施形態の巡回時間は、移動体がある地点から次の地点へ移動する移動時間と、各地点における滞在時間とを含む時間である。
【００５３】
以下の説明では、各移動体が分割領域内を最適な巡回経路で巡回した際に、移動体同士が最も接近したときの距離を最近接距離と呼び、移動体毎の分割領域内の巡回時間のうち、最も長い巡回時間を最長巡回時間と呼ぶ。
【００５４】
本実施形態の出力変数取得部１１３により取得された出力変数は、出力変数と対応する入力変数情報と共に、出力変数情報３１０として記憶領域３００に格納される。
【００５５】
入力変数再設定部１１４は、最適化アルゴリズムにより、初期入力変数データベース１３０に格納された入力変数情報から新たな入力変数情報を生成し、設定する。本実施形態の最適化アルゴリズムとは、例えば遺伝的アルゴリズムやアニーリング法等である。
【００５６】
パレート解抽出部１１５は、出力変数情報３１０に格納された出力変数から、パレート解を抽出する。また、パレート解抽出部１１５は、抽出したパレート解と、このパレート解と対応する入力変数情報とを、パレート解情報３２０として記憶領域３００に格納する。
【００５７】
パレート解とは、非劣解とも呼ばれ、複数ある目的関数とする特性値において１つ以上において優れ、なおかつ他の特性が劣っていない（支配されていない）解を示す。すなわち、パレート解は、ある条件において、他の解と比べて高い評価が得られる解である。本実施形態のパレート解抽出部１１５は、最近接距離と、最長巡回時間と、をそれぞれ目的関数とした場合のパレート解を抽出する。
【００５８】
最適解選択部１１６は、抽出されたパレート解から、拘束条件を満たし、且つ最長巡回時間が最も短い解（出力変数）を最適解として選択する。本実施形態の拘束条件は、最近接距離が、複数の移動体が衝突せずに移動することができる所定の距離以上であることとした。拘束条件は、例えば移動体制御装置２００の使用者等により予め与えられるものである。
【００５９】
経路提示部１１７は、最適解選択部１１６により選択された最適解と対応する入力変数情報を用いて算出した、各移動体の巡回経路を最適の巡回経路として提示する。
【００６０】
具体的には、本実施形態の経路提示部１１７は、例えば選択されたパレート解と対応する入力変数情報に基づき得られた各移動体の巡回経路を表示させても良い。また、本実施形態の経路提示部１１７は、選択されたパレート解と対応する入力変数情報を、最適な巡回経路を示す経路情報３００として、移動体制御装置２００へ提供しても良い。
【００６１】
次に、図７を参照して本実施形態の経路最適化装置１００の動作について説明する。図７は、経路最適化装置の動作を説明するフローチャートである。
【００６２】
本実施形態の経路最適化装置１００は、経路最適化プログラム１１０が起動されると、移動先情報取得部１１１により、移動先データベース１２０を参照し、移動先情報を取得する（ステップＳ７０１）。続いて、経路最適化装置１００は、初期入力変数設定部１１２により、初期入力変数データベース１３０を参照し、初期入力変数データベース１３０に格納された入力変数情報を取得し（ステップＳ７０２）、１の入力変数情報を設定する（ステップＳ７０３）。
【００６３】
次に、経路最適化装置１００は、出力変数取得部１１３により、設定された入力変数情報毎に、各移動体の分割領域における最適な巡回経路を求める（ステップＳ７０４）。本実施形態の出力変数取得部１１３は、例えば巡回セールスのマン問題の解法を用いて分割領域における移動体の最適な巡回経路を求める。
【００６４】
次に、出力変数取得部１１３は、移動体毎に、ステップＳ７０４で得た最適な巡回経路の巡回に係る巡回時間を算出する。具体的には、出力変数取得部１１３は、ステップＳ７０４で求めた巡回経路と、入力変数情報に含まれる移動体の移動速度と、を用いて、移動体が巡回する各地点での滞在時間も含めた巡回時間を算出する。また、出力変数取得部１１３は、移動体毎に、各移動体の移動中に、最も他の移動体と接近したときの距離（最近接距離）を算出する。
【００６５】
そして、本実施形態の出力変数取得部１１３は、移動体毎の巡回時間のうち、最も長い巡回時間である最長巡回時間と、最近接距離と、を出力変数として取得する（ステップＳ７０５）。本実施形態の出力変数取得部１１３は、取得した出力変数を、入力変数情報と対応付けて、出力変数情報３１０として記憶領域３００に格納する。
【００６６】
続いて、出力変数取得部１１３は、入力変数の最適化の処理が終了したか否かを判定する（ステップＳ７０６）。より具体的には、出力変数取得部１１３は、例えば初期入力変数データベース１３０から取得した入力変数情報に加え、入力変数再設定部１１４により設定される、予め決められた数の入力変数情報に対して、ステップＳ７０３からステップＳ７０５までの処理が終了したか否かを判定する。
【００６７】
ステップＳ７０６において、最適化の処理が完了していない場合、入力変数再設定部１１４は、最適化のアルゴリズムにより入力変数情報を生成し、再度設定し（ステップＳ７０７）、ステップＳ７０３へ戻る。
【００６８】
本実施形態では、入力変数再設定部１１４が、例えば遺伝的アルゴリズムにより入力変数情報を生成する場合、初期入力変数データベース１３０に格納された入力変数情報から得られた出力変数に基づき、１世代目から予め設定された世代まで、入力変数情報を生成する。
【００６９】
ステップＳ７０６において、最適化の処理が完了した場合、経路最適化装置１００は、パレート解抽出部１１５により、出力変数情報３１０から、最適と見なせる出力変数をパレート解として抽出する（ステップＳ７０８）。
【００７０】
続いて経路最適化装置１００は、最適解選択部１１６により、パレート解から一義の最適解を求めるための拘束条件を設定する（ステップＳ７０９）。拘束条件の詳細は、後述する。
【００７１】
続いて経路最適化装置１００は、最適解選択部１１６は、ステップＳ７０８で抽出したパレート解から、拘束条件を満たし、且つ最長巡回時間が最も短い最適解を選択する（ステップＳ７１０）。
【００７２】
続いて経路最適化装置１００は、経路提示部１１７により、ステップＳ７１０で選択された最適解と対応する入力変数情報に基づき、各移動体の分割領域における最適な巡回経路を示す経路情報３００を移動体制御装置２００に提示する（ステップＳ７１１）。経路情報３００の提示の方法は、例えば、移動体制御装置２００の使用者が各移動体の巡回経路を視認できるように、経路最適化装置１００のディスプレイに表示させても良い。また、移動体制御装置２００に、最適解と対応する入力変数情報を渡しても良い。
【００７３】
以上のように、本実施形態の経路最適化装置１００では、最適化のアルゴリズムにより入力変数を最適化することで、２つの出力変数が、最長巡回時間に関しては値が最小となり、最近接距離に関しては値が最大となる入力変数の組合せを求める。すなわち、本実施形態の経路最適化装置１００は、複数の移動体について、移動体同士が接近せず、且つ巡回経路が短くなるような入力変数の組合せを求める。
【００７４】
したがって、本実施形態によれば、複数の移動体が複数の地点を巡回する際に、移動体同士が干渉せずに効率的に移動できる最適な巡回経路を探索することができる。
【００７５】
以下に、図８乃至図１２を参照し、本実施形態の経路最適化プログラム１１０の処理を詳細に説明する。
【００７６】
図８は、移動体毎の巡回経路を説明する図である。図８の例では、入力変数情報として、境界座標（５，５）、移動体２の移動方向「１」、移動体３の移動方向「−１」、移動体４の移動方向「−１」が与えられている。さらに、図８の例では、入力変数情報として、移動体２の移動開始地点「１」、移動体３の移動開始地点「１」、移動体４の移動開始地点「１」、移動体１の移動速度「０．０７［ｍ／分］」、移動体２の移動速度「０．７８［ｍ／分］」、移動体３の移動速度「０．６５［ｍ／分］」、移動体４の移動速度「０．３１［ｍ／分］」が与えられている。
【００７７】
本実施形態では、出力変数取得部１１３らにより、この入力変数情報に基づき、分割領域Ｓ１における移動体１の最適な巡回経路Ｒ１と、分割領域Ｓ２における移動体１の最適な巡回経路Ｒ２と、分割領域Ｓ３における移動体３の最適な巡回経路Ｒ３と、分割領域Ｓ４における移動体４の最適な巡回経路Ｒ４と、を得る。
【００７８】
そして、出力変数取得部１１３は、移動体１〜４の移動速度と、巡回経路Ｒ１〜Ｒ４と、から、移動体１〜４が巡回経路Ｒ１〜Ｒ４の移動にかかる巡回時間を算出する。そして、移動体１〜４のうち、巡回時間が最も長い移動体の巡回時間を最長巡回時間とし、出力変数とする。
【００７９】
また、出力変数取得部１１３は、移動体１〜４のそれぞれについて、他の移動体と最も接近したときの距離を求める。そして出力変数取得部１１３は、求めた距離のうち、最も短い距離を最近接距離とし、出力変数とする。
【００８０】
図９は、出力変数情報の一例を示す図である。本実施形態の出力変数取得部１１３は、入力変数情報毎に取得された出力変数９２を、入力変数情報９１と対応付けた出力変数情報３１０として、記憶領域３００に格納する。
【００８１】
図１０は、入力変数再設定部により設定された入力変数毎に求めた最近接距離と最長巡回時間の関係を示す図である。
【００８２】
本実施形態における最適条件は、最近接距離の値が最大であり、最長巡回時間の値が最小であることである。よって、図１０に示すように、図の右下に示す枠線Ｗ１〜４内に存在する解がパレート解（最適解の群）である。
【００８３】
本実施形態では、このパレート解から一義の最適解を求めるための拘束条件として、複数の移動体同士が接触しないことが保障される距離を設定する。本実施形態では、図１０において、最近接距離が、複数の移動体同士が接触しないことが保障される距離以上である領域を動作保証領域と呼ぶ。
【００８４】
本実施形態の最適解選択部１１６は、動作保証領域内のパレート解のうち、最長巡回時間が最も短い解を最適解として選択する。したがって、図１０の例では、枠線Ｗ４内の解が最適解として選択される。
【００８５】
本実施形態の経路最適化装置１００は、最適解が選択されると、経路提示部１１７により、最適解と対応する入力変数情報を用いて移動体１〜４の巡回経路を求め、表示させる。
【００８６】
本実施形態では、以上のように、単一の最適解を求める際に、拘束条件を事前に設定せずに、広く解を探索した後に得られたパレート解に対して拘束条件を適用する。したがって、本実施形態では必要最低限の数の初期入力変数情報があれば、単一の最適解を得ることができる。
【００８７】
図１１は、各移動体の巡回経路が表示された例を示す図である。
【００８８】
図１１において、動経路Ｒ１〜Ｒ４を示すプロットは、濃度が最も高い点が移動開始地点であり、移動体１〜４の巡回時間の経過と共に濃度が薄くなるものとした。
【００８９】
図１１の例では、最適解と対応する入力変数情報に、境界座標（ｘａ，ｙａ）、移動体２の移動開始地点Ｐ２、移動体３の移動開始地点Ｐ３、移動体４の移動開始地点Ｐ４、移動体２〜４の移動方向「１」が含まれることがわかる。また、このとき移動体１は、移動開始地点Ｐ１、移動方向「１」である。
【００９０】
以上のように、本実施形態では、複数の移動体の巡回経路を探索する際に、各移動体に割り当てる分割領域を決める境界座標と、各移動体の移動開始地点と、各移動体の移動方向を入力変数とする。そして、本実施形態では、最適化のアルゴリズムにより、移動体同士の最近接距離の値が最大となり、且つ最長巡回時間の値が最小となるような入力変数の組合せを求め、求められた入力変数の組合せから得た各移動体の巡回経路を、各移動体の最適な巡回経路とする。
【００９１】
したがって、本実施形態では、複数の移動体における各移動体の最適な巡回経路を探索できる。また、本実施形態では、入力変数を最適化することで、少ない計算量で各移動体の最適な巡回経路を求めることができる。
【００９２】
以下に、本実施形態により計算量の削減について説明する。例えば、４つの移動体で１２０箇所の地点を巡回する場合、単純に１２０カ所の地点を４分割したとしても、移動開始地点の探索は（３０×２）３回の計算が必要となる。尚、３０×２としたのは３０箇所の地点を移動開始地点とし、提示された巡回経路に対して時計回りに回るか、又は反時計回りに回るかを検討する必要があるためである。また、３乗としたのは、４つの移動体のうち１つの移動体が回る最適な巡回経路を基準とし、他の３つの移動体が近接しない移動開始地点を探索することを想定したためである。
【００９３】
この計算を網羅的に実行した場合、２１６，０００回の計算が必要となる。もし分割領域を振り分ける境界座標の位置を１００通り設けた場合、更に１００回の計算が必要となり、２１，６００，０００回の計算が必要となる。これは、１回の計算に０．１秒を要するとした場合に、２５日を要する計算である。
【００９４】
本実施形態では、移動体同士の最近接距離が長く、巡回経路が最短となる入力変数の組合せを最適化のアルゴリズムにより求めるため、上述した膨大な量の計算を行う必要がなく、処理時間を短縮することができる。
【００９５】
尚、本実施形態では、パレート解が抽出された後に、拘束条件に応じて最適解を選択するものとしたが、これに限定されない。本実施形態では、抽出されたパレート解と対応する入力変数情報から得られる複数パターンの巡回経路を移動体制御装置２００に提示しても良い。
【００９６】
この場合、経路最適化装置１００は、複数パターンの巡回経路を、移動体制御装置２００の使用者に提示し、採用する巡回経路を選択させても良い。巡回経路が選択されると、経路最適化装置１００は、選択された巡回経路に対応する入力変数情報を移動体制御装置２００へ提供する。
【００９７】
また、本実施形態の移動体制御装置２００は、走査型プローブ顕微鏡や穴あけ装置に限定されない。本実施形態の移動体制御装置２００は、例えば複数の無線輸送機を制御して配送を行う配送制御装置であっても良い。この場合、経路最適化装置１００は、複数の無線輸送機を移動体として、各無線輸送機の最適な配送ルートを提示する。
【００９８】
開示の技術では、以下に記載する付記のような形態が考えられる。
（付記１）
複数の移動体間の最近接距離と、前記複数の移動体のそれぞれが複数の地点を巡回する際の前記巡回に掛かる最長時間とを出力変数とし、各移動体の移動開始地点と、各移動体の移動方向と、各移動体が巡回する領域を特定する領域情報とを入力変数とし、前記入力変数を最適化して最適解となる前記出力変数を取得する処理と、
前記出力変数が最適解となったときの前記入力変数を用いて算出された前記移動体毎の巡回経路を出力する処理と、をコンピュータに実行させる経路最適化プログラム。
（付記２）
前記出力変数を取得する処理は、
前記複数の移動体間の最近接距離が最大となり、且つ前記巡回に掛かる最長時間が最小となるように、前記各移動体の巡回経路を算出し、
算出された前記各移動体の巡回経路に基づき、前記出力変数を算出する付記１記載の経路最適化プログラム。
（付記３）
前記出力変数を得る処理を実行した後に、
前記最適解となる前記出力変数の群から、予め設定された拘束条件を満たす出力変数を抽出する処理を、前記コンピュータに実行させる付記２記載の経路最適化プログラム。
（付記４）
前記拘束条件は、前記最近接距離が所定の値以上であることであり、
前記拘束条件を満たす前記出力変数から、前記最長時間が最も短い出力変数を選択する処理を、前記コンピュータに実行させる付記３記載の経路最適化プログラム。
（付記５）
前記最適解となる前記出力変数の群から、
前記最近接距離が所定の値以上であり、且つ前記最長時間が最も短い出力変数を選択する処理を、前記コンピュータに実行させる付記２記載の経路最適化プログラム。
（付記６）
前記移動体毎の巡回経路を出力する処理は、
前記出力変数が最適解となったときの前記入力変数を出力する処理か、又は前記移動体毎の巡回経路を表示させる画面データを出力する処理を含む付記１乃至５の何れか一項に記載の経路最適化プログラム。
（付記７）
複数の移動体間の最近接距離と、前記複数の移動体のそれぞれが複数の地点を巡回する際の前記巡回に掛かる最長時間とを出力変数とし、各移動体の移動開始地点と、各移動体の移動方向と、各移動体が巡回する領域を特定する領域情報とを入力変数とし、前記入力変数を最適化して最適解となる前記出力変数を得る出力変数取得部と、
前記出力変数が最適解となったときの前記入力変数を用いて算出された前記移動体毎の巡回経路を出力する経路提示部と、を有する経路最適化装置。
（付記８）
コンピュータによる経路最適化方法であって、該コンピュータが、
複数の移動体間の最近接距離と、前記複数の移動体のそれぞれが複数の地点を巡回する際の前記巡回に掛かる最長時間とを出力変数とし、各移動体の移動開始地点と、各移動体の移動方向と、各移動体が巡回する領域を特定する領域情報とを入力変数とし、前記入力変数を最適化して最適解となる前記出力変数を取得し、
前記出力変数が最適解となったときの前記入力変数を用いて算出された前記移動体毎の巡回経路を出力する、経路最適化方法。
【００９９】
本発明は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１００】
１００  経路最適化装置
１１０  経路最適化プログラム
１１０Ａ  経路最適化処理部
１１２  初期入力変数設定部
１１３  出力変数取得部
１１４  入力変数再設定部
１１５  パレート解抽出部
１１６  最適解選択部
１１７  経路提示部
２００  移動体制御装置
【図１】
0006357402.tif 000002
【図２】
0006357402.tif 000003
【図３】
0006357402.tif 000004
【図４】
0006357402.tif 000005
【図５】
0006357402.tif 000006
【図６】
0006357402.tif 000007
【図７】
0006357402.tif 000008
【図８】
0006357402.tif 000009
【図９】
0006357402.tif 000010
【図１０】
0006357402.tif 000011
【図１１】
0006357402.tif 000012