(57)【要約】【課題】  光アンプの配置数を低減させることができかつネットワーク全体のＯＳＮＲを大きくすることができるネットワーク設計装置およびネットワーク設計方法を提供する。【解決手段】  ネットワーク設計装置は、バイパスノード数を設定するバイパス数設定部と、バイパスノード数に基づいて基準損失量を取得する損失取得部と、ノード間を接続するリンクの伝送損失と基準損失量との差に基づいて得られるばらつき値を保持するグラフを生成するグラフ生成部と、グラフにおいて始点から終点までのばらつき値の合計が最小となるばらつき最小経路を取得する経路取得部と、ばらつき最小経路においてバイパス以外のノードに光アンプを配置した場合の始点から終点までの計算によって得られる計算ＯＳＮＲと基準ＯＳＮＲとを比較する比較部と、を備え、バイパス設定部は、比較部による結果に基づいて、バイパスノード数を変更する。【選択図】  図６
2011029890.tif 000002
【特許請求の範囲】
【請求項１】
バイパスノード数を設定するバイパス数設定部と、
前記バイパスノード数に基づいて基準損失量を取得する損失取得部と、
ノード間を接続するリンクの伝送損失と前記基準損失量との差に基づいて得られるばらつき値を保持するグラフを生成するグラフ生成部と、
前記グラフにおいて始点から終点までのばらつき値の合計が最小となるばらつき最小経路を取得する経路取得部と、
前記ばらつき最小経路においてバイパス以外のノードに光アンプを配置した場合の始点から終点までの計算によって得られる計算ＯＳＮＲと、基準ＯＳＮＲとを比較する比較部と、を備え、
前記バイパス設定部は、前記比較部による結果に基づいて、バイパスノード数を変更することを特徴とするネットワーク設計装置。
【請求項２】
前記バイパス設定部は、前記計算ＯＳＮＲが前記基準ＯＳＮＲ以上である場合に、前記バイパスノード数を増加させることを特徴とする請求項１記載のネットワーク設計装置。
【請求項３】
前記バイパス設定部は、ネットワークの始点から終点までの伝送損失の合計値を所定値で割った値に基づいて、前記バイパスノード数の初期値を求めることを特徴とする請求項１記載のネットワーク設計装置。
【請求項４】
前記バイパス数設定部は、前後のスパンの伝送損失の合計が光アンプの許容損失範囲を超えるノードでネットワークを分割し、分割によって得られた部分ネットワークのそれぞれについて、始点から終点までの伝送損失の合計値を所定値で割った値に基づいて、前記バイパスノード数の初期値を求めることを特徴とする請求項１記載のネットワーク設計装置。
【請求項５】
前記バイパス数設定部は、ネットワークの始点から終点までの伝送損失を所定の上限値で割った値に基づいて前記バイパスノード数の初期値を求め、前記比較部による比較の結果、前記計算ＯＳＮＲが前記基準ＯＳＮＲより小さい場合に、前記バイパスノード数を減じることを特徴とする請求項１記載のネットワーク設計装置。
【請求項６】
前記グラフ生成部は、ノードごとに与えられた損失をスパンの伝送損失に加えた値を用いて前記ばらつき値を求めることを特徴とする請求項１記載のネットワーク設計装置。
【請求項７】
前記グラフ生成部は、いずれかのノードをバイパスするバイパスリンクを生成する際に、バイパスしたノードにおけるバイパスに対応する損失をスパンの伝送損失に加えた値を用いて前記ばらつき値を求めることを特徴とする請求項１記載のネットワーク設計装置。
【請求項８】
前記グラフ生成部は、いずれかのノードをバイパスするバイパスリンクを生成する際に、リンクの始点から順にバイパスリンクを生成し、バイパス不可のノードに到達したらバイパスリンクの生成を停止することを特徴とする請求項１記載のネットワーク設計装置。
【請求項９】
前記グラフ生成部は、いずれかのノードをバイパスするバイパスリンクを生成する際に、リンクの始点から順にバイパスリンクを生成し、リンクがバイパスするノード数が前記バイパス数設定部によって設定されたバイパスノード数を超えたらバイパスリンクの生成を停止することを特徴とする請求項１記載のネットワーク設計装置。
【請求項１０】
前記グラフ生成部は、いずれかのノードをバイパスするバイパスリンクを生成する際に、リンクの始点から順にバイパスリンクを生成し、バイパスリンクの伝送損失が所定の上限値を超えた場合にバイパスリンクの生成を停止することを特徴とする請求項１記載のネットワーク設計装置。
【請求項１１】
前記比較部は、あらかじめ指定された指定経路の計算ＯＳＮＲと基準ＯＳＮＲとを比較し、
前記バイパス数設定部は、すべての前記指定経路の計算ＯＳＮＲが前記基準ＯＳＮＲを上回る場合に、バイパスノード数を増加させることを特徴とする請求項１記載のネットワーク設計装置。
【請求項１２】
前記損失取得部は、あらかじめ指定された指定経路のそれぞれについて基準損失を取得し、
前記グラフ生成部は、前記指定経路のそれぞれについてグラフを生成し、
前記経路取得部は、前記グラフにおいて各指定経路において最小経路を取得し、
前記比較部は、各指定経路の最小経路において、バイパス以外のノードに光アンプを配置した場合の始点から終点までの計算によって得られる計算ＯＳＮＲと、基準ＯＳＮＲとを比較することを特徴とする請求項１記載のネットワーク設計装置。
【請求項１３】
３つ以上のノードと接続されるハブノードを検出する検出手段と、
前記ハブノードとあらかじめ指定されたノードとによって、前記指定経路を指定する指定手段と、をさらに備えることを特徴とする請求項１２記載のネットワーク設計装置。
【請求項１４】
設定されたバイパスノード数に基づいて基準損失量を取得する損失取得ステップと、
ノード間を接続するリンクの伝送損失と基準損失量との差に基づいて得られるばらつき値を保持するグラフを生成するグラフ生成ステップと、
前記グラフにおいて始点から終点までのばらつき値の合計が最小となるばらつき最小経路を取得する経路取得ステップと、
前記ばらつき最小経路においてバイパス以外のノードに光アンプを配置した場合の始点から終点までの計算によって得られる計算ＯＳＮＲと、基準ＯＳＮＲとを比較する比較ステップと、
前記比較ステップにおける結果に基づいてバイパスノード数を変更する変更ステップと、を含むことを特徴とするネットワーク設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク設計装置およびネットワーク設計方法に関する。
【背景技術】
【０００２】
光ネットワークにおいては、信号は、途中で電気に変換されずに光のまま長距離にわたって伝送される。この信号を光のまま増幅する機器が光アンプである。光アンプにおいて信号のパワーが増幅されるため、伝送可能な距離が伸びる。その一方で、光アンプにおいてノイズが発生してしまう。また、光アンプを多用するとコストにも影響するため、光アンプの配置数を適正にする必要がある。この光アンプをネットワーク上のどこに配置するかを決定するのがネットワーク設計における光アンプ配置設計である。この光アンプ配置設計は、例えば、特許文献１〜３に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００８−５０７２２３号公報
【特許文献２】特開２００６−１３５７８８号公報
【特許文献３】特開２００４−４８４７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下に、光アンプ配置設計の課題について説明する。図１（ａ）は、光ネットワークの一例を説明するための図である。図１（ａ）において、「ｎ１」〜「ｎ９」は、ノードであり、局舎に対応する。ノードとノードとの間の線をここではスパンと称する。各スパンは、ファイバ等で構成されており、異なる特性を持つ複数のファイバが融着された構成を有することもある。
【０００５】
図１（ｂ）は、スパンの伝送損失の一例を説明するための図である。通常では、スパンの伝送損失は、ファイバの伝送損失である。ただし、光ファイバの端に附属するコネクタの損失を考慮する場合には、伝送損失の値の中にコネクタの損失が考慮されていてもよい。なお、スパンには一般的には往復で異なるファイバを使うため、各スパンは往路復路それぞれ別々の値を有する。
【０００６】
光アンプの配置設計の方向には、ノードｎ１からノードｎ９への方向と、ノードｎ９からノードｎ１への方向と、がある。ここでは、ノードｎ１からノードｎ９への方向について説明する。なお、逆方向についても、光アンプ配置設計の方法は同じである。
【０００７】
図２は、光アンプ配置設計のフローチャートを説明するための図である。まず、図１（ｂ）の値などの必要なネットワークの情報を入力する（ステップＳ１）。次に、始点を１番目のノード（ノードｎ１）とし、計算区間をゼロにする（ステップＳ２）。次に、始点からスパンを１つ計算区間に追加する（ステップＳ３）。例えば、ノードｎ１〜ノードｎ２のスパンを計算区間に追加する。
【０００８】
次に、計算区間のＯＳＮＲ（Optical Signal to Noise Ratio）を計算する（ステップＳ４）。ＯＳＮＲは、スパンの終点（ノードｎ２）に光アンプを置いたと仮定して計算される。ＯＳＮＲは、光の信号対雑音比のｄＢで表されることが多い。信号対雑音比が大きいと雑音に対して信号が大きくなるので、信号を正しく受信することができる。逆にＯＳＮＲがある値より小さくなると、雑音によって正しく信号を識別できなくなるため、信号の伝送ができなくなる。
【０００９】
計算によって得られた計算ＯＳＮＲが基準ＯＳＮＲを上回っていれば、伝送可能と判断し（ステップＳ５）、ステップＳ３を再度実行する。計算区間にノードｎ１〜ノードｎ２のスパンが追加されているので、次はノードｎ２〜ノードｎ３のスパンを追加する。そして、今度はノードｎ１からノードｎ３までのＯＳＮＲを計算する。この場合は、ノードｎ２には光アンプを置かず、ノードｎ３に光アンプを置いたと仮定してＯＳＮＲを計算する。計算によって得られた計算ＯＳＮＲが基準ＯＳＮＲ以上であるとすると、次は計算区間にノードｎ３〜ノードｎ４のスパンを追加する。そして、ノードｎ１からノードｎ４までのＯＳＮＲを、ノードｎ２，ｎ３には光アンプを置かずにノードｎ４に光アンプを置いたと仮定して計算する。計算によって得られた計算ＯＳＮＲが基準ＯＳＮＲを上回っていれば、次は計算区間にノードｎ４〜ノードｎ５のスパンを追加し、ノードｎ１からノードｎ５までのＯＳＮＲを計算する。
【００１０】
計算によって得られた計算ＯＳＮＲが基準ＯＳＮＲより小さかった場合、ノードｎ５に光アンプを置いても伝送できない。そこで、最後に追加したスパンの始点（ノードｎ４）に光アンプを配置すると決定する（ステップＳ６）。そして、ノードｎ４を始点として計算区間をゼロに戻して（ステップＳ７）、ステップＳ３〜Ｓ７を繰り返す。
【００１１】
具体的には、計算区間にノードｎ４〜ノードｎ５のスパンを追加し、ノードｎ４〜ノードｎ５のＯＳＮＲを計算する。計算の結果、伝送可能と判断された場合にはさらにノードｎ５〜ノードｎ６のスパンを計算区間に追加し、ノードｎ４からノードｎ６までのＯＳＮＲを、ノードｎ５には光アンプを置かずにノードｎ６に光アンプを置くと仮定して計算する。計算の結果、さらに伝送可能と判断された場合には、計算区間にノードｎ６〜ノードｎ７のスパンを追加する。さらに伝送可能と判断された場合には、計算区間にノードｎ７〜ノードｎ８のスパンを追加する。
【００１２】
計算区間にノードｎ８〜ノードｎ９のスパンを追加してノードｎ４からノードｎ９までのＯＳＮＲを計算した場合に伝送不可と判断されると、ノードｎ８に光アンプを置く。そしてノードｎ８を始点とし、計算区間をゼロにして再び戻ってステップＳ３〜Ｓ７を繰り返す。次のノードｎ９はネットワークの終点なので（ステップＳ８）、ノードｎ９に光アンプを置いて、設計を終了する。
【００１３】
図３（ａ）は、図２のフローチャートに従って光アンプを配置したネットワークを説明するための図である。図３（ａ）においては、ノードｎ４，ｎ８，ｎ９に光アンプが配置されている。ノードｎ２，ｎ３，ｎ５，ｎ６，ｎ７は、バイパスされている。図３（ａ）においては、ノードｎ１〜ｎ４およびノードｎ４〜ｎ８のＯＳＮＲは、伝送可能な最小限のＯＳＮＲである。しかしながら、ノードｎ８〜ｎ９は上記の計算で余った区間であるため、この区間のＯＳＮＲはノードｎ１〜ｎ４またはノードｎ４〜ｎ８のＯＳＮＲに比較して大きくなる。図２のフローチャートでは、このように最後に余った区間のＯＳＮＲだけ大きくなってしまう。
【００１４】
図３（ｂ）は、図３（ａ）のネットワークに比較して光アンプを均等な間隔で配置した場合のネットワークを説明するための図である。図３（ａ）および図３（ｂ）のネットワーク全体のＯＳＮＲを比較した場合、図３（ｂ）のネットワーク全体のＯＳＮＲの方が大きくなる。
【００１５】
この理由を以下に説明する。ネットワーク全体のＯＳＮＲは、下記式（１）で表される（例えば、特許文献２参照）。なお、式（１）においては、ＯＳＮＲは真数である。また、式（１）は、ｄＢで表されている。
式（１）
【数１】
2011029890.tif 000003
【００１６】
式（１）の２番目の式の第１項、第３項、第４項は定数として扱うことができるので、３番目の式ではこの３つの定数の合計が「Ｃ１」で置き換えられている。式（１）中の「Ｌｏｓｓ」は伝送路の損失を表す。伝送路の損失は、一般的にはｄＢで表現されるため、対数をとらない形で記載してある。
【００１７】
ここで、図３（ｃ）のような３つのノードを有するネットワークについて考える。図３（ｃ）において、ｎ１〜ｎ２のスパンの伝送損失をＬ１とし、ｎ２〜ｎ３のスパンの伝送損失をＬ２とする。また、Ｌ１＋Ｌ２＝Ｌとする。すなわち、Ｌ２＝Ｌ−Ｌ１である。このネットワークにおいてノードｎ２，ｎ３にアンプが置かれていると仮定してノードｎ１からノードｎ３までのＯＳＮＲを計算すると、計算ＯＳＮＲは下記式（２）のように表すことができる。
式（２）
【数２】
2011029890.tif 000004
【００１８】
ここで、Ｌを固定してＬ１の値を任意に変えてＯＳＮＲが最大となるＬ１を求めると、Ｌ１＝Ｌ２＝Ｌ／２であることがわかる。すなわち、式（２）は、伝送損失が均等な場合にＯＳＮＲが最も大きくなることを示している。このとき、ノードｎ１からノードｎ２までのＯＳＮＲと、ノードｎ２からノードｎ３までのＯＳＮＲとが等しくなる。このように、光アンプ間のＯＳＮＲが均等な場合にネットワーク全体のＯＳＮＲが最も大きくなるため、図３（ａ）のネットワークよりも図３（ｂ）のネットワークの方がノードｎ１からノードｎ９までのＯＳＮＲが大きくなるのである。しかしながら、図２の方法では光アンプが偏った配置になることを回避できない。
【００１９】
また、特許文献３では、図３（ａ）のような光アンプ配置から規格化雑音（信号を「１」に規格化したとき場合のＯＳＮＲの逆数）を求め、規格化雑音が均等になるようにアンプを配置しなおす方法が示されている。しかしながら、ＯＳＮＲが均等な場合と均等でない場合とでは、ネットワークの端から端までのＯＳＮＲが異なるため、図３（ａ）の光アンプ配置から求めた規格化雑音から第３（ｂ）の配置を求めることはできない。
【００２０】
以上のように、ＯＳＮＲは光アンプの配置に依存して変わるため、ＯＳＮＲを直接計算する方法では、ＯＳＮＲを均等にする光アンプ配置を得ることはできなかった。
【００２１】
本発明は上記課題に鑑みなされたものであり、光アンプの配置数を低減させることができかつネットワーク全体のＯＳＮＲを大きくすることができるネットワーク設計装置およびネットワーク設計方法を提供することを目的とする。
【課題を解決するための手段】
【００２２】
上記課題を解決するために、明細書開示のネットワーク設計装置は、バイパスノード数を設定するバイパス数設定部と、バイパスノード数に基づいて基準損失量を取得する損失取得部と、ノード間を接続するリンクの伝送損失と基準損失量との差に基づいて得られるばらつき値を保持するグラフを生成するグラフ生成部と、グラフにおいて始点から終点までのばらつき値の合計が最小となるばらつき最小経路を取得する経路取得部と、ばらつき最小経路においてバイパス以外のノードに光アンプを配置した場合の始点から終点までの計算によって得られる計算ＯＳＮＲと基準ＯＳＮＲとを比較する比較部と、を備え、バイパス設定部は、比較部による結果に基づいて、バイパスノード数を変更するものである。
【００２３】
上記課題を解決するために、明細書開示のネットワーク設計方法は、設定されたバイパスノード数に基づいて基準損失量を取得する損失取得ステップと、ノード間を接続するリンクの伝送損失と基準損失量との差に基づいて得られるばらつき値を保持するグラフを生成するグラフ生成ステップと、グラフにおいて始点から終点までのばらつき値の合計が最小となるばらつき最小経路を取得する経路取得ステップと、ばらつき最小経路においてバイパス以外のノードに光アンプを配置した場合の始点から終点までの計算によって得られる計算ＯＳＮＲと基準ＯＳＮＲとを比較する比較ステップと、比較ステップにおける結果に基づいて、バイパスノード数を変更する変更ステップと、を含むものである。
【発明の効果】
【００２４】
明細書開示のネットワーク設計装置およびネットワーク設計方法によれば、光アンプの配置数を低減させることができかつネットワーク全体のＯＳＮＲを大きくすることができる。
【図面の簡単な説明】
【００２５】
【図１】（ａ）はネットワークの一例を説明するための図であり、（ｂ）はスパンの伝送損失の一例を説明するための図である。
【図２】光アンプ配置設計のフローチャートを説明するための図である。
【図３】（ａ）は図２のフローチャートの従って光アンプを配置したネットワークを説明するための図であり、（ｂ）は（ａ）のネットワークに比較して光アンプを均等な間隔で配置した場合のネットワークを説明するための図である。
【図４】（ａ）は実施例１に係るネットワーク設計装置のハードウェア構成を示す図であり、（ｂ）は、ネットワーク設計装置が適用される光ネットワークの構成例を説明するための図である。
【図５】演算処理装置がプログラムを実行することによって実現される機能ブロック図である。
【図６】ネットワーク設計装置において実行される処理の一例を説明するためのフローチャートである。
【図７】（ａ）は図４（ｂ）のネットワークに対応するグラフであり、（ｂ）はノードｎ２をバイパスするリンクが追加された例を説明するための図である。
【図８】リンクをグラフに追加する際に実行されるフローチャートの一例を説明するための図である。
【図９】すべてのリンクが追加されたグラフの例を説明するための図である。
【図１０】（ａ）は図９のグラフ上の経路の例を説明するための図であり、（ｂ）は光アンプの配置を説明するための図である。
【図１１】ステップＳ４１〜Ｓ４５を説明するための図である。
【図１２】ステップＳ５１〜Ｓ６０を説明するための図である。
【図１３】許容値を２０ｄＢとした場合のネットワーク分割の例を説明するための図である。
【図１４】変形例３に係るフローチャートを説明するための図である。
【図１５】変形例６に係るフローチャートを説明するための図である。
【図１６】変形例６にしたがって生成されたリンクの一例を説明するための図である。
【図１７】変形例７に係るフローチャートを説明するための図である。
【図１８】変形例７にしたがって生成されたリンクの一例を説明するための図である。
【図１９】変形例８に係るフローチャートを説明するための図である。
【図２０】変形例８にしたがって生成されたリンクの一例を説明するための図である。
【図２１】変形例９に係るフローチャートを説明するための図である。
【図２２】複数の部分ネットワークを有するネットワークの一例を説明するための図である。
【図２３】変形例１０に係るフローチャートを説明するための図である。
【図２４】複数の部分ネットワークを有するメッシュ状のネットワークの一例を説明するための図である。
【図２５】変形例１１に係るフローチャートを説明するための図である。
【図２６】ハブノード探索の結果の一例を説明するための図である。
【図２７】ネットワークを分割するに際して実行されるフローチャートの一例を説明するための図である。
【発明を実施するための形態】
【００２６】
以下、図面を参照しつつ、実施例について説明する。
【実施例１】
【００２７】
図４（ａ）は、実施例１に係るネットワーク設計装置１００のハードウェア構成を示す図である。図４（ａ）を参照して、ネットワーク設計装置１００は、入力装置１１、出力装置１２、ドライブ装置１３、補助記憶装置１４、メモリ１５、演算処理装置１６、およびデータベース１７を含む。これらの各要素は、システムバス１８によって相互に接続されている。このネットワーク設計装置１００は、専用の装置構成であってもよく、汎用のパーソナルコンピュータ、ワークステーション等であってもよい。
【００２８】
入力装置１１は、ユーザ等が使用するキーボード、マウス等であって、各種データを入力可能な装置である。出力装置１２は、ネットワーク設計装置１００の設計結果を表示するためのディスプレイ等であって、プログラムの実行に従って動作する。このプログラムは、ドライブ装置１３等を介して補助記憶装置１４にインストールされる。
【００２９】
演算処理装置１６は、メモリ１５によって読み出され格納されているプログラムに基づいて、ネットワーク設計装置１００の処理を制御する。また、プログラムの実行に必要な情報等は、データベース１７から取得することができる。
【００３０】
図４（ｂ）は、ネットワーク設計装置１００が適用される光ネットワークの構成例を説明するための図である。図４（ｂ）において、各スパンの下に記載されている値は、各スパンの伝送損失を示す。
【００３１】
図５は、演算処理装置１６がプログラムを実行することによって実現される機能をブロック図で表したものである。図５を参照して、プログラムの実行によって、ネットワーク設計装置１００内に、バイパス数設定部２１、損失取得部２２、グラフ生成部２３、問題生成部２４、問題解析部２５、比較部２６、および出力部２７が実現される。以下、各部の作用について説明する。
【００３２】
図６は、ネットワーク設計装置１００において実行される処理の一例を説明するためのフローチャートである。まず、ネットワーク設計装置１００は、ユーザによって入力されるネットワーク情報を格納する（ステップＳ１１）。ネットワーク情報として、図１（ｂ）のような各スパンの伝送損失情報、伝送可能かどうかを判断するためのＯＳＮＲ規準値などが入力される。この他に、ノードとノードとの接続関係を示すトポロジ情報が要求される。しかしながら、図１（ｂ）には各スパンがどのノードとどのノードとを接続しているかの情報が含まれているため、トポロジ情報は図１（ｂ）の表で代用することができる。ネットワーク情報は、入力装置１１を介して入力される。また、入力装置１１を介して入力されたネットワーク情報は、データベース１７に格納される。
【００３３】
次に、バイパス数設定部２１は、初期設定として、バイパスノード数を０に設定する（ステップＳ１２）。バイパスノードとは、ネットワークの始点および終点以外で、光アンプが配置されずにバイパスされるノードである。したがって、始点および終点以外のノードの総数からバイパスノード数を引くと、光アンプが配置されるノードの数が得られる。なお、終点のノードにも受信のためのアンプが配置されるが、終点のノードに光アンプを配置しないケースは実用上存在しない。そこで、終点のノードには必ず光アンプが配置されるものとして、光アンプが配置されるノードをノード数に含めないこととする。
【００３４】
次に、損失取得部２２は、基準損失Ｌａｖを計算する（ステップＳ１３）。基準損失Ｌａｖは、始点から終点までの伝送損失の合計を「光アンプが配置されるノード数＋１」で割ることによって得られる。「光アンプが配置されるノード数＋１」は、始点と光アンプが配置されるノードとの間、光アンプが配置されるノード間、光アンプが配置されるノードと終点との間、の区間数である。
【００３５】
次に、グラフ生成部２３は、グラフを生成する（ステップＳ１４）。図７（ａ）は、図４（ｂ）のネットワークに対応するグラフである。図７（ａ）においては、ネットワークの各ノードがリンクで結んである。ここで、リンクとは、各ノードを頂点として光アンプ設計の向きに方向を付けた辺のことである。各リンクには２種類の値が記載されている。これらは、リンクに与えられた２種類の重みを示している。上の値がばらつき値、下の値がバイパスノード数である。
【００３６】
ばらつき値は、リンクに含まれるスパンの伝送損失と基準損失Ｌａｖとの差を２乗したものである。例えば、図４（ａ）のノードｎ１とノードｎ２との間のスパンに対応する図７（ａ）のリンクに関して、スパンの伝送損失がＬ１なので、ばらつき値は（Ｌ１−Ｌａｖ）の２乗である。このばらつき値については、（Ｌ１−Ｌａｖ）の絶対値、（Ｌ１−Ｌａｖ）の２乗の正の平方根などを適用してもよい。また、バイパスノード数は、リンクがバイパスしたノードの数を示している。図７（ａ）においては、バイパスノード数は、全て０である。
【００３７】
さらに、グラフ生成部２３は、図７（ａ）のグラフに、少なくとも１つのノードをバイパスするバイパスリンクを追加する。図７（ｂ）は、ノードｎ２をバイパスするバイパスリンクが追加された例を説明するための図である。図７（ｂ）の第１バイパスリンクは、ノードｎ１から、ノードｎ２を通らずに直接ノードｎ３に接続されている。この第１バイパスリンクはノードｎ２に光アンプが配置されなかった場合を示すものであるため、第１バイパスリンクの伝送損失は、ノードｎ１〜ノードｎ２のスパンとノードｎ２〜ノードｎ３のスパンとの伝送損失の合計である。また、ノードｎ２がバイパスされているため、第１バイパスリンクのバイパスノード数は「１」となる。グラフ生成部２３は、すべてのリンクをグラフに追加する。
【００３８】
図８は、リンクをグラフに追加する際に実行されるフローチャートの一例を説明するための図である。グラフ生成部２３は、設計対象ネットワークの一番目のノードを始点に設定する（ステップＳ３１）。次に、グラフ生成部２３は、始点の次のノードを終点に設定する（ステップＳ３２）。次いで、グラフ生成部２３は、始点から終点までのリンクを、図７（ｂ）で説明したように生成する（ステップＳ３３）。
【００３９】
次に、グラフ生成部２３は、ステップＳ３２で設定した終点がネットワークの最終ノードであるか否かを判定する（ステップＳ３４）。ステップＳ３４において終点が最終ノードであると判定されなかった場合、グラフ生成部２３は、終点を、現時点での終点の次のノードに設定する（ステップＳ３５）。その後、グラフ生成部２３は、ステップＳ３３を再度実行する。
【００４０】
ステップＳ３４において終点が最終ノードであると判定された場合、グラフ生成部２３は、始点を、現時点での始点の次のノードに設定する（ステップＳ３６）。次に、グラフ生成部２３は、ステップＳ３６で設定された始点がネットワークの最終ノードであるか否かを判定する（ステップＳ３７）。ステップＳ３７において、終点が最終ノードであると判定されなかった場合、グラフ生成部２３は、ステップＳ３２を再度実行する。ステップＳ３７において、終点が最終ノードであると判定された場合、グラフ生成部２３は、フローチャートの実行を終了する。図９は、すべてのリンクが追加されたグラフの例を説明するための図である。
【００４１】
続いて、生成されたグラフにおける始点から終点までの経路について説明する。図１０（ａ）は、図９のグラフ上の経路の一例を説明するための図である。図１０（ａ）において、太線部分がグラフ上の経路２である。グラフ上の経路２はノードｎ１からノードｎ３までのリンク、ノードｎ３からノードｎ４までののリンク、および、ノードｎ４からノードｎ６までのリンクを通る。グラフ上の経路２が通らないノードがバイパスされるノードである。図１０（ａ）においては、ノードｎ２，ｎ５がバイパスノードである。
【００４２】
一方で、ノードｎ３，ｎ４は、光アンプが配置されるノードである。したがって、経路２が解として得られた場合、光アンプ配置は図１０（ｂ）のようになる。このようにグラフ上の経路とアンプ配置とが一対一に対応している。経路２が通るリンクに与えられているバイパスノード数を合計すると、光アンプ配置の際のバイパスノード数になる。
【００４３】
ノードｎ１からノードｎ３までのリンクのバイパスノード数は、「１」である。ノードｎ３からノードｎ４のリンクのバイパスノード数は、「０」である。ノードｎ４からノードｎ６までのバイパスノード数は、「１」である。したがって、バイパスノード数の合計は、「２」である。
【００４４】
同様に、経路２が通るリンクに与えられているばらつき値を合計すると、配置される光アンプ間の伝送損失のばらつき値の合計が得られる。したがって、ばらつき値の合計が最小となる経路を探すことによって、光アンプ間の伝送損失のばらつきが最も小さい光アンプ配置構成が得られるのである。
【００４５】
再度、図６を参照し、問題生成部２４は、生成されたグラフ上で始点ノードから終点ノードまでの経路を探すための混合整数計画問題を生成する（ステップＳ１５）。本実施例においては、経路のバイパスノード数とバイパス数設定部２１が設定したバイパスノード数とが一致することを制約条件とし、ばらつき値の合計が最小となる経路を、混合整数計画問題の解とする。
【００４６】
本実施例においては、混合整数計画問題は、以下のように定式化される。
（記号）
ｘ[ｉ，ｊ]：グラフ上のノードｉからノードｊへのリンクを通るとき「１」、それ以外は「０」
ａ[ｉ，ｊ]：グラフ上のノードｉからノードｊへのリンクに与えられるバイパスノード数
ｂ[ｉ，ｊ]：グラフ上のノードｉからノードｊへのリンクに与えられるばらつき値
（目的関数）
ｍｉｎｉｍｉｚｅ：
式（３）
【数３】
2011029890.tif 000005
[ｉ，ｊ]はグラフ上のノードｉからノードｊへのリンクを示し、Ｅはグラフ上の全リンクの集合を示す。
（制約条件）
式（４）
【数４】
2011029890.tif 000006
ここで、Ｎはバイパスノード数である。
それぞれの途中のノードｉについて、
式（５）
【数５】
2011029890.tif 000007
式（６）
【数６】
2011029890.tif 000008
始点ノードについて、
式（７）
【数７】
2011029890.tif 000009
式（８）
【数８】
2011029890.tif 000010
終点ノードについて、
式（９）
【数９】
2011029890.tif 000011
式（１０）
【数１０】
2011029890.tif 000012
【００４７】
１番目の制約条件（式（４））は、各経路のバイパスノード数の合計と、バイパス数設定部２１によって設定されたバイパスノード数とが一致することである。途中のノードについての制約条件（式（５）、式（６））は、途中のノードは１回しか通らないこと、および、そのノードに入るリンクの数と出るリンクの数とが同じであることを示す。また始点ノードについての制約条件（式（７）、式（８））は、始点ノードを出るリンクが必ず１本あり、始点ノードに入るリンクは０本であることを示す。終点ノードについての制約条件（式（９）、式（１０））は、終点ノードから出るリンクは必ず０本で、終点ノードに入るリンクが必ず１本あることを示す。
【００４８】
次に、問題解析部２５は、以上の制約条件および目的関数を持つ混合整数計画法を解析する（ステップＳ１６）。混合整数計画法の解法は一般に知られており、例えば、「坂和正敏著「離散システムの最適化」森北出版２０００年５月発行に記載されている方法を用いることができる。
【００４９】
この混合整数計画問題の解はｘ[ｉ，ｊ]の値として得られ、ｘ[ｉ，ｊ]の値が「１」であるであるリンクをつなぎ合わせた経路が求めるばらつき最小経路となる。得られたばらつき最小経路から、前述のように光アンプ配置を作成する。次に、問題解析部２５は、上記の混合整数計画問題に解があったか否かを判定する（ステップＳ１７）。ステップＳ１７において解があったと判定された場合、比較部２６は、得られた光アンプ配置について、始点から終点までのＯＳＮＲを計算して計算ＯＳＮＲを求める（ステップＳ１８）。
【００５０】
次に、比較部２６は、ステップＳ１８の計算によって得られた計算ＯＳＮＲが基準ＯＳＮＲよりも大きいか否かを判定する（ステップＳ１９）。ステップＳ１９において、計算ＯＳＮＲが基準ＯＳＮＲよりも大きいと判定された場合、バイパス数設定部２１は、バイパスノード数を１つ増加する（ステップＳ２０）。その後、損失取得部２２は、ステップＳ１３を再度実行する。
【００５１】
ステップＳ１７において解があったと判定されなかった場合、および、ステップＳ１９において基準ＯＳＮＲよりも計算ＯＳＮＲが大きいと判定されなかった場合、出力部２７は、一つ前の結果を出力する（ステップＳ２１）。この場合、出力部２７は、出力装置１２を介して結果を出力する。フローチャートの１回目の実行の場合には出力可能な結果が存在しないので、出力部２７は、出力装置１２を介して「解なし」を出力する。その後、ネットワーク設計装置１００は、フローチャートの実行を終了する。
【００５２】
本実施例によれば、各リンクにおける伝送損失が基準損失を超えない範囲で光アンプ数を低減させることができる。また、各リンクにおけるＯＳＮＲが均等化されるように光アンプを配置することができる。以上のことから、光アンプの配置数を低減させることができかつネットワーク全体のＯＳＮＲを大きくすることができる。
【００５３】
本実施例においては、問題生成部２４および問題解析部２５が、ばらつき最小経路を取得するための経路取得部として機能する。なお、本実施例においては、ばらつき最小経路を取得するために混合整数計画問題を解析する手法を用いているが、それに限られない。
【００５４】
（変形例１）
バイパスノード数の初期値とバイパスノード数の最適値とが大きく異なる場合には、混合整数計画問題の解を得るまでの時間が長くなってしまう。そこで、バイパスノード数の初期値を最適値に近い値に設定してもよい。例えば、ネットワークの始点から終点までの伝送損失の合計を、所定値で割った値を整数にまるめてバイパスノード数の初期値としてもよい。以下、具体的な例について説明する。
【００５５】
長距離用のＷＤＭ装置の場合、光送信器の光出力は非常に強いため、距離が短くても伝送損失が小さい場合には、光送信器からファイバまでの間、または、ファイバから光受信器までの間に、可変の光減衰器（ＡＴＴ）を配置することがある。ここで、光送信器の出力をＰｏｕｔ、ファイバの損失をＬｆ、光減衰器の減衰量をＬａ、光受信器の最大入力をＰｉｎｍａｘとする。下記式（１１）が成立する場合には、減衰器は、下記式（１２）が成立するように減衰量Ｌａを調整する。
Ｐｏｕｔ−Ｌｆ＞Ｐｉｎｍａｘ  （１１）
Ｐｏｕｔ−（Ｌｆ＋Ｌａ）＝Ｐｉｎｍａｘ  （１２）
【００５６】
したがって、上記式（１１）が成立する場合、光受信器の入力は常にＰｉｎｍａｘとなるため、ＯＳＮＲはファイバの損失に関係なく同じになる。このことは、合計損失が（Ｐｏｕｔ−Ｐｉｎｍａｘ）以下であれば、ノードがバイパスされてもＯＳＮＲが変わらないことを意味する。したがって、基準損失が（Ｐｏｕｔ−Ｐｉｎｍａｘ）以下となる場合に、最適解は見つからない。
【００５７】
そこで、ネットワーク設計装置１００は、図６のフローチャートにおいて、ステップＳ１２の代わりに、下記のステップＳ４１〜Ｓ４５を実行してもよい。図１１は、ステップＳ４１〜Ｓ４５を説明するための図である。まず、損失取得部２２は、図６のステップＳ１１を実行した後、始点から終点までの伝送損失の合計を算出する（ステップＳ４１）。
【００５８】
次に、損失取得部２２は、伝送損失の合計値を所定値で割って得た値を、切り捨てによって整数に変換する（ステップＳ４２）。この規定値として、（Ｐｏｕｔ−Ｐｉｎｍａｘ）を用いる。ステップＳ４２を実行することによって、伝送損失が（Ｐｏｕｔ−Ｐｉｎｍａｘ）の間隔で光アンプを配置した場合の光アンプ数が得られる。
【００５９】
次に、バイパス数設定部２１は、始点を除くノード数から、ステップＳ４２において得られた値を引いて得た値を、バイパスノード数の初期値に設定する（ステップＳ４３）。ただし、元のネットワークのノード数が少ない場合は、求めたバイパスノード数が負になってしまうことがある。そこで、バイパス数設定部２１は、バイパスノード数が負であるか否かを判定する（ステップＳ４４）。
【００６０】
ステップＳ４４においてバイパスノード数が負であると判定されなかった場合、損失取得部２２は、図６のフローチャートのステップＳ１３を実行する。ステップＳ４４においてバイパスノード数が負であると判定された場合、バイパス数設定部２１は、バイパスノード数の初期値を「０」に設定する（ステップＳ４５）。その後、損失取得部２２は、図６のフローチャートのステップＳ１３を実行する。
【００６１】
本変形例によれば、バイパスノード数の初期値を、より最適解に近い値に設定することができる。それにより、混合整数計画問題の解を得るまでのループ回数を少なくすることができる。その結果、解を得るまでの時間を短縮化することができる。
【００６２】
（変形例２）
伝送損失の大きいファイバの前後のノードは、バイパスできないことがある。したがって、伝送損失の大きいファイバの前後ノードに光アンプが配置されることになる。しかしながら、このことを考慮していなければ、バイパスノード数が少なめに見積もられることから、混合整数計画問題の解が得られるまでの時間が長くなってしまう。そこで、伝送損失が大きいファイバが含まれている場合に、バイパスノード数の初期値を最適値に近い値に設定してもよい。
【００６３】
例えば、ネットワークを、前後のスパンの伝送損失の合計が光アンプの許容損失範囲を超えるノードで分割する。さらに、各分割部分の始点から終点までの伝送損失の合計を、所定値で割って得た値を整数にまるめてバイパスノード数の初期値としてもよい。以下、具体的な例について説明する。
【００６４】
例えば、光アンプの利得から決まる伝送損失の上限値を許容値として決めておく。次に、ネットワークの始点および終点を除く各ノードの前後のスパンの伝送損失を合計する。得られた合計値が上記の許容損失範囲を超えるノードについては、バイパスすることができない。このバイパスできないノードを境にしてネットワークを一時的に分割する。
【００６５】
ネットワーク設計装置１００は、図６のフローチャートにおいて、ステップＳ１２の代わりに、下記のステップＳ５１〜Ｓ６０を実行してもよい。図１２は、ステップＳ５１〜Ｓ６０を説明するための図である。損失取得部２２は、図６のステップＳ１１を実行した後に、ノードの前後のスパンの伝送損失の合計を計算する（ステップＳ５１）。
【００６６】
次に、損失取得部２２は、ステップＳ５１で得られた伝送損失の合計値が許容値を超えているか否かを判定する（ステップＳ５２）。ステップＳ５２において合計値が許容値を超えていると判定されなかった場合、損失取得部２２は、ステップＳ５１に戻って次のノードの前後のスパンの伝送損失の合計を計算する。ステップＳ５２において合計値が許容値を超えていると判定された場合、損失取得部２２は、ステップＳ５１で対象としたノードを境にして、ネットワークを分割する（ステップＳ５３）。
【００６７】
次に、損失取得部２２は、全てのノードについて伝送損失合計の計算が終了したか否かを判定する（ステップＳ５４）。ステップＳ５４において計算が終了したと判定されなかった場合、損失取得部２２は、ステップＳ５１に戻って次のノードの前後のスパンの伝送損失の合計を計算する。
【００６８】
ステップＳ５４において計算が終了したと判定された場合、損失取得部２２は、分割したネットワークごとに始点から終点までの伝送損失の合計を算出する（ステップＳ５５）。次に、損失取得部２２は、伝送損失の合計値を所定値で除して得た値を、切り捨てによって整数に変換する（ステップＳ５６）。この所定値として、（Ｐｏｕｔ−Ｐｉｎｍａｘ）を用いる。
【００６９】
次に、バイパス数設定部２１は、始点を除くノード数から、ステップＳ５６において得られた値を引いて得た値を、バイパスノード数の初期値に設定する（ステップＳ５７）。次に、バイパス数設定部２１は、バイパスノード数が負であるか否かを判定する（ステップＳ５８）。ステップＳ５８においてバイパスノード数が負であると判定されなかった場合、バイパス数設定部２１は、バイパスノード数を、分割した各ネットワークのバイパスノード数の合計値に設定する（ステップＳ６０）。その後、損失取得部２２は、図６のフローチャートのステップＳ１３を実行する。ステップＳ５８においてバイパスノード数が負であると判定された場合、バイパス数設定部２１は、バイパスノード数を「０」に設定する（ステップＳ５９）。その後、バイパス数設定部２１は、ステップＳ６０を実行する。
【００７０】
図１３は、許容値を２０ｄＢとした場合のネットワーク分割の例を説明するための図である。各スパンの下の数字は、伝送損失を表す。例えば、ノードｎ２の前後のスパンの伝送損失の合計は、１５ｄＢであるため、許容値以下である。ノードｎ３の前後のスパンの伝送損失の合計は、２８ｄＢであるため、許容値を超えている。そこで、損失取得部２２は、ネットワークを、ノードｎ１からノードｎ３までと、ノードｎ３からノードｎ９までと、に分割する。
【００７１】
ノードｎ４，ｎ５，ｎ７，ｎ８の前後のスパンの伝送損失の合計は、許容値以下である。しかしながら、ノードｎ６の前後のスパンの伝送損失の合計は、２２ｄＢであるため、許容値を超えている。したがって、損失取得部２２は、ノードｎ３からノードｎ９までのネットワークを、ノードｎ３からノードｎ６までのネットワークと、ノードｎ６からノードｎ９までのネットワークと、に分割する。以上のように、図１２のネットワークは、３つのネットワークに分割される。
【００７２】
本変形例によれば、伝送損失が大きいファイバがネットワークに含まれている場合でも、バイパスノード数の初期値を、より最適解に近い値に設定することができる。それにより、混合整数計画問題の解を得るまでのループ回数を少なくすることができる。その結果、解を得るまでの時間を短縮化することができる。
【００７３】
（変形例３）
最終的に得られるバイパスノード数が多い場合、混合整数計画問題の解析の際にバイパスノード数を小さい値から増加させていくと、解が得られるまでの時間が長くなってしまう。そこで、最終的に得られるバイパスノード数が多い場合に、バイパスノード数の初期値を最適値に近い値に設定してもよい。
【００７４】
例えば、ネットワークの始点から終点までの伝送損失の合計を伝送損失の上限値で割った値を、整数にまるめてバイパスノード数の初期値としてもよい。以下、具体的な例について説明する。
【００７５】
前述のように、光アンプは、伝送損失に、許容できる上限値を有している。したがって、伝送損失が上限を超えるような間隔で光アンプを配置することはできない。このため、始点から終点までの伝送損失を伝送損失の上限値で割った値が光アンプの最小配置数となる。光アンプの最小配置数を求めた上で、バイパスノード数を減らしつつ上記の混合整数計画問題の解を求めてもよい。
【００７６】
例えば、ネットワーク設計装置１００は、図６のフローチャートの代わりに、図１４のフローチャートを実行してもよい。まず、データベース１７は、ユーザによって入力されるネットワーク情報を格納する（ステップＳ６１）。ネットワーク情報は、入力装置１１を介して入力される。次に、損失取得部２２は、始点から終点までの伝送損失の合計を算出する（ステップＳ６２）。
【００７７】
次いで、損失取得部２２は、伝送損失の合計値を伝送損失の上限値で割って得た値を、切り捨てによって整数に変換する（ステップＳ６３）。次に、バイパス数設定部２１は、始点を除くノード数から、ステップＳ６３において得られた値を引くことによって得られた値を、バイパスノード数の初期値に設定する（ステップＳ６４）。
【００７８】
次に、損失取得部２２は、基準損失Ｌａｖを計算する（ステップＳ６５）。次いで、グラフ生成部２３は、グラフを生成する（ステップＳ６６）。次に、問題生成部２４は、生成されたグラフ上で始点ノードから終点ノードまでの経路を探すための混合整数計画問題を生成する（ステップＳ６７）。次いで、問題解析部２５は、以上の制約条件および目的関数を持つ混合整数計画法を解析する（ステップＳ６８）。
【００７９】
次に、問題解析部２５は、上記の混合整数計画問題に解があったか否かを判定する（ステップＳ６９）。ステップＳ６９において解があったと判定された場合、比較部２６は、得られた光アンプ配置について、始点から終点までのＯＳＮＲを計算する（ステップＳ７０）。
【００８０】
次に、比較部２６は、ステップＳ７０の計算によって得られた計算ＯＳＮＲが基準ＯＳＮＲよりも大きいか否かを判定する（ステップＳ７１）。ステップＳ７１において、計算ＯＳＮＲが基準ＯＳＮＲよりも大きいと判定された場合、バイパス数設定部２１は、バイパスノード数がゼロであるか否かを判定する（ステップＳ７２）。ステップＳ７２においてバイパスノード数がゼロであると判定されなかった場合、バイパス数設定部２１は、バイパスノード数を１つ減らす（ステップＳ７３）。その後、損失取得部２２は、ステップＳ６５を再度実行する。
【００８１】
ステップＳ７１において、計算ＯＳＮＲが基準ＯＳＮＲよりも大きいと判定されなかった場合、および、ステップＳ７２においてバイパスノード数がゼロであると判定された場合、ネットワーク設計装置１００は、フローチャートの実行を終了する。
【００８２】
本変形例によれば、バイパスノード数の初期値をより最適解に近い値に設定することができる。したがって、最終的に得られるバイパスノード数が多いネットワークに対しても、より早く光アンプの配置を求めることができる。
【００８３】
（変形例４）
伝送用のファイバと光送信器または光受信器との間に、両者を接続するための接続機器、接続配線等が設けられている場合がある。この場合、伝送用のファイバの損失以外にも、上記の接続機器、接続配線等の損失を考慮することが好ましい。そこで、上記損失を考慮して、光アンプを配置してもよい。
【００８４】
例えば、リンクを生成する際に、ノードごとに与えられた損失値にスパンの伝送損失を加えた値を用いて、リンクの重みを計算してもよい。具体的には、グラフ生成部２３は、図７（ａ）のグラフ生成において、始点および終点のノードに与えられている損失値をスパンの伝送損失に加えた値を生成し、得られた値と基準損失との差を２乗した値をばらつき値としてもよい。
【００８５】
また、グラフ生成部２３は、図７（ｂ）のバイパスリンク生成において、バイパスリンクが通るスパンの伝送損失の合計に、始点および終点のノードに与えられた損失値を加えた値と基準損失との差を２乗した値をばらつき値としてもよい。さらに、グラフ生成部２３は、ノードに与えられている伝送損失を全てのノードについて合計し、この合計値をノード数で割って平均値を出し、この平均値を２倍した値を基準損失としてもよい。２倍としたのは、始点ノードおよび終点ノードを含めるためである。この場合、基準損失に、ノードに与えられている損失分を含めることができる。
【００８６】
本変形例によれば、ファイバの伝送損失に加えて、機器の接続等に起因する損失を考慮して光アンプを配置することができる。
【００８７】
（変形例５）
ノードをバイパスする際に、伝送路のファイバ同士をコネクタで接続することがある。また、ファイバ同士が局舎内で離れている場合に、局内配線用のファイバで伝送路のファイバ同士を接続することがある。これらの場合、伝送用のファイバの損失以外に、ファイバ同士の接続に起因する損失を考慮することが好ましい。
【００８８】
そこで、バイパスリンクを生成する際に、ノードごとに与えられた損失値にスパンの伝送損失を加えた値を用いて、リンクの重みを計算してもよい。具体的には、グラフ生成部２３は、図７（ｂ）のバイパスリンク生成において、バイパスしたノードに与えられている損失値をスパンの伝送損失に加え、得られた値と基準損失との差の２乗をばらつき値としてもよい。
【００８９】
また、基準損失の計算ではスパンの伝送損失しか考慮されていないため、ノードをバイパスする際の損失分だけ基準損失が小さくなってしまう。そこで、損失取得部２２は、すべてのノードに与えられているバイパスの際の損失を合計し、その合計値をノード数で割って平均値を出し、その平均値をバイパスノード数倍したものを、始点から終点までの伝送損失の合計に加える。損失取得部２２は、得られた値を（アンプを置くノード数＋１）で割った値を、あらためて基準損失とする。
【００９０】
本変形例によれば、伝送損失以外にノードをバイパスする際の損失を考慮して光アンプを配置することができる。
【００９１】
（変形例６）
将来的にＯＡＤＭ（Optical Add Drop Multiplexer）等が配置されることを考慮してバイパス不可に指定されたノードに、あらかじめ光アンプを配置しておく場合がある。そこで、バイパス不可と指定されたノードに光アンプを配置してもよい。例えば、バイパスリンク生成の際に、ある始点ノードから順にバイパスリンクを生成し、バイパス不可と指定されたノードでバイパスリンク生成を停止してもよい。
【００９２】
具体的には、ネットワーク設計装置１００は、図８のフローチャートの代わりに図１５のフローチャートを実行する。まず、グラフ生成部２３は、設計対象ネットワークの一番目のノードを始点に設定する（ステップＳ８１）。次に、グラフ生成部２３は、始点の次のノードを終点に設定する（ステップＳ８２）。次いで、グラフ生成部２３は、終点のバイパスが不可であるか否かを判定する（ステップＳ８３）。バイパス不可のノードはあらかじめ設定しておく。また、ネットワークの終点もバイパスできないので、ネットワークの終点ノードもバイパスできないノードに設定しておく。
【００９３】
ステップＳ８３において終点のバイパスが不可であると判定されなかった場合、グラフ生成部２３は、始点から終点までのリンクを、図７（ｂ）で説明したように生成する（ステップＳ８４）。次に、グラフ生成部２３は、終点を、現時点での終点の次のノードに設定する（ステップＳ８５）。その後、グラフ生成部２３は、ステップＳ８３を再度実行する。
【００９４】
ステップＳ８３において終点のバイパスが不可であると判定された場合、グラフ生成部２３は、始点を、現時点での始点の次のノードに設定する（ステップＳ８６）。次に、グラフ生成部２３は、ステップＳ８６で設定した終点がネットワークの最終ノードであるか否かを判定する（ステップＳ８７）。ステップＳ８７において、終点が最終ノードであると判定されなかった場合、グラフ生成部２３は、ステップＳ８２を再度実行する。ステップＳ８７において、終点が最終ノードであると判定された場合、グラフ生成部２３は、フローチャートの実行を終了する。
【００９５】
図１６は、本変形例にしたがって生成されたリンクの一例を説明するための図である。図１６においては、一例として、ノードｎ４がバイパス不可に指定されている。図１４を参照して、ノードｎ１からノードｎ６までの経路は、いずれも必ずノードｎ４を経由する。したがって、グラフ上のどの経路が選択されても、必ずノードｎ４に光アンプが配置されることになる。
【００９６】
本変形例によれば、バイパス不可と指定されたノードをバイパスしないように光アンプを配置することができる。
【００９７】
（変形例７）
バイパスすることができるノードが設定されたバイパスノード数を超えている場合においても、実際にバイパス可能なノード数が、バイパスノード数になる。そこで、光アンプ配置を求める際にバイパスノード数が設定されたバイパスノード数を確実に超える配置の組合せをあらかじめ除外してもよい。例えば、ある始点ノードから順にバイパスリンクを生成するとともに、バイパスしたノードの数をカウントし、そのカウントが設定されたバイパスノード数を超えたらバイパスリンクの生成を停止してもよい。
【００９８】
具体的には、ネットワーク設計装置１００は、図８のフローチャートの代わりに図１７のフローチャートを実行する。まず、グラフ生成部２３は、設計対象ネットワークの一番目のノードを始点に設定する（ステップＳ９１）。次に、グラフ生成部２３は、始点の次のノードを終点に設定する（ステップＳ９２）。次いで、グラフ生成部２３は、カウンターＮｂｐを「１」に設定する（ステップＳ９３）。なお、カウンターＮｂｐは、バイパスリンクがバイパスするノード数のことである。
【００９９】
次に、グラフ生成部２３は、始点から終点までのリンクを、図７（ｂ）で説明したように生成する（ステップＳ９４）。次いで、グラフ生成部２３は、ステップＳ９２で設定された終点がネットワークの最終ノードであるか否かを判定する（ステップＳ９５）。ステップＳ９５において終点が最終ノードであると判定されなかった場合、グラフ生成部２３は、カウンターＮｂｐがバイパス数設定部２１によって設定されたバイパスノード数であるか否かを判定する（ステップＳ９６）。
【０１００】
ステップＳ９６においてカウンターＮｂｐが設定されたバイパスノード数であると判定されなかった場合、グラフ生成部２３は、終点を、現時点での終点の次のノードに設定する（ステップＳ９７）。次に、グラフ生成部２３は、カウンターＮｂｐに「１」を加える（ステップＳ９８）。その後、グラフ生成部２３は、ステップＳ９４を再度実行する。
【０１０１】
ステップＳ９５において終点が最終ノードであると判定された場合、および、ステップＳ９６においてカウンターＮｂｐが設定されたバイパスノード数であると判定された場合、グラフ生成部２３は、始点を、現時点での始点の次のノードに設定する（ステップＳ９９）。次に、グラフ生成部２３は、始点がネットワークの最終ノードであるか否かを判定する（ステップＳ１００）。ステップＳ１００において始点が最終ノードであると判定されなかった場合、グラフ生成部２３は、ステップＳ９２を再度実行する。ステップＳ１００において始点が最終ノードであると判定された場合、グラフ生成部２３は、フローチャートの実行を終了する。
【０１０２】
図１８は、本変形例にしたがって生成されたリンクの一例を説明するための図である。図１８においては、バイパス数設定部２１によって設定されたバイパスノード数が「２」である場合について表されている。図１８を参照して、バイパスしたノード数が３以上のバイパスリンクが生成されていない。このように、本変形例によれば、設定されたバイパスノード数を超える数のノードを連続してバイパスするリンクが生成されなくなる。その結果、生成されるグラフ上の始点から終点までの経路の組み合わせの数を減らすことができる。
【０１０３】
（変形例８）
光アンプに許容される伝送損失の上限を超えてバイパスするように光アンプが配置されることはない。そこで、光アンプの配置を求める際に、光アンプに許容される伝送損失の上限を超えてバイパスするような光アンプの配置をあらかじめ除外してもよい。例えば、ある始点ノードから順にバイパスリンクを生成するとともに、バイパスリンクの伝送損失があらかじめ与えられた伝送損失の上限値を超えたらバイパスリンクの生成を停止してもよい。
【０１０４】
具体的には、ネットワーク設計装置１００は、図８のフローチャートの代わりに図１９のフローチャートを実行する。まず、グラフ生成部２３は、設計対象ネットワークの一番目のノードを始点に設定する（ステップＳ１０１）。次に、グラフ生成部２３は、始点の次のノードを終点に設定する（ステップＳ１０２）。次いで、グラフ生成部２３は、伝送損失Ｌｂｐを、始点と始点の次ノードとの間のスパンの損失に設定する（ステップＳ１０３）。
【０１０５】
次に、グラフ生成部２３は、始点から終点までのリンクを、図７（ｂ）で説明したように生成する（ステップＳ１０４）。次いで、グラフ生成部２３は、ステップＳ１０２で設定された終点がネットワークの最終ノードであるか否かを判定する（ステップＳ１０５）。ステップＳ１０５において終点が最終ノードであると判定されなかった場合、グラフ生成部２３は、伝送損失Ｌｂｐが損失上限値を超えているか否かを判定する（ステップＳ１０６）。
【０１０６】
ステップＳ１０６において伝送損失Ｌｂｐが損失上限値を超えていると判定されなかった場合、グラフ生成部２３は、終点を、現時点での終点の次のノードに設定する（ステップＳ１０７）。次に、グラフ生成部２３は、伝送損失Ｌｂｐに、終点の１つ前のノードと終点との間のスパンの損失を加算する（ステップＳ１０８）。その後、グラフ生成部２３は、ステップＳ１０４を再度実行する。
【０１０７】
ステップＳ１０５において終点が最終ノードであると判定された場合、および、ステップＳ１０６において伝送損失Ｌｂｐが損失上限値を超えていると判定された場合、グラフ生成部２３は、始点を、現時点での始点の次のノードに設定する（ステップＳ１０９）。次に、グラフ生成部２３は、始点がネットワークの最終ノードであるか否かを判定する（ステップＳ１１０）。ステップＳ１１０において始点が最終ノードであると判定されなかった場合、グラフ生成部２３は、ステップＳ１０２を再度実行する。ステップＳ１００において始点が最終ノードであると判定された場合、グラフ生成部２３は、フローチャートの実行を終了する。
【０１０８】
図２０は、本変形例にしたがって生成されたリンクの一例を説明するための図である。図２０においては、伝送損失の上限が２０ｄＢである場合について表されている。図２０を参照して、バイパスすると伝送損失が２０ｄＢを超えてしまうバイパスリンクが生成されていない。このように、本変形例によれば、伝送損失の上限を超えてバイパスするバイパスリンクが生成されなくなる。その結果、生成されるグラフ上の始点から終点までの経路の組み合わせの数を減らすことができる。
【０１０９】
（変形例９）
始点または終点から途中のノードまで、あるいは途中のノード同士の間のみが実際の伝送で使われる場合がある。この場合、始点から終点までのＯＳＮＲが基準のＯＳＮＲ以上となる必要はない。したがって、実際に使われる区間についてのみ計算した計算ＯＳＮＲが基準のＯＳＮＲ以上であればよい。そこで、指定された経路の計算ＯＳＮＲが基準ＯＳＮＲ以上になるように光アンプを配置してもよい。
【０１１０】
例えば、入力されるネットワーク情報に、ＯＳＮＲを計算する対象となる経路のリストを含めてもよい。入力された経路のすべてについて計算したＯＳＮＲが基準ＯＳＮＲよりも大きい場合には、バイパスノード数を１つ増加させ、混合整数計画問題の解析を続ける。
【０１１１】
具体的には、ネットワーク設計装置１００は、図６のフローチャートの代わりに、図２１のフローチャートを実行してもよい。まず、データベース１７は、ネットワーク情報を、入力装置１１を介して格納する（ステップＳ１１１）。次に、データベース１７は、ＯＳＮＲを計算する経路のリストを、入力装置１１を介して格納する（ステップＳ１１２）。この場合の経路は、例えば、通過するノードの順に始点から終点までのノードを書き並べた形などで入力される。
【０１１２】
次に、バイパス数設定部２１は、初期設定として、バイパスノード数を０に設定する（ステップＳ１１３）。次いで、損失取得部２２は、基準損失Ｌａｖを計算する（ステップＳ１１４）。次に、グラフ生成部２３は、グラフを生成する（ステップＳ１１５）。次いで、問題生成部２４は、混合整数計画問題を生成する（ステップＳ１１６）。次に、問題解析部２５は、混合整数計画法を解析する（ステップＳ１１７）。
【０１１３】
次に、問題解析部２５は、上記の混合整数計画問題に解があったか否かを判定する（ステップＳ１１８）。ステップＳ１１８において解があったと判定された場合、比較部２６は、得られた光アンプ配置について、ＯＳＮＲ計算経路リストの各経路について、ＯＳＮＲを計算する（ステップＳ１１９）。次に、比較部２６は、ステップＳ１１９の計算によって得られた全ての計算ＯＳＮＲが基準ＯＳＮＲよりも大きいか否かを判定する（ステップＳ１２０）。
【０１１４】
ステップＳ１２０において、全ての計算ＯＳＮＲが基準ＯＳＮＲよりも大きいと判定された場合、バイパス数設定部２１は、バイパスノード数を１つ増加する（ステップＳ１２１）。その後、損失取得部２２は、ステップＳ１１４を再度実行する。ステップＳ１１８において解があったと判定されなかった場合、および、ステップＳ１２０において全計算ＯＳＮＲが基準ＯＳＮＲより大きいと判定されなかった場合、出力部２７は、一つ前の結果を出力する（ステップＳ１２２）。その後、ネットワーク設計装置１００は、フローチャートの実行を終了する。
【０１１５】
本変形例によれば、指定された全ての経路のＯＳＮＲが基準ＯＳＮＲ以上になるように、光アンプを配置することができる。
【０１１６】
（変形例１０）
ネットワークは、必ずしも、始点から終点までノードが直列に配置される構成を有しているわけではない。例えば、ネットワークが、単純にノードが直列に配置される部分ネットワークに分割されている場合がある。図２２は、複数の部分ネットワークを有するネットワークの一例を説明するための図である。
【０１１７】
図２２のネットワークは、ノードｎ１〜ノードｎ６で構成される第１部分ネットワークと、ノード４，ノード７〜ノード９で構成される第２部分ネットワークと、に区分することができる。第１部分ネットワークは、ノードｎ１を始点とし、ノードｎ６を終点とする。また、第１部分ネットワークは、ノードｎ１，ｎ２，ｎ３，ｎ４，ｎ５，ｎ６の順に接続されるノードの順序リストとして表現される。このノードの順序リストを分割用経路とする。同様に、第２部分ネットワークは、ノードｎ４を始点とし、ノードｎ９を終点とする。また、第２部分ネットワークは、ノードｎ４，ｎ７，ｎ８，ｎ９の順に接続されるノードの順序リストとして表現される。
【０１１８】
このように複数の部分ネットワークを有するネットワークにおいて、光アンプの配置数を低減させることができかつネットワーク全体のＯＳＮＲを大きくしてもよい。例えば、各部分ネットワークを始点から終点までの分割用経路とし、これらの経路のリストを格納する。各経路について制約条件を生成し、生成された複数の制約条件を１つの混合整数計画問題の制約条件とし、各経路の目的関数の合計を１つの混合整数計画問題の目的関数とする。
【０１１９】
具体的には、ネットワーク設計装置１００は、図８のフローチャートの代わりに、図２３のフローチャートを実行してもよい。まず、データベース１７は、ネットワーク情報を、入力装置１１を介して格納する（ステップＳ１３１）。次に、データベース１７は、分割用経路のリストを、入力装置１１を介して格納する（ステップＳ１３２）。この場合のリストは、例えば、図２２で説明したようなノードの順序リストとして入力される。
【０１２０】
次に、バイパス数設定部２１は、初期設定として、バイパスノード数を０に設定する（ステップＳ１３３）。次いで、損失取得部２２は、経路ごとに、基準損失Ｌａｖを計算する（ステップＳ１３４）。次に、グラフ生成部２３は、経路ごとに、グラフを生成する（ステップＳ１３５）。
【０１２１】
次いで、問題生成部２４は、混合整数計画問題を生成する（ステップＳ１３６）。図２２の例では、問題生成部２４は、第１部分ネットワークおよび第２部分ネットワークの混合整数計画問題を生成し、各部分ネットワークの目的関数の和を新たな目的関数として定義する。また、問題生成部２４は、第１部分ネットワークの制約条件と第２部分ネットワークの制約条件とを合わせて書き並べたものを新たな制約条件と定義する。この新たに定義した制約条件が混合整数計画問題の制約条件となる。このため、制約条件は、部分ネットワーク数倍の量になる。次に、問題解析部２５は、混合整数計画法を解析する（ステップＳ１３７）。
【０１２２】
次に、問題解析部２５は、上記の混合整数計画問題に解があったか否かを判定する（ステップＳ１３８）。ステップＳ１３８において解があったと判定された場合、比較部２６は、得られた光アンプ配置について、経路ごとに、ＯＳＮＲを計算する（ステップＳ１３９）。図２２の例では、比較部２６は、ノードｎ１〜ｎ６のＯＳＮＲと、ノードｎ４，ｎ７〜ｎ９のＯＳＮＲとを計算する。
【０１２３】
次に、比較部２６は、ステップＳ１３９の計算によって得られた全ての計算ＯＳＮＲが基準ＯＳＮＲよりも大きいか否かを判定する（ステップＳ１４０）。図２２の例では、比較部２６は、第１部分ネットワークについて計算した計算ＯＳＮＲと第１部分ネットワークの基準ＯＳＮＲとを比較し、第２部分ネットワークについて計算した計算ＯＳＮＲと第２部分ネットワークの基準ＯＳＮＲとを比較する。基準ＯＳＮＲは、共通の値であってもよい。
【０１２４】
ステップＳ１４０において、全ての計算ＯＳＮＲが基準ＯＳＮＲよりも大きいと判定された場合、バイパス数設定部２１は、バイパスノード数を１つ増加する（ステップＳ１４１）。その後、損失取得部２２は、ステップＳ１３４を再度実行する。ステップＳ１３８において解があったと判定されなかった場合、および、ステップＳ１４０において全計算ＯＳＮＲが基準ＯＳＮＲより大きいと判定されなかった場合、出力部２７は、一つ前の結果を出力する（ステップＳ１４２）。その後、ネットワーク設計装置１００は、フローチャートの実行を終了する。
【０１２５】
なお、ステップＳ１４０における比較後の分岐の仕方は上記に限られない。例えば、計算ＯＳＮＲが基準のＯＳＮＲより小さかった部分ネットワークについてはバイパスノード数を更新せず、計算ＯＳＮＲが基準のＯＳＮＲ以上の部分ネットワークのみ更新してもよい。
【０１２６】
本変形例によれば、複数の部分ネットワークを有するネットワークに対して、光アンプの配置数を低減させることができかつネットワーク全体のＯＳＮＲを大きくすることができる。
【０１２７】
（変形例１１）
ノードがメッシュ状に接続されたネットワークを１回で設計する場合、ネットワークを複数の部分ネットワークに分割してもよい。図２４は、複数の部分ネットワークを有するメッシュ状のネットワークの一例を説明するための図である。図２４のネットワークにおいては、ノードｎ３は、ノードｎ２，ｎ４，ｎ１３と接続されている。ノードｎ１０は、ノードｎ１１，ｎ１４，ｎ９と接続されている。ここでは、このように３つ以上のノードと接続されるノードを、ハブノードと称する。
【０１２８】
このように複数の部分ネットワークを有するネットワークにおいて、光アンプの配置数を低減させることができかつネットワーク全体のＯＳＮＲを大きくしてもよい。例えば、３つ以上のノードと接続されるハブノードを探索し、ハブノードとあらかじめ指定されたノードとによって部分ネットワークを生成してもよい。
【０１２９】
具体的には、ネットワーク設計装置１００は、図８のフローチャートの代わりに、図２５のフローチャートを実行してもよい。まず、データベース１７は、ネットワーク情報を、入力装置１１を介して格納する（ステップＳ１５１）。次に、損失取得部２２は、ハブノードを探索する（ステップＳ１５２）。例えば、損失取得部２２は、図１（ｂ）のような表を用いてノードごとにどのノードに接続されているかが検出することによって、ハブノードを探索する。
【０１３０】
図２６は、ハブノード探索の結果の一例を説明するための図である。図２６で表される表には、各ノードがネットワークを分割する際の分割点になるかどうかが記入されている。表の２列目に、ノードの種類が記入されている。ノードｎ３，ｎ１０の２列目には、ハブと記入されている。また、ユーザが分割点を指定することもある。一例として、ノードｎ６の２列目に、ユーザ指定の分割点と記入されている。
【０１３１】
次に、損失取得部２２は、ネットワークを分割する（ステップＳ１５３）。図２７は、ネットワークを分割するに際して実行されるフローチャートの一例を説明するための図である。図２７を参照して、まず、損失取得部２２は、ハブノード探索によって得られた表から、１つの分割点となるノードを探す（ステップＳ１７１）。次に、損失取得部２２は、分割点がないか否かを判定する（ステップＳ１７２）。ステップＳ１７２において分割点がないと判定された場合、損失取得部２２は、フローチャートの実行を終了する。
【０１３２】
ステップＳ１７２において分割点がないと判定されなかった場合、損失取得部２２は、分割点におけるリンクを選択する（ステップＳ１７３）。次に、損失取得部２２は、リンクがないか否かを判定する（ステップＳ１７４）。ステップＳ１７４においてリンクがないと判定された場合、損失取得部２２は、ステップＳ１７１を再度実行する。
【０１３３】
ステップＳ１７４においてリンクがないと判定されなかった場合、損失取得部２２は、リンクを順に取り出して、部分ネットワークを生成する（ステップＳ１７５）。その後、損失取得部２２は、接続点に到達したか否かを判定する（ステップＳ１７６）。ステップＳ１７６において接続点に到達したと判定されなかった場合、損失取得部２２は、ステップＳ１７５を再度実行する。ステップＳ１７６において接続点に到達したと判定された場合、損失取得部２２は、ステップＳ１７３を再度実行する。
【０１３４】
図２６の例に図２７のフローチャートを適用した場合について説明する。例えば、損失取得部２２は、ステップＳ１７１においてノードｎ３を選ぶ。ノードｎ３には、ノードｎ２に向かうリンクと、ノードｎ４に向かうリンクと、ノードｎ１３に向かうリンクとがある。そこで、例えば、損失取得部２２は、ステップＳ１７３において、ノードｎ２に向かうリンクを選択する。続いて、損失取得部２２は、ステップＳ１７５において、ノードｎ２，ｎ１，ｎ１２，ｎ１１の順に部分ネットワークの構成を検出する。
【０１３５】
ノードｎ１０は、図２６においてはネットワークの分割点であるため、ステップＳ１７６において、ノードｎ１０に到達した時点で部分ネットワークの検出を終える。続いて、損失取得部２２は、ノードｎ３に接続されるリンクを再度選択する。
【０１３６】
ノードｎ４に向かうリンクとノードｎ１３に向かうリンクとが残っているため、損失取得部２２は、例えば、ノードｎ４に向かうリンクを選択し、ノードｎ４，ｎ５の順に部分ネットワークを検出する。ノードｎ５の次のノードｎ６は、ユーザが指定した分割点であるため、ノードｎ６で２番目の部分ネットワークの検出が終わる。さらに、損失取得部２２は、ノードｎ３に接続されるリンクとして、ノードｎ１３に向かうリンクを選択し、ノードｎ３，ｎ１３，ｎ１４，ｎ１０の順に部分ネットワークを検出する。
【０１３７】
ノードｎ３には、他のリンクが接続されていないので、損失取得部２２は、ステップＳ１７１において次の分割点を選択する。例えば、損失取得部２２は、ノードｎ６を選択する。ノードｎ６には、ノードｎ５に向かうリンクと、ノードｎ７に向かうリンクとがある。すでにノードｎ３〜ｎ６の部分ネットワークが検出されているので、損失取得部２２は、逆方向を独立に設計しない場合はノードｎ５に向かうリンクは探索済みとしてノードｎ７に向かうリンクを選択する。その後、損失取得部２２は、ノードｎ６，ｎ７，ｎ８，ｎ９，ｎ１０の順に部分ネットワークを検出する。
【０１３８】
ノードｎ６に接続されるリンクはもう残っていないので、損失取得部２２は、次にノードｎ１０を選択する。損失取得部２２は、逆方向を独立に設計しない場合はノードｎ１０に接続される全ての部分ネットワークが検出されているので、分割点なしとしてネットワークの分割が終了する。
【０１３９】
図２５に戻って、損失取得部２２は、ステップＳ１５３において検出された部分ネットワークを指定経路に指定する（ステップＳ１５４）。次に、損失取得部２２は、メモリ１５に、指定経路を格納する（ステップＳ１５５）。その後、損失取得部２２は、ステップＳ１５６〜ステップＳ１６５を実行する。なお、ステップＳ１５６〜ステップＳ１６５は、図２３のステップＳ１３３〜ステップＳ１４２と同様である。
【０１４０】
本変形例によれば、ノードがメッシュ状に接続されたネットワークにおいて、光アンプの配置数を低減させることができかつネットワーク全体のＯＳＮＲを大きくすることができる。また、本実施例においては、損失取得部２２が、ハブノードを検出する検出手段および指定経路を指定する指定手段として機能する。
【０１４１】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１４２】
１１  入力装置
１２  出力装置
１３  ドライブ装置
１４  補助記憶装置
１５  メモリ
１６  演算処理装置
１７  データベース
１８  システムバス
２１  バイパス数設定部
２２  損失取得部
２３  グラフ生成部
２４  問題生成部
２５  問題解析部
２６  比較部
２７  出力部
１００  ネットワーク設計装置
【図１】
2011029890.tif 000013
【図２】
2011029890.tif 000014
【図３】
2011029890.tif 000015
【図４】
2011029890.tif 000016
【図５】
2011029890.tif 000017
【図６】
2011029890.tif 000018
【図７】
2011029890.tif 000019
【図８】
2011029890.tif 000020
【図９】
2011029890.tif 000021
【図１０】
2011029890.tif 000022
【図１１】
2011029890.tif 000023
【図１２】
2011029890.tif 000024
【図１３】
2011029890.tif 000025
【図１４】
2011029890.tif 000026
【図１５】
2011029890.tif 000027
【図１６】
2011029890.tif 000028
【図１７】
2011029890.tif 000029
【図１８】
2011029890.tif 000030
【図１９】
2011029890.tif 000031
【図２０】
2011029890.tif 000032
【図２１】
2011029890.tif 000033
【図２２】
2011029890.tif 000034
【図２３】
2011029890.tif 000035
【図２４】
2011029890.tif 000036
【図２５】
2011029890.tif 000037
【図２６】
2011029890.tif 000038
【図２７】
2011029890.tif 000039