特許第6981232号(P6981232)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特許6981232ネットワーク設計装置、方法、及びプログラム
<>
  • 特許6981232-ネットワーク設計装置、方法、及びプログラム 図000012
  • 特許6981232-ネットワーク設計装置、方法、及びプログラム 図000013
  • 特許6981232-ネットワーク設計装置、方法、及びプログラム 図000014
  • 特許6981232-ネットワーク設計装置、方法、及びプログラム 図000015
  • 特許6981232-ネットワーク設計装置、方法、及びプログラム 図000016
  • 特許6981232-ネットワーク設計装置、方法、及びプログラム 図000017
  • 特許6981232-ネットワーク設計装置、方法、及びプログラム 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6981232
(24)【登録日】2021年11月22日
(45)【発行日】2021年12月15日
(54)【発明の名称】ネットワーク設計装置、方法、及びプログラム
(51)【国際特許分類】
   H04L 12/70 20130101AFI20211202BHJP
【FI】
   H04L12/70 100Z
【請求項の数】4
【全頁数】14
(21)【出願番号】特願2017-245569(P2017-245569)
(22)【出願日】2017年12月21日
(65)【公開番号】特開2019-114877(P2019-114877A)
(43)【公開日】2019年7月11日
【審査請求日】2020年10月14日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】特許業務法人太陽国際特許事務所
(72)【発明者】
【氏名】西野 正彬
(72)【発明者】
【氏名】井上 武
(72)【発明者】
【氏名】安田 宜仁
(72)【発明者】
【氏名】湊 真一
【審査官】 中川 幸洋
(56)【参考文献】
【文献】 特開2010−011285(JP,A)
【文献】 特開2016−174281(JP,A)
【文献】 米国特許出願公開第2009/0323539(US,A1)
【文献】 Gary Hardy, et al.,K-Terminal Network Reliability Measures With Binary Decision Diagrams,IEEE Transactions on Reliability,Volume: 56, Issue: 3,2007年09月04日,Pages: 506 - 515
【文献】 西野 正彬 MASAAKI NISHINO,未来への羅針盤としてのコミュニケーション科学 ご予算に合う最高の詰合せをすぐにつくれます 二分決定グラフを用いた組合せ最適化,NTT技術ジャーナル 第27巻 第9号 ,一般社団法人電気通信協会,2015年09月01日,第27巻
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/70
(57)【特許請求の範囲】
【請求項1】
複数の機器を通信リンクで接続する通信ネットワークを設計するネットワーク設計装置であって、
複数の機器の各々を頂点とし、前記通信ネットワークに追加可能な通信リンクの各々を辺として前記通信ネットワークをグラフで表現するものとして、
前記頂点の集合と、前記辺の集合と、頂点集合の部分集合である端点の集合とに基づいて、前記通信ネットワークがとりうる故障パターンの集合を表現した二分決定グラフを構築するBDD構築部と、
前記二分決定グラフの終端ノードのうち、一部の辺が故障しても前記端点に対応する機器の各々が通信ネットワークにより通信可能であるようなネットワーク構造に対応する経路の終端ノードを第1終端ノードとして、
前記二分決定グラフと、予め定められた前記辺の集合に含まれる各辺のコストと、予め定められた前記辺の集合に含まれる各辺の動作確率とに基づいて、前記二分決定グラフのノードb(i=1,・・・,B、ただしBは前記二分決定グラフのノードの総数)と取りうるコストs(s=0,1,・・・,C、ただしCはコストの上限)の組み合わせの各々に対し、前記二分決定グラフの第一終端ノードからノードbに至る経路のうち、当該経路に対応する通信ネットワークのコストの合計がコストs以下となるように経路を選択したときの当該経路に対応する通信ネットワークの信頼度の上限を表す値を当該bとsの組に対応するインデックスとして計算するインデックス計算部と、
前記辺の集合のi番目以下の要素にのみ値を割り当てた部分ベクトルの辺の組み合わせ方の候補を、コストがコスト上限C以下となる制約を満たすもののうち、その組合せ方に対する前記インデックスの最大信頼度の推定値が大きいものから順番に展開及び伸張させていく探索を実行することにより、前記辺の集合に含まれる先頭の辺から順に、各辺を追加するか否かを決定し、通信ネットワークに追加する辺の組み合わせを選択する最適化計算部と、
を含むネットワーク設計装置。
【請求項2】
前記最適化計算部は、前記辺の集合に含まれる先頭の辺から順に、各辺を追加するか否かを決定することにより前記辺の組み合わせを求める探索手段を含み、
前記辺の組み合わせの候補毎に、当該組み合わせに対応する通信ネットワークの信頼度を対応付けて記憶した記憶部をさらに備える
ことを特徴とする請求項1に記載のネットワーク設計装置。
【請求項3】
複数の機器を通信リンクで接続する通信ネットワークを設計するネットワーク設計装置におけるネットワーク設計方法であって、
BDD構築部が、複数の機器の各々を頂点とし、前記通信ネットワークに追加可能な通信リンクの各々を辺として前記通信ネットワークをグラフで表現するものとして、前記頂点の集合と、前記辺の集合と、頂点集合の部分集合である端点の集合とに基づいて、前記通信ネットワークがとりうる故障パターンの集合を表現した二分決定グラフを構築するステップと、
インデックス計算部が、前記二分決定グラフの終端ノードのうち、一部の辺が故障しても前記端点に対応する機器の各々が通信ネットワークにより通信可能であるようなネットワーク構造に対応する経路の終端ノードを第1終端ノードとして、前記二分決定グラフと、予め定められた前記辺の集合に含まれる各辺のコストと、予め定められた前記辺の集合に含まれる各辺の動作確率とに基づいて、前記二分決定グラフのノードb(i=1,・・・,B、ただしBは前記二分決定グラフのノードの総数)とコストs(s=0,1,・・・,C、ただしCはコストの上限)の組み合わせの各々に対し、前記二分決定グラフの第一終端ノードからノードbに至る経路のうち、当該経路に対応する通信ネットワークのコストの合計がコストs以下となるように経路を選択したときの当該経路に対応する通信ネットワークの信頼度の上限を表す値を当該bとsの組に対応するインデックスとして計算するステップと、
最適化計算部が、前記辺の集合のi番目以下の要素にのみ値を割り当てた部分ベクトルの辺の組み合わせ方の候補を、コストがコスト上限C以下となる制約を満たすもののうち、その組合せ方に対する前記インデックスの最大信頼度の推定値が大きいものから順番に展開及び伸張させていく探索を実行することにより、前記辺の集合に含まれる先頭の辺から順に、各辺を追加するか否かを決定し、通信ネットワークに追加する辺の組み合わせを選択するステップと、
を含むネットワーク設計方法。
【請求項4】
コンピュータを、請求項1又は請求項2に記載のネットワーク設計装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク設計装置、方法、及びプログラムに係り、特に、コスト制約を満たしつつ通信ネットワーク信頼性を最大とするネットワークを設計するネットワーク設計装置、方法、及びプログラムに関する。
【背景技術】
【0002】
通信ネットワークの信頼性とは、通信ネットワーク(以下、単にネットワークと記載する場合もある)を構成する構成要素の故障に対して、どれだけネットワークが頑健であるかを示す指標である。より具体的には、ネットワークの構成要素がある確率分布に従って故障するとしたときに、ネットワークを用いた通信が行える確率として定義される。信頼性が高いネットワークを設計することは重要である。複数の機器を通信リンクで接続するネットワークにおいて、複数の機器の各々を頂点とし、ネットワークに追加可能な通信リンクの各々を辺としてネットワークをグラフで表現するものとして、グラフを構築し、グラフに対する操作を行って信頼性の高い通信ネットワークを設計する技術がある。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】D. Li, X. Sun, and K. McKinnon, "An exact solution method for reliability optimization in complex systems", Annals of Operations Research,vol.133, no. 1, pp.129-148, 2005
【非特許文献2】G. Hardy, C. Lucet, and N. Limnios "K-terminal network reliability measures with binary decision diagrams", IEEE Trans. reliability, Vol.56, No.3,p.506-515, 2007
【発明の概要】
【発明が解決しようとする課題】
【0004】
各通信リンクに対応する辺を、ネットワークに対応するグラフに追加するために必要なコストが与えられている場合に、構築コストがある基準値を下回るという制約のもとで、構築されるネットワークの信頼性が最大となるようなネットワークを設計する問題は、組合せ最適化問題として定式化して解くことができることが知られている(非特許文献1)。しかしながら、解を求めるのが非常に難しい組合せ最適化問題となるため、既存手法では非常に小規模なネットワークの設計においてしか最適解を求めることができなかった。そのため、最適解を求めることができない規模のネットワークの設計においては性能についての保証のない近似解法に頼らざるを得なかった。
【0005】
本発明は、上記問題点を解決するために成されたものであり、コスト制約を満たしつつ、通信の信頼度を最大化するネットワークを設計することができるネットワーク設計装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明に係るネットワーク設計装置は、複数の機器を通信リンクで接続する通信ネットワークを設計するネットワーク設計装置であって、複数の機器の各々を頂点とし、前記通信ネットワークに追加可能な通信リンクの各々を辺として前記通信ネットワークをグラフで表現するものとして、前記頂点の集合と、前記辺の集合と、頂点集合の部分集合である端点の集合とに基づいて、前記通信ネットワークがとりうる故障パターンの集合を表現した二分決定グラフを構築するBDD構築部と、前記二分決定グラフの終端ノードのうち、一部の辺が故障しても前記端点に対応する機器の各々が通信ネットワークにより通信可能であるようなネットワーク構造に対応する経路の終端ノードを第1終端ノードとして、前記二分決定グラフと、予め定められた前記辺の集合に含まれる各辺のコストと、予め定められた前記辺の集合に含まれる各辺の動作確率とに基づいて、前記二分決定グラフのノードb(i=1,・・・,B、ただしBは前記二分決定グラフのノードの総数)と取りうるコストs(s=0,1,・・・,C、ただしCはコストの上限)の組み合わせの各々に対し、前記二分決定グラフの第一終端ノードからノードbに至る経路のうち、当該経路に対応する通信ネットワークのコストの合計がコストs以下となるように経路を選択したときの当該経路に対応する通信ネットワークの信頼度の上限を表す値を当該bとsの組に対応するインデックスとして計算するインデックス計算部と、前記インデックスと、前記各辺のコストと、前記各辺の動作確率と、コストの上限Cとに基づいて、前記選択する前記辺の組み合わせのコストがコスト上限C以下となる制約を満たす辺の組み合わせのうち、前記信頼度が最大となる辺の組み合わせを探索する最適化計算部と、を含んで構成されている。
【0007】
本発明に係るネットワーク設計方法は、複数の機器を通信リンクで接続する通信ネットワークを設計するネットワーク設計装置におけるネットワーク設計方法であって、BDD構築部が、複数の機器の各々を頂点とし、前記通信ネットワークに追加可能な通信リンクの各々を辺として前記通信ネットワークをグラフで表現するものとして、前記頂点の集合と、前記辺の集合と、頂点集合の部分集合である端点の集合とに基づいて、前記通信ネットワークがとりうる故障パターンの集合を表現した二分決定グラフを構築するステップと、インデックス計算部が、前記二分決定グラフの終端ノードのうち、一部の辺が故障しても前記端点に対応する機器の各々が通信ネットワークにより通信可能であるようなネットワーク構造に対応する経路の終端ノードを第1終端ノードとして、前記二分決定グラフと、予め定められた前記辺の集合に含まれる各辺のコストと、予め定められた前記辺の集合に含まれる各辺の動作確率とに基づいて、前記二分決定グラフのノードb(i=1,・・・,B、ただしBは前記二分決定グラフのノードの総数)とコストs(s=0,1,・・・,C、ただしCはコストの上限)の組み合わせの各々に対し、前記二分決定グラフの第一終端ノードからノードbに至る経路のうち、当該経路に対応する通信ネットワークのコストの合計がコストs以下となるように経路を選択したときの当該経路に対応する通信ネットワークの信頼度の上限を表す値を当該bとsの組に対応するインデックスとして計算するステップと、最適化計算部が、前記インデックスと、前記各辺のコストと、前記各辺の動作確率と、コストの上限Cとに基づいて、前記選択する前記辺の組み合わせのコストがコスト上限C以下となる制約を満たす辺の組み合わせのうち、前記信頼度が最大となる辺の組み合わせを探索するステップと、を含んで実行することを特徴とする。
【0008】
本発明に係るプログラムは、コンピュータを、上記ネットワーク設計装置の各部として機能させるためのプログラムである。
【発明の効果】
【0009】
本発明のネットワーク設計装置、方法、及びプログラムによれば、コスト制約を満たしつつ、通信の信頼度を最大化するすネットワークを設計することができる、という効果が得られる。
【図面の簡単な説明】
【0010】
図1】BDDの一例を示す図である。
図2】本発明の実施の形態に係るネットワーク設計装置の構成を示すブロック図である。
図3】インデックス構築処理の詳細を示す図である。
図4】最適化処理の詳細を示す図である。
図5】関数評価処理フローを示す図である。
図6】前向き計算フローを示す図である。
図7】本発明の実施の形態に係るネットワーク設計装置におけるネットワーク設計処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0012】
<本発明の実施の形態に係る概要>
【0013】
二分決定グラフ(Binary Decision Diagram, BDD)とよばれるデータ構造を用いて、ネットワークが動作可能な全ての故障パターンの集合を表現する。さらに、そのBDD上でA探索アルゴリズムを実行することで、規模の大きなネットワークの設計においても効率的に最適解を発見することを可能とする。
【0014】
<本発明の実施の形態に係る原理>
【0015】
ここで、本発明の実施の形態における原理を説明する。
【0016】
まず以下で用いる記号を導入する。通信ネットワークはグラフG=(V;E)で与えられるとする。ここでVは頂点の集合、Eは辺の集合である。辺の総数をMとする。Eの部分集合Fが与えられたとき、Eによって導出される誘導部分グラフをG[F]とあらわす。Vの部分集合T⊆Vを端点とよぶ。各辺をe,...,eとする。辺eは確率pで動作し、確率1−pで故障するとする(以下、pを辺eの動作確率という)。二値変数y∈{0,1}を用いて、辺eが動作しているかどうかを表す。すなわち、y=1ならばeは動作しているとし、y=0ならば故障しているとする。ネットワークの信頼度は以下(1)式として計算できる。
【0017】
【数1】

・・・(1)
【0018】
ここで、yは各要素が0または1の何れかの値をとるM次元ベクトルであり、{0,1}は、各要素が0または1の何れかの値をとるM次元ベクトルの集合である。ここでI(y)は、yによって表現される故障していない辺の集合(yi=1であるyiに対応する辺eiの集合)によって、端点Tに含まれるすべての頂点が接続されているならば1、そうでないならば0を返す関数である。
【0019】
ネットワークの設計問題は以下のように定義される。
【0020】
【数2】

・・・(2)

・・・(3)
【0021】
ここでcは辺eを通信ネットワークに追加するためにかかるコスト、Cはコストの上限である。すなわち、信頼性を最大化する問題とは、ネットワークに追加できる辺の候補の集合Eから、コストの総和が上限値Cを超えない範囲で辺を選択して追加することで、得られたネットワークG[E′]の信頼性を最大化する問題である。ここで、e∈E′ならばx=1、
【0022】
【数3】

ならばx=0であるような二値変数x,...,xを導入すると、上記の最適化問題は以下(4)式のように書くことができる。
【0023】
【数4】

・・・(4)
【0024】
ここでx=(x,...,x)である。つまり、xiは辺eを通信ネットワークに追加するか否かを示す変数である。R(x)は信頼度をxの関数として定義したものであり、以下(5)式のように定義される。
【0025】
【数5】

・・・(5)
【0026】
BDDは論理関数を有向非巡回グラフとして表現するデータ構造である。論理関数(x∧x)∨(x∧x)∨(x∧x)を表現するBDDの例を図1に示す。BDDは終端ノードと分岐ノードの2種類のノードをもつ。BDDにおいて、ノードとノードとを繋ぐ線を「アーク」または「枝」と呼ぶ。終端ノードはそのノードを始点とするアークを持たないノードであり、図1中では四角で表現される。
【0027】
【数6】

終端ノード(以下「第2終端ノード」という)と
【数7】

終端ノード(以下「第1終端ノード」という)の2種類の終端ノードがあり、一つのBDDには各終端ノードは高々一つずつ存在する。分岐ノードは終端ノードではないノードのことである。各分岐ノードには、そのノードを始点とするアークが必ず2つ存在し、それぞれlo枝、hi枝とよばれる。また、各分岐ノードには論理関数の引数が1つラベルとして対応付けられる。図1中では各分岐ノードは円として表現され、hi枝は実線、lo枝は点線によって表現される。図1中のノードb1は分岐ノードであり、要素x1がラベルとして付与され、lo枝はb2を、hi枝はb3を指している。BDD中では親をもたないノードが必ず1つのみ存在し、根ノードとよばれる。
【0028】
根ノードから第1終端ノードまでの各経路が、BDDが表現する論理関数を真とするような変数の割り当てに対応している。
【0029】
図1のBDDでは根ノードb1から第1終端ノードに至る3種類の経路が存在する。図1のBDDが3引数の論理関数を表しているため3つの変数で経路が表現できるものとしている。もしBDDが表す関数の引数がN個であれば、N個の変数の0,1で経路が表現される。
【0030】
経路を3つの変数(x,x,x)で表すものとし、xをノードラベルiのノードにおいて枝lo枝とhi枝のどちらを辿るかを示す変数とすると、根ノードb1から第1終端ノードに至る3種類の経路は(1,1,*),(1,0,1),(0,1,1)と表現できる。なお*はx3に対応するノードが経路中に出現しないことを示す。各経路がそれぞれ真となる変数の割当に対応する。なお、経路中に対応するノードが出現しなかった変数については、その変数に0もしくは1のどちらを割り当てても真となる。図1のBDDの例では、経路(1,1,*)は、(1,1,0),(1,1,1)の二種類の変数に対する値の割当を示している。したがって、(1,1,0),(1,1,1),(1,0,1),(0,1,1)が、BDDが表現する論理関数を真とするような変数の割り当てである。
【0031】
なお、以下ではBDDのノードはB個存在するとし、各ノードをb,...,bとあらわす。なお、bは根ノードに対応し、b,bについてj<kならばbはbの子になりえないとする。なお、bは第1終端ノード、bB-1は第2終端ノードであるとする。また、Dを高さiでのカットノードの添字の集合とし、BDDノードのうち、ラベルが1,...,i−1のいずれかではなく、かつ1,...,i−1のいずれかをラベルとするような親ノードをもつものの添字の集合とする。
【0032】
BDDは、各ノードについて、(ノードのID、ラベル、hi枝の指すノード、lo枝の指すノード)の4つ組を用意することで表現できる。例のBDDは6つのノードをもつため、[(b1,1,b3,b2),(b2,2,b4,b5),(b3,2,b6,b4),(b4,3,b6,b5),(b5,
【数9】

,−,−),(b6,
【数10】

,−,−)]というテーブルを用意することで表現することができる。
【0033】
本発明では、通信ネットワークに対応するグラフ(以下「入力グラフ」と呼ぶ)からBDDを構築する。
【0034】
入力グラフでは、通信ネットワークを構成する通信機器が各頂点に対応し、各通信機器間の通信リンクが辺に対応する。
【0035】
構築されるBDDは、各ノードが入力グラフの各辺に対応するラベルを持つ。そして、入力グラフのある部分構造(部分グラフ)が辺ei(i=1,・・・,M)を含む場合には当該iをラベルとするノードからhi枝を辿り、辺eiを含まない場合には当該iをラベルとするノードからlo枝を辿る。よって、根ノードから終端ノードまでの各経路は、それぞれ入力グラフの部分構造に対応する。
【0036】
「BDDが表現する論理関数を真とするような変数の割り当て」の各々は、入力グラフの部分構造に対応する。この部分構造は、通信ネットワークにおいて故障したリンクを取り除いて得られるネットワークに対応したグラフを表現している。故障しているリンクを取り除いて得られた通信ネットワークにおいて全ての端点間において通信が可能となったときに、論理関数が真となる。
【0037】
<本発明の実施の形態に係るネットワーク設計装置の構成>
【0038】
次に、本発明の実施の形態に係るネットワーク設計装置の構成について説明する。図2に示すように、本発明の実施の形態に係るネットワーク設計装置100は、CPUと、RAMと、後述するネットワーク設計処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。このネットワーク設計装置100は、機能的には図2に示すように入力部10と、演算部20と、出力部50とを備えている。
【0039】
入力部10は、入力として、通信ネットワークに対応するグラフの頂点集合V={v,v,・・・,v}(Nは頂点の総数)、端点の集合T⊆V、通信ネットワークに追加できる辺の集合E={e,e,・・・,e}(Mは辺の総数)、各辺のコストc,...,c(cは辺eiのコスト)、各辺の動作確率p,...,p(piは辺eiの動作確率)、コスト上限Cを入力として受け取る。ここで、辺eiのコストとは、通信ネットワークに辺eiに対応する通信リンクを追加するのに要するコストを表す。
【0040】
演算部20は、BDD構築部30と、インデックス計算部32と、最適化計算部34と、記憶部40とを含んで構成されている。
【0041】
BDD構築部30は、入力部10で受け付けた、ネットワークの頂点集合Vと、ネットワークに追加できる辺の集合Eと、頂点集合Vのうちの端点の集合Tとに基づいて、グラフG=(V,E)において、全ての端点が接続される辺の組み合わせである故障パターンの集合を表現した二分決定グラフ(BDD)を構築する。
【0042】
結果としてBDDの各経路は、集合Vに含まれる頂点からなるグラフであって、当該経路により特定される辺で頂点を接続したグラフである。つまり、BDDの各経路は、G=(V;E)に対応するグラフのうち、一部または全部の辺が欠けているグラフに対応する。欠けている辺は、通信ネットワークにおいて故障している通信リンクを表すので、例えば、辺eが欠けているグラフは、辺eに対応する通信リンクが故障しているような故障パターンに対応する。すなわち、BDDの経路の集合は、グラフGに対応する通信ネットワークにおいて取りうるすべての故障パターンの集合を表すものとなる。
【0043】
そして、根ノードから第1終端ノードに至る各経路が、一部の辺が欠けた(通信リンクが故障した)としても、全ての端点がネットワークによる通信が可能である故障パターンに対応する。根ノードから第1終端ノードに至る経路の集合は、全ての端点がネットワークによる通信が可能であるようなすべての故障パターンの集合をあらわす。
【0044】
なお、BDDの構築は、上記非特許文献2に記載されている方法を用いることにより行う。
【0045】
インデックス計算部32は、BDD構築部30にて構築されたBDDと、追加に必要な各辺の各々のコストc,...,cと、各辺の各々の動作確率p,...,pとに基づいて、BDDのノードbと終端ノードからノードbまでの部分構造に対応する通信ネットワークにおけるコスト(s=0,1,2,・・・,C)の組み合わせの各々に対し、インデックスを計算する。ここで、bとsの組に対応するインデックスは、終端ノードからノードbに至る経路の各々に対応するグラフのうち、コストがs以下となるような辺の組み合わせを選択したときの、当該辺の組み合わせに対応する通信ネットワークの信頼度の上限値である。インデックス計算部32の処理の詳細については後述する。
【0046】
最適化計算部34は、インデックス計算部32で計算されたインデックスと、各辺のコストc,...,cと、各辺の各々の動作確率p,...,pと、コストの上限Cとに基づいて、上記(4)式で表されるコストに関する所定の制約を満たすような辺の組み合わせを選択することにより、ネットワークを設計する。具体的には、最適化計算部34は、選択する辺の組み合わせのコストがコスト上限C以下となる制約を満たし、かつ、信頼度が最大となるように、辺の組み合わせを選択し、その組み合わせの信頼度を最大化するようなネットワークの構成を特定する情報として出力部50により出力する。
【0047】
記憶部40には、最適化計算部34において辺の組み合わせの候補毎に計算される、当該組み合わせに対応する通信ネットワークの最大の信頼度(信頼度の上限)の推定値が対応付けられて記憶される。
【0048】
次に、インデックス計算部32のインデックス構築処理の詳細について、図3を用いて説明する。インデックス計算部32では、入力として、BDD構築部30で構築されたBDD、コストの最大値C、辺の動作確率p,...,p、辺のコストc,...,cを受け取り、インデックスAを計算する。インデックスAはB×(C+1)個の要素からなるテーブルであり、テーブルのj行s列目の要素をA[i][s]とする。A[i][s]は、BDDの終端ノードからノードbまでの経路の各々に対応するグラフのうち、コストがs以下となるように辺を選択したときの、信頼度の推定値(上限値)を保持している。なお、BDDのi番目のノードにラベルとして対応づけられているネットワークの辺をeとする。
【0049】
図3の処理では、まず各i=1,...,B、s=0,1,...,Cに対して、A[i][s]に値0を設定してインデックスを初期化する。次にすべてのs=0,1,...,CについてA[B][s]←1.0に設定する。以降では、全てのi,sの組合せについてA[i][s]の値を再帰的に計算する。
【0050】
次に最適化計算部34の最適化処理の詳細について、図4を用いて説明する。なお、以下ではxのi番目以下(つまり、x,x,・・・,xi)の要素にのみ値を割り当てた部分ベクトルをx≦iとして表現する。また、x≦iにおける各要素の取りうる値の組み合わせの各々を「状態」と呼ぶ。例えば、x≦2であれば、(0,0),(0,1),(1,0),(1,1)の各々が「状態」である。
【0051】
最適化計算部34は、図4のステップ1で状態の集合を格納するリストOpenを初期化する。ステップ2で初期状態をOpenに追加する。次に、Openが空でない限り、スコアを最大とする状態x≦jを一つ選択する(ステップ3,4)。ここで、各状態におけるスコアとは、部分ベクトルx≦jの各要素の値が当該状態であるとしたときの通信ネットワークの信頼度の推定値である。詳しくは後述する。もしその状態x≦jに対応する部分ベクトルの大きさがMであったならば、それを解として出力して処理を終了する(ステップ6)。ここで、部分ベクトルの大きさとは、部分ベクトルの要素数であり、x≦jの大きさはjである。そうでないならば、x≦jのj+1番目の要素を1に設定した新しいベクトルx≦j+1(1)と、j+1番目の要素を0に設定した新しいベクトルx≦j+1(0)を作成する。それぞれについてスコアを計算してOpenに追加する(ステップ8〜13)。
【0052】
上記の手順を繰り返し、ステップ3,4でOpenから取り出したスコア最大の部分ベクトルx≦jの大きさがMであったときに処理を終了する。各xは0または1の何れかの値をとり、x=1であれば通信ネットワークに辺eを追加することを意味する。よって、x≦Mのうちx=1となる辺eが、通信ネットワークに追加する辺となる。
【0053】
すなわち、最適化計算部34は、辺の組み合わせ方の候補(x≦jのうちxi=1となる辺eiの組み合わせ)を、その組合せ方に対する最大信頼度の推定値とともにOpenに格納し、信頼度の推定値が大きいものから順番に展開・伸張させていく最良優先探索を実行することにより、通信ネットワークに追加する辺の組み合わせを選択する。このように、最良優先探索を実行し、通信ネットワークに追加する辺の組み合わせを選択する処理が、探索手段による処理(辺の集合に含まれる先頭の辺から順に、各辺を追加するか否かを決定することにより辺の組み合わせを求める処理)の一例である。また、Openへの格納が、記憶部40に、辺の組み合わせの候補毎に、当該組み合わせに対応する通信ネットワークの信頼度が対応付けて記憶されることの一例である。
【0054】
図4ステップ10、13のスコアの計算について、図5の関数評価処理フローを用いて説明する。
【0055】
まず図5のステップ1、2で部分ベクトルx≦jに対応するコストの和sを計算し、辺動作確率p′jを設定する。次に、ステップ3で、図6の前向き計算フローの処理を用いて、カットノード集合Dに相当する配列F[i]の値を求める。その後、ステップ4で、インデックスAの値とF[i]の値を用いて信頼度のスコアを算出する。
【0056】
<本発明の実施の形態に係るネットワーク設計装置の作用>
【0057】
次に、本発明の実施の形態に係るネットワーク設計装置100の作用について説明する。入力部10において通信ネットワークの頂点集合V、端点の集合T⊆V、ネットワークに追加できる辺の集合E、各辺を追加するのに必要なコストc,...,c、各辺の動作確率p,...,p、コスト合計の上限値Cを受け付けると、ネットワーク設計装置100は、図7に示すネットワーク設計処理ルーチンを実行する。
【0058】
まず、ステップS100では、入力部10で受け付けた、ネットワークの頂点集合Vと、ネットワークに追加できる辺の集合Eと、頂点集合Vのうちの端点の集合Tとに基づいて、グラフG=(V,E)において、全ての端点が接続される辺の組み合わせである故障パターンの集合を表現したBDDを構築する。
【0059】
次に、ステップS102では、ステップS100で構築されたBDDと、グラフGに各辺を追加する際に必要なコストc,...,cと、各辺の各々の動作確率p,...,pとに基づいて、上記図3に示すアルゴリズムに従って、BDDのノードbとコストsの組み合わせの各々に対し、ノードbに対応し、かつ、コストの合計がコストs以下となるように追加する辺の組み合わせを選択したときの信頼度の上限を表す値を格納したインデックスを計算する。
【0060】
ステップS104では、ステップS102で計算されたインデックスと、各辺の追加に必要なコストc,...,cと、各辺の各々の動作確率p,...,pと、コストの上限Cとに基づいて、選択する辺の組み合わせのコストがコスト上限C以下となる制約を満たし、かつ、信頼度が最大となるように、ネットワークに追加する辺の組み合わせを選択する。ここでは、上記図4に示すアルゴリズムに従って最良優先探索を行い、ネットワークに追加する辺の組み合わせを選択することにより、ネットワークを設計する。
【0061】
ステップS106では、ステップS104で設計された信頼度を最大化するようなネットワークの構成を出力部50により出力し、処理を終了する。
【0062】
以上説明したように、本発明の実施の形態に係るネットワーク設計装置によれば、構築されたBDDと、各辺の追加に必要なコストと、各辺の各々の動作確率とに基づいて、BDDのノードbとコストsの組み合わせの各々に対し、ノードbに対応し、かつ、コストの合計がコストs以下となるように追加する辺の組み合わせを選択したときの信頼度の上限を表す値を格納したインデックスを計算するインデックス計算部と、計算されたインデックスと、追加に必要な各辺の各々のコストと、各辺の各々の動作確率と、コストの上限Cとに基づいて、選択する辺の組み合わせのコストがコスト上限C以下となる制約を満たすようにネットワークに追加する辺の組み合わせを選択することにより、コスト制約を満たしつつ、通信の信頼度を最大化するネットワークを設計することができる。これにより、より耐障害性能の高いネットワークの設計に寄与することができる。
【0063】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【符号の説明】
【0064】
20 演算部
30 BDD構築部
32 インデックス計算部
34 最適化計算部
50 出力部
100 ネットワーク設計装置
図1
図2
図3
図4
図5
図6
図7