(58)【調査した分野】(Int.Cl.,DB名)
複数の移動体間の最近接距離と、前記複数の移動体のそれぞれが複数の地点を巡回する際の前記巡回に掛かる最長時間とを出力変数とし、各移動体の移動開始地点と、各移動体の移動方向と、各移動体が巡回する領域を特定する領域情報とを入力変数とし、前記入力変数を最適化して最適解となる前記出力変数を取得する処理と、
前記出力変数が最適解となったときの前記入力変数を用いて算出された前記移動体毎の巡回経路を出力する処理と、をコンピュータに実行させる経路最適化プログラム。
複数の移動体間の最近接距離と、前記複数の移動体のそれぞれが複数の地点を巡回する際の前記巡回に掛かる最長時間とを出力変数とし、各移動体の移動開始地点と、各移動体の移動方向と、各移動体が巡回する領域を特定する領域情報とを入力変数とし、前記入力変数を最適化して最適解となる前記出力変数を得る出力変数取得部と、
前記出力変数が最適解となったときの前記入力変数を用いて算出された前記移動体毎の巡回経路を出力する経路提示部と、を有する経路最適化装置。
【発明を実施するための形態】
【0012】
以下に図面を参照して実施形態について説明する。
図1は、経路最適化装置を説明する図である。
【0013】
本実施形態の経路最適化装置100は、複数の移動体を有する移動体制御装置200に対し、複数の移動体のそれぞれが複数の地点へ移動する際の巡回経路を示す経路情報300を提供する。
【0014】
本実施形態の移動体制御装置200は、例えば、複数のプローブを物質の表面をなぞるように動かして表面状態を拡大観察する走査型プローブ顕微鏡である。この場合、複数のプローブが移動体となる。また、本実施形態の移動体制御装置200は、例えば、回路基板等に穴をあける複数のドリルを有する穴あけ装置である。この場合、複数のドリルが移動体となる。
【0015】
本実施形態の経路最適化装置100は、経路最適化プログラム110がインストールされており、移動先データベース120と、初期入力変数データベース130と、を有する。本実施形態の移動先データベース120には、移動体が巡回する地点を示す情報と、その地点に滞在する滞在時間とが対応付けられて格納されている。初期入力変数データベース130は、経路最適化装置100に初期値として与えられる各種の変数が格納されている。
【0016】
本実施形態の経路最適化装置100は、経路最適化プログラム110を実行することで、移動先データベース120と、初期入力変数データベース130とを参照し、複数の移動体が移動する際に、互いに干渉しないように、各移動体の巡回経路を求める。
【0017】
尚、本実施形態の経路最適化装置100は、ネットワーク等を介して経路情報300を移動体制御装置200に提供しても良い。また、本実施形態の経路最適化装置100は、例えば可搬型の記憶媒体等に経路情報300を格納しても良い。この場合、可搬型の記憶媒体に格納された経路情報300は、移動体制御装置200により読み込まれる。
【0018】
また、
図1の例では、経路最適化装置100と移動体制御装置200とを別々の装置としたが、これに限定されない。本実施形態では、経路最適化装置100が移動体制御装置200に含まれていても良い。
【0019】
以下に、
図2を参照して、本実施形態の経路最適化装置100による処理の概要を説明する。
図2は、経路最適化装置による処理の概要を説明する図である。
図2では、移動先となる地点を120箇所とし、移動体を4つとし、4つの移動体で120箇所全てを巡回する場合の処理について説明する。
【0020】
図2(A)は、移動体の移動先となる120箇所の地点が領域S内にランダムにプロットされた状態を示している。本実施形態では、
図2(B)に示すように、領域Sを線T1によりx軸方向に分割し、線T2により領域Sをy軸方向に分割することで、領域Sを移動体の数と同数である4つの領域S1〜S4に分割する。尚、
図2(B)では、線T1と線T2との交点をPとした。
【0021】
そして、本実施形態では、各領域S1〜S4に移動体を割り当て、領域S1〜S4内での各移動体の巡回経路R1〜R4を求める。このとき、本実施形態では、移動体が互いに干渉しない巡回経路R1〜R4を求める。
【0022】
ここで、巡回経路R1〜R4を求める際には、領域S1〜S4の境界の位置と、各移動体が移動を開始する位置と、移動の方向と、各移動体が巡回する各地点での滞在時間とが、考慮すべき項目となる。
【0023】
また、巡回経路R1〜R4は、移動体同士が干渉せず、且つ巡回に掛かる時間が短くなることが好ましい。
【0024】
そこで、本実施形態の経路最適化装置100は、各移動体が巡回する領域を示す情報(領域S1〜S4の境界の位置を示す情報)、各移動体が移動を開始する位置を示す情報、各移動体の移動方向を示す情報、各移動体の移動速度を示す情報と、を入力変数とする。また、本実施形態の経路最適化装置100は、移動体間の最近接距離と、複数の移動体の巡回時間のうち最も長い最長巡回時間と、を出力変数とする。
【0025】
そして、本実施形態の経路最適化装置100は、最近接距離が最大となり、最長巡回時間が最短となるように、入力変数を最適化することで、最適解となる出力変数を取得する。すなわち、本実施形態では、複数の移動体が互いに干渉せず、且つ最短の経路で全ての地点を巡回する巡回経路を算出することができる。
【0026】
また、本実施形態では、入力変数の最適化を行うことで、考えられる全ての条件で移動体毎に巡回セールスマン問題を適用して複数の移動体の巡回経路を算出する場合と比較して、不要な計算を省き、処理時間を短縮することができる。
【0027】
以下に、本実施形態の経路最適化装置100について説明する。
図3は、経路最適化装置のハードウェア構成の一例を示す図である。
【0028】
本実施形態の経路最適化装置100は、それぞれバスBで相互に接続されている入力装置11、出力装置12、ドライブ装置13、補助記憶装置14、メモリ装置15、演算処理装置16及びインターフェース装置17を含む。
【0029】
入力装置11はキーボードやマウス等を含み、各種信号を入力するために用いられる。出力装置12はディスプレイ装置等を含み、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置17は、モデム、LANカード等を含み、ネットワークに接続する為に用いられる。
【0030】
経路最適化プログラム110は、経路最適化装置100を制御する各種プログラムの少なくとも一部である。経路最適化プログラム110は例えば記録媒体18の配布やネットワークからのダウンロードなどによって提供される。経路最適化プログラム110を記録した記録媒体18は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【0031】
また、経路最適化プログラム110は、経路最適化プログラム110を記録した記録媒体18がドライブ装置13にセットされると、記録媒体18からドライブ装置13を介して補助記憶装置14にインストールされる。ネットワークからダウンロードされた経路最適化プログラム110は、インターフェース装置17を介して補助記憶装置14にインストールされる。
【0032】
補助記憶装置14は、インストールされた経路最適化プログラム110を格納すると共に、必要なファイル、データ等を格納する。メモリ装置15は、コンピュータの起動時に補助記憶装置14から経路最適化プログラム110を読み出して格納する。そして、演算処理装置16はメモリ装置15に格納された経路最適化プログラム110に従って、後述するような各種処理を実現している。
【0033】
次に、
図4、
図5を参照し、経路最適化装置100の有する各データベースについて説明する。
図4は、移動先データベースの一例を示す図である。本実施形態の移動先データベース120は、移動体制御装置200と対応して、経路最適化装置100に予め与えられている。
【0034】
本実施形態の移動先データベース120は、情報の項目として、座標と、滞在時間と、を有する。
【0035】
項目「座標」の値は、移動体が巡回し、滞在する地点を示す座標である。尚、本実施形態の項目「座標」の値は、2次元の座標とした。より具体的には、項目「座標」の値は、領域Sにおける地点を示す情報である。
【0036】
項目「滞在時間」の値は、移動体が座標の値で指定される地点に滞在する時間を示す。
【0037】
以下の説明では、項目「座標」の値と、項目「滞在時間」の値とが対応付けられた情報を移動先情報と呼ぶ。
【0038】
図5は、初期入力変数データベースの一例を示す図である。本実施形態の初期入力変数データベース130は、例えば経路最適化プログラム110が実行される際に、与えられても良い。また、初期入力変数データベース130は、移動体制御装置200と対応して、予め与えられていても良い。
【0039】
図5の例では、移動体制御装置200の有する4つの移動体を、移動体1〜4として示している。
【0040】
本実施形態の初期入力変数データベース130は、情報の項目として、境界座標、移動方向、移動開始地点、移動速度とを有する。本実施形態において、これらの項目は、経路最適化プログラム110による処理の際に与えられる入力変数である。本実施形態では、項目「境界座標」の値と、項目「境界座標」の値と対応付けられた他の項目の値と、入力変数情報と呼ぶ。本実施形態の初期入力変数データベース130には、複数の入力変数情報が予め格納されており、各入力変数情報に含まれる値が、入力変数の初期値として参照される。
【0041】
項目「境界座標」の値は、移動体毎に割り振られた領域の境界の座標である。すなわち、本実施形態の項目「境界座標」は、各移動体が巡回する領域を特定する領域情報である。以下の説明では、移動先となる地点が存在する領域Sにおいて、移動体毎に割り振られた領域S1〜S4を分割領域と呼ぶ。本実施形態の項目「境界座標」の値は、領域Sをx軸方向に分割する線T1と、領域Sをy軸方向に分割する線T2との交点Pの座標とした(
図2参照)。
【0042】
項目「移動方向」の値は、移動体2〜4の移動方向を示す。本実施形態の移動方向は、移動体に割り振られた領域内を時計回りに移動するか、又は反時計回りに移動するかを示している。本実施形態では、移動体が、分割領域の中で、時計回りの方向に移動する場合、項目「移動方向」の値を「1」とする。また、本実施形態では、移動体が分割領域の中で、反時計回りの方向に移動する場合に、項目「移動方向」の値を「−1」とする。例えば
図2(C)において、領域S1内を移動する移動体の移動方向は、時計回りを示す「1」で与えられる。
【0043】
項目「移動開始地点」の値は、移動体2〜4が移動を開始する際のスタート地点を示している。本実施形態では、例えば移動体が巡回する地点のそれぞれに、番号が付与されており、項目「移動開始地点」の値は、各地点に付与された番号により示されても良い。
【0044】
尚、本実施形態では、複数の移動体において、基準となる移動体と、基準となる移動体の移動方向、移動開始地点と、が予め設定されているものとした。したがって、本実施形態の初期入力変数データベース130の項目「移動方向」と、項目「移動開始地点」と、には、基準となる移動体に対応する値は格納されない。
図5の例では、移動体1を基準となる移動体としているため、項目「移動方向」と項目「移動開始地点」のそれぞれにおいて、移動体1に対応する値は格納されていない。
【0045】
項目「移動速度」の値は、各移動体の移動速度を示す。
【0046】
次に、
図6を参照して本実施形態の経路最適化装置100の機能について説明する。
図6は、経路最適化装置の機能を説明する図である。
【0047】
本実施形態の経路最適化装置100は、経路最適化処理部110Aを有する。本実施形態の経路最適化処理部110Aは、演算処理装置16が経路最適化プログラム110を実行することで実現される。
【0048】
本実施形態の経路最適化装置100は、記憶領域300を有する。記憶領域300は、例えば補助記憶装置14やメモリ装置15等の所定の領域に設けられても良い。本実施形態の記憶領域300は、経路最適化処理部110Aの処理結果として出力される出力変数情報310、パレート解情報320等が格納される。
【0049】
本実施形態の経路最適化処理部110Aは、移動先情報取得部111、初期入力変数設定部112、出力変数取得部113、入力変数再設定部114、パレート解抽出部115、最適解選択部116、経路提示部117を有する。
【0050】
本実施形態の移動先情報取得部111は、移動先データベース120から、移動先情報を取得する。初期入力変数設定部112は、初期入力変数データベース130から、入力変数情報を取得し、各入力変数を設定する。
【0051】
出力変数取得部113は、1の入力変数情報について、巡回セールスマン問題の解法を用い、移動体毎の最適な巡回経路を求める。出力変数取得部113による演算に用いられる入力変数情報は、初期入力変数データベース130に格納された入力変数情報と、入力変数再設定部114により生成された入力変数情報と、が含まれる。
【0052】
また、出力変数取得部113は、各移動体が分割領域内を最適な巡回経路で巡回した際に、移動体同士が最も接近したときの距離と、移動体が分割領域内を巡回した巡回時間のうち、最も長い巡回時間と、を出力変数として取得し、出力する。尚、分割領域における移動体の巡回時間には、移動体が移動先の地点に滞在する滞在時間も含む。すなわち、本実施形態の巡回時間は、移動体がある地点から次の地点へ移動する移動時間と、各地点における滞在時間とを含む時間である。
【0053】
以下の説明では、各移動体が分割領域内を最適な巡回経路で巡回した際に、移動体同士が最も接近したときの距離を最近接距離と呼び、移動体毎の分割領域内の巡回時間のうち、最も長い巡回時間を最長巡回時間と呼ぶ。
【0054】
本実施形態の出力変数取得部113により取得された出力変数は、出力変数と対応する入力変数情報と共に、出力変数情報310として記憶領域300に格納される。
【0055】
入力変数再設定部114は、最適化アルゴリズムにより、初期入力変数データベース130に格納された入力変数情報から新たな入力変数情報を生成し、設定する。本実施形態の最適化アルゴリズムとは、例えば遺伝的アルゴリズムやアニーリング法等である。
【0056】
パレート解抽出部115は、出力変数情報310に格納された出力変数から、パレート解を抽出する。また、パレート解抽出部115は、抽出したパレート解と、このパレート解と対応する入力変数情報とを、パレート解情報320として記憶領域300に格納する。
【0057】
パレート解とは、非劣解とも呼ばれ、複数ある目的関数とする特性値において1つ以上において優れ、なおかつ他の特性が劣っていない(支配されていない)解を示す。すなわち、パレート解は、ある条件において、他の解と比べて高い評価が得られる解である。本実施形態のパレート解抽出部115は、最近接距離と、最長巡回時間と、をそれぞれ目的関数とした場合のパレート解を抽出する。
【0058】
最適解選択部116は、抽出されたパレート解から、拘束条件を満たし、且つ最長巡回時間が最も短い解(出力変数)を最適解として選択する。本実施形態の拘束条件は、最近接距離が、複数の移動体が衝突せずに移動することができる所定の距離以上であることとした。拘束条件は、例えば移動体制御装置200の使用者等により予め与えられるものである。
【0059】
経路提示部117は、最適解選択部116により選択された最適解と対応する入力変数情報を用いて算出した、各移動体の巡回経路を最適の巡回経路として提示する。
【0060】
具体的には、本実施形態の経路提示部117は、例えば選択されたパレート解と対応する入力変数情報に基づき得られた各移動体の巡回経路を表示させても良い。また、本実施形態の経路提示部117は、選択されたパレート解と対応する入力変数情報を、最適な巡回経路を示す経路情報300として、移動体制御装置200へ提供しても良い。
【0061】
次に、
図7を参照して本実施形態の経路最適化装置100の動作について説明する。
図7は、経路最適化装置の動作を説明するフローチャートである。
【0062】
本実施形態の経路最適化装置100は、経路最適化プログラム110が起動されると、移動先情報取得部111により、移動先データベース120を参照し、移動先情報を取得する(ステップS701)。続いて、経路最適化装置100は、初期入力変数設定部112により、初期入力変数データベース130を参照し、初期入力変数データベース130に格納された入力変数情報を取得し(ステップS702)、1の入力変数情報を設定する(ステップS703)。
【0063】
次に、経路最適化装置100は、出力変数取得部113により、設定された入力変数情報毎に、各移動体の分割領域における最適な巡回経路を求める(ステップS704)。本実施形態の出力変数取得部113は、例えば巡回セールスのマン問題の解法を用いて分割領域における移動体の最適な巡回経路を求める。
【0064】
次に、出力変数取得部113は、移動体毎に、ステップS704で得た最適な巡回経路の巡回に係る巡回時間を算出する。具体的には、出力変数取得部113は、ステップS704で求めた巡回経路と、入力変数情報に含まれる移動体の移動速度と、を用いて、移動体が巡回する各地点での滞在時間も含めた巡回時間を算出する。また、出力変数取得部113は、移動体毎に、各移動体の移動中に、最も他の移動体と接近したときの距離(最近接距離)を算出する。
【0065】
そして、本実施形態の出力変数取得部113は、移動体毎の巡回時間のうち、最も長い巡回時間である最長巡回時間と、最近接距離と、を出力変数として取得する(ステップS705)。本実施形態の出力変数取得部113は、取得した出力変数を、入力変数情報と対応付けて、出力変数情報310として記憶領域300に格納する。
【0066】
続いて、出力変数取得部113は、入力変数の最適化の処理が終了したか否かを判定する(ステップS706)。より具体的には、出力変数取得部113は、例えば初期入力変数データベース130から取得した入力変数情報に加え、入力変数再設定部114により設定される、予め決められた数の入力変数情報に対して、ステップS703からステップS705までの処理が終了したか否かを判定する。
【0067】
ステップS706において、最適化の処理が完了していない場合、入力変数再設定部114は、最適化のアルゴリズムにより入力変数情報を生成し、再度設定し(ステップS707)、ステップS703へ戻る。
【0068】
本実施形態では、入力変数再設定部114が、例えば遺伝的アルゴリズムにより入力変数情報を生成する場合、初期入力変数データベース130に格納された入力変数情報から得られた出力変数に基づき、1世代目から予め設定された世代まで、入力変数情報を生成する。
【0069】
ステップS706において、最適化の処理が完了した場合、経路最適化装置100は、パレート解抽出部115により、出力変数情報310から、最適と見なせる出力変数をパレート解として抽出する(ステップS708)。
【0070】
続いて経路最適化装置100は、最適解選択部116により、パレート解から一義の最適解を求めるための拘束条件を設定する(ステップS709)。拘束条件の詳細は、後述する。
【0071】
続いて経路最適化装置100は、最適解選択部116は、ステップS708で抽出したパレート解から、拘束条件を満たし、且つ最長巡回時間が最も短い最適解を選択する(ステップS710)。
【0072】
続いて経路最適化装置100は、経路提示部117により、ステップS710で選択された最適解と対応する入力変数情報に基づき、各移動体の分割領域における最適な巡回経路を示す経路情報300を移動体制御装置200に提示する(ステップS711)。経路情報300の提示の方法は、例えば、移動体制御装置200の使用者が各移動体の巡回経路を視認できるように、経路最適化装置100のディスプレイに表示させても良い。また、移動体制御装置200に、最適解と対応する入力変数情報を渡しても良い。
【0073】
以上のように、本実施形態の経路最適化装置100では、最適化のアルゴリズムにより入力変数を最適化することで、2つの出力変数が、最長巡回時間に関しては値が最小となり、最近接距離に関しては値が最大となる入力変数の組合せを求める。すなわち、本実施形態の経路最適化装置100は、複数の移動体について、移動体同士が接近せず、且つ巡回経路が短くなるような入力変数の組合せを求める。
【0074】
したがって、本実施形態によれば、複数の移動体が複数の地点を巡回する際に、移動体同士が干渉せずに効率的に移動できる最適な巡回経路を探索することができる。
【0075】
以下に、
図8乃至
図12を参照し、本実施形態の経路最適化プログラム110の処理を詳細に説明する。
【0076】
図8は、移動体毎の巡回経路を説明する図である。
図8の例では、入力変数情報として、境界座標(5,5)、移動体2の移動方向「1」、移動体3の移動方向「−1」、移動体4の移動方向「−1」が与えられている。さらに、
図8の例では、入力変数情報として、移動体2の移動開始地点「1」、移動体3の移動開始地点「1」、移動体4の移動開始地点「1」、移動体1の移動速度「0.07[m/分]」、移動体2の移動速度「0.78[m/分]」、移動体3の移動速度「0.65[m/分]」、移動体4の移動速度「0.31[m/分]」が与えられている。
【0077】
本実施形態では、出力変数取得部113らにより、この入力変数情報に基づき、分割領域S1における移動体1の最適な巡回経路R1と、分割領域S2における移動体1の最適な巡回経路R2と、分割領域S3における移動体3の最適な巡回経路R3と、分割領域S4における移動体4の最適な巡回経路R4と、を得る。
【0078】
そして、出力変数取得部113は、移動体1〜4の移動速度と、巡回経路R1〜R4と、から、移動体1〜4が巡回経路R1〜R4の移動にかかる巡回時間を算出する。そして、移動体1〜4のうち、巡回時間が最も長い移動体の巡回時間を最長巡回時間とし、出力変数とする。
【0079】
また、出力変数取得部113は、移動体1〜4のそれぞれについて、他の移動体と最も接近したときの距離を求める。そして出力変数取得部113は、求めた距離のうち、最も短い距離を最近接距離とし、出力変数とする。
【0080】
図9は、出力変数情報の一例を示す図である。本実施形態の出力変数取得部113は、入力変数情報毎に取得された出力変数92を、入力変数情報91と対応付けた出力変数情報310として、記憶領域300に格納する。
【0081】
図10は、入力変数再設定部により設定された入力変数毎に求めた最近接距離と最長巡回時間の関係を示す図である。
【0082】
本実施形態における最適条件は、最近接距離の値が最大であり、最長巡回時間の値が最小であることである。よって、
図10に示すように、図の右下に示す枠線W1〜4内に存在する解がパレート解(最適解の群)である。
【0083】
本実施形態では、このパレート解から一義の最適解を求めるための拘束条件として、複数の移動体同士が接触しないことが保障される距離を設定する。本実施形態では、
図10において、最近接距離が、複数の移動体同士が接触しないことが保障される距離以上である領域を動作保証領域と呼ぶ。
【0084】
本実施形態の最適解選択部116は、動作保証領域内のパレート解のうち、最長巡回時間が最も短い解を最適解として選択する。したがって、
図10の例では、枠線W4内の解が最適解として選択される。
【0085】
本実施形態の経路最適化装置100は、最適解が選択されると、経路提示部117により、最適解と対応する入力変数情報を用いて移動体1〜4の巡回経路を求め、表示させる。
【0086】
本実施形態では、以上のように、単一の最適解を求める際に、拘束条件を事前に設定せずに、広く解を探索した後に得られたパレート解に対して拘束条件を適用する。したがって、本実施形態では必要最低限の数の初期入力変数情報があれば、単一の最適解を得ることができる。
【0087】
図11は、各移動体の巡回経路が表示された例を示す図である。
【0088】
図11において、動経路R1〜R4を示すプロットは、濃度が最も高い点が移動開始地点であり、移動体1〜4の巡回時間の経過と共に濃度が薄くなるものとした。
【0089】
図11の例では、最適解と対応する入力変数情報に、境界座標(xa,ya)、移動体2の移動開始地点P2、移動体3の移動開始地点P3、移動体4の移動開始地点P4、移動体2〜4の移動方向「1」が含まれることがわかる。また、このとき移動体1は、移動開始地点P1、移動方向「1」である。
【0090】
以上のように、本実施形態では、複数の移動体の巡回経路を探索する際に、各移動体に割り当てる分割領域を決める境界座標と、各移動体の移動開始地点と、各移動体の移動方向を入力変数とする。そして、本実施形態では、最適化のアルゴリズムにより、移動体同士の最近接距離の値が最大となり、且つ最長巡回時間の値が最小となるような入力変数の組合せを求め、求められた入力変数の組合せから得た各移動体の巡回経路を、各移動体の最適な巡回経路とする。
【0091】
したがって、本実施形態では、複数の移動体における各移動体の最適な巡回経路を探索できる。また、本実施形態では、入力変数を最適化することで、少ない計算量で各移動体の最適な巡回経路を求めることができる。
【0092】
以下に、本実施形態により計算量の削減について説明する。例えば、4つの移動体で120箇所の地点を巡回する場合、単純に120カ所の地点を4分割したとしても、移動開始地点の探索は(30×2)
3回の計算が必要となる。尚、30×2としたのは30箇所の地点を移動開始地点とし、提示された巡回経路に対して時計回りに回るか、又は反時計回りに回るかを検討する必要があるためである。また、3乗としたのは、4つの移動体のうち1つの移動体が回る最適な巡回経路を基準とし、他の3つの移動体が近接しない移動開始地点を探索することを想定したためである。
【0093】
この計算を網羅的に実行した場合、216,000回の計算が必要となる。もし分割領域を振り分ける境界座標の位置を100通り設けた場合、更に100回の計算が必要となり、21,600,000回の計算が必要となる。これは、1回の計算に0.1秒を要するとした場合に、25日を要する計算である。
【0094】
本実施形態では、移動体同士の最近接距離が長く、巡回経路が最短となる入力変数の組合せを最適化のアルゴリズムにより求めるため、上述した膨大な量の計算を行う必要がなく、処理時間を短縮することができる。
【0095】
尚、本実施形態では、パレート解が抽出された後に、拘束条件に応じて最適解を選択するものとしたが、これに限定されない。本実施形態では、抽出されたパレート解と対応する入力変数情報から得られる複数パターンの巡回経路を移動体制御装置200に提示しても良い。
【0096】
この場合、経路最適化装置100は、複数パターンの巡回経路を、移動体制御装置200の使用者に提示し、採用する巡回経路を選択させても良い。巡回経路が選択されると、経路最適化装置100は、選択された巡回経路に対応する入力変数情報を移動体制御装置200へ提供する。
【0097】
また、本実施形態の移動体制御装置200は、走査型プローブ顕微鏡や穴あけ装置に限定されない。本実施形態の移動体制御装置200は、例えば複数の無線輸送機を制御して配送を行う配送制御装置であっても良い。この場合、経路最適化装置100は、複数の無線輸送機を移動体として、各無線輸送機の最適な配送ルートを提示する。
【0098】
開示の技術では、以下に記載する付記のような形態が考えられる。
(付記1)
複数の移動体間の最近接距離と、前記複数の移動体のそれぞれが複数の地点を巡回する際の前記巡回に掛かる最長時間とを出力変数とし、各移動体の移動開始地点と、各移動体の移動方向と、各移動体が巡回する領域を特定する領域情報とを入力変数とし、前記入力変数を最適化して最適解となる前記出力変数を取得する処理と、
前記出力変数が最適解となったときの前記入力変数を用いて算出された前記移動体毎の巡回経路を出力する処理と、をコンピュータに実行させる経路最適化プログラム。
(付記2)
前記出力変数を取得する処理は、
前記複数の移動体間の最近接距離が最大となり、且つ前記巡回に掛かる最長時間が最小となるように、前記各移動体の巡回経路を算出し、
算出された前記各移動体の巡回経路に基づき、前記出力変数を算出する付記1記載の経路最適化プログラム。
(付記3)
前記出力変数を得る処理を実行した後に、
前記最適解となる前記出力変数の群から、予め設定された拘束条件を満たす出力変数を抽出する処理を、前記コンピュータに実行させる付記2記載の経路最適化プログラム。
(付記4)
前記拘束条件は、前記最近接距離が所定の値以上であることであり、
前記拘束条件を満たす前記出力変数から、前記最長時間が最も短い出力変数を選択する処理を、前記コンピュータに実行させる付記3記載の経路最適化プログラム。
(付記5)
前記最適解となる前記出力変数の群から、
前記最近接距離が所定の値以上であり、且つ前記最長時間が最も短い出力変数を選択する処理を、前記コンピュータに実行させる付記2記載の経路最適化プログラム。
(付記6)
前記移動体毎の巡回経路を出力する処理は、
前記出力変数が最適解となったときの前記入力変数を出力する処理か、又は前記移動体毎の巡回経路を表示させる画面データを出力する処理を含む付記1乃至5の何れか一項に記載の経路最適化プログラム。
(付記7)
複数の移動体間の最近接距離と、前記複数の移動体のそれぞれが複数の地点を巡回する際の前記巡回に掛かる最長時間とを出力変数とし、各移動体の移動開始地点と、各移動体の移動方向と、各移動体が巡回する領域を特定する領域情報とを入力変数とし、前記入力変数を最適化して最適解となる前記出力変数を得る出力変数取得部と、
前記出力変数が最適解となったときの前記入力変数を用いて算出された前記移動体毎の巡回経路を出力する経路提示部と、を有する経路最適化装置。
(付記8)
コンピュータによる経路最適化方法であって、該コンピュータが、
複数の移動体間の最近接距離と、前記複数の移動体のそれぞれが複数の地点を巡回する際の前記巡回に掛かる最長時間とを出力変数とし、各移動体の移動開始地点と、各移動体の移動方向と、各移動体が巡回する領域を特定する領域情報とを入力変数とし、前記入力変数を最適化して最適解となる前記出力変数を取得し、
前記出力変数が最適解となったときの前記入力変数を用いて算出された前記移動体毎の巡回経路を出力する、経路最適化方法。
【0099】
本発明は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。