(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023007274
(43)【公開日】2023-01-18
(54)【発明の名称】巡回セールスマン問題解法
(51)【国際特許分類】
G06F 17/10 20060101AFI20230111BHJP
G06Q 10/04 20230101ALI20230111BHJP
【FI】
G06F17/10 Z
G06Q10/04
【審査請求】未請求
【請求項の数】3
【出願形態】書面
(21)【出願番号】P 2021129366
(22)【出願日】2021-06-29
(71)【出願人】
【識別番号】521345051
【氏名又は名称】村上 高
(72)【発明者】
【氏名】村上 高
【テーマコード(参考)】
5B056
5L049
【Fターム(参考)】
5B056AA04
5L049AA04
(57)【要約】
【課題】巡回セールスマン問題では、対象地点総数が大きくなると全ルートを総当たりで調査して最短経路となる厳密解を求める場合、計算量が莫大になり、標準的な設備でその解を求めるが困難になる。そこで、対象地点間を仮想的な光通路網で結んだ回路を考え、その回路上を走る光の性質を利用する手法で、最短ルートを探索する解法を提案する。
【解決手段】対象地点間の距離や時間、コストなどの関係量を1対1の関係で表す行列を作成し、その行列の各要素に対して関係量の大きさに応じた変換計算及び等価化計算を行うことで、等価光回路における距離を表した行列を得る。次に、得られた行列に対して、スタート地点を表す列に於いて一定のルールに基づいて、最大値の要素を選択することで次の地点を選ぶ。同じ方法で最終地点までのルートを得る。行列の全ての列に対して、この作業を順番に実施し、得られた全て経路の中から最短の経路を抽出することで最適解を得る。
【選択図】
図4
【特許請求の範囲】
【請求項1】
対象地点間の距離や時間、コストなどの関係量を1対1の関係で表す行列を作成し、その行列の各要素に対して関係量の大きさに応じた変換計算を施す。更に、その行列の各要素に対して(全合計値の平均値)/(その要素が属する行の要素合計値)を掛けるという等価化計算を行う処理方法。
【請求項2】
請求項1より求めた行列においてスタート地点を表す列を選択し、その列の一番大きい数の要素を抽出する。次に、抽出された要素が属する行と同じ地点を表す列を選択し、既に選択した行の要素を除いた中で一番大きい要素を抽出する。次にその要素が属する行と同じ地点を表す列で、既に選択した行の要素を除いた中で一番大きい要素を抽出する。この作業を最後の列まで繰り返し、1つの経路を得る。この行列の全ての列に対して、この作業を順番に実施し、得られた経路の中から最短の経路を抽出することで最適解を得る処理方法。
【請求項3】
請求項2に記載の処理方法に対して、行と列を入れ替える処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
計算機によって、巡回セールスマン問題の厳密解または近似解を短時間で得る解法。
【背景技術】
【0002】
複数の対象地点を全て一度だけ通り再びスタート地点に戻る巡回問題に対して、その最短ルートを求める問題は一般に巡回セールスマン問題と呼ばれる。対象地点総数がNの場合、全てのルートを総当たりで調査して最短経路となる厳密解を求める場合、その計算量は(N―1)の階乗となる。Nが増加すると計算量が莫大になり、標準的な設備でその解を求めることは非常に困難になる。
そこで、動的計画法を用いて計算回数を減らして厳密解を求める方法や、最近傍法や遺伝アルゴリズム、ニューラルネットワーク等を用いて高速に近似解を求める方法が開発されている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】『AI・データサイエンスのための図解でわかる数学プログラミング』著者 松田雄馬・露木宏志・千葉彌平 出版社 (株)ソーテック
【発明の概要】
【発明が解決しようとする課題】
【0005】
巡回セールスマン問題の解を高速に得るために「特開2000-48003」では、問題領域を分割して階層的に処理する方法が述べられている。この方法により、従来と比較して高速に解を得ることが期待できるが、手法の特性上厳密解を得ることは難しい。また、領域ごとに解を得る作業を複数回繰り返すことが必要となり、簡便に解を得ることはできない。
【0006】
本発明は上記問題点の解決を図り、計算機を用いて高速かつ簡便に巡回セールスマン問題の厳密解または近似解を得る手段を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は上記目的を達成するために、対象地点間を仮想的な光通路網で結んだ回路を考え、その回路上を走る光の性質を利用する手法で、最短ルートを探索する解法を提案する。
【0008】
図1は巡回セールスマン問題の一例を示している。A,B,C,Dの四点とそれぞれの間の距離を示している。また、対象地点間の距離を1対1の関係で表す行列を作成したものが
図2である。この問題について、A点からスタートする厳密解の一つは、A→B→C→D→Aであり、全長は10kmとなる。
【0009】
図1の各点をそれぞれ光ファイバーなどの手段で接続した回路を考える。
図2の形で表した行列では、各要素が対象地点間の距離を表しているため、その間の通路を光が通過する際は、一定の割合で光の強さが減衰すると考えられる。
【0010】
図2の行列の各要素に対して距離による減衰を考慮した計算を施し、距離の大きさを光の強度に変換した行列が
図3になる。ここでは例として、1km当りで光の強さが1%減衰すると仮定して、0.99^(地点間距離)という計算を行っている。
【0011】
図3において、例えばA行に並んでいる要素はA地点からそれぞれの地点に送られた光の強さを表しており、その合計値はA地点から他の全地点へ送られた光の強さの合計となる。この合計値が小さい地点は、他の地点から相対的に遠いことになる。
【0012】
各行の光の強さ合計値を求め、更に全合計値の平均値を求める。
図3において、合計の列は各行の要素の合計値、平均はその合計値の平均を表す。
【0013】
それぞれの地点を光回路上で等価な関係に変換するために、行列の各要素に対して、(全合計値の平均値)/(その要素が属する行の光の強さ合計値)を掛ける。例えば、
図3のA行においては、各要素に2.39/2.58を掛けることになる。全ての行に計算を実施した行列を
図4に示す。
【0014】
図4に示す行列の各要素は、等価光回路上である地点から他の地点までの距離の大きさを表している。例えば、A地点からは、A列の各要素を比較して光の強さが一番大きいB点が相対的に近いことを表す。
【0015】
巡回セールスマン問題の解を得る場合は、この行列を利用して、A地点からスタートしてA列の一番数値が大きいB地点を選択し、次にB列から既に選択したA地点を除いた要素で一番大きいC列及びC地点を選択し、最後に残ったD地点を選択するという形で、経路A→B→C→D→Aを得る。同じやり方で、B地点、C地点、D地点からスタートする経路を取得し、得られた中で合計距離が最短の経路が解となる。
【0016】
図2の行列において行と列を入れかえる形でも同様の結果が得られる。つまり、各列に対して合計値及び、その合計値の平均値を求めて各要素に対して、(平均値)/(その要素が属する列の合計値)をかけて、新たな行列を求める。この行列を利用して各行からスタートして大きい値の地点をたどるという手法である。
【0017】
この例では、
図3の行列を求める計算として減衰係数に対して距離のべき乗を適用したが、距離の逆数や、減衰係数に対する距離の平方根のべき乗、減衰係数に対する距離の対数のべき乗等、様々の計算手法を利用することもできる。
【0018】
以上に説明した手法をフローチャートにまとめたものが
図5である。
【0019】
対象地点数の増加につれて光回路が複雑になるために、各地点からスタートして得られる経路の合計距離はそれぞれ異なる値となる。地点数が十数点であれば、この解法で厳密解及び近似解(誤差10%以内)が得られることを確認している。それ以上の数に対しては今後調査を行う予定である。
【発明の効果】
本発明に係る解法を用いることで、巡回サラリーマン問題の厳密解または近似解を従来手法に比べて簡便かつ短時間に取得でき、輸送業界における輸送の効率化や産業界における基盤穿孔等の効率化が貢献できると考える。
【図面の簡単な説明】
)
【0020】
【
図2】
図1に示した各地点間距離を表した行列を示す。
【
図3】
図2の行列に対して変換計算した結果及び合計、平均値を示す。
【
図4】等価光回路における距離を表した行列を示す。
【産業上の利用可能性】
)
【0021】
輸送業界における輸送の効率化や産業界における基盤穿孔等の効率化等