説明

費用効果及び信頼性の高いユーティリティ配給ネットワーク

【課題】 費用効果及び信頼性の高いユーティリティ配給ネットワークを提供する。
【解決手段】 費用効果及び信頼性の高いユーティリティの配給ネットワークを設計するための方法、システム、及びコンピュータ・プログラム製品が例示的な実施形態において提供される。複数のクラスタを形成するように、ユーティリティの消費者のセットをユーティリティの供給者のセットと接続するグラフが簡約化される。複数のクラスタ内の第1のクラスタにおける供給者と消費者のサブセットとの間の第1のネットワークが改良され、この改良することは、第1のネットワークにおける所定数の障害後に消費者のサブセットへのユーティリティの供給を継続するように、第1の接続を第1のネットワークに加えることである。供給者のセットを消費者のセットに接続する第2のネットワークについての設計が生成され、第2のネットワークは改良後の第1のネットワークを含んでおり、第2のネットワークは下方閾値から上方閾値までの範囲内の費用を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、ユーティリティ配給ネットワークを生成又は修正するための方法、システム、及びコンピュータ・プログラム製品に関する。より具体的には、本発明は、ネットワークが費用効果が高く信頼できるものとなるようにユーティリティ配給ネットワークを生成又は修正するための方法、システム、及びコンピュータ・プログラム製品に関する。
【背景技術】
【0002】
電気、水及びガスといったユーティリティは、種々の供給者から種々の消費者に供給される。ユーティリティの配給は、これらのユーティリティの好適な搬送装置のネットワークを通して行われる。例えば、電気は、電気ケーブル及びグリッドのネットワークを通して配給され、水及びガスは、パイプラインのネットワーク上で配給される。
【0003】
新しいユーティリティ配給ネットワーク(ネットワーク)は、例えば、新しい都市又は区画が計画されるときに設計される。既存のネットワークは、例えば、新しい供給者が表れた場合、古い供給者が事業を止めた場合、又は、消費者若しくは需要のパターンが変化した場合のように、配給に変更が必要であるときに修正される。
【0004】
ユーティリティ配給ネットワークは、高価なインフラストラクチャである。その構築には、大きな設備投資が必要である。ネットワークの維持管理には、多くの時間及び出費が必要である。既存のネットワークの修正は複雑であり、費用、時間、及びユーティリティ・サービスのダウン時間が関係する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
ユーティリティ配給ネットワークは、信頼できるものでなければならない。例えば、ネットワークにおける障害がユーティリティの供給を中断しないものであることが望ましい。
【課題を解決するための手段】
【0006】
例示的な実施形態は、費用効果及び信頼性の高いユーティリティ配給ネットワーク(ネットワーク)のための方法、システム、及びコンピュータ・プログラム製品を提供する。実施形態は、複数のクラスタを形成するように、ユーティリティの消費者のセットをユーティリティの供給者のセットと接続するグラフを簡約化する。本実施形態は、複数のクラスタ内の第1のクラスタにおける供給者と消費者のサブセットとの間の第1のネットワークを改良し、この改良することは、第1のネットワークにおける所定数の障害後に、消費者のサブセットへのユーティリティの供給を継続するように、第1の接続を第1のネットワークに加えることである。本実施形態は、供給者のセットを消費者のセットに接続する第2のネットワークについての設計を生成し、第2のネットワークは改良後の第1のネットワークを含んでおり、第2のネットワークは下方閾値から上方閾値までの範囲内の費用を有する。
【図面の簡単な説明】
【0007】
【図1】例示的な実施形態を実装することができる電気配給ネットワークの例の図を示す。
【図2】例示的な実施形態を実装することができるデータ処理システムのブロック図を示す。
【図3】例示的な実施形態による費用効果の高いネットワークを設計するためのグラフ簡約化プロセスを示す。
【図4】例示的な実施形態による信頼性のための単純化されたループ・グラフを示す。
【図5】例示的な実施形態によるユーティリティ配給ネットワークにおいて信頼性を向上させる第2の形態を示す。
【図6】例示的な実施形態による費用効果及び信頼性の高いユーティリティ配給ネットワークを設計するプロセスのフローチャートを示す。
【図7】例示的な実施形態による費用効果及び信頼性の高いユーティリティ配給ネットワークをさらに最適化する例示的なプロセスのフローチャートを示す。
【発明を実施するための形態】
【0008】
本発明の特徴であると考えられる新規な構成が、特許請求の範囲に記載される。しかしながら、本発明自体、並びに、本発明の好ましい使用形態、さらなる目的及び利点は、図面と併せて読んだときに、例示的な実施形態の以下の詳細な説明を参照することによって、最も良く理解される。
【0009】
本発明によって、ユーティリティ配給ネットワークは、構築するのに費用効果が高く、動作が信頼できるものでなければならないことが分かる。例えば、ネットワークを構築するためのより単純化された1つの手法は、ユーティリティの各消費者(消費者)をユーティリティの供給者(供給者)に接続するものである。しかしながら、そのようなより単純化された手法は、サービスを消費者に第1の供給者から提供する場合と第2の供給者から提供する場合のネットワーク構築における比較費用を考慮していない。例えば、消費者のより近くにある第1の供給者から供給することは、第1の供給者から遠くにある第2の供給者から消費者に供給することと比較すると、第1の供給者の方が必要な導線又はケーブルの長さが短いため、より費用効果が高い。
【0010】
そのようなより単純化された手法はまた、サービスの継続性についての信頼性が低い。例えば、第1の供給者がユーティリティを供給できないとき又は第1の供給者と消費者との間のネットワークが機能しなくなったときには、ユーティリティを消費者に提供することができない。
【0011】
若干の信頼性を伴ってネットワークを構築するより単純化された別の手法は、2つ又はそれ以上の供給者から任意に消費者にサービスを提供することである。ここでも、そのような手法は、異なる供給者から消費者にサービスを提供するネットワークを構築する比較費用を考慮していない。
【0012】
消費者と供給者の間のような2点間の最短距離を選択するための幾つかの最短経路アルゴリズムが知られている。本発明によって、単に消費者と供給者との間の距離が最短であるというだけの理由で消費者と供給者とを対にすることは、費用効果及び信頼性の点から十分な解決策ではないことが分かる。例えば、消費者に最も近い供給者は、風力エネルギーを電気に変換する供給者のような散在する供給者であることがある。
【0013】
信頼性は、例えばネットワークにおける導線を二重にすることによって、実現することができる。しかしながら、こうした法は、導線長といったネットワーク資源を無駄にするものであるため、そのような信頼性は費用効果が低い。
【0014】
本発明によって、ネットワークが、費用効果及び信頼性の観点から所与の消費者のセット及び所与の供給者のセットのために設計された場合であっても、そのような設計プロセスは、自動化プロセスの結果ではなく、従って容易に複製できるものではないことが分かる。特定の供給者及び消費者のための特定のネットワーク設計は、費用効果及び信頼性が高い場合があるが、通常、可能なネットワーク化の選択枝について試行錯誤による網羅的な調査が必要である。
【0015】
本発明を説明するのに用いられる例示的な実施形態は、一般に、ユーティリティ配給ネットワーク設計に関する上述の問題に対処し、解決するものである。例示的な実施形態は、費用効果及び信頼性の高いユーティリティ配給ネットワークを設計するための方法、システム及びコンピュータ・プログラム製品を提供する。
【0016】
本発明及びその種々の実施形態は、本明細書においては、単に本開示を明確にするために、主として、限られた数の消費者とユーティリティの例すなわち電気の供給者との間の単純化された関係に関して、説明される。ユーティリティ配給ネットワークの設計に関して本明細書において説明される概念、方法、製品、システム、動作、作用、構成、又は操作は、限定することなく、他のタイプのユーティリティ配給ネットワーク並びに任意の数の消費者及び供給者にも同様に適用可能である。
【0017】
例示的な実施形態は、単なる例として特定のアルゴリズム及びツールを用いて説明され、例示的な実施形態に限定されない。例示的な実施形態は、本発明の範囲内で、他の類似の又は同様な目的のアルゴリズム及びツールと共に用いることができる。例示的な実施形態は、ハードウェア、ソフトウェア、又はそれらの組み合わせで実装することができる。
【0018】
本明細書に挙げられるいずれの利点も、単なる例であり、例示的な実施形態に限定することを意図するものではない。付加的な又は異なる利点は、特定の例示的な実施形態によって実現することができる。さらに、特定の例示的な実施形態は、上で挙げられた利点の幾つか又はすべてをもつことも、どれももたないこともある。
【0019】
図面、特に図1及び図2を参照すると、これらの図面は、例示的な実施形態を実装することができるデータ処理環境の例示的な図である。図1及び図2は、単なる例であり、異なる実施形態を実装することができる環境に関してどのような限定も主張又は意味することを意図するものではない。特定の実装形態は、以下の説明に基づいて、示される環境に対して多くの修正を行うことができる。
【0020】
図1は、例示的な実施形態を実装することができる電気配給ネットワークの例の図を示す。電気配給ネットワーク100は、例としての供給者102及び104を含む。供給者102は、一例として、石炭、油又は原子力を用いて電気を生成する供給者とすることができる。供給者104は、一例として、風力又は太陽エネルギーから電気を生成するような、信頼性がより低い供給者104とすることができる。
【0021】
ネットワーク100は、消費者106及び108をさらに含む。導線110は、供給者102及び104から消費者106及び108に例としての電気ユーティリティを配送するネットワーク100のインフラストラクチャの一部である。導線/グリッド112は、種々の供給者から種々の消費者に電気供給をもたらす、例としてのグリッドの一部とすることができる。典型的な電気配給ネットワークのスイッチング回路、変圧器、及びその他の構成要素は、例示を明確にするために、図から省いてある。
【0022】
ネットワークの導線110、112及びその他の省かれた構成要素は、費用をかけて構築される。ネットワーク100の2つの設計が、同程度の信頼性で、共通の供給者のセットから共通の消費者のセットに電気を配送できるものと仮定する。導線110及び112の閾値導線長より短い導線長を用いて供給者のセットから消費者のセットに電気を配給できるネットワーク100の1つの設計は、閾値導線長より長い導線長を用いるネットワーク100の別の設計より高い費用効果で電気を配給する。
【0023】
図2を参照すると、この図は、例示的な実施形態を実装することができるデータ処理システムのブロック図を示す。データ処理システム200は、実施形態による方法、実施形態によるコンピュータ使用可能プログラム製品又は実施形態によるシステムを実装するのに用いることができる、例としてのコンピュータである。
【0024】
示される例において、データ処理システム200は、ノースブリッジ及びメモリ・コントローラ・ハブ(NB/MCH)202と、サウスブリッジ及び入力/出力(I/O)コントローラ・ハブ(SB/ICH)204とを含むハブ・アーキテクチャを採用する。処理ユニット206と、メイン・メモリ208と、グラフィックス・プロセッサ210とは、ノースブリッジ及びメモリ・コントローラ・ハブ(NB/MCH)202に結合される。処理ユニット206は、1つ又は複数のプロセッサを含むことができ、1つ又は複数の異種プロセッサ・システムを用いて実装することができる。特定の実装形態において、グラフィックス・プロセッサ210は、アクセラレイティッド・グラフィックス・ポート(AGP)を通してNB/MCHに結合することができる。
【0025】
示される例において、ローカル・エリア・ネットワーク(LAN)アダプタ212は、サウスブリッジ及びI/Oコントローラ・ハブ(SB/ICH)204に結合される。オーディオ・アダプタ216、キーボード及びマウス・アダプタ220、モデム222、読み取り専用メモリ(ROM)224、ユニバーサル・シリアル・バス(USB)及びその他のポート232、並びにPCI/PCIeデバイス234は、バス238を通して、サウスブリッジ及びI/Oコントローラ・ハブ(SB/ICH)204に結合される。ハードディスク・ドライブ(HDD)226及びCD−ROM230は、バス240を通して、サウスブリッジ及びI/Oコントローラ・ハブ204に結合される。PCI/PCIeデバイスは、例えば、イーサネット・アダプタ、アドイン・カード、及びノートブック・コンピュータのためのPCカードを含むことができる。PCIはカード・バス・コントローラを用いるが、PCIeはこれを用いない。ROM224は、例えば、フラッシュ・バイナリ入力/出力システム(BIOS)とすることができる。ハードディスク・ドライブ226及びCD−ROM230は、例えば、インテグレーテッド・ドライブ・エレクトロニクス(IDE)又はシリアル・アドバンスド・テクノロジー・アタッチメント(SATA)インターフェースを用いることができる。スーパーI/O(SIO)デバイス236は、サウスブリッジ及びI/Oコントローラ・ハブ(SB/ICH)204に結合することができる。
【0026】
オペレーティング・システムは、処理ユニット206上で作動する。オペレーティング・システムは、図2におけるデータ処理システム200内の種々のコンポーネントを連携させ、制御する。オペレーティング・システムは、Microsoft(商標)Windows(商標)(Microsoft及びWindowsは、米国、その他の国々又はその両方におけるマイクロソフト・コーポレーションの商標である)、又はLinux(商標)(Linuxは米国、その他の国々又は両方におけるLinus Torvaldsの商標である)といった、市販のオペレーティング・システムとすることができる。Java(商標)プログラミング・システムのようなオブジェクト志向型プログラミング・システムは、オペレーティング・システムと共に作動することができ、データ処理システム200上で実行されるJava(商標)プログラム又はアプリケーションからオペレーティング・システムにコールを与える(Java及びすべてのJavaベースの商標並びにロゴは、Oracle及び/又はその関連会社の商標又は登録商標である)。
【0027】
オペレーティング・システムのためのプログラム命令、オブジェクト志向型プログラミング・システム、例示的な実施形態のプロセス、及びアプリケーション又はプログラムは、ハードディスク・ドライブ226のようなストレージ・デバイス上に置かれ、処理ユニット206による実行のために、例えば、メイン・メモリ208、読み取り専用メモリ224、又は、1つ又は複数の周辺装置といったメモリ内に、ロードすることができる。プログラム命令はまた、不揮発性メモリ内に永続的に格納し、そこからロードしても、所定の場所で実行してもよい。例えば、実施形態による合成プログラムは、不揮発性メモリ内に格納し、そこからDRAM内にロードすることができる。
【0028】
図1−図2におけるハードウェアは、実装形態に応じて変更することができる。図1−図2に示されるハードウェアに加えて、又はこれらの代わりに、フラシュメモリ、等価な不揮発性メモリ、若しくは光学ディスクドライブなどのような、他の内部ハードウェア又は周辺機器を用いることができる。さらに、例示的な実施形態のプロセスは、マルチプロセッサ・データ処理システムに適用することができる。
【0029】
幾つかの実施例においては、データ処理システム200は、オペレーティング・システムのファイル及び/又はユーザ生成データを格納するための不揮発性メモリとなるフラッシュ・メモリを用いて一般に構成される携帯情報端末(PDA)とすることができる。バス・システムは、システム・バス、I/Oバス、及びPCIバスのような1つ又は複数のバスを含むことができる。当然のことながら、バス・システムは、通信ファブリック又はアーキテクチャに取り付けられた異なるコンポーネント又はデバイス間でデータの転送を提供する、いずれかのタイプの通信ファブリック又はアーキテクチャを用いて実装することができる。
【0030】
通信ユニットは、モデム又はネットワーク・アダプタのような、データの送受信に用いられる1つ又は複数のデバイスを含むことができる。メモリは、例えば、メイン・メモリ208、又は、ノースブリッジ及びメモリ・コントローラ・ハブ202にあるキャッシュのようなキャッシュとすることができる。処理ユニットは、1つ又は複数のプロセッサ又はCPUを含むことができる。
【0031】
図1−図2に示される例及び上述の例は、アーキテクチャ上の限定を示すことを意味するものではない。例えば、データ処理システム200は、PDAの形を取ることに加えて、タブレット・コンピュータ、ラップトップ・コンピュータ、又は電話デバイスとすることもできる。
【0032】
図3を参照すると、この図は、例示的な実施形態による費用効果の高いネットワークを設計するためのグラフ簡約化プロセスを示す。最初の設計のグラフ300において、供給者302、304及び306は、図1における供給者102及び104と同様な任意の数の供給者である。供給者302−306は、合わせて、合計供給能力308を有する。
【0033】
合計需要310は、消費者312、314、316及び318の需要を含む。消費者312−318は、図1における消費者106及び108と同様な任意の数の消費者とすることができる。
【0034】
図3の設計プロセスにおける第1のステップとして、各供給者302−306は、図示されるような接続320と同様の接続を用いて、各消費者312−318と接続される。接続320は、供給者302−306と消費者312−318との間の実際の導線接続ではなく、設計プロセスのための概念的な接続に過ぎないことに留意されたい。
【0035】
接続320の各々はさらに、最大能力制約を伴って構成される。例えば、供給者302と消費者318との間の接続320は、100キロワットの電力しか運べないように制約される場合がある。
【0036】
設計のグラフ350において、それぞれ、供給者352、354及び356は、供給者302、304及び306と同じであり、能力358は能力308と同じであり、需要360は需要310と同じであり、消費者362、364、366及び368は、消費者312、314、316及び318と同じである。
【0037】
設計プロセスのグラフ350において、接続320の幾つかは除去され、他は維持される。接続370は残っている接続であり、接続372は除去された接続である。接続372は、最小費用最大フロー・アルゴリズムを用いてグラフ350から除去される。最小費用最大フロー・アルゴリズムは、集積回路設計のような他の領域において適用される公知のアルゴリズムであり、消費者ノードの需要を満たす接続に対する制約に反することなく、消費者ノードの需要を供給者ノードから満たそうとするものである。
【0038】
アルゴリズムはさらに、接続372のような特定の接続を除去することができるように、ある接続上のフローをその接続の制約まで最大化しようとする。アルゴリズムはさらに、供給者352のような供給者を閾値能力まで利用できるような供給者と消費者の対を生成しようとする。
【0039】
例えば、供給者352が、100メガワットの生産能力を有し、アルゴリズムによって、そのうちの80パーセントである閾値供給能力を消費者に割り当てることができるものと仮定する。アルゴリズムは、供給者352が閾値供給能力を上限としてこれを超えることなく供給するように、消費者362−368のサブセットを供給者352と対にする。
【0040】
従って、グラフ350は、利用可能な供給者の周りに消費者をクラスタ化する最低費用のネットワークである。最小費用最大フロー・アルゴリズムは、グラフ350から接続372を除去する。グラフ350においては、グラフ300と比較すると、消費者362−368のサブセットを供給者352−356のうちの1つを用いてクラスタ化することによって、除去された接続372の導線長が節約されている。グラフ350は、接続372の導線長を節約する一方で、接続370の制約、供給者352−356の閾値供給能力を維持し、消費者364−368の需要を満たす。
【0041】
図4を参照すると、この図は、例示的な実施形態による信頼性のための単純化されたループ・グラフを示す。「S1」と表示される供給者402は、図3における供給者352と同様である。「C1」と表示される消費者404及び「C2」と表示される消費者406は、図3における消費者362−368のサブセットである。
【0042】
ネットワークのループ構造は、一点の障害を有するネットワークを確実に動作させるための最低費用ネットワークである。図4に示されるように、供給者402は、接続408を介して消費者404に供給し、接続410を介して消費者406に供給することができる。しかしながら、接続408の障害は、消費者404への供給を中断させ、接続410の障害は、消費者406への供給を中断させる。接続412によって形成されるループは、消費者404及び406の各々に供給するための2つの経路を与える。
【0043】
実施形態によるループ・ネットワークを用いることによって、この方法においてどのような数の消費者が与えられても、ネットワークの信頼性を増強して、サービスを中断することなく一点の障害に耐えることができる。費用、例えば導線長を最小にするために、ループ内で、ノード、例えば供給者と消費者のサブセットとを順序付けることは、ハミルトン・サイクル問題として知られている。
【0044】
任意サイズのノードの集合の場合には、ハミルトン・サイクル問題は、NP完全問題である。しかしながら、実施形態は、有限ノードの定められたセット、すなわち、図3に関して説明されたクラスタ化において選択された、定められた供給者及び定められた消費者のサブセットに適用される。従って、ユーティリティ配給ネットワークの最適化問題について、実施形態は、限られた時間で最低費用ループ・ネットワークの解を見出すことができる。例えば、実施形態は、単に、所与の供給者及び消費者のサブセットを通して、すべての可能なループを列挙し、それらの費用を評価し、費用を比較し、最低費用ループを選択することができる。
【0045】
最低費用のループ、例えば電気配給ネットワークにおける最短導線長のループをこのように選択することで、実施形態は、図3における除去された接続372によって実現された導線長の削減のために費用効果の高いネットワークを提供し、費用効果の高いネットワークはまた、図4に従って計算されたループのために、単一の障害に対して信頼性が向上する。
【0046】
図4は、3つのノード、すなわち1つの供給者と2つの消費者のみで示されるが、これは例示であることを明確にするために過ぎず、実施形態に対する限定ではないことに留意されたい。1つの供給者といずれかのサイズの消費者のサブセットとを用いることによって形成されるような、いずれかのサイズのノード集合を同様に用いて、単一の障害に対する信頼性を向上するループ・ネットワークを計算することができる。さらに、ノードの集合が特定のサイズを超えるときには、特定の既知の発見的方法を採用して、閾値費用より低い費用のループを実現することができる。
【0047】
さらに、図4に示され、本明細書において説明されるループは、単なる例としてループにおける単一の障害に対する信頼性を向上させる。当業者は、本開示を用いて、ループにおける二つ、三つ又はそれ以上の障害に耐えて、中断することなくユーティリティの配給を継続することが可能なループ・ネットワークを計算することができる。そのようなループは、例示的な実施形態の範囲内で想定される。
【0048】
図5を参照すると、この図は、例示的な実施形態によるユーティリティ配給ネットワークにおいて信頼性を向上させる第2の形態を示す。ループ452、454及び456の各々は、図4に関して説明されたような1つの供給者と消費者のサブセットとについて計算されたループである。
【0049】
例えば、ループ452は、供給者S1と消費者C1及びC2との間の費用効果の高いネットワークを表しており、このネットワークは、ループ452における1つの障害を伴うユーティリティの連続供給について、信頼性が高いものである。同様に、ループ454は、供給者S2と消費者C3及びC4との間の費用効果の高い信頼性のあるネットワークを表わす。ループ456は、供給者S3と消費者C5及びC6との間の費用効果の高い信頼性のあるネットワークを表わす。
【0050】
ループ構造を組み込むことによってネットワークの信頼性を向上させることに加えて、実施形態は、ユーティリティ配給ネットワークに供給者の冗長性を付与することによって、信頼性をさらに向上することができる。図5に示されるように、ループ452、454及び456は、接続458、460及び462を介して互いにさらに接続される。
【0051】
例えば、接続458は、ループ454における供給者S2が供給を中止した場合に、ループ452における供給者S1から、ループ454における消費者C3及びC4に供給するように機能する。接続458は、供給者S1がユーティリティ供給を提供できないときに、同様に、供給者S2から消費者C1及びC2に供給するように機能する。
【0052】
接続460及び462は、それぞれ、ループ454と465の間、ループ456と452の間で、同様に動作する。従って、実施形態によると、図5に示されるネットワークは、費用効果が高く(図3の導線長削減のために)、単一の障害に対して信頼性があり(図4のループ構造のために)、供給者の冗長性があるためにさらに信頼性がある(図5におけるようなループ間の相互接続のために)。
【0053】
既存のネットワークは、実施形態の組み合わせを用いて同様に再構成できることに留意されたい。例えば、既存のネットワークは、図3におけるグラフ350の方法で特定の接続を除去し、それによってネットワークの維持管理費用を削減するように再構成することができる。別の例として、既存のネットワークは、信頼性を向上させるために、図4に関して説明される実施形態の方法でループを含むように再構成することができる。別の例として、既存のネットワークは、供給者の冗長性を与えることによって信頼性を向上させるように、図5に関して説明される実施形態の方法で再構成することができる。
【0054】
別の例として、既存のネットワークは、図3、図4及び図5に関して説明された1つ又は複数の実施形態に従って、同様の方法で拡張することができる。従って、実施形態は、費用効果及び信頼性の高いユーティリティ配給ネットワークの設計を、新しい供給区域が計画されたときのような白紙の状態から支援するだけでなく、既存の供給区域が拡張されたとき又は新しい建物若しくは区画が想定されるときのような、既存のネットワークを改善又は拡張するときにも、支援することができる。
【0055】
図6を参照すると、この図は、例示的な実施形態による費用効果及び信頼性の高いユーティリティ配給ネットワークを設計するプロセスのフローチャートを示す。プロセス500は、図2におけるデータ処理システム200のようなコンピュータ上で実行することができるコンピュータ使用可能コードを含むソフトウェア・アプリケーションに実装することができる。
【0056】
プロセス500は、供給者のセットを受信することによって開始する(ステップ502)。プロセス500は、消費者のセットを受信する(504)。
【0057】
プロセス500は、図3におけるグラフ300のように、各消費者を各供給者に接続する(ステップ506)。プロセス500は、図3におけるグラフ350のように、最小費用最大フロー・アルゴリズムを用いて、接続の数を減らす(ステップ508)。
【0058】
プロセス500は、ステップ508の簡約化グラフにおいて、ネットワークを形成する1つ又は複数の供給者−消費者クラスタを識別する(ステップ510)。プロセス500は、クラスタのループ・トポロジを計算することによって、1つ又は複数の識別されたクラスタのロバスト性(信頼性)を向上させる(ステップ512)。必要に応じて、プロセス500は、ステップ512において、図5に関して説明されたような供給者の冗長性のための接続を計算することによって、クラスタのロバスト性をさらに向上することができる。プロセス500は、その後終了するか、又は、「A」で示される出口点を介して、図7におけるプロセス600に合流するように進むことができる。
【0059】
図7を参照すると、この図は、例示的な実施形態による費用効果及び信頼性の高いユーティリティ配給ネットワークをさらに最適化するプロセスの例のフローチャートを示す。プロセス600は、図6におけるプロセス500の実装形態と同様にソフトウェア・アプリケーションに実装することができる。
【0060】
本明細書に説明されるように、供給者の冗長性を伴って又はそれを伴わずに、費用効果及び信頼性の高いネットワークが計算されると、ネットワークは、さらなる費用削減、供給効率、維持管理の削減、及びその他の有形及び無形の利点のためにさらに最適化することができる。例えば、供給者のセット及び消費者のセットが与えられる場合には、ハミルトン・サイクルの下限によって定められる接続数を有するネットワークを上述のように実現することができる。信頼性の向上のために各消費者への二重の供給経路が必要な場合には、接続数の上限は、ネットワークのグラフのシュタイナー・ツリー長の2倍に設定することができる。
【0061】
さらに、図3のグラフ350のようなクラスタ形成段階の際に、費用削減における1つの考慮事項は、供給者と消費者との間の距離であった。例えば、その考慮事項に加えて、実施形態による最適化プロセスは、図4のループ計算に備えて、クラスタ内の消費者間の距離を閾値より下の限度内に留めることなどによって、消費者間の距離をさらに考慮してクラスタを計算する。
【0062】
別の例として、既存のネットワークについて、実施形態では、拡張のためのネットワーク計算を最適化するに当たって既存の供給者と消費者との接続費用を考慮する。別の例として、実施形態は、特定の消費者を特定の供給者又は特定の他の消費者と共に配置することなどによって、以前のグラフ簡約化の反復からクラスタ形成を変更し、簡約化グラフを再計算することができる。そのようなクラスタの操作によって、2つ又はそれ以上のクラスタを合体させてより大きいクラスタにすることができ、これにより、特定の状況下で、増大した導線長の節約をもたらすことができる。
【0063】
別の例として、実施形態は、ループに基づく信頼性の向上と冗長供給者に基づく信頼性の向上との間の費用を比較して、より良好な費用節約のために、両方ではなくいずれか一方を選択する。図7におけるプロセス600は、実施形態によるこれらの最適化ステップの幾つかを行うプロセスの例である。
【0064】
プロセス600は、クラスタを選択することによって開始する(ステップ602)。図6におけるプロセス500のような別のプロセスが、「A」で示される入口点においてプロセス600に入り、ステップ602に進むことができる。
【0065】
プロセス600は、クラスタ費用を削減するために、消費者を1つのクラスタから別のクラスタに移動させる(ステップ604)。例えば、消費者が1つのネットワークから除去されたときには、そのクラスタ内でその消費者に供給するための導線長を除去することができ、従って、クラスタ費用を削減することができる。そのような移動は、例えばクラスタ内の供給者が閾値供給能力を上回った状態で使用されているときに、有益である。
【0066】
代替的に、又はステップ604と併せて、プロセス600は、1つのクラスタを別のクラスタと合体させる(ステップ606)。2つ又はそれ以上のクラスタを共に合体させることによって、組み合わされたグラフにおける合計導線長を減らし、従って、組み合わされたクラスタの費用を削減することができる。
【0067】
プロセス600は、ステップ604、606又はその両方の結果によって生じたクラスタの費用を再計算する(ステップ608)。プロセス600は、解、すなわちグラフ又は結果として生じたクラスタ若しくはネットワークが、特定の限度を満たすかどうかを判定する(ステップ610)。例えば、単一障害の信頼性について上述されたように、解の上限は、クラスタ内の供給者及び消費者のノードを用いて可能となるシュタイナー・ツリーにおけるシュタイナー・ツリー長の2倍に設定することができる。
【0068】
解の費用が、上述の例における2×シュタイナー・ツリー長によって定められる閾値を超えるときなどのように、解の費用が限度内にない場合(ステップ610の「いいえ」の経路)には、プロセス600は、ステップ604、606、又はその両方の別の反復を行うために戻る。解の費用が、限度内にある場合(ステップ610の「はい」の経路)には、プロセス600は、ステップ612に進む。当然のことながら、例示的な実施形態の範囲内で、あらゆる適切な条件をステップ610において特定することができる。
【0069】
プロセス600は、本明細書に説明される特定の条件が満たされるまで、ステップ604、606、608及び610を反復して行う。そのような反復においては、プロセス600は、ステップ604、606又はその両方を行うことによって得られる可能な解を列挙し、ステップ608において、列挙された解を評価し、ステップ608の計算に基づいて望ましい解を選択し、ステップ610において、特定された条件が満たされていない場合には、ステップ604、606及び608を繰り返す。
【0070】
プロセス600は、解、すなわち提案される費用効果及び信頼性の高いネットワークを出力する(ステップ612)。プロセス600は、その後終了する。
【0071】
図におけるフローチャート及びブロック図は、本発明の種々の実施形態によるシステム、方法、及びコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、及び操作を示す。この点に関して、フローチャート又はブロック図の中の各ブロックは、特定の1つ又は複数の論理機能を実装するための1つ又は複数の実行可能命令を含むコードのモジュール、セグメント、又は一部を表すことができる。幾つかの代替的な実装形態においては、ブロックに記載された機能が図に示される順序通りに行われない場合があることにも留意すべきである。例えば、連続して示される2つのブロックは、関与する機能に応じて、実際には、実質的に同時に実行されることがあり、ブロックが逆順に実行されることもある。ブロック図及び/又はフローチャート図の各ブロック、及び、ブロック図及び/又はフローチャート図におけるブロックの組み合わせは、特定の機能若しくは動作を行う専用ハードウェア・ベースのシステムによって、又は、専用ハードウェアとコンピュータ命令との組み合わせによって、実装できることにも留意されたい。
【0072】
このようにして、費用効果及び信頼性の高いユーティリティ配給ネットワークを生成又は修正するためのコンピュータ実装方法、システム及びコンピュータ・プログラム製品が例示的な実施形態において提供される。本発明の実施形態を用いることによって、ネットワークにおける導線長又は導管長などの費用を削減するように、新しい又は既存のネットワークを設計することができる。特定の実施形態が、費用関数としてノード間の距離に関して説明されたが、そのような費用関数は、例として用いられるに過ぎず、本発明を限定するものとして用いられるものではない。導線又は導管のタイプ、特定の供給者又は接続に関する負荷平衡の費用、クラスタ費用に関する上限又は下限のような、他の費用関数も、本発明の範囲内で、実施形態と併せて同様に用いることができる。
【0073】
実施形態は、散発する供給者及び将来の成長要求に信頼性をもって対応するネットワークを設計するのに用いることができる。実施形態は、設計時には費用の基準を満たし、さらに、成長時には、ネットワークの設計における成長経路がネットワークの信頼性又はロバスト性を維持することを可能にする、ネットワークを生成する。
【0074】
当業者であれば分かるように、本発明の態様は、システム、方法、又はコンピュータ・プログラム製品として具体化することができる。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロ・コードなどを含む)、又は、ソフトウェア及びハードウェアの態様を組み合わせた実施形態の形を取ることができ、本明細書ではその全てを一般的に「回路」、「デバイス」、「モジュール」、又は「システム」と呼ぶことがある。さらにまた、本発明の態様は、コンピュータ可読プログラム・コードが組み込まれた1つ又は複数のコンピュータ可読ストレージ・デバイス又はコンピュータ可読媒体において具体化された、コンピュータ・プログラム製品の形を取ることができる。
【0075】
1つ又は複数のコンピュータ可読ストレージ・デバイス又はコンピュータ可読媒体のいずれの組み合わせも用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ・デバイスは、例えば、電子、磁気、光学、電磁気、赤外線、若しくは半導体のシステム、装置若しくはデバイス又は上記のいずれかの適切な組み合わせとすることができるが、これらに限定されるものではない。コンピュータ可読ストレージ・デバイスのより具体的な例(非網羅的なリスト)として、1つ又は複数の導線を有する電気接続、携帯可能コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROM又はフラッシュ・メモリ)、光ファイバ、携帯可能コンパクト・ディスク読み取り専用メモリ(CD−ROM)、光ストレージ・デバイス、磁気ストレージ・デバイス、又は上記のいずれかの適切な組み合わせが挙げられる。本明細書の文脈において、コンピュータ可読ストレージ・デバイスは、命令実行システム、装置、若しくはデバイスによって、又はこれらと共に、用いるためのプログラムを含むか又は格納することができるいずれかの有形のデバイス又は媒体とすることができる。
【0076】
コンピュータ可読ストレージ・デバイス又はコンピュータ可読媒体上に具体化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RF等、又は上記のいずれかの好適な組み合わせ含むがこれらに限定されないいずれかの適切な媒体を用いて、伝送することができる。
【0077】
本発明の態様の操作を実行するためのコンピュータ・プログラム・コードは、Java(商標)、SmallTalk(商標)、C++などのようなオブジェクト指向型プログラミング言語と、「C」プログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語とを含む、1つ又は複数のプログラミング言語のいずれかの組み合わせで書くことができる。プログラム・コードは、完全にユーザのコンピュータ上で実行するか、スタンドアロンのソフトウェア・パッケージとして部分的にユーザのコンピュータ上で実行するか、部分的にユーザのコンピュータ上で実行し、部分的にリモート・コンピュータ上で実行するか、又は、完全にリモート・コンピュータ若しくはサーバ上で実行することができる。後者の場合には、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)又は広域エリア・ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続することができ、又は、(例えば、インターネット・サービス・プロバイダを用いてインターネットを通じて)外部コンピュータに接続することもできる。
【0078】
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図及び/又はブロック図を参照して、本明細書に説明される。フローチャート図及び/又はブロック図の各ブロック、及び、フローチャート図及び/又はブロック図におけるブロックの組み合わせは、コンピュータ・プログラム命令によって実装できることが理解されるであろう。これらのコンピュータ・プログラム命令を1つ又は複数の汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置の1つ又は複数のプロセッサに与えてマシンを生成し、それにより、コンピュータ又は他のプログラム可能データ処理装置の1つ又は複数のプロセッサによって実行される命令が、フローチャート及び/又はブロック図のブロック又は複数のブロックにおいて指定される機能/動作を実装するための手段を生成するようにしてもよい。
【0079】
また、これらのコンピュータ命令を、特定の方法で機能するように、1つ又は複数のコンピュータ、1つ又は複数の他のプログラム可能データ処理装置、又は、1つ又は複数の他のデバイスを向けることができる1つ又は複数のコンピュータ可読ストレージ・デバイス又はコンピュータ可読媒体に格納し、それにより、その1つ又は複数のコンピュータ可読ストレージ・デバイス又はコンピュータ可読媒体に格納された命令が、フローチャート及び/又はブロック図のブロック又は複数のブロックにおいて指定される機能/動作を実装する命令を含む製品を作るようにしてもよい。
【0080】
また、コンピュータ・プログラム命令を、1つ又は複数のコンピュータ、1つ又は複数の他のプログラム可能データ処理装置、又は、1つ又は複数の他のデバイスにロードし、1つ又は複数のコンピュータ、1つ又は複数の他のプログラム可能データ処理装置、又は、1つ又は複数の他のデバイス上で一連の操作ステップを行わせて、コンピュータ実装プロセスを生成し、それにより、1つ又は複数のコンピュータ、1つ又は複数の他のプログラム可能データ処理装置、又は、1つ又は複数の他のデバイス上で実行される命令が、フローチャート及び/又はブロック図のブロック又は複数のブロックにおいて指定される機能/動作を実行するためのプロセスを提供するようにしてもよい。
【0081】
本明細書において用いられる用語は、特定の実施形態を説明する目的だけのためのものであり、本発明を限定することを意図したものではない。本明細書において用いられる場合、文脈から明らかにそうでないことが示されていない限り、単数形「a」「an」、及び「the」は、複数形も同様に含むことが意図される。「含む(comprises)」及び/又は「含んでいる(comprising)」という用語は、この明細書において使用される場合、言明された特徴、整数、ステップ、動作、要素、及び/又はコンポーネントの存在を特定するものではあるが、1つ又は複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、及び/又はそれらの群の存在又は追加を排除するものではないことが、さらに理解されるであろう。
【0082】
特許請求の範囲における全ての「手段又はステップと機能との組合せ(ミーンズ又はステップ・プラス・ファンクション)」要素の対応する構造、材料、行為及び均等物は、その機能を、明確に特許請求されているように他の特許請求された要素と組み合わせて実行するための、いかなる構造、材料又は行為をも含むことが意図される。本発明の説明は、例示及び説明の目的で提示されたものであるが、網羅的であることを意図するものではなく、本発明を開示された形態に限定することを意図するものでもない。本発明の範囲及び趣旨から逸脱することのない多くの変更及び変形が、当業者には明らかである。実施形態は、本発明の原理及び実際の用途を最も良く説明するため、及び、当業者が本発明を種々の変更を有する種々の実施形態について企図される特定の使用に適したものとして理解することを可能にするために、選択及び記載された。
【符号の説明】
【0083】
100:電気配給ネットワーク
110:導線
112:導線/グリッド
200:データ処理システム
300、350:グラフ
302、304、306、352、354、356、S1、S2、S3:供給者
312、314、316、318、362、364、366、368、C1、C2、C3、C4、C5、C6:消費者
408、410、412、458、460、462:接続
452、454、456:ループ
500、600:プロセス

【特許請求の範囲】
【請求項1】
費用効果及び信頼性の高いユーティリティの配給ネットワーク(ネットワーク)を設計するためのコンピュータ実装方法であって、
複数のクラスタを形成するように、前記ユーティリティの消費者のセットを前記ユーティリティの供給者のセットと接続するグラフを簡約化することと、
前記複数のクラスタ内の第1のクラスタにおける供給者と消費者のサブセットとの間の第1のネットワークを改良することであって、前記改良することは、前記第1のネットワークにおける所定数の障害後に前記消費者のサブセットへの前記ユーティリティの供給を継続するように、第1の接続を前記第1のネットワークに加えることである、改良することと、
前記供給者のセットを前記消費者のセットに接続する第2のネットワークについての設計を生成することであって、前記第2のネットワークは前記改良後の前記第1のネットワークを含んでおり、前記第2のネットワークは下方閾値から上方閾値までの範囲内の費用を有するものである、生成することと、
を含む、コンピュータ実装方法。
【請求項2】
前記接続を前記ネットワークに加えることは、前記クラスタ内の前記消費者のサブセットにおける各消費者に二重の供給経路を与えるループを前記ネットワークに形成することである、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記第1のネットワークから第3のネットワークへの第2の接続を加えることによって、前記第1のネットワークをさらに改良することであって、前記第3のネットワークは、前記複数のクラスタ内の第2のクラスタにおける第2の供給者と第2の消費者のサブセットとの間に形成され、前記第2の接続は、前記第1及び第3のネットワークに供給者の冗長性を与えるものである、改良することをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記複数のクラスタ内で、消費者を前記第1のクラスタから前記第2のクラスタに移動させることであって、前記移動は前記第1のクラスタの費用を削減するものである、移動させることをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記第1のクラスタを前記第2のクラスタと合体させることであって、前記合体は前記第1及び第2のクラスタの合計費用を削減するものである、合体させることをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記第1のクラスタを前記第2のクラスタと合体させることであって、前記合体は前記第1及び第2のクラスタに供給者の冗長性を与えるものである、合体させることをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記第2のネットワークは、前記所定数の障害後に前記ユーティリティの供給を継続する信頼性を有するものである、請求項1に記載のコンピュータ実装方法。
【請求項8】
前記第2のネットワークの前記費用は、前記第2のネットワークにおけるすべての接続の全長である、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記第2のネットワークの前記費用についての前記下方閾値は、前記消費者のセットにおける各消費者を前記供給者のセットにおける供給者と接続するために形成されるハミルトン・サイクルの全長であり、前記第2のネットワークの前記費用についての前記上方閾値は、前記消費者のセットにおける各消費者を前記供給者のセットにおける供給者と接続するために形成されるシュタイナー・ツリーの全長の倍数である、請求項1に記載のコンピュータ実装方法。
【請求項10】
前記倍数の値は2であり、前記倍数値2は、単一の障害に対して前記第2のネットワークの信頼性をもたらすものである、請求項9に記載のコンピュータ実装方法。
【請求項11】
前記ネットワークにおける前記障害は、前記ネットワークにおける接続の障害である、請求項1に記載のコンピュータ実装方法。
【請求項12】
前記グラフにおける接続が能力制約を有し、前記供給者のセットにおける供給者が閾値供給能力を有し、前記簡約化することは、前記能力制約及び前記閾値供給能力に反しないものである、請求項1に記載のコンピュータ実装方法。
【請求項13】
前記簡約化することは、前記グラフを簡約化するために最小費用最大フロー・アルゴリズムを用いる、請求項1に記載のコンピュータ実装方法。
【請求項14】
前記ユーティリティは電気であり、前記ユーティリティのための前記配給ネットワークは電気配給ネットワークである、請求項1に記載のコンピュータ実装方法。
【請求項15】
費用効果及び信頼性の高いユーティリティの配給ネットワーク(ネットワーク)を設計するためのコンピュータ使用可能コードを含むコンピュータ使用可能プログラムであって、前記コンピュータ使用可能コードは、
複数のクラスタを形成するように、前記ユーティリティの消費者のセットを前記ユーティリティの供給者のセットと接続するグラフを簡約化するためのコンピュータ使用可能コードと、
前記複数のクラスタ内の第1のクラスタにおける供給者と消費者のサブセットとの間の第1のネットワークを改良するためのコンピュータ使用可能コードであって、前記改良することは、前記第1のネットワークにおける所定数の障害後に前記消費者のサブセットへの前記ユーティリティの供給を継続するように、第1の接続を前記第1のネットワークに加えることである、改良するためのコンピュータ使用可能コードと、
前記供給者のセットを前記消費者のセットに接続する第2のネットワークについての設計を生成するためのコンピュータ使用可能コードであって、前記第2のネットワークは前記改良後の前記第1のネットワークを含んでおり、前記第2のネットワークは下方閾値から上方閾値までの範囲内の費用を有するものである、生成するためのコンピュータ使用可能コードと、
を含む、コンピュータ使用可能プログラム。
【請求項16】
前記接続を前記ネットワークに加えることは、前記クラスタ内の前記消費者のサブセットにおける各消費者に二重の供給経路を与えるループを前記ネットワークに形成することである、請求項15に記載のコンピュータ使用可能プログラム。
【請求項17】
前記第1のネットワークから第3のネットワークへの第2の接続を加えることによって、前記第1のネットワークをさらに改良するためのコンピュータ使用可能コードであって、前記第3のネットワークは、前記複数のクラスタ内の第2のクラスタにおける第2の供給者と第2の消費者のサブセットとの間に形成され、前記第2の接続は、前記第1及び第3のネットワークに供給者の冗長性を与えるものである、さらに改良するためのコンピュータ使用可能コードをさらに含む、請求項15に記載のコンピュータ使用可能プログラム。
【請求項18】
前記コンピュータ使用可能コードは、データ処理システムにおけるコンピュータ可読ストレージ媒体内に格納され、前記コンピュータ使用可能コードは、遠隔データ処理システムからネットワーク上で伝送される、請求項15に記載のコンピュータ使用可能プログラム。
【請求項19】
前記コンピュータ使用可能コードは、サーバ・データ処理システムにおけるコンピュータ可読ストレージ媒体内に格納され、前記コンピュータ使用可能コードは、遠隔データ処理システムと関連付けられたコンピュータ可読ストレージ媒体において用いるために、ネットワーク上で前記遠隔データ処理システムにダウンロードされる、請求項15に記載のコンピュータ使用可能プログラム。
【請求項20】
費用効果及び信頼性の高いユーティリティの配給ネットワーク(ネットワーク)を設計するためのデータ処理システムであって、
コンピュータ使用可能プログラム・コードを格納する、ストレージ媒体を含むストレージ・デバイスと、
前記コンピュータ使用可能プログラム・コードを実行するプロセッサと、
を含み、前記コンピュータ使用可能プログラム・コードは、
複数のクラスタを形成するように、前記ユーティリティの消費者のセットを前記ユーティリティの供給者のセットと接続するグラフを簡約化するためのコンピュータ使用可能コードと、
前記複数のクラスタ内の第1のクラスタにおける供給者と消費者のサブセットとの間の第1のネットワークを改良するためのコンピュータ使用可能コードであって、前記改良することは、前記第1のネットワークにおける所定数の障害後に前記消費者のサブセットへの前記ユーティリティの供給を継続するように、第1の接続を前記第1のネットワークに加えることである、改良するためのコンピュータ使用可能コードと、
前記供給者のセットを前記消費者のセットと接続する第2のネットワークについての設計を生成するためのコンピュータ使用可能コードであって、前記第2のネットワークは前記改良後の前記第1のネットワークを含んでおり、前記第2のネットワークは下方閾値から上方閾値までの範囲内の費用を有するものである、生成するためのコンピュータ使用可能コードと、
を含む、
データ処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−89232(P2013−89232A)
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願番号】特願2012−206025(P2012−206025)
【出願日】平成24年9月19日(2012.9.19)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION