最短ネットワーク問題:シュタイナー問題 3-G 023145 長谷川 和弘
最短ネットワーク問題とは? 線的な施設の最適配置 (水道、電気、ガス、電話、石油パイプラインなど) ボロノイ図 (水道、電気、ガス、電話、石油パイプラインなど) ボロノイ図 例 日本主要46都市を結ぶ光ケーブル網
東京、名古屋、新潟の3都市を結ぶ <条件> 2地点を結ぶケーブルは、ほぼ直線で結べる ケーブル敷設コストは地形の影響を受けず、1km当たり1000万円 ケーブルの途中どこでも分岐点を設置でき、分岐点の敷設コストはなし 建設コストCを比較すると…
a:C=(253km+261km)x1000万/km=51億4000万円 c:C=(95km+238km+170km)x1000万/km=50億3000万円 距離を最短にするには? →3点の分岐点を120度にする d:C=(79km+210km+205km)x1000万/km=49億4000万円 分岐点を実際に求めるには?
トリチェリの作図法 1 東京、名古屋、新潟を3頂点とする三角形ABCを書く。 2 辺AB、BC、CAのうち1つを選び、その辺を1辺とする正三角形を残りの頂点の反対側に作る。いま、辺ABを選び、正三角形ABXをつくったとする。 3 残りの頂点CとXを結びCXと正三角形ABXの外接円との交点を求める。この点Sが求める分岐点の位置で、点Sをシュタイナー点という。ちなみにSA+SB+SC=CXが成り立っている。
シュタイナー問題 平面上にP1、・・・、Pnが与えられたとき、これらを線分で結ぶ最短ネットワークを作れ。ただし、任意の点Q1、・・・、Qnを任意の位置に付け加えてもよい(n、mは自然数) NP完全問題
n=3のときは先ほどの場合でOKだが、nが4以上の場合はメルザグの方法が最も効率がよい。 P1~Pnがあり新たに付け加えた点Q1~Qnを少し動かしてもネットワークが短くならない、また各点を結ぶ線分のうち、どれを取り除いてもネットワークが二つに分かれてしまうネットワークをT木と呼び、最短ネットワークをS木と呼ぶ。 メルザグの方法は与えられたP1~Pnに対してT木をすべて列挙し、長さ最小のS木を求めるというものである。 ちなみにT木の数はnが増えるにつれ膨大になっていくので、現在の計算機を使っても、n=29までが、解ける問題の大きさの限界だといわれている。
シュタイナー問題を発見的に解く方法 シュタイナー問題はn=29までしか解けないので、日本全国の主要46都市を結ぶ最短ネットワークは解けない。そこで距離は同じか少し長くなるS’木を求めることにする。
1 P1~Pnに適当なQ1~Qmを付け加え最小木を作る。 3 Q1~Qmを少し動かしても長さが減らなくなったら、Qiを新たに付け加えたり削除したりする。そしてまたQ1~Qmを少しずつ動かし、この最小木の長さを少しずつ減少させていく。 4 この操作を繰り返し、もう付け加えたり、削除するQiがなくなったらそれをS’木とする。
まとめ 最初に述べた計画の日本全国の主要46都市を結ぶ最短ネットワークは、最小木を用いると、 3425km x 1000万/km = 342億5000万円 となり、S’木を用いると、 3275km x 1000万/km = 327億5000万円 となり4%ネットワークを短くでき、15億円コストダウンが出来る。もちろん、実際の計画には他に考慮すべき点が多々あるが、これは実際の計画をたてるさいにひとつの目安を与えてくれるのではないだろうか。