(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-07-22
(45)【発行日】2024-07-30
(54)【発明の名称】巡回セールスマン問題用入力データ作成装置、巡回セールスマン問題用入力データ作成方法、および、巡回セールスマン問題用入力データ作成プログラム
(51)【国際特許分類】
G06N 99/00 20190101AFI20240723BHJP
【FI】
G06N99/00 180
(21)【出願番号】P 2024043830
(22)【出願日】2024-03-19
【審査請求日】2024-03-19
【早期審査対象出願】
(73)【特許権者】
【識別番号】000153443
【氏名又は名称】株式会社 日立産業制御ソリューションズ
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】川内 六三四
(72)【発明者】
【氏名】米田 知弘
【審査官】福西 章人
(56)【参考文献】
【文献】特開2019-125341(JP,A)
【文献】特開2023-177653(JP,A)
【文献】特開2022-032678(JP,A)
【文献】国際公開第2023/196168(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 16/906
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
巡回セールスマン問題にて対象となる複数の巡回拠点に対して、各前記巡回拠点と出発点からの距離、および、各前記巡回拠点の優先順位を考慮したスコアを算出するスコア算出部と、
前記スコア算出部が算出したスコアにより各巡回拠点をランク付けするランク付け部と、
前記ランク付け部が付与したランクのうち、上位ランクから1点の巡回拠点を抽出し、抽出した拠点を初期値として前記ランク付け部がランク付けした数よりも少ないグループの数でクラスタリングするクラスタリング部と、
前記クラスタリング部の複数のクラスタリング結果の上位グループを評価関数で評価し、評価関数で算出した評価値が最も高い上位グループを巡回セールスマン問題の入力データとする入力データ作成部と、
を備えることを特徴とする巡回セールスマン問題用入力データ作成装置。
【請求項2】
前記クラスタリング部は、k-means法にて複数の巡回拠点をクラスタリングする、
ことを特徴とする請求項1に記載の巡回セールスマン問題用入力データ作成装置。
【請求項3】
前記入力データ作成部は、前記評価関数において、最上位ランクの巡回拠点をより多く含むグループをより高く評価する、
ことを特徴とする請求項1に記載の巡回セールスマン問題用入力データ作成装置。
【請求項4】
前記入力データ作成部は、前記評価関数において、巡回拠点をより多く含むグループをより高く評価する、
ことを特徴とする請求項1に記載の巡回セールスマン問題用入力データ作成装置。
【請求項5】
前記入力データ作成部は、前記評価関数において、出発点を含むグループをより高く評価する、
ことを特徴とする請求項1に記載の巡回セールスマン問題用入力データ作成装置。
【請求項6】
スコア算出部が、巡回セールスマン問題にて対象となる複数の巡回拠点に対して、各前記巡回拠点と出発点からの距離、および、各前記巡回拠点の優先順位を考慮したスコアを算出するステップと、
ランク付け部が、算出した前記スコアにより各巡回拠点をランク付けするステップと、
クラスタリング部が、前記巡回拠点に付与されたランクのうち、上位ランクから1点の巡回拠点を抽出し、抽出した拠点を初期値としてランク付けした数よりも少ないグループの数でクラスタリングするステップと、
入力データ作成部が、複数の各巡回拠点をクラスタリングした複数のクラスタリング結果の上位グループを評価関数で評価し、評価関数で算出した評価値が最も高い上位グループを巡回セールスマン問題の入力データとするステップと、
を備えることを特徴とする巡回セールスマン問題用入力データ作成方法。
【請求項7】
コンピュータに、
巡回セールスマン問題にて対象となる複数の巡回拠点に対して、各前記巡回拠点と出発点からの距離、および、各前記巡回拠点の優先順位を考慮したスコアを算出する手順、
算出した前記スコアにより各巡回拠点をランク付けする手順、
前記巡回拠点に付与されたランクのうち、上位ランクから1点の巡回拠点を抽出し、抽出した拠点を初期値としてランク付けした数よりも少ないグループの数でクラスタリングする手順、
複数の各巡回拠点をクラスタリングした複数のクラスタリング結果の上位グループを評価関数で評価し、評価関数で算出した評価値が最も高い上位グループを巡回セールスマン問題の入力データとする手順、
を実行させるための巡回セールスマン問題用入力データ作成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、巡回セールスマン問題用入力データ作成装置、巡回セールスマン問題用入力データ作成方法、および、巡回セールスマン問題用入力データ作成プログラムに関する。
【背景技術】
【0002】
巡回セールスマン問題をベースとした数理最適化モデル開発案件において、最適化処理の入力データとして与える巡回拠点数が増加すると、最適解として検討する巡回の組合せ数も膨大になり、その結果最適化実行時間も長時間となってしまうことが最適化案件では定番となっていた。
【0003】
特許文献1には、地図上の全観測目的地を必要に応じて複数のグリッドに分割し、木造、鉄骨造を含む各種建築物の推定難易度等の制約条件を定式化する発明が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
最適化の実行時間が長時間となってしまう要因として、最適化処理内では最適な巡回ルートとして選択される可能性が明らかに低い巡回拠点、つまり重要度の低い拠点に対しても、最適な巡回ルートとして適しているかどうか1つ1つ検討していることが挙げられる。そのような重要度が低い巡回拠点を最適化処理の入力データから事前に除外することができれば、最適化実行時間を短縮することが可能となる。
特許文献1に記載の発明では、訪問先を複数のグリッドに分割してグリッド毎に訪問先をクラスタリングしている。しかし、グリッドが適切なものであるか否かが不明であるため、適切に巡回セールスマン問題を解くことが可能か否かが明確ではない。
【0006】
例えば、東京から福岡へ行く最適なルートを考えるとする。東京⇒名古屋⇒大阪というルートは、移動距離が最小なルートであり、最適解として適切である。しかし、最適化処理の中では、東京⇒新潟⇒仙台というルートが組み合わせとして存在する。東京⇒新潟⇒仙台のルートは、最適解としての可能性が低いが、最適解として検討する時間が発生してしまう。
【0007】
よって、東京から福岡へ行く最適なルートを考えるとするならば、東京→名古屋→大阪→神戸→広島→福岡および、京都、徳島、松山のグループのなかの組合せを考慮することで十分である。
そこで、本発明は、短時間で最適な巡回セールスマン問題の解を得ることを課題とする。
【課題を解決するための手段】
【0008】
前記した課題を解決するため、本発明の巡回セールスマン問題用入力データ作成装置は、巡回セールスマン問題にて対象となる複数の巡回拠点に対して、各前記巡回拠点と出発点からの距離、および、各前記巡回拠点の優先順位を考慮したスコアを算出するスコア算出部と、前記スコア算出部が算出したスコアにより各巡回拠点をランク付けするランク付け部と、前記ランク付け部が付与したランクのうち、上位ランクから1点の巡回拠点を抽出し、抽出した拠点を初期値として前記ランク付け部がランク付けした数よりも少ないグループの数でクラスタリングするクラスタリング部と、前記クラスタリング部の複数のクラスタリング結果の上位グループを評価関数で評価し、評価関数で算出した評価値が最も高い上位グループを巡回セールスマン問題の入力データとする入力データ作成部と、を備えることを特徴とする。
【0009】
本発明の巡回セールスマン問題用入力データ作成方法は、スコア算出部が、巡回セールスマン問題にて対象となる複数の巡回拠点に対して、各前記巡回拠点と出発点からの距離、および、各前記巡回拠点の優先順位を考慮したスコアを算出するステップと、ランク付け部が、算出した前記スコアにより各巡回拠点をランク付けするステップと、クラスタリング部が、前記巡回拠点に付与されたランクのうち、上位ランクから1点の巡回拠点を抽出し、抽出した拠点を初期値としてランク付けした数よりも少ないグループの数でクラスタリングするステップと、入力データ作成部が、複数の各巡回拠点をクラスタリングした複数のクラスタリング結果の上位グループを評価関数で評価し、評価関数で算出した評価値が最も高い上位グループを巡回セールスマン問題の入力データとするステップと、を備えることを特徴とする。
【0010】
本発明の巡回セールスマン問題用入力データ作成プログラムは、コンピュータに、巡回セールスマン問題にて対象となる複数の巡回拠点に対して、各前記巡回拠点と出発点からの距離、および、各前記巡回拠点の優先順位を考慮したスコアを算出する手順、算出した前記スコアにより各巡回拠点をランク付けする手順、前記巡回拠点に付与されたランクのうち、上位ランクから1点の巡回拠点を抽出し、抽出した拠点を初期値としてランク付けした数よりも少ないグループの数でクラスタリングする手順、複数の各巡回拠点をクラスタリングした複数のクラスタリング結果の上位グループを評価関数で評価し、評価関数で算出した評価値が最も高い上位グループを巡回セールスマン問題の入力データとする手順、を実行させるためのものである。
その他の手段については、発明を実施するための形態のなかで説明する。
【発明の効果】
【0011】
本発明によれば、短時間で最適な巡回セールスマン問題の解を得ることが可能となる。
【図面の簡単な説明】
【0012】
【
図1】本実施形態に係る巡回セールスマン問題用入力データ作成装置の構成図である。
【
図3】巡回セールスマン問題用入力データ作成処理のフローチャートである。
【
図4】事務所からの距離と拠点の優先順位を考慮したスコア算出方法を示す図である。
【
図5】スコアをA~Cにランク付けし、各拠点に付与することを示した図である。
【
図6】1回目のクラスタリング結果を示す図である。
【
図7】2回目のクラスタリング結果を示す図である。
【
図8】3回目のクラスタリング結果を示す図である。
【
図9】評価関数によるクラスタリング結果の選択を示す図である。
【
図10】k-means法によるクラスタリング処理のフローチャートである。
【
図11】グループ数がランク数よりも小さい場合を示す図である。
【
図12】グループ数とランク数とが等しい場合を示す図である。
【
図13】グループ数がランク数よりも大きい場合を示す図である。
【
図14】グループ数がランク数よりも小さい場合の巡回路を示す図である。
【
図15】グループ数とランク数とが等しい場合の巡回路を示す図である。
【
図16】グループ数がランク数よりも大きい場合の巡回路を示す図である。
【
図17】本実施形態を入力した後に実施した巡回セールスマン問題を示す図である。
【発明を実施するための形態】
【0013】
以降、本発明を実施するための形態を、各図を参照して詳細に説明する。
【0014】
図1は、本実施形態に係る巡回セールスマン問題用入力データ作成装置1と巡回セールスマン問題解法算出装置2の構成図である。
巡回セールスマン問題用入力データ作成装置1は、最適解に選択される可能性が低い拠点を予め除外する装置である。巡回セールスマン問題用入力データ作成装置1は、スコア算出部11と、ランク付け部12と、クラスタリング部13と、入力データ作成部14を含んで構成される。
【0015】
スコア算出部11は、各巡回拠点に対して、事務所からの距離と、各巡回拠点の優先順位を考慮したスコアを算出する。
ランク付け部12は、スコア算出部11が算出したスコアに基づき、各巡回拠点をA~Cの3段階にランク付けする。なお、ランク付け部12は、AからCの3段階のランク付けに限定されず、任意の段階でランク付けしてもよい。
【0016】
クラスタリング部13は、ランク付け部12が各巡回拠点に付与したランクに基づき、ランクAの中から1点、ランクCの中から1点それぞれ抽出し、k-meansの初期値として設定する。そして、クラスタリング部13は、分割するグループ数を2と設定してクラスタリング処理を実施して、クラスタリング結果を保存する。
【0017】
入力データ作成部14は、クラスタリング部13によるクラスタリング処理をランクAが付与された巡回拠点の数だけ繰り返させる。そして、入力データ作成部14は、クラスタリング結果に対して評価関数を適用し、ランクAの巡回拠点の数、巡回拠点の数、事務所の有無を考慮した重要度の高い拠点を多く含むグループを抽出し、巡回セールスマン問題解法算出装置2の入力データとする。
【0018】
巡回セールスマン問題解法算出装置2は、入力データ作成部14が作成した入力データをもとに、巡回セールスマン問題の解を算出する。入力データ作成部14が作成した入力データは、最適解に選択される可能性が低い拠点が予め除外されているので、好適に巡回セールスマン問題の解を算出する。
【0019】
図2は、巡回セールスマン問題用入力データ作成装置1のハードウェア構成図である。
巡回セールスマン問題用入力データ作成装置1は、CPU15,ROM16、RAM17、入力部18、通信部19、記憶部10などのハードウェアを含んで構成されている。
【0020】
CPU15は、この巡回セールスマン問題用入力データ作成装置1を統括制御する中央処理装置であり、後記する記憶部10に格納されている巡回セールスマン問題用入力データ作成プログラム101を実行することにより、
図1に示した各機能部を具現化する。
ROM16は、不揮発性の読み出し可能なメモリであり、例えばBIOSなどを記録している。RAM17は、揮発性の読み書き可能なメモリであり、CPU15によりプログラムの一時的な記憶領域として用いられる。
【0021】
入力部18は、例えばキーボード、マウス、タッチパネルなどであり、情報の入力に用いられる。通信部19は、例えばNIC(Network Interface Card)であり、インターネット経由で他の装置との間で情報を送受信する。
記憶部10は、例えばSSD(Solid State Drive)であり、巡回セールスマン問題用入力データ作成プログラム101などを記憶する。
【0022】
図3は、巡回セールスマン問題用入力データ作成処理のフローチャートである。
最初、スコア算出部11は、各巡回拠点に対して、事務所からの距離と拠点の優先順位を考慮したスコアを算出する(ステップS10)。
【0023】
そして、ランク付け部12は、スコアより各巡回拠点をA~Cの3つにランク付けする(ステップS11)。
次に、ステップS12にて、入力データ作成部14は、ステップS13とS14の処理を、ランクAの巡回拠点だけ繰り返す。
【0024】
ステップS13にて、クラスタリング部13は、ランクAとランクCから、それぞれ1つの拠点を抽出し、k-meansの初期値として設定する。
そして、クラスタリング部13は、分割するグループ数を「2」と設定し、クラスタリングを実施する(ステップS14)。
【0025】
ステップS15にて、入力データ作成部14は、ランクAの全ての巡回拠点を初期値としたクラスタリングを実施したならば、処理はステップS16に進む。入力データ作成部14は、未処理のランクAの巡回拠点があったならば、ステップS12に戻る。
【0026】
ステップS16にて、入力データ作成部14は、クラスタリング結果に対して評価関数を適用し、ランクA拠点数、巡回拠点数、事務所の有無を考慮した重要度の高い拠点を最も多く含むグループを抽出する。ランクAの拠点はより巡回すべき重要度が高く、ランクAの巡回拠点をより多く含むグループは、より好適な巡回経路を算出できる可能性が高いので、より評価値が高くなる。
また、同一グループ内により多くの巡回拠点の含まれるほど、より好適な巡回経路を算出できる可能性が高いので、より評価値が高くなる。事務所は巡回経路の出発点なので、事務所を含むグループは、より好適な巡回経路を算出できる可能性が高いので、より評価値が高くなる。
【0027】
巡回セールスマン問題解法算出装置2は、重要度の高い拠点を最も多く含むグループをもとに、巡回セールスマンの解を算出する(ステップS17)。ステップS17の処理が終了すると、
図3の処理は終了する。
【0028】
図4は、事務所からの距離と拠点の優先順位を考慮したスコア算出方法を示す図である。
テーブル31は、巡回拠点名欄と、事務所からの距離欄と、優先順位欄と、スコア欄を含んで構成される。ここでスコア欄は、スコア算出部11により以下のように算出される。
【0029】
巡回セールスマン問題用入力データ作成装置1は、式(1)に示したように、各巡回拠点の事務所からの距離Dの逆数に第1の重み付け係数w
1を乗算し、更に優先順位Pの逆数に第2の重み付け係数w
2を乗算してスコアを算出する。
【数1】
【0030】
ここに、Dは事務所からの距離を示し、w1は第1の重み付け係数を示す。Pは優先順位を示し、w2は第2の重み付け係数を示す。第1の重み付け係数w1と第2の重み付け係数w2は予め定められている。
【0031】
拠点#1の事務所からの距離Dは、3000である。第1の重み付け係数w
1は1.5である。優先順位Pは2である。第2の重み付け係数w
2は、1000である。ここから式(2)により、拠点#2のスコアは0.25と算出される。
【数2】
【0032】
同様に、以下の拠点#2のスコアは0.3、拠点#3のスコアは0.192308、拠点4のスコアは0.1875と算出される。更に拠点#5のスコアは0.46875、拠点#6のスコアは0.096154と算出される。
【0033】
図5は、スコアをA~Cにランク付けし、各拠点に付与することを示した図である。
テーブル32は、巡回拠点名欄と、事務所からの距離欄と、優先順位欄と、スコア欄と、ランク欄を含んで構成される。ここでランク欄は、ランク付け部12により以下のように算出される。
ランク付け部12は、スコアの最大値と最小値との差分をランク数で除算し、ランク範囲を算出する。なお、事務所はランクAで固定されている。
【0034】
例えば、
図5の例では、スコアの最大値が0.46875、最小値は0.096154であり、その差分は、0.372596である。これをランクの数の3で除算すると、ランク範囲0.124199として算出される。
【0035】
拠点のスコアが0.096154以上かつ0.220353未満の場合、ランクCが付与される。拠点のスコアから0.220353以上かつ0.344551未満の場合、ランクBが付与される。拠点のスコアから0.344551以上かつ0.46875以下の場合、ランクAが付与される。
そして、ランクAとランクCからそれぞれ拠点の位置をk-meansの初期値に設定し、クラスタリングを実施する。
【0036】
図6は、1回目のクラスタリング結果を示す図である。
1回目のクラスタリング結果41は、上位グループ411と下位グループ412の2つに分けられている。上位グループ411は、5個の巡回拠点を含み、そのうちランクAの拠点数は2個である。上位グループ411は、出発点である事務所を含んでいない。
【0037】
図7は、2回目のクラスタリング結果を示す図である。
クラスタリング結果42は、上位グループ421と下位グループ422の2つに分けられている。上位グループ421は、6個の巡回拠点を含み、そのうちランクAの拠点数は2個である。上位グループ421は、出発点である事務所を含んでいる。
【0038】
図8は、3回目のクラスタリング結果を示す図である。
クラスタリング結果43は、上位グループ431と下位グループ432の2つに分けられている。上位グループ431は、9個の巡回拠点を含み、そのうちランクAの拠点数は3個である。上位グループ431は、出発点である事務所を含んでいる。
【0039】
図9は、評価関数によるクラスタリング結果の選択を示す図である。
テーブル51は、クラスタリング結果を示し、回数欄と、巡回拠点数欄と、ランクA拠点数と、事務所有無欄とを含んで構成される。
【0040】
入力データ作成部14は、各クラスタリング結果のランクAグループに対して、式(3)に示す評価関数を適用し、巡回拠点数の多さ、ランクA拠点数の多さ、事務所の有無を考慮したクラスタリング結果を選択する。
【数3】
【0041】
なお、Eは評価値である。Lは上位グループに含まれる巡回拠点数である。MはランクAの拠点数である。Sは事務所の有無を示し、事務所を含むならば1、事務所を含まないならば0である。w3は第3の重み付け係数である。w4は第4の重み付け係数である。w5は第5の重み付け係数である。ここで重みの関係は、第4の重み付け係数が最も大きく、その次に第5の重み付け係数、最も小さいのが第3の重み付け係数である。つまり、ランクAの拠点数の多さを、最も優先する評価値としている。
【0042】
式(4)は、1回目のクラスタリング結果41の評価値E
1を算出する式である。
【数4】
【0043】
式(5)は、2回目のクラスタリング結果42の評価値E
2を算出する式である。
【数5】
【0044】
式(6)は、3回目のクラスタリング結果43の評価値E
3を算出する式である。
【数6】
【0045】
上記の式(4)から式(6)により、3回目のクラスタリング結果43の評価値E3が最も高いため、入力データとして一番適切であることがわかる。よって、3回目のクラスタリング結果43を、巡回セールスマン問題解法算出装置2への入力データとして採用する。
【0046】
図10は、k-means法によるクラスタリング処理のフローチャートである。
k-means法とは、複数個のデータをK個のグループ(クラスタ)に分ける方法である。k-means法は,教師なし学習のクラスタリング処理であり、似たデータを一つのグループとして分類して判別する。
【0047】
クラスタリング処理において分類して判別するグループ数は、事前にパラメータとして設定されている。以下、コンピュータが、多次元にマッピングされている複数のデータをクラスタリングする方法について説明する。
最初、コンピュータは、グループ数を決定して、ランダムに重心を決定し(ステップS20)。
【0048】
ステップS21にて、コンピュータは、各データ点で重心との距離を計算し、グループに分ける。そして、コンピュータは、グループの重心を計算し直したのち(ステップS22)、重心点に変更があるか否かを判定する(ステップS23)。重心点に変更があるならば(Yes)、処理はステップS21に戻る。重心点に変更がないならば(No)、処理は終了する。
【0049】
《クラスタリング手法について》
クラスタリングとは、機械学習の一種であり、データ間の類似度に基づいてデータをグループ分けしていく手法のことをいう。
【0050】
k-means法以外のクラスタリング手法について、下記に示す。
ウォード法と群平均法は、データを分類する先は1つしか許されないハードクラスタリングであり、かつ階層クラスタリングである。ここで階層クラスタリングとは、データを分類する際に、似ているデータ同士を順番にまとめていき、次第に大きなグループに分けていく方法のことをいう。
【0051】
ウォード法では、最初に個々のデータが全て異なるグループに属している状態を想定している。その時点のグループの内、最も距離(偏差平方和)が近い2つのグループを選んで1つのグループに統合するという操作を繰り返すことで大きいグループを形成する。
【0052】
k-means法とDBSCAN法は、ハードクラスタリングであり、かつ非階層クラスタリングである。ここで非階層クラスタリングとは、あらかじめ決められたグループ数に要素を分けていく手法のことをいい、高速で処理可能である。
【0053】
pLSI法と、Fuzzy c-means法は、データを分類する先が2つ以上あるケースが許されるソフトクラスタリングであり、かつ非階層クラスタリングである。Fuzzy c-means法は、ほぼk-means法と同じ考え方でクラスタリングを行う手法である。Fuzzy c-Means法では、k個の各中心点に対して近い順に各グループにどの程度まで所属するかのメンバーシップを計算してクラスタリングする。
【0054】
本実施形態にて、クラスタリング方法は上記のうち任意のものを選択してもよく、限定されない。
【0055】
図11は、グループ数がランク数よりも小さい場合を示す図である。
クラスタリング結果61は、グループ数が2で、ランク数が3である。
グループ数が2のため、
図11に示すように、巡回拠点を2つのグループに分割してクラスタリングしている。
k-means法の結果である上位グループ611は、ランクA拠点数が4個、巡回拠点数が46個、事務所を含んでいる。
【0056】
図12は、グループ数とランク数とが等しい場合を示す図である。
クラスタリング結果62は、グループ数が3で、ランク数が3である。グループ数が3のため、下記のように巡回拠点を3つのグループに分割してクラスタリングしている。
k-means法の結果である上位グループ621は、ランクA拠点数が4個、巡回拠点数が33個であり、事務所を含んでいる。
【0057】
図13は、グループ数がランク数よりも大きい場合を示す図である。
クラスタリング結果63は、グループ数が4で、ランク数が3である。グループ数が4のため、巡回拠点を4つのグループに分割してクラスタリングしている。
k-means法の結果である上位グループ631は、ランクA拠点数が3個、巡回拠点数が23個であり、事務所を含んでいる。
【0058】
図14は、グループ数がランク数よりも小さい場合の巡回路を示す図である。
ここでは、グループ数が2で、ランク数が3の場合に求めた巡回路を示している。全ての巡回拠点を入力として、巡回拠点数が12の巡回路となる解が求められたとき、所定のコンピュータで実行時間が約9分であった。これに対して上位グループのみを入力として最適な巡回路を求め、巡回拠点数が12の巡回路となる解が求められたとき、同一のコンピュータでの実行時間が約5秒となった。
【0059】
図15は、グループ数とランク数とが等しい場合の巡回路を示す図である。
ここでは、グループ数が3で、ランク数が3の場合に求めた巡回路を示している。全ての巡回拠点を入力として、巡回拠点数が12の巡回路となる解が求められたとき、所定のコンピュータで実行時間が約9分であった。これに対して上位グループのみを入力として、最適な巡回路を求め、巡回拠点数が12の巡回路となる解が求められたとき、同一のコンピュータでの実行時間が約2秒であった。
【0060】
図16は、グループ数がランク数よりも大きい場合の巡回路を示す図である。
ここでは、グループ数が4で、ランク数が3の場合に求めた巡回路を示している。全ての巡回拠点を入力として、巡回拠点数が12の巡回路となる解が求められたとき、所定のコンピュータで実行時間が約9分であった。これに対して上位グループのみを入力として最適な巡回路を求め、巡回拠点数が11の巡回路となる解が求められたとき、同一のコンピュータでの実行時間が約11秒であった。
【0061】
図14から
図16を通して、本実施形態によれば、従来の全ての巡回拠点を入力する方法と比較して、ほぼ同一の巡回拠点を巡回する解を、きわめて短時間に求めることが可能である。
【0062】
図17は、本実施形態を入力した後に実施した巡回セールスマン問題を示す図である。
巡回セールスマン問題の目的は、最適な巡回順番を計画することである。最適な巡回順番とは、1回の計画で、できる限り多くの巡回拠点を回ること、すなわち、巡回件数の最大化が目的である。
【0063】
ここで巡回の詳細条件を以下に規定する。以下の巡回条件は巡回セールスマン問題としてはオーソドックスな条件である。
・エリア内に100個の拠点がある。
・100個の拠点内に、事務所と処分場が含まれている。
・作業員1人で行う。
・事務所から出発し、各拠点を巡回した後、処分場まで向かう。
・事務所を1度出発したら、事務所に戻ることはできない。
・処分場には必ず巡回の最後に向かう。処分場に到着したら巡回が終了する。
・巡回に使える時間は、最大8時間(1日の稼働時間)である。
・各拠点に到着したら、点検作業を行う。点検作業の作業時間は一律30分間である。
・各拠点間の移動時間は拠点の位置によって、それぞれ異なる。
・移動時間と作業時間の合計は、8時間以内(1日の稼働時間内)に収めることとする。
・1つの拠点には1度しか巡回できない。
・前の拠点に戻ることはできない。すなわち、拠点Aから拠点Bに巡回の後、拠点Aに戻って拠点Cへ移動できない。
図17は、これら巡回条件のもとで算出した巡回セールスマン問題の解を可視化したものである。
【0064】
以下に、本発明の構成と効果について説明する。
【0065】
[1]
巡回セールスマン問題にて対象となる複数の巡回拠点に対して、各前記巡回拠点と出発点からの距離、および、各前記巡回拠点の優先順位を考慮したスコアを算出するスコア算出部(11)と、
前記スコア算出部(11)が算出したスコアにより各巡回拠点をランク付けするランク付け部(12)と、
前記ランク付け部(12)が付与したランクのうち、上位ランクから1点の巡回拠点を抽出し、抽出した拠点を初期値として前記ランク付け部がランク付けした数よりも少ないグループの数でクラスタリングするクラスタリング部(13)と、
前記クラスタリング部(13)の複数のクラスタリング結果の上位グループを評価関数で評価し、評価関数で算出した評価値が最も高い上位グループを巡回セールスマン問題の入力データとする入力データ作成部(14)と、
を備えることを特徴とする巡回セールスマン問題用入力データ作成装置。
【0066】
これにより、短時間で最適な巡回セールスマン問題の解を得ることができる。
【0067】
[2]
前記クラスタリング部(13)は、k-means法にて複数の巡回拠点をクラスタリングする、
ことを特徴とする請求項1に記載の巡回セールスマン問題用入力データ作成装置。
【0068】
これにより、複数の巡回拠点を短時間でクラスタリングできる。
【0069】
[3]
前記入力データ作成部(14)は、前記評価関数において、最上位ランクの巡回拠点をより多く含むグループをより高く評価する、
ことを特徴とする請求項1に記載の巡回セールスマン問題用入力データ作成装置。
【0070】
これにより、最上位ランクの巡回拠点を多く含むグループを入力データとして選択できるので、巡回セールスマン問題の解法にて、より好適な巡回経路を求めさせることができる。
【0071】
[4]
前記入力データ作成部(14)は、前記評価関数において、巡回拠点をより多く含むグループをより高く評価する、
ことを特徴とする請求項1に記載の巡回セールスマン問題用入力データ作成装置。
【0072】
これにより、近接した巡回拠点をより多く含むグループを入力データとして選択できるので、巡回セールスマン問題の解法にて、より好適な巡回経路を求めさせることができる。
【0073】
[5]
前記入力データ作成部(14)は、前記評価関数において、出発点を含むグループをより高く評価する、
ことを特徴とする請求項1に記載の巡回セールスマン問題用入力データ作成装置。
【0074】
これにより、出発点を含むグループを入力データとして選択できるので、巡回セールスマン問題の解法にて、より好適な巡回経路を求めさせることができる。
【0075】
[6]
巡回セールスマン問題にて対象となる複数の巡回拠点に対して、各前記巡回拠点と出発点からの距離、および、各前記巡回拠点の優先順位を考慮したスコアを算出するステップと、
算出した前記スコアにより各巡回拠点をランク付けするステップと、
前記巡回拠点に付与されたランクのうち、上位ランクから1点の巡回拠点を抽出し、抽出した拠点を初期値としてランク付けした数よりも少ないグループの数でクラスタリングするステップと、
複数の各巡回拠点をクラスタリングした複数のクラスタリング結果の上位グループを評価関数で評価し、評価関数で算出した評価値が最も高い上位グループを巡回セールスマン問題の入力データとするステップと、
を備えることを特徴とする巡回セールスマン問題用入力データ作成方法。
【0076】
これにより、短時間で最適な巡回セールスマン問題の解を得ることができる。
【0077】
[7]
コンピュータ(1)に、
巡回セールスマン問題にて対象となる複数の巡回拠点に対して、各前記巡回拠点と出発点からの距離、および、各前記巡回拠点の優先順位を考慮したスコアを算出する手順、
算出した前記スコアにより各巡回拠点をランク付けする手順、
前記巡回拠点に付与されたランクのうち、上位ランクから1点の巡回拠点を抽出し、抽出した拠点を初期値としてランク付けした数よりも少ないグループの数でクラスタリングする手順、
複数の各巡回拠点をクラスタリングした複数のクラスタリング結果の上位グループを評価関数で評価し、評価関数で算出した評価値が最も高い上位グループを巡回セールスマン問題の入力データとする手順、
を実行させるための巡回セールスマン問題用入力データ作成プログラム。
【0078】
これにより、短時間で最適な巡回セールスマン問題の解を得ることができる。
【0079】
(変形例)
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば上記した実施形態は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることも可能である。
【0080】
上記の各構成、機能、処理部、処理手段などは、それらの一部または全部を、例えば集積回路などのハードウェアで実現してもよい。上記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈して実行することにより、ソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリ、ハードディスク、SSD(Solid State Drive)などの記録装置、または、フラッシュメモリカード、DVD(Digital Versatile Disk)などの記録媒体に置くことができる。
【0081】
各実施形態に於いて、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には、殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0082】
1 巡回セールスマン問題用入力データ作成装置
2 巡回セールスマン問題解法算出装置
11 スコア算出部
12 ランク付け部
13 クラスタリング部
14 入力データ作成部
【要約】
【課題】短時間で最適な巡回セールスマン問題の解を得る。
【解決手段】巡回セールスマン問題用入力データ作成装置1は、複数の巡回拠点に対して、各前記巡回拠点と出発点からの距離、および、各前記巡回拠点の優先順位を考慮したスコアを算出するスコア算出部11と、スコア算出部11が算出したスコアにより各巡回拠点をランク付けするランク付け部12と、ランク付け部12が付与したランクのうち、上位ランクから1点の巡回拠点を抽出し、抽出した拠点を初期値として前記ランク付け部がランク付けした数よりも少ないグループの数でクラスタリングするクラスタリング部13と、クラスタリング部13の複数のクラスタリング結果の上位グループを評価関数で評価し、評価関数で算出した評価値が最も高い上位グループを巡回セールスマン問題の入力データとする入力データ作成部14とを備える。
【選択図】
図1