16
19 最短ネットワーク問題に対するヒューリスティック解法 A Heuristic Algorithm for Solving the Minimal Network Problem 岩 瀬  弘 和 * Hirokazu IWASE Hirokazu IWASE 共通領域部(Department of General Studies) 1.はじめに 電話回線網や光ケーブル網、石油パイプラインのような線的形態の施設を設計する場合など、それ らの施設を結ぶネットワークの総延長を最短にする問題を最短ネットワーク問題といい、グラフ理論 の分野ではSteiner木問題とも呼ばれている [1] 。与えられた施設同士を直線的に結ぶことで構築される 最短ネットワークを最小木というが、それらの施設以外の任意の場所に中継点を設けることで最小木 よりも短いネットワークを構築できる場合がある。このネットワークをSteiner木といい、その中で 最も短いネットワークを最小Steiner木という。最短ネットワーク問題は組合せ最適化問題の一つで あり、巡回セールスマン問題などと同様に施設数が多くなるほど計算時間が指数関数的に増加してし まうNP(Non-deterministic Polynomial)困難問題の一つでもある。 組合せ最適化問題をヒューリスティックに解く有効的な手法として遺伝的アルゴリズム(Genetic Algorithms; GA)があり、多くの分野で効率的な問題解決の一手法として利用されている [2][3][4] 。しか し、実際の適用の際には遺伝的パラメータ(初期集団数、交叉率、突然変異率など)や選択・淘汰の 方法など、それぞれの問題に適した設定を行う必要がある。これを解消するために澤井らは遺伝的パ ラメータの設定が不要のパラメータフリーGA(PfGA)を提案し、その簡便性や頑健性が優れている ことを示した [5][6] 。また、ニューラルネットワークにおけるパラメータ設定問題にPfGAが適用され、 その有効性も確認された [7] 。さらに、2008年の論文 [8] においては、PfGAを最短ネットワーク問題へ適 用し、その有効性について報告した。具体的には、施設点集合を等間隔の領域に分割して各領域内で PfGAによりSteiner木を求め、各部分木を結合して一つのネットワークを構築することにより最小木 よりも短いSteiner木が得られる例を示した。しかし、施設点集合の分布によっては部分領域内で最 小Steiner木が得られたとしても全体のネットワークが最小木よりも長くなる例も見られたため、領 域分割の方法において工夫の余地があった。

最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

19

最短ネットワーク問題に対するヒューリスティック解法

A Heuristic Algorithm for Solving the Minimal Network Problem

岩 瀬  弘 和 *

Hirokazu IWASE

* Hirokazu IWASE 共通領域部(Department of General Studies)

1.はじめに

 電話回線網や光ケーブル網、石油パイプラインのような線的形態の施設を設計する場合など、それ

らの施設を結ぶネットワークの総延長を最短にする問題を最短ネットワーク問題といい、グラフ理論

の分野ではSteiner木問題とも呼ばれている[1]。与えられた施設同士を直線的に結ぶことで構築される

最短ネットワークを最小木というが、それらの施設以外の任意の場所に中継点を設けることで最小木

よりも短いネットワークを構築できる場合がある。このネットワークをSteiner木といい、その中で

最も短いネットワークを最小Steiner木という。最短ネットワーク問題は組合せ最適化問題の一つで

あり、巡回セールスマン問題などと同様に施設数が多くなるほど計算時間が指数関数的に増加してし

まうNP(Non-deterministic Polynomial)困難問題の一つでもある。

 組合せ最適化問題をヒューリスティックに解く有効的な手法として遺伝的アルゴリズム(Genetic

Algorithms; GA)があり、多くの分野で効率的な問題解決の一手法として利用されている[2][3][4]。しか

し、実際の適用の際には遺伝的パラメータ(初期集団数、交叉率、突然変異率など)や選択・淘汰の

方法など、それぞれの問題に適した設定を行う必要がある。これを解消するために澤井らは遺伝的パ

ラメータの設定が不要のパラメータフリーGA(PfGA)を提案し、その簡便性や頑健性が優れている

ことを示した[5][6]。また、ニューラルネットワークにおけるパラメータ設定問題にPfGAが適用され、

その有効性も確認された[7]。さらに、2008年の論文[8]においては、PfGAを最短ネットワーク問題へ適

用し、その有効性について報告した。具体的には、施設点集合を等間隔の領域に分割して各領域内で

PfGAによりSteiner木を求め、各部分木を結合して一つのネットワークを構築することにより最小木

よりも短いSteiner木が得られる例を示した。しかし、施設点集合の分布によっては部分領域内で最

小Steiner木が得られたとしても全体のネットワークが最小木よりも長くなる例も見られたため、領

域分割の方法において工夫の余地があった。

Page 2: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

20

東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 22 号(2015)

 そこで本研究では、2008年の研究[8]に基づき部分集合の構築に関して改良を行う。具体的には、解

表現の中に部分集合の分割位置を示す遺伝子要素を導入することで、等間隔領域分割による解法で見

られた1領域内における施設数のバラツキを抑える工夫をする。この新たな提案手法の有効性を示す

ために、ランダムに発生させた施設点集合を用いて数値実験を行う。実験結果から、施設点集合の数

が多い場合においても適用可能であることを示すとともに、提案手法の有効性と利便性について検討

する。

2.最短ネットワーク問題

2.1 最小木とSteiner木

 最短ネットワーク問題とは、「平面上に n 個の点P1 ,…, Pn が与えられているとき、それらを全て

結ぶネットワークのうち最短であるものを探索する問題」である。このとき、与えられた点だけを

使って得られる最短ネットワークを最小木という。それに対して、与えられた点の他に任意の個数の

点を付加することにより得られるネットワークをSteiner木といい、付加する点をSteiner点という。

Steiner木のうち、最短のネットワークを最小Steiner木という。

 最も簡単な例としては、3点P1, P2, P3 が正三角形(一辺の長さが1)の頂点上にあるとき、図1(a)が

最小木であり、図1(b)が最小Steiner木である(SはSteiner点)。このとき、最小木の長さは2である

のに対して、最小Steiner木の長さは√3となる。このように、与えられたn個の点 P1,…, Pn の他に、

新たに任意の m 個の点 S1,…, Sm を付け加えることによって、付け加えないときよりも短いネット

ワークを構築できる場合がある。

P1

SP2 P3

(a)

P1

P2 P3

(b)

図1 最小木(a)と最小Steiner木(b)

 最小木を求めるアルゴリズムとして、Kruskal法[9]がある。これは、閉路ができないように長さの

短い順にネットワークを付加していく貪欲アルゴリズムであり、多項式時間で最適解を求めること

ができる。一方、Steiner木を求める方法の一つにMelzak法[10]がある。これについては次節で説明す

る。

2.2 Melzak法

 平面Steiner問題を幾何的に解くアルゴリズムとしてMelzak法[10]がある。このアルゴリズムは、

まず与えられた n 個の点集合 P1,…, Pn をいくつかの部分集合に分ける。そして、その部分集合毎に

Torricelliの作図法(図2)における代替点Xを利用して、より点数の少ない点集合の問題へ帰着させ

Page 3: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

21

最短ネットワーク問題に対するヒューリスティック解法

る方法である。図2の与えられた3点 P1, P2, P3 においては、正三角形 P1 P2 X の外接円と直線P3 Xと

の交点 S が Steiner点となり、P1 S + P2 S + P3 S = P3 X が成り立つ。この幾何的性質を利用するこ

とで、2点 P1, P2 を1点 X に代替できる。

S

X

P1

P2

P3

P1

P2

P3

P4

P5

S1

S2S3

X3

X1

X2

C3

C2

C1

図2 Torricelliの作図法

S

X

P1

P2

P3

P1

P2

P3

P4

P5

S1

S2S3

X3

X1

X2

C3

C2

C1

図3 Melzak法(n=5の例)

 次に、Melzak法の手順の例として、点の数n=5の場合で説明する(図3)。

 与えられた5点 P1, P2, P3, P4, P5 に対して、その中から3点、例えば P1, P2, P3 を選ぶ。この3点に対

してTorricelliの作図法により代替点 X1 と外接円 C1 を求める。ここでは辺 P1 P2,を正三角形の辺と

して P3 の反対側に X1 を作る。これによって点 P1, P2 が X1 に代替される。次に、点 X1, P3, P4, P5 の

中から3点、例えば点 X1, P3, P4 を選ぶ。この3点から点 X1, P3 の代替点 X2 と外接円 C2 を求める。最

後に、点 X2, P4, P5 から、点 X2, P4 の代替点 X3 と外接円 C3 を求める。

 これらの代替点 X1, X2, X3 を利用して、今度はSteiner点を求めていく。最初に、線分 P5 X3 と円 C3

との交点 S3 を求める。ここで、P5 X3 = S3 P5 + S3 P4 + S3 X2 が成り立つ。次に、線分 S3 X2 と円 C2

との交点 S2 を求める。ここで、 S3 X2 = S2 S3 + S2 P3 + S2 X1 が成り立つ。最後に、線分 S2 X1 と円

C1 との交点 S1 を求める。ここで、S2 X1 = S1 S2 + S1 P2 + S1 P1 が成り立つ。

 以上の操作により図3の太線のネットワーク(Steiner木)を求めることができる。しかし、点を選

ぶ順番によってはこのようにうまくSteiner木を作ることができない。点の選び方により多くの種類

のネットワークができるが、そのうち一番短いSteiner木が最小Steiner木である。

 Melzak法を用いると、点を選ぶ順番を与えることによりネットワークを作ることができるので、

結局、最短ネットワークを求めるにはどの順番で点を選べばよいかという問題に帰着できる。ところ

Page 4: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

22

東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 22 号(2015)

が、この問題は点の数 n が大きくなるとその探索領域が爆発的に増加してしまい、n =8では約130万

回、n = 10では約9億回の探索が必要となる[11]。すなわち、可能性のある全ての組合せを探索するこ

とはnが大きくなった場合に実現不可能となる。そのため、このようなNP困難問題に対してはヒュー

リスティックな解法がよく用いられる。本研究では関数最適化問題などに利用され、その有効性が認

められているパラメータフリー遺伝的アルゴリズム(PfGA)を最短ネットワーク問題に適用する。

次章でその詳細について述べる。

3.PfGAによる解法

3.1 PfGAの基本原理

 澤井らの提案したPfGAの基本アルゴリズム[5][6]は以下のとおりである。ただし、F を全探索空間、

F’ を局所集団、︱F’︱を局所集団の個体数とする。

⑴1個体の抽出:F から1個体を無作為に取り出し、これを F’ の初期個体とする。

⑵1個体の追加:F から1個体を無作為に取り出し、これを F’ に追加する。

⑶交叉:F’ から無作為に2個体を選び出して、これを親 p1,p2 とし、多点交叉を行う。

⑷突然変異:交叉によって生成された2個体の子 c1,c2 のうち無作為に1個体を選択し、ランダム

な位置においてビット反転の突然変異を行う。

⑸選択・淘汰: p1,p2,c1,c2 の4個体を、適応度の大小に応じて1個体から3個体を局所集団 F’ に

戻す(詳細は後述のCase 1からCase 4)。

⑹判定:終了条件(適応度の収束または最大世代数に到達)を満たした場合、終了する。そうでな

い場合、︱F’︱≧2なら⑶へ戻り、︱F’︱=1なら⑵へ戻って繰り返す。

 この1ループをPfGAにおける1世代と呼ぶ。また、⑸において適用される選択・淘汰は、 p1,p2,

c1,c2 の4個体の適応度に基づき以下の規則に従う。

◦Case1: c1,c2 ともに p1,p2 よりも適応度が大きい場合。

  c1,c2 及び p1,p2 の適応度の大きい方を F’ に残す。このとき︱F’︱は1増加する。

◦Case2: c1,c2 ともに p1,p2 よりも適応度が小さい場合。

p1,p2 の適応度の大きい方を F’ に残す。このとき︱F’︱は1減少する。

◦Case3: p1,p2 のうち、どちらかが子個体(c1,c2 )の適応度よりも大きい場合。

c1,c2 の適応度の大きい方と、 p1,p2 の適応度の大きい方を F’ に残す。このとき︱F’︱は変

化しない。

◦Case4: c1,c2 のうち、どちらかが両親( p1,p2 )の適応度よりも大きい場合。

c1,c2 の適応度の大きい方を F’ に残す。更に、F から無作為に1個体を取り出し、F’ に追加

する。このとき︱F’︱は変化しない。

Page 5: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

23

最短ネットワーク問題に対するヒューリスティック解法

 Case1における個体数の増加は最適解への収束を加速させるためであり、Case2における個体数

の減少は個体数の発散を抑えるためと、新たな個体の追加による局所解からの脱出のためである。

 以上のように、PfGAは初期集団数、交叉率、突然変異率などの遺伝的パラメータを設定する必要

がなく、選択・淘汰に関しても目的関数のスケーリングを行わないシンプルなアルゴリズムである。

それにもかかわらず、関数最適化問題に対しては優れた性能を示している[12][13]。

3.2 最短ネットワーク問題に対するPfGAの構成

 この節では、PfGAを最短ネットワーク問題に適用する方法(提案手法)について述べる。

3.2.1 遺伝子型の設定

 2.2節で述べたとおり、Steiner木をMelzak法で求めるためには n 個の点集合 P = P1 ,…, Pn をいく

つかの部分集合に分け、各部分集合内で代替点に置き換える点の順番を決めなければならない。2008

年の研究[8]においては、施設点集合の領域を等間隔に分割することで部分集合を構築した。本研究で

はそれを改良し、次のような方法により部分集合を構築する。まず、この条件を満たす1個体の遺伝

子型として、Gene = (g1,…, gn) と Cut = (ct1,…, ctn) の二つを用意する。Gene の構成要素 g1,…, gnは

点の番号であり、その順序に従って代替点を利用したアルゴリズムを適用することを意味する。Cut

の構成要素 ct1,…, ctn は、1≦i<n において cti は0または1の値をとり、また、ctn =1とし、cti = 1(1

≦i≦n )の場所で Gene の構成要素を部分集合に分割することを意味する。

 例えば、Gene と Cut が

 Gene = (5, 1, 4, 8, 9, 2, 6, 3, 7)

 Cut = (0, 0, 0, 1, 0, 1, 0, 0, 1)

であるときには、まず (5, 1, 4, 8),(8, 9, 2),(2, 6, 3, 7) の三つの部分集合に分け、各部分集合内でその

順序に従って代替点を利用したアルゴリズムを適用して小さなSteiner木を作る。それらの部分木に

対して、最小木を求めるためのKruskal法を適用することにより、一つの大きなSteiner木を作ること

ができる。このようにして得られるSteiner木のうち、最も短いものを近似最適解とする。

3.2.2 交叉

 澤井らのPfGAにおいては多点交叉を利用しているが、本研究では最も単純な一点交叉を適用す

る。ただし、交叉の際には一度、遺伝子型を順序表現に変換して、交叉の操作後に元の遺伝子型に戻

す。ここでの順序表現は、交叉の際に重複する点番号が現れないようにする、すなわち、致死遺伝子

の発生を防ぐ工夫であり、巡回セールスマン問題への適用にもしばしば利用される方法である。

 例えば、点番号表現において「1-3-5-2-4」ならば、順序表現は「1-2-3-1-1」となる。つまり、順序

表現の数字は、使われた点を除いて点の番号順に並べたとき、何番目の位置にあるのかを表現したも

のである。

3.2.3 突然変異

 澤井らのPfGAにおいてはGray Codingした遺伝子に対してビット反転の突然変異を利用してい

Page 6: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

24

東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 22 号(2015)

る。しかし、本研究では同様の突然変異を利用することができないため「2点入れ替えの突然変異」

を適用する。これは、遺伝子内の2箇所の位置iとj(1≦i≦n、1≦j≦n、i≠j)をランダムに決め、

Gene 遺伝子中の gi と gj 及びCut遺伝子中の cti と ctj をそれぞれ入れ替える操作である。この操作に

より ctn = 0となった場合には必ず ctn = 1に修正する。これにより Cut 遺伝子中の1が一つ増えるこ

とになる。

3.2.4 適応度関数

 適応度は優れた個体ほど高い値を示す必要があるが、本研究の対象である最短ネットワーク問題で

はできるだけ短いSteiner木を求めることが目的である。この条件を満たすように、ここでは適応度

f を

RMSMRf

treetree

tree

×-×-

=)1(

と設定する。ただし、Mtreeは最小木の長さ、Streeは得られたSteiner木の長さ、R は1より小さい定数

(本研究ではR =0.9とした)である。これにより、最小木とSteiner木の長さが等しいときには f =

1.0となり、Steiner木が最小木よりも短いときには f >1.0となる。

3.2.5 最短ネットワーク問題に対するPfGAの手順

 前節までの各構成要素に基づき、PfGAを最短ネットワーク問題用に改良したアルゴリズムを以下

に示す。

手順1:初期集団の設定

 全探索空間 F からランダムに1個体を抽出し、これを局所集団 F’ とする。よって、局所集団の個

体数︱F’︱=1となる。

手順2:個体の増殖

 全探索空間 F からランダムに1個体を抽出し、これを局所集団 F’ に追加する。︱F’︱が1増加す

る。

手順3:交叉

 局所集団 F’ からランダムに親個体のペア p2×i-1, p2×i(1≦i≦︱F’︱/2)を作り、一点交叉により

得られる新たな2個体を子個体 c2×i-1, c2×iとする。交叉する場所は乱数により決定する。

手順4:突然変異

 交叉によって生成された子個体 ci(1≦i≦︱F’︱)に対して2点入れ替えの突然変異を行い、ci と

置き換える。これらの子個体を局所集団F’に追加する。

手順5:適応度算出

 局所集団 F’ 中の全ての個体の適応度 f ( pi ) 及び f ( ci )(1≦i≦︱F’︱)を計算する。

手順6:選択・淘汰

 親個体のペア p2×i-1, p2×i と子個体のペア c2×i-1, c2×i(1≦i≦︱F’︱/2)に対して澤井らのPfGAにお

ける選択・淘汰の規則を適用する。選択された個体を局所集団 F’ に残し、︱F’︱を更新する。

Page 7: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

25

最短ネットワーク問題に対するヒューリスティック解法

手順7:判定

 最大世代数に到達したら終了する。

 そうでない場合、︱F’︱=1ならば手順2へ戻り、︱F’︱≧2ならば手順3へ戻る。

4.数値実験

 4.1節以外のシミュレーションは乱数により発生させた施設点データ( x1, y1 )、…、( xn, yn )( nは施

設数)を用いた。x,y座標ともに0≦x≦100、0≦y≦100の整数値とした。

4.1 提案手法の適用可能性

 はじめに、提案手法により最短ネットワーク問題の最適解あるいは近似最適解が得られる可能性

について調べた。具体的には、最適解が既知の点データ(点の数 n =29)[14] に対して提案手法を適用

し、得られたネットワーク(PfGAによるSteiner木)と最小木及び最適解(最小Steiner木)とを比

較した。図4(a)に示すネットワークが最小木(ネットワークの総延長460.0)であり、図4(b)のネット

ワークが最小Steiner木(総延長449.6)である。ここで、図中の・は施設、三本の直線が交わる点は

Steiner点(施設以外に付け加えられた点)である。

 最大世代数を50,000に設定して提案手法によるシミュレーションを1,000回実行した結果、最小木よ

り短いネットワークは935回得られた。その中の最良解(最も短いネットワーク)は図4(c)であり、

ネットワークの総延長は449.9であった。これは、最適解(最小Steiner木)よりもわずか0.067%長い

だけである。

 また、1,000回のシミュレーションにより得られたネットワークのうち、最小木よりも短かった

ネットワークの長さの頻度分布(0.5刻み)を図5に示す。横軸右端460.0は最小木の総延長に一致して

おり、左端449.5は最適解の総延長にほぼ一致している。この分布では、総延長 L が453.0≦ L <453.5

の範囲における頻度は両隣の範囲における頻度よりも大幅に少なくなっている。この原因を調べるた

めに452.5≦ L <454.5の範囲におけるネットワークを調べたところ、以下の特徴が見られた。

⑴452.5≦ L <453.0及び453.5≦ L <454.5の範囲においては、他の範囲と比較すると全く同じ長さ

のネットワークが多数存在した。

⑵全く同じ長さのネットワークはいずれも同一形状のネットワークであった。

Page 8: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

26

東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 22 号(2015)

(a) 最小木(総延長460.0)

(b) 最小Steiner木(総延長449.6)

(c) 提案手法から得られたSteiner木(総延長449.9)

図4 施設数n=29[14]におけるネットワーク

Page 9: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

27

最短ネットワーク問題に対するヒューリスティック解法

 すなわち、452.5≦ L <453.0及び453.5≦ L <454.5の範囲に多く存在するネットワークはそれぞれ

局所解となっており、交叉や突然変異といったPfGAのオペレータにより局所解を脱することで、総

延長452.0よりも短いネットワークが得られると考えられる。実際、シミュレーションの途中過程に

存在した総延長453.8のネットワークはシミュレーション終了時において総延長450.6のネットワーク

に変化していた。

図5 PfGAによるSteiner木の総延長の分布(1,000回のシミュレーション)

図6 各世代における最大適応度の変化

 さらに、PfGAによる探索過程における解への収束状況を表すデータとして、各世代における最大

適応度(max fitness)の変化を図6に示す。横軸が世代数、縦軸がその世代における最大適応度であ

る。この結果から、PfGAによるSteiner木と最小木が同じ長さであるfitness=1.0までは急速に適応度

が上昇し、fitnessが1.0を超えた(Steiner木が最小木よりも短くなった)付近で徐々に近似最適解へ

の収束に向かう傾向が見て取れる。

 今回適用した施設配置データ[14]に関しては、完全に最適解と一致するネットワークは得られなかっ

たものの、ほぼそれと同等の長さのネットワークが得られ、最小木よりも短い(優れた)Steiner木

Page 10: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

28

東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 22 号(2015)

は90%以上の確率で取得できた。以上の結果は、提案手法を用いて最短ネットワーク問題における近

似最適解を導出できる可能性を示唆している。

4.2 提案手法の有効性

 前節では一例の施設点データに対して提案手法を適用し、優良解が得られることを示したが、提

案手法の有効性を確認するためには様々なパターンの施設点データ(任意の点数、及び点の位置)

に対しても同様の結果が得られなければならない。そこで本節では、ランダムに発生させた施設点

データに対して提案手法を適用し、最小木とSteiner木を比較した。ここでは、施設数 n=30、n=50、

n=100の三通りの施設データにおける最小木及びPfGAによるSteiner木をそれぞれ図7、図8、図9に示

す。また、各ネットワークを求めるために設定した最大世代数、各木の長さ、及び最小木に対する

Steiner木の短縮率を表1に示す。ただし、各 n に対する最大世代数については、「解がほぼ収束する

世代数」を基準として試行錯誤的に決定した値である。いずれの場合も最小木より短いSteiner木が

得られ、その短縮率は3%程度であった。

      (a) 最小木(総延長403.8)       (b) PfGAによるSteiner木(総延長390.0)

図7 施設数 n=30におけるネットワーク

      (a) 最小木(総延長476.6)       (b) PfGAによるSteiner木(総延長460.8)

図8 施設数 n=50におけるネットワーク

Page 11: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

29

最短ネットワーク問題に対するヒューリスティック解法

      (a) 最小木(総延長645.8)       (b) PfGAによるSteiner木(総延長630.8)

図9 施設数 n=100におけるネットワーク

表1 図7, 8, 9のネットワークにおける最大世代数、各木の長さ、及び短縮率

施設数 n 30 50 100

最大世代数 10,000 40,000 160,000

最小木 403.8 476.6 645.8

PfGA による Steiner 木 390.0 460.8 630.8

短縮率 (%) 3.42 3.31 2.33

 図7、図8、図9の解を得る過程である「最大適応度の変化」を図10に示す。ただし、いずれのグラ

フも各施設点データに対して100回のシミュレーションを行ったときの平均値をプロットしている。

これらの図から、いずれの場合も若い世代の段階で最大適応度が急激に上昇し、最大適応度がほぼ

1.0を越えたあたりで収束に向かう傾向、すなわち図6と同様の特徴が見て取れる。

 以上の結果から、施設数nの増加に影響されることなく、最小木よりも3%程度短いSteiner木が得

られること、及び近似最適解への収束傾向が認められることが確認できた。すなわち、提案手法は最

短ネットワーク問題の解法の一つとして有効であることが示された。

Page 12: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

30

東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 22 号(2015)

(a) 施設数 n=30における最大適応度の変化

(b) 施設数 n=50における最大適応度の変化

(c) 施設数 n=100における最大適応度の変化

図10 各施設数における世代数と最大適応度の関係

Page 13: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

31

最短ネットワーク問題に対するヒューリスティック解法

4.3 提案手法の利便性

 前節までのシミュレーションにおいては、最大世代数を施設数nに応じて試行錯誤的に決定し

た。しかし、施設数と最大世代数の値によっては、優良解の求められる確率は大幅に変化すること

が容易に予想できる。そこで、本節では最大世代数を固定した場合の「最小木(MT)>Steiner木

(ST)」となる確率を調べた。20≦ n ≦100(ただし n は10刻み)における各100例の施設配置デー

タに対して最大世代数を10,000、20,000、30000、40,000と変化させて提案手法によるシミュレーショ

ンを実行したところ、図11の結果が得られた。横軸が施設数 n 、縦軸が「MT>ST」となった割合

(%)である。当然の結果といえるが、次の2点が明らかになった。

 1.最大世代数が同じ場合、施設数が増えるに従って良い解が得られ難くなる

 2.施設数が同じ場合、より良い解を得るためには探索回数(最大世代数)を多く取る必要がある

図11 最大世代数を固定したときの最小木>Steiner木の割合

 以上のことを踏まえると、ある確率以上で優良解を得るためには、施設数に応じて最大世代数を

設定する必要があるが、これを試行錯誤的に行っていたのではPfGAの適用意義が薄れてしまう。そ

のため、最大世代数を固定せず、自動的に終了するための条件が必要となる。ここでは、「最大適

応度(その世代までに得られた適応度の最大値)が収束するまでシミュレーションを繰り返す、具

体的には最大適応度が最後に変化した世代の2倍の世代数になってもその値が増加しなければ終了す

る」という条件により自動化を図った。60≦ n ≦100(ただし n は10刻み)における各10種類の施設

点データに対して、それぞれ10回のシミュレーション、すなわち、各施設数 n に対して延100回のシ

ミュレーションを行ったところ、上記条件により終了したときの世代(最終世代数)及び終了時点で

「MT>ST」となった割合は表2のようになった。

Page 14: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

32

東京成徳大学研究紀要 ―人文学部・応用心理学部― 第 22 号(2015)

表2 終了条件を自動化した場合の結果

施設数 n 60 70 80 90 100

最終世代数の平均値 5.7 × 104 1.4 × 105 1.9 × 105 2.9 × 105 4.1 × 105

最終世代数の標準偏差 4.7 × 104 7.1 × 104 1.0 × 105 1.8 × 105 2.9 × 105

最終世代数の中央値 4.6 × 104 2.0 × 105 2.2 × 105 2.8 × 105 3.1 × 105

M 木> S 木の割合 (%) 86 88 84 92 92

 n が大きくなるにつれて最終世代数も大きく増加しているが、いずれの場合も「MT>ST」となる

割合、すなわち近似最適解の得られる確率が90%前後の高い値となっている。この自動化を図ること

により、パラメータを一切設定することなく、近似最適解を算出できるという高い利便性を持たせる

ことが可能となった。

 一方、計算回数(最終世代数)に関しては、n が大きくなるにつれて飛躍的に増加してしまい、数

百点の施設に対する最短ネットワーク問題を解く状況下ではやや実用性に欠けるともいえる。これ

は、今後解決すべき問題点である。

5.おわりに

 本研究では、最短ネットワーク問題へのPfGAの適用において、2008年の研究[8]に基づき部分集合

の構築に関して改良を行った。具体的には、解表現の中に部分集合の分割位置を示す遺伝子要素を導

入した。この新たな手法の有効性を示すために、まず、最適解が既知である n=29の問題に適用した

ところ最適解とほぼ同程度の解が得られ、また、n=100の問題においても充分な近似最適解が求め

られたことで、提案手法の有効性が確認された。さらに、施設数 n に依存しないシミュレーション

の終了条件を利用することで、遺伝的アルゴリズムを含む多くの発見的手法において必要となるパラ

メータのチューニングを一切行うことなく近似最適解が求められ、提案手法の利便性が示された。し

かし、施設数 n が数百点といった大規模な問題を解くためには計算回数の低減を実現するPfGAオペ

レータ(交叉、突然変異、選択・淘汰など)の改良が要求される。これは今後の課題である。

参考文献

[1] Korte, B., and Vygen, J.: Combinatorial Optimization -- Theory and Algorithms --, Springer, pp.509–545, 2005.

[2] Grefenstette, J., Gopal, R., Rosmaita, B., and Gucht, D.: “Genetic Algorithms for the Traveling Salesman Problem”, Proceedings of the 1st International Conference on Genetic Algorithms, pp.160-168, 1985.

[3] 小西健三,屋鋪正史,瀧 和男:“温度並列シミュレーティドアニーリング法の巡回セールスマン問題への適用と実験的解析”,電子情報通信学会論文誌D,Vol.J80-D-I,No.2,pp.127-136,1997.

[4] 川本芳久,松田秀雄,橋本昭洋:“遺伝的アルゴリズムによる分子系統樹の作成”,情報処理学会論文

Page 15: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点

33

最短ネットワーク問題に対するヒューリスティック解法

誌,Vol.37,No.6,pp.1107-1116,1996.[5] 澤井秀文,木津左千夫,遠藤哲郎:“パラメータの設定を不要にした遺伝的アルゴリズム”,電子情報通

信学会論文誌,Vol.J81-D-II,No.2,pp.450-452,1998.[6] 澤井秀文,木津左千夫,遠藤哲郎:“パラメータフリー遺伝的アルゴリズムと定常状態遺伝的アルゴリズ

ムとの性能比較”,電子情報通信学会論文誌,Vol.J81-D-II,No.6,pp.1455-1459,1998.[7] 岩瀬弘和,北岡正敏:“階層型神経回路網のパラメータ決定におけるPfGAの有効性”,日本経営工学会

論文誌,Vol.56,No.3,pp.174-181,2005.[8] 岩瀬弘和:“パラメータフリー遺伝的アルゴリズムによる最短ネットワーク問題の解法”,東京成徳大学

人文学部研究紀要,No.15,pp.1-18,2008.[9] Kruskal, J. B.: “On the Shortest Spanning Subtree of a Graph and the Traveling Salesman Problem”,

Proceedings of the American Mathematical Society, Vol.7, No.1, pp.48-50, 1956.[10] Melzak, Z. A.: On the problem of Steiner, Canadian Mathematical Bulletin, Vol.4, pp.143-148, 1961.[11] Gilbert, E. N., and Pollak, H. O.: “Steiner Minimal Trees”, SIAM Journal on Applied Mathematics,

Vol.16, No.1, pp.1-29, 1968.[12] 木津左千夫,澤井秀文,足立進:“可変な局所集団の適応的探索を用いたパラメータフリー遺伝的アル

ゴリズムとその並列分散処理への拡張”,電子情報通信学会論文誌,Vol.J82-D-II,No.3,pp.512-521,1999.

[13] 足立進,澤井秀文:“並列分散パラメータフリー遺伝的アルゴリズムにおける移民選択法の効果”,電子情報通信学会論文誌,Vol.J83-D-I,No.8,pp.834-843,2000.

[14] Bern, M.W. and Graham, R.L.: “The Shortest Network Problem”, Scientific American, Vol.260, pp.84-89, 1989.

Page 16: 最短ネットワーク問題に対するヒューリスティック解法21 最短ネットワーク問題に対するヒューリスティック解法 る方法である。図2の与えられた3点