(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-15
(54)【発明の名称】違反した不等式を強化するためのコンピュータ実装方法及びシステム
(51)【国際特許分類】
G06F 30/10 20200101AFI20240807BHJP
【FI】
G06F30/10 200
【審査請求】未請求
【予備審査請求】有
(21)【出願番号】P 2024503819
(86)(22)【出願日】2022-07-22
(85)【翻訳文提出日】2024-01-19
(86)【国際出願番号】 US2022038039
(87)【国際公開番号】W WO2023004129
(87)【国際公開日】2023-01-26
(32)【優先日】2021-07-23
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-09-17
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】524026399
【氏名又は名称】ワーム,デイビッド マイケル
(74)【代理人】
【識別番号】110000659
【氏名又は名称】弁理士法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】ワーム,デイビッド マイケル
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146DC04
5B146DE11
5B146DL10
(57)【要約】
1つ以上のサブツアーを拡張することを含む、端末点間のグラフィカルツリー生成のためのコンピュータ実装方法、システム、及びコンピュータ可読記憶媒体が提供される。方法は、端末データセットを受信するステップと、端末データセットに基づいてツリーの初期セットを生成するステップとを含む。他のステップは、連結基準を満たすか又は超えるツリーの選別されたサブセットを取得するために、ツリーの初期セットを連結することと、ツリーの選別されたサブセットを、端末データセット内の端末点にまたがるグラフとして出力することとを含む。連結することは、違反した不等式を強化するために1つ以上の頂点を追加することによって、1つ以上のサブツアーを拡張することを含む。1つのシステムでは、グラフエンジンは、1つ以上の違反したサブツアー不等式(S)を強化するために1つ以上の頂点を追加する拡張に基づいて、端末データセット内の端末点にまたがるグラフを生成するように構成されている。
【選択図】
図2
【特許請求の範囲】
【請求項1】
端末点間のグラフィカルツリー生成のためのコンピュータ実装方法であって、
端末データセットを受信することであって、前記端末データセットが、端末点の数を識別するデータを含む、受信することと、
前記端末データセットに基づいてツリーの初期セットを生成することであって、各ツリーが、前記端末データセット内の2つ以上の端末点を結合する、生成することと、
連結基準を満たすか又は超えるツリーの選別されたサブセットを取得するために、前記ツリーの初期セットを連結することと、
前記ツリーの選別されたサブセットを、前記端末データセット内の前記端末点にまたがるグラフとして出力することと、を含み、
前記連結することが、違反した不等式を強化するために1つ以上の頂点を追加することによって、1つ以上のサブツアー(S)を拡張することを含む、コンピュータ実装方法。
【請求項2】
前記ツリーの初期セットが、完全なシュタイナーツリー(S)を含む、請求項1に記載の方法。
【請求項3】
前記グラフ出力が、前記端末点間のシュタイナー最小ツリーを含む、請求項1に記載の方法。
【請求項4】
前記拡張することが、前記ツリーの初期セットから形成されたハイパーグラフ内のサブツアーに頂点を追加することを含む、請求項1に記載の方法。
【請求項5】
前記拡張することが、サブツアーに対して単一の頂点拡張を実行することを含む、請求項1に記載の方法。
【請求項6】
前記拡張することが、サブツアーに対する単一の頂点拡張を繰り返し実行することによって、サブツアー不等式の貪欲な拡張を実行することを含む、請求項1に記載の方法。
【請求項7】
前記拡張することが、相補的な接続されたコンポーネントをサブツアーに追加する、請求項1に記載の方法。
【請求項8】
前記拡張することが、相補的な二重接続されたコンポーネントをサブツアーに追加する、請求項1に記載の方法。
【請求項9】
グラフィカルツリー生成のためのコンピュータ実装システムであって、
端末データセットを記憶するように構成された記憶デバイスと、
1つ以上の違反したサブツアー不等式(S)を強化するために1つ以上の頂点を追加する拡張に基づいて、前記端末データセット内の端末点にまたがるグラフを生成するように構成された、少なくとも1つのプロセッサ上に実装されたグラフエンジンと、を備える、コンピュータ実装システム。
【請求項10】
生成された前記グラフが、前記端末点間のシュタイナー最小ツリーを含む、請求項9に記載のシステム。
【請求項11】
前記グラフエンジンが、前記端末データセットに基づいてツリーの初期セットを生成するように更に構成されており、各ツリーが、前記端末データセット内の2つ以上の端末点を結合し、かつ連結基準を満たすか又は超えるツリーの選別されたサブセットを取得するために、前記ツリーの初期セットを連結する、請求項9に記載のシステム。
【請求項12】
前記グラフエンジンが、サブツアーに対して単一の頂点拡張を実行するように更に構成されている、請求項9に記載のシステム。
【請求項13】
前記グラフエンジンが、サブツアーに対する単一の頂点拡張を繰り返し実行することによって、サブツアー不等式の貪欲な拡張を実行するように更に構成されている、請求項9に記載のシステム。
【請求項14】
前記グラフエンジンが、相補的な接続されたコンポーネントをサブツアーに追加するように更に構成されている、請求項9に記載のシステム。
【請求項15】
前記グラフエンジンが、相補的な二重接続されたコンポーネントをサブツアーに追加するように更に構成されている、請求項9に記載のシステム。
【請求項16】
前記ツリーの初期セットが、完全なシュタイナーツリーを含む、請求項11に記載のシステム。
【請求項17】
前記グラフエンジンが、
前記端末データセットに基づいて完全なシュタイナーツリー(FST)の初期セットを生成するように構成されたグラフ生成器であって、各FSTが、前記端末データセット内の2つ以上の端末点を結合する、グラフ生成器と、
オーグメンタを有し、連結基準を満たすか又は超えるFSTの選別されたサブセットを取得し、かつ前記FSTの選別されたサブセットを出力するために、前記FSTの初期セットを連結するように構成されたグラフ連結器と、を含み、
前記オーグメンタが、前記FST連結中に評価された違反したサブツアー不等式を強化する1つ以上の頂点の拡張を実行するように構成されている、請求項16に記載のシステム。
【請求項18】
前記グラフエンジンが、前記グラフ生成器と前記グラフ連結器との間に結合されたプルーナを更に含む、請求項17に記載のシステム。
【請求項19】
前記オーグメンタが、ハイパーグラフに頂点を追加することを含む拡張を実行するように構成されている、請求項17に記載のシステム。
【請求項20】
前記オーグメンタが、サブツアーに対して単一の頂点拡張を実行するように構成されている、請求項17に記載のシステム。
【請求項21】
前記オーグメンタが、サブツアーに対する単一の頂点拡張を繰り返し実行することによって、サブツアー不等式の貪欲な拡張を実行するように構成されている、請求項17に記載のシステム。
【請求項22】
前記オーグメンタが、相補的な接続されたコンポーネントをサブツアーに追加するように構成されている、請求項17に記載のシステム。
【請求項23】
前記オーグメンタが、相補的な二重接続されたコンポーネントをサブツアーに追加するように構成されている、請求項17に記載のシステム。
【請求項24】
前記端末データセットを含むモデルデータで物理的表現をモデル化し、かつ前記端末データ内の前記端末点にまたがる前記グラフエンジンによって生成された前記グラフを受信するように構成されたモデル化ツールを更に備える、請求項9に記載のシステム。
【請求項25】
前記物理的表現が、半導体チップレイアウトを含み、前記端末データが、前記半導体チップレイアウトの平面内の物理的場所を表す端末点を含む、請求項24に記載のシステム。
【請求項26】
前記物理的表現が、インフラストラクチャレイアウトを含み、前記端末データが、前記インフラストラクチャレイアウト内の物理的場所を表す端末点を含む、請求項24に記載のシステム。
【請求項27】
端末点間のグラフィカルツリー生成のためのコンピュータ実装システムであって、
端末データセットを記憶するための手段と、
1つ以上の違反したサブツアー不等式(S)を強化し、かつ前記端末データセット内の端末点にまたがるグラフを取得するために、1つ以上の頂点を追加するための手段と、を含む、コンピュータ実装システム。
【請求項28】
少なくとも1つのプロセッサに、端末点間のグラフを生成させるための制御ロジックを有する非一時的なコンピュータ可読記憶媒体であって、
端末データセットの検索を可能にするように構成された第1の制御ロジックと、
1つ以上の違反したサブツアー不等式(S)を強化し、かつ検索された前記端末データセット内の端末点にまたがるグラフを取得するために、1つ以上の頂点を追加することを可能にするように構成された第2の制御ロジックと、を含む、非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
当技術分野は、コンピュータ実装グラフ生成、設計、及びモデル化に関する。
【背景技術】
【0002】
グラフは、様々な用途及び産業において、コンピュータサイエンス及びエンジニアリングで使用される。グラフは、データ間の接続又は関係を表すために使用され得るデータ構造である。グラフは、頂点とエッジのセットで構成することができる。グラフは、1つ以上のツリーを含むことができる。ツリーは、ルート又はパスがルートノードから分岐に沿っていくつかのリーフノードまで延びるレベルの階層を有することができる。例えば、S.Skiena,The Algorithm Design Manual,3rd.Ed.,Springer-Verlag(2020),pp.17-19及び197-203を参照のこと。
【0003】
コンピュータ支援設計及びモデル化ツールは、グラフを使用及びトラバースして、データ及びデータ間の関係をモデル化し、かつ分析する。グラフはまた、入力データ又はモデルに関連する条件から生成され得、かつ問題を解き、モデル化ツールのユーザ及びエンジニアに役立つ出力を提供するためにトラバースされ得る。例えば、ツリーを有するグラフは、端末点間の関係を識別するために生成される。端末点は、半導体チップレイアウト、インフラストラクチャネットワーク(エネルギー又は電気通信ネットワークなど)、又は他のモデルにおける異なる物理的コンポーネントのモデル化に使用されるデータ内にあり得る。
【0004】
グラフで使用されるツリーの1つのタイプは、シュタイナーツリーである。シュタイナーツリーは、所与のメトリックの下で端末点のセットにまたがる最短ネットワークである。シュタイナー点と呼ばれる追加の点を導入して、端末点間のより短いスパニングネットワークを取得することができる。このようにして、シュタイナー最小ツリー(SMT)が生成される。SMTは、完全なシュタイナーツリー(FST)の結合で構成することができる。
【0005】
SMTを生成するための2相アプローチは、FST生成、続いてFST連結を使用して、端末点間のSMTを取得する。発明者らのうちの一人による1998年の論文は、(a)ハイパーグラフ問題における最小スパニングツリー(MST)のインスタンスとしてFST連結を特定すること、(b)ハイパーグラフにおけるMSTを整数問題(IP)として定式化すること、並びに(c)分岐及びカット技術を用いてIPを解くことによって、2相アプローチを更に進歩させた。D.Juhl et al., “The GeoSteiner Software Package for Computing Steiner Trees in the Plane: An Updated Computational Study,”Math Programming Computation,10:487-532,Springer,2018;and D.Warme,Spanning Trees in Hypergraphs with Applications to Steiner Trees, PhD thesis,University of Virginia,1998を参照のこと。2相アプローチのうちの1つの使用は、GeoSteiner,Inc.Copyright 1998、2015 http://www.geosteiner.com/から入手可能なGeoSteinerソフトウェアパッケージ、バージョン5.1に実装されている。
【0006】
GeoSteinerパッケージの1つの従来の実装は、2相アプローチを使用して、幾何学的シュタイナーツリー問題を解く、すなわち、端末点のセットのSMTを求めることである。例示のために、
図6~
図8の例を考慮されたい。
図6は、100個の端末点の有限集合Tで構成されている例示的な端末点セットを例示する。セットTを考えると、幾何学的シュタイナー問題を解くために、セットT内の全ての端末点を接続する最小長の線分のセットを求めることが目標である。まず、距離を測定するためのメトリックを指定する必要がある。2つの点sとtとの間の距離(d)は、一般に、以下として表される。
【数1】
【0007】
式中、点sの場所は、座標(x1,y1)によって示され、点tの位置は、座標(x2,y2)によって示され、p≧1は、特定のメトリックを定義する定数である。2つのメトリックが使用されることがよくある。これらのメトリックは、p=2である場合にユークリッドメトリック(L2)、p=1である場合に直線メトリック(L1)と称される。
【0008】
図7は、
図6の端末点セットを接続するシュタイナー最小ツリー700を有する例示的なユークリッド解を例示する図である。従来のGeoSteinerパッケージバージョン5.1で実行される一例では、約6.665750289411368に等しい長さを有するユークリッドSMT700を約0.50秒で生成した。
【0009】
図8は、
図6の端末点セットを接続するSMT800を有する例示的な直線解を例示する図である。従来のGeoSteinerパッケージバージョン5.1で実行される一例では、7.5270366に等しい長さを有する直線SMT800を約0.03秒で生成した。
【0010】
しかしながら、端末点間でSMTを生成する従来のアプローチは、妥当な期間では計算上困難であり、少数の端末点に制限されている。Juhlらによって報告されたように、直線性SMT問題に関して、A.B.Kahngらによる1つの先行する試みは、16点に制限された。Juhl et al.at p.2及びA.B.Kahng et al.,Highly scalable algorithms for rectilinear and octilinear Steiner trees,Proceedings of the Asia and South Pacific Design Automation Conference,pages 827,833,New York,2000を参照のこと。Juhlらによって報告されたように、ユークリッドSMT問題に関して、P.Winterらによる1つの先行する試みは、28点に制限された。Juhl et al.at p.2及びP.Winter and M.Zachariasen,Euclidean Steiner minimum trees: An improved exact algorithm,Networks,30:149-166,1997を参照のこと。D.Warme(共同発明者の一人)の博士論文は、Juhlらによって報告されたように、直線については1000点、ユークリッドについては2000点の計算結果を更に報告した。Juhl et al.at p.2及び1998 D.Warme博士論文を参照のこと。
【発明の概要】
【0011】
本開示は、コンピュータ実装グラフ生成に関する。
【0012】
一実施形態では、1つ以上のサブツアーを拡張することを含む、端末点間のグラフィカルツリー生成のためのコンピュータ実装方法が提供される。方法は、端末データセットを受信するステップを含み、端末データセットに基づいてツリーの初期セットを生成する。各ツリーは、端末データセット内の2つ以上の端末点を結合する。方法は、連結基準を満たすか又は超えるツリーの選別されたサブセットを取得するために、ツリーの初期セットを連結するステップと、ツリーの選別されたサブセットを、端末データセット内の端末点にまたがるグラフとして出力するステップとを更に含む。連結することは、違反した不等式を強化するために1つ以上の頂点を追加することによって、1つ以上のサブツアーを拡張することを含む。
【0013】
別の実施形態では、グラフィカルツリー生成のためのコンピュータ実装システムは、少なくとも1つのプロセッサ上に実装された、端末データセット及びグラフエンジンを記憶するように構成された記憶デバイスを含む。グラフエンジンは、1つ以上のサブツアーの違反した不等式(S)を強化するために1つ以上の頂点を追加する拡張に基づいて、端末データセット内の端末点にまたがるグラフを生成するように構成されている。
【0014】
更なる実施形態では、いくつかの更なる特徴が提供されてもよい。ツリーの初期セットは、完全なシュタイナーツリー(S)を含み得る。グラフ出力は、端末点間のシュタイナー最小ツリーであり得る。強化された違反した不等式は、本明細書に記載されるように、1つ以上の頂点を追加することによって、違反したサブツアー不等式を拡張する1つ以上の方法から構成され得る。
【0015】
実施形態におけるなおも更なる特徴は、ツリーの初期サブセットから形成されたハイパーグラフ内のサブツアーに頂点を追加すること、サブツアーに対する単一の頂点拡張を実行することと、サブツアーに対する単一の頂点拡張を繰り返し実行することによって、サブツアー不等式の貪欲な拡張を実行すること、サブツアーに相補的な接続されたコンポーネントを追加すること、及び/又はサブツアーに相補的な二重接続されたコンポーネントを追加することを含む、拡張であり得る。
【0016】
更なる実施形態では、グラフエンジンは、グラフ生成器及びグラフ連結器を含む。グラフ生成器は、端末データセットに基づいて完全なシュタイナーツリー(FST)の初期セットを生成するように構成されており、各FSTは、端末データセット内の2つ以上の端末点を結合する。グラフ連結器は、オーグメンタを有し、連結基準を満たすか又は超えるFSTの選別されたサブセットを取得し、かつFSTの選別されたサブセットを出力するために、FSTの初期セットを連結するように構成されている。オーグメンタは、FST連結中に評価された違反したサブツアー不等式を強化する1つ以上の頂点の拡張を実行するように構成されている。
【0017】
別の実施形態では、端末点間のグラフィカルツリー生成のためのコンピュータ実装システムは、端末データセットを記憶するための手段と、1つ以上のサブツアー(S)の不等式違反を強化するために、1つ以上の頂点を追加するための手段とを有し、端末データセット内の端末点にまたがるグラフを取得する。
【0018】
別の実施形態では、少なくとも1つのプロセッサに、端末点間のグラフを生成させるための制御ロジックを有する非一時的なコンピュータ可読記憶媒体は、第1及び第2の制御ロジックを含む。第1の制御ロジックは、端末データセットの検索を可能にするように構成されている。第2の制御ロジックは、1つ以上の違反したサブツアー不等式(S)を強化し、かつ検索された端末データセット内の端末点にまたがるグラフを取得するために、1つ以上の頂点を追加することを可能にするように構成されている。
【0019】
本発明の更なる実施形態、特徴、及び利点、並びに本発明の様々な実施形態の構造及び動作は、添付の図面を参照して以下に詳細に説明される。
【0020】
実施形態は、添付の図面を参照して説明される。図面において、同様の参照番号は、同じ、又は機能的に同様の要素を示し得る。要素が最初に現れる図面は、概して、対応する参照番号の左端の数字によって示される。
【図面の簡単な説明】
【0021】
【
図1A】本明細書に記載の1つ以上の実施形態による電子設計システムのブロック図を例示する。
【
図1B】本明細書に記載の1つ以上の実施形態による別の電子設計システムのブロック図を例示する。
【
図2】一実施形態によるグラフィカルツリー生成のための方法のフローチャート図である。
【
図3】一実施形態による
図2のハイパーグラフHの初期化を更に詳細に示すフローチャート図である。
【
図4】一実施形態による
図2の連結ステップにおける全てのサブツアーの反復的な充足を更に詳細に示すフローチャート図である。
【
図5A】実施形態による違反した不等式を強化するためにサブツアーを拡張するための異なるルーチンを示す図である。
【
図5B】ツリーから5頂点のエッジを除去すると、5つの接続されたコンポーネントが得られることを例示する図である。
【
図5C】頂点のサブセットSによって誘導されるサブハイパーグラフが概してツリーのフォレスト(この例では2)であるツリーを例示する図である。
【
図7】
図6の端末点セットを接続するシュタイナー最小ツリー(SMT)を有するユークリッド解の例を例示する図である。
【
図8】
図6の端末点セットを接続するSMTを有する例示的な直線解を例示する図である。
【
図9】一実施形態によるFST連結中の例示的なユークリッドシュタイナーツリー計算を例示する図である。
【
図10】一実施形態によるFST連結中の例示的な直線シュタイナーツリーの計算を例示する図である。
【
図11A】一実施形態による接続されたコンポーネントの拡張において複数の穴を有する違反したサブツアーSを例示する図である。
【
図11B】一実施形態による、(
図11Aの)比較的小さい違反したサブツアーSと比較して、より大きい違反したサブツアーS3を例示する図である。
【
図12A】極値点比(EPR)メトリックについて、より大きいサブツアーがより小さいサイズのサブツアーよりも大きい強度を有することを例示する線図である。
【
図12B】重心距離(CD)メトリックについて、より大きいサブツアーがより小さいサイズのサブツアーよりも大きい強度を有することを例示する線図である。
【
図13】一実施形態による単一の頂点削除、接続及び双方向接続されたコンポーネントを使用して連結中の低減を例示するフローチャート図である。
【
図14】一実施形態による頂点の貪欲な削除を伴う低減を使用することによって、又は一実施形態による頂点の貪欲な追加を伴う拡張を使用することによって、違反した不等式を強化するためのプロセスを例示するフローチャート図である。
【
図15】一実施形態による例示的な疎直交層化(SOS)ヒューリスティックアルゴリズムを示す。
【
図16】一実施形態による例示的な貪欲拡張アルゴリズムを示す。
【
図17】一実施形態による例示的なヒープアルゴリズムを示す。
【
図18】一実施形態による違反した穴の不等式を有する相補的な二重接続されたコンポーネントを介した拡張の例示を示す。
【
図19】一実施形態による例示的な疑似コスト再計算ヒューリスティックアルゴリズムを示す。
【
図20】一実施形態による小さい穴Hを有する小さいサブツアーSの例示を示す。
【
図21A】実施形態による1つ以上の違反したサブツアー不等式(S)を強化するために、例えば、1つ以上の頂点を追加する拡張で処理されたグラフの表形式の結果を示す。
【
図21B】実施形態による1つ以上の違反したサブツアー不等式(S)を強化するために、例えば、1つ以上の頂点を追加する拡張で処理されたグラフの表形式の結果を示す。
【
図21C】実施形態による1つ以上の違反したサブツアー不等式(S)を強化するために、例えば、1つ以上の頂点を追加する拡張で処理されたグラフの表形式の結果を示す。
【
図21D】実施形態による1つ以上の違反したサブツアー不等式(S)を強化するために、例えば、1つ以上の頂点を追加する拡張で処理されたグラフの表形式の結果を示す。
【
図21E】実施形態による1つ以上の違反したサブツアー不等式(S)を強化するために、例えば、1つ以上の頂点を追加する拡張で処理されたグラフの表形式の結果を示す。
【
図21F】実施形態による1つ以上の違反したサブツアー不等式(S)を強化するために、例えば、1つ以上の頂点を追加する拡張で処理されたグラフの表形式の結果を示す。
【発明を実施するための形態】
【0022】
本開示は、改善されたコンピュータ実装グラフ生成並びに電子設計及びモデル化を説明する。1つ以上のサブツアーを拡張することを含む、端末点間のグラフィカルツリー生成のためのコンピュータ実装方法、システム、コンピュータプログラム製品、及びデバイスが、実施形態で説明される。グラフ生成及びツリートラバーサルを使用する電子設計及びモデル化ツール、並びに半導体レイアウト設計、インフラストラクチャ設計、量子計算、マイクロ流体、又は他のモデル化におけるそれらの用途が説明される。
【0023】
実施形態は、特定の用途を参照して本明細書に記載される例示を参照する。本発明は、実施形態に限定されないことを理解されたい。本明細書に提供される教示にアクセスする当業者は、その範囲内の追加の修正、適用、及び実施形態、並びに実施形態が重要な有用性を有するであろう追加の分野を認識するであろう。
【0024】
本明細書に記載の実施形態の詳細な説明において、「一実施形態」、「実施形態」、「例示的な実施形態」などへの言及は、記載される実施形態が特定の特徴、構造、又は特徴を含み得るが、全ての実施形態が、特定の特質、構造、又は特徴を必ずしも含み得るとは限らないことを示す。更に、そのような句は、必ずしも同じ実施形態を指すものではない。更に、特定の特質、構造、又は特徴が実施形態に関連して説明されるとき、明示的に説明されるかどうかにかかわらず、他の実施形態に関連してそのような特質、構造、又は特徴に影響を与えることは、当業者の知識の範囲内であることが提示される。
【0025】
以下の詳細な説明は、単に例示的なものであり、実施形態の範囲及び/又は使用を限定することを意図しない。更に、前述の背景又は要約セクション、又は以下の詳細な説明セクションに提示される任意の明示的又は暗示的な情報によって拘束される意図はない。
【0026】
ここで、図面を参照して、1つ以上の実施形態について説明し、全体を通して同様の要素を指すために同様の参照番号が使用される。以下の詳細な説明では、説明の目的で、1つ以上の実施形態のより完全な理解を提供するために、多数の具体的詳細が概説される。しかしながら、1つ以上の実施形態は、これらの具体的な詳細を伴わずに実践することができることは明らかである。
【0027】
用語
本明細書で使用される場合、用語「グラフ」は、データ間の接続又は関係を表すコンピュータ可読データ構造を指す。グラフは、頂点とエッジのセットで構成することができる。エッジは、数値の重みを有することができる(様々な用途では、正、ゼロ、又は負にすることができる)。端末は、グラフの頂点のサブセットである。グラフは、1つ以上のツリーで構成され得る。エッジ重みは、距離をモデル化することができる(いくつかの距離メトリックに従って測定される)。「重み」及び「長さ」(又は「総重み」及び「総長さ」)という用語は、本明細書では同義に使用される。
【0028】
本明細書で使用される場合、「ツリー」は、ノード間に延びる分岐によって接続された1つ以上の頂点(ノードとも呼ばれる)を有するコンピュータ可読データ構造である。ツリーは、ツリーの1つ以上のレベル内の他のノードに延びる1つ以上の分岐を有するルートノードを含んでもよい。リーフノードは、ルートノードから分岐の最も遠い端にあるノードである。ツリーは接続されており(各ペアのノード間にパスがある)、サイクルはない(このパスは一意である)。
【0029】
本明細書で使用される場合、シュタイナーツリーは、加重エッジを有するグラフの頂点(又は端末)のサブセットを結合するツリーである。シュタイナーツリーは、オリジナルの端末の一部ではないシュタイナー点又はシュタイナー頂点とも呼ばれる追加の頂点を含み得る。シュタイナーツリーは、ユークリッドシュタイナーツリー、直線ツリー、又はこの説明を考慮すると当業者に明らかとなるであろう他のタイプのシュタイナーツリーを含み得るが、これに限定されない。
【0030】
本明細書で使用される場合、完全なシュタイナーツリー(又はFST)は、エッジ加重グラフの2つ以上の端末のサブセットを結合する最小長を有するツリーを指す。一例では、完全なシュタイナーツリーは、局所的に最適なツリー(例えば、最小長を有する)であり、全ての端末がFSTのリーフノードであるように、エッジ加重グラフの2つ以上の端末のサブセットを接続することができる。更なる例では、端末頂点の全てが次数1を有する場合(すなわち、ツリーの「リーフ」である)、ツリーは完全なトポロジーを有する。端末TのサブセットFは、Fの全てのシュタイナー最小ツリーが完全なトポロジーを有する場合、完全なセットと呼ばれる。次いで、これらの例におけるツリーは、それが端末の完全なセットF上のシュタイナー最小ツリーである場合、完全なシュタイナーツリーである。
【0031】
本明細書で使用される場合、FST生成は、所与の端末のセットに対して(指定された距離メトリックに従って)FSTのセットが構築されるプロセスを指す。生成されたFSTは、全ての端末を接続する最適ツリーを形成するFSTのサブセットを含むことを意味し、十分でなければならない。そのような十分性は、全ての可能なFSTを考慮し、最適以下又は冗長であることが証明され得るFSTのみを破棄することによって取得される。
【0032】
本明細書で使用されるFSTプルーニングは、FSTのセット全体が検査され、最適ツリーに表示されないもの(端末のセット全体にまたがるシュタイナー最小ツリー)を破棄し、全ての最適ツリーに存在しなければならないものを「必須」としてマークするプロセスを指す。
【0033】
本明細書で使用されるFST連結は、所与の端末のセットに対して最適ツリーを形成するFSTの選別されたセットを識別するプロセスである。
【0034】
本明細書で使用される場合、サブツアー除去制約(単に「サブツアー」とも称される)という用語は、頂点の指定されたサブセットS内に現れるサイクルを禁止する効果がある特定のタイプの不等式を指す。
【0035】
本明細書で使用される多面体は、ユークリッド空間Rnにおける有限数の線形方程式及び/又は線形半空間の交点からなる。
【0036】
本明細書で使用される場合、ポリトープは、有限に限定された多面体である。
【0037】
本明細書で使用される場合、ポリトープPの極値点は、点x∈Pであり、その点に対して、H∩P={x}となるような超平面Hが存在する。(極値点はポリトープの「コーナー」である。)全てのポリトープには有限個の極値点がある。
【0038】
本明細書で使用されるポリトープPに対する所与の不等式ax≦b(又は等価的に-ax≧-b)の極値点比(EPR)は、|I|/|X|であり、式中、Xは、Pの全ての極値点のセットであり、I={x∈X:ax=b}である。
【0039】
本明細書で使用されるように、ポリトープPに対する所与の不等式ax≦b(又は等価的に-ax≧-b)の重心距離(CD)は、重心Cと超平面ax=bとの間の最短距離であり、式中、Xは、Pの全ての極値点のセットであり、重心Cは、Xの全てのメンバーの平均である。(2つのバージョンがある:距離が完全にPのアフィン包内に存在しなければならない線に沿って測定される弱い重心距離、及び距離が完全にP内に存在しなければならない線に沿って測定される重心距離。)
【0040】
電子設計システム
図1Aは、本明細書に記載の1つ以上の実施形態による電子設計システム100のブロック図を例示する。システム100は、記憶デバイス106に結合されたグラフエンジン102を含む。記憶デバイス106は、端末データセット107を記憶するように構成されている。端末データセット107は、1つ以上の端末点のセットを含んでもよい。グラフエンジン102は、端末データセット107内の端末点にまたがるグラフを生成するように構成されている。グラフは、以下で更に説明するように、1つ以上の違反したサブツアー不等式(S)を強化するために、1つ以上の頂点を追加する拡張に基づいて生成される。生成されたグラフ127(出力127とも称される)は、同じ若しくは異なる物理的場所での表示、記憶、又は伝送のために出力され得る。例えば、生成されたグラフ127は、モデル化ツール130によるアクセス及び検索のために記憶デバイス106に記憶され得る。
【0041】
図1Aに示されるように、一実施形態では、グラフエンジン102は、コントローラ105、グラフ生成器110、プルーナ115、及びグラフ連結器120を含む。コントローラ105は、グラフエンジン102への入力又はグラフエンジン102からの出力に応答して、グラフ生成器110、プルーナ115、又はグラフ連結器120のうちのいずれか1つ以上の動作の開始、シーケンス、又はタイミングを制御し得る。グラフ生成器110は、端末データセット107に基づいて、ツリーの初期セットを生成する。プルーナ115は、ツリーの初期セットをプルーニングして、冗長又は望ましくないツリーを除去し得る。プルーナ115は任意選択であり、所望に応じて、特定のグラフ及びアプリケーションについて省略又はバイパスされ得る。グラフ連結器120は、連結基準を満たすか又は超えるツリーの選別されたセットを取得するために、グラフ生成器110からのツリーの初期セット(又はプルーナ115からのプルーニングされたセット)を連結する。次いで、ツリーの選別されたセット(グラフとも称される)は、グラフエンジン102によって出力127として出力される。連結基準は、例えば、サイクルのない全ての端末にまたがり、かつ最小の全長を有するツリーを形成することを含み得る。
【0042】
更なる特徴では、グラフ連結器120は、オーグメンタ125を含む。オーグメンタ125は、連結中に評価された1つ以上の違反したサブツアーを強化するために、1つ以上の頂点を追加する拡張を実行する。実施形態では、オーグメンタ125は、
図5Aに関して以下に更に記載されるように、異なるタイプの拡張及びそれらの組み合わせを実行し得る。
【0043】
グラフ生成器110によって生成され、かつグラフエンジン102で処理されるツリーは、完全なシュタイナーツリー(FST)及び/又はハイパーグラフを含むがこれに限定されない、任意のタイプのツリー構造又はツリーの組み合わせであり得る。一例では、FSTは、各FSTが端末データセット内の2つ以上の端末点を結合する場合に使用され得る。
【0044】
グラフエンジン102は、コンピュータ支援設計及びモデル化など、様々な用途で使用されるデータ及び構造を有するツリーと共に使用することができる。モデル化ツール130は、モデルデータを用いて物理的表現及び仮想表現をモデル化する任意のタイプのモデル化ツールであり得る。例えば、モデルデータは、端末データセットを含むことができる。このようにして、モデルツール130は、端末データセットを含むモデルデータで物理的表現をモデル化することができ、かつ端末データ内の端末点にまたがるグラフエンジン102によって生成された出力127(グラフ)を受信することができる。
【0045】
いくつかの異なるタイプのモデル及びグラフは、半導体製造設計、インフラストラクチャ設計、量子計算、及びマイクロ流体などの様々な用途で使用することができる。例えば、グラフ127は、半導体製造設計においてその中で使用される半導体レイアウト並びにパス及び経路を表し得る。モデル化ツール130は、半導体チップレイアウトの物理的表現をモデル化する設計ツールであり得る。次いで、端末データセット107は、半導体チップレイアウトの平面内の物理的場所を表す端末点を含む。別の例では、モデル化ツール130は、インフラストラクチャレイアウト(ガス若しくは石油パイプライン又は電気通信ネットワークなど)の物理的表現をモデル化する設計ツールであり得、端末データは、インフラストラクチャレイアウト内の物理的場所を表す端末点を含む。
【0046】
いくつかの実施形態では、モデル化ツール130は、回路概略図若しくはネットリスト、又はネットワークトポロジーを含む、そのような物理システムの構造表現をモデル化する設計ツールであり得る。
【0047】
一実施形態では、グラフ127は、サイクルなしで端末データセット107内の全ての端末にまたがり、かつ最小長を有するツリー(T)であり得る。更なる実施形態では、グラフエンジン102によって生成されたグラフ127は、端末点間のシュタイナー最小ツリー(SMT)、例えば、該ハイパーグラフの頂点を結合するために生成されたハイパーグラフの最小スパニングツリーである。別の実施形態では、生成されたグラフ127は、端末点間の1つ以上の完全なシュタイナーツリーで構成されている。
【0048】
いくつかの実施形態では、出力127は、所与の端末にまたがるツリーが存在しないことを示すデータからなり得る。(これは、十分なFSTのセットから生成されたハイパーグラフでは発生しない。)
【0049】
一実施形態では、グラフエンジン102は、端末データセットに基づいてツリーの初期セットを生成し、かつ連結基準を満たすか又は超えるツリーの選別されたサブセットを取得するために、ツリーの初期セットを連結するように更に構成されている。各ツリーは、端末データセット内の2つ以上の端末点を結合する。連結基準には、それがサイクルなしで端末データセット107内の全ての端末にまたがり、かつ最小長を有するように、グラフ127を生成することが含まれるが、これに限定されない。
【0050】
グラフエンジン102(及びそのコンポーネント105、110、115、120、125のうちのいずれか)又はモデル化ツール130を含む電子設計システム100は、ソフトウェア、ファームウェア、若しくはハードウェア、又はそれらの組み合わせで実装され得る。様々な実施形態では、グラフエンジン102(及びそのコンポーネント105、110、115、120、125のうちのいずれか)又はモデル化ツール130を含む電子設計システム100は、1つ以上の計算デバイスに実装することができる。計算デバイスは、同じ場所にあっても異なった場所にあってもよい。計算デバイスは、1つ以上のプロセッサ及びコンピュータ可読メモリを有する任意のタイプのデバイスであってもよい。例えば、計算デバイスは、ワークステーション、モバイルデバイス(例えば、携帯電話、携帯情報端末、タブレット又はラップトップ)、コンピュータ、サーバ、コンピュータクラスタ、サーバファーム、クラウド計算サービスプラットフォーム、ゲームコンソール、セットトップボックス、キオスク、組み込みデバイス若しくはシステム、又は少なくとも1つのプロセッサ及びコンピュータ可読メモリを有する他のデバイスであり得る。少なくとも1つのプロセッサ及びメモリに加えて、そのような計算デバイスは、ソフトウェア、ファームウェア、若しくはハードウェア、又はそれらの組み合わせを含み得る。ソフトウェアは、1つ以上のアプリケーション及び/又はオペレーティングシステムを含んでもよい。ハードウェアには、プロセッサ、メモリ、若しくはユーザインターフェース、又は他の入出力デバイスが含まれるが、これに限定されない。
【0051】
グラフエンジン102を含む電子設計システム100の動作は、方法200を参照して以下で更に詳細に説明する。
【0052】
図1Bは、本明細書に記載の1つ以上の実施形態による電子設計システム101のブロック図を例示する。システム101は、記憶デバイス116に結合されたハイパーグラフエンジン103を含む。記憶デバイス116は、エッジ加重ハイパーグラフデータセット117を記憶するように構成されている。エッジ加重ハイパーグラフデータセット117は、ゼロ以上の頂点のセットV、ゼロ以上のエッジ(時にはツリーと呼ばれる)のセットEを含み得、かつ各エッジについての数値重みを含み得る。(重みは、様々な用途によって要求されるように、正、ゼロ、又は負であり得る。)ハイパーグラフエンジン103は、一実施形態では記憶デバイス116から、又は他の実施形態ではモデル化ツール130からエッジ加重ハイパーグラフを受信するか又は取得するように構成され得る。ハイパーグラフエンジン103による処理の後、生成されたハイパーグラフ137(出力137とも称される)は、同じ若しくは異なる物理的場所での表示、記憶、又は伝送のために出力され得る。例えば、生成されたハイパーグラフ137は、モデル化ツール130によるアクセス及び検索のために記憶デバイス116に記憶され得る。
【0053】
いくつかの実施形態では、エッジ加重ハイパーグラフ117は、頂点のセットVを2つのサブセット、すなわち、端末頂点を示すセットTと、シュタイナー頂点を示すセットNとに分割する追加のデータを含んでもよい。そのような実施形態はまた、各シュタイナー頂点の数値重みを指定し得る。(重みは、様々な用途によって要求されるように、正、ゼロ、又は負であり得る。)
【0054】
いくつかの実施形態では、出力137は、所与の頂点V(又は端末頂点T)にまたがるツリーが存在しないことを示すデータからなり得る。
【0055】
図1Bに示されるように、一実施形態では、ハイパーグラフエンジン103は、グラフ連結器120を含む。グラフ連結器120は、連結基準を満たすか又は超えるエッジの選別されたセットを取得するために、ハイパーグラフエッジの初期セットEを連結する。次いで、エッジの選別されたセット(グラフ又はハイパーグラフとも称される)は、ハイパーグラフエンジン103によって出力137として出力される。連結基準は、例えば、サイクルのない全ての頂点Vにまたがり、かつ最小総エッジ重みを有するツリーを形成することを含み得る。頂点が端末T及びシュタイナー頂点Nとして分割される実施形態では、連結基準は、例えば、サイクルのない全ての端末Tにまたがり、かつエッジ、シュタイナー頂点、又はその両方の最小総重みを有するツリーを形成することを含み得る。
【0056】
更なる特徴では、グラフ連結器120は、オーグメンタ125を含む。オーグメンタ125は、連結中に評価された1つ以上の違反したサブツアーを強化するために、1つ以上の頂点を追加する拡張を実行する。実施形態では、オーグメンタ125は、
図5に関して以下に更に記載されるように、異なるタイプの拡張及びそれらの組み合わせを実行し得る。
【0057】
ハイパーグラフエンジン103で処理されたエッジ(又はツリー)は、頂点Vとしてモデル化されたアプリケーションエンティティ間の任意のタイプのツリー構造又は関係を表すことができる。一例では、エッジは、エッジ加重ハイパーグラフデータセット内の2つ以上の端末又はシュタイナー頂点を結合する障害物回避直線FSTを表してもよい。
【0058】
ハイパーグラフエンジン103は、コンピュータ支援設計及びモデル化など、様々な用途で使用されるデータ及び構造を有するツリーと共に使用することができる。モデル化ツール130は、モデルデータを用いて物理的表現及び仮想表現をモデル化する任意のタイプのモデル化ツールであり得る。例えば、モデルデータは、エッジ加重ハイパーグラフデータセットを含むことができる。このようにして、モデル化ツール130は、エッジ加重ハイパーグラフデータセットを含むモデルデータで物理的表現をモデル化することができ、かつエッジ加重ハイパーグラフデータ内の頂点(又は端末)にまたがるハイパーグラフエンジン103によって生成された出力137(ハイパーグラフ又は選別されたエッジのセット)を受信することができる。
【0059】
いくつかの異なるタイプのモデル及びハイパーグラフは、半導体製造設計、インフラストラクチャ設計、量子計算、及びマイクロ流体などの様々な用途で使用することができる。例えば、ハイパーグラフ137は、半導体製造設計においてその中で使用される半導体レイアウト並びにパス及び経路を表し得る。モデル化ツール130は、半導体チップレイアウトの物理的表現をモデル化する設計ツールであり得る。次いで、エッジ加重ハイパーグラフデータセット117は、半導体チップレイアウトの平面内の物理的場所を表す頂点を含む。別の例では、モデル化ツール130は、インフラストラクチャレイアウト(ガス若しくは石油パイプライン又は電気通信ネットワークなど)の物理的表現をモデル化する設計ツールであり得、エッジ加重ハイパーグラフデータは、インフラストラクチャレイアウト内の物理的場所を表す頂点を含む。
【0060】
いくつかの実施形態では、モデル化ツール130は、回路概略図若しくはネットリスト、又はネットワークトポロジーを含む、そのような物理システムの構造表現をモデル化する設計ツールであり得る。
【0061】
一実施形態では、ハイパーグラフ137は、サイクルなしでエッジ加重ハイパーグラフデータセット117内の全ての頂点にまたがり、かつ最小総エッジ重みを有するツリーであり得る。更なる実施形態では、ハイパーグラフエンジン103によって生成されたハイパーグラフ137は、端末頂点Tの間のシュタイナー最小ツリー(SMT)であり得る。
【0062】
ハイパーグラフエンジン103(及びそのコンポーネント120、125のうちのいずれか)又はモデル化ツール130を含む電子設計システム101は、ソフトウェア、ファームウェア、若しくはハードウェア、又はそれらの組み合わせで実装され得る。様々な実施形態では、ハイパーグラフエンジン103(及びそのコンポーネント120、125のうちのいずれか)又はモデル化ツール130を含む電子設計システム101は、1つ以上の計算デバイスに実装することができる。計算デバイスは、同じ場所にあっても異なる場所にあってもよい。計算デバイスは、1つ以上のプロセッサ及びコンピュータ可読メモリを有する任意のタイプのデバイスであってもよい。例えば、計算デバイスは、ワークステーション、モバイルデバイス(例えば、携帯電話、携帯情報端末、タブレット又はラップトップ)、コンピュータ、サーバ、コンピュータクラスタ、サーバファーム、クラウド計算サービスプラットフォーム、ゲームコンソール、セットトップボックス、キオスク、組み込みデバイス若しくはシステム、又は少なくとも1つのプロセッサ及びコンピュータ可読メモリを有する他のデバイスであり得る。少なくとも1つのプロセッサ及びメモリに加えて、そのような計算デバイスは、ソフトウェア、ファームウェア、若しくはハードウェア、又はそれらの組み合わせを含み得る。ソフトウェアは、1つ以上のアプリケーション及び/又はオペレーティングシステムを含んでもよい。ハードウェアには、プロセッサ、メモリ、若しくはユーザインターフェース、又は他の入出力デバイスが含まれるが、これに限定されない。
【0063】
ハイパーグラフエンジン103を含む電子設計システム101の動作は、方法200のステップ240及び250を参照して、以下で更に詳細に説明する。
【0064】
グラフィカルツリーの生成
図2は、一実施形態によるグラフィカルツリー生成200のためのコンピュータ実装方法のフローチャート図である(ステップ210~250)。一実施形態では、方法200は、グラフエンジン102によって実行されてもよい。例えば、グラフエンジン102は、ステップ210~250の動作を開始し、かつ制御するためのコントローラ105を含んでもよい。簡潔にするために、方法200は、システム100及びグラフィックエンジン102に関して説明されるが、これは限定することを意図するものではなく、方法200(そのステップの各々を含む)は、この説明を考慮すると当業者には明らかであろうように、他のシステム又は構成と共に使用され得る。
【0065】
まず、端末データセットが受信される(ステップ210)。例えば、グラフエンジン102は、記憶デバイス106にアクセスすることによって、又はモデル化ツール130若しくは動作を開始する他のツール又はコントローラによってグラフエンジン102に送信させることによって、端末データ107を受信し得る。端末データセット107は、端末点の数を識別するデータを含む。
【0066】
ステップ220では、ツリーの初期セットFが、端末データセット107に基づいて生成される。例えば、制御は、グラフ生成器110に進み得る。グラフ生成器110は、ツリーの初期セットを生成する。各ツリーは、端末データセット107内の2つ以上の端末点を結合する。
【0067】
ステップ232で、グラフエンジン102は、ツリーの初期セットをプルーニングするかどうかを決定する。はいの場合、プルーニングし、制御はステップ234及び236に進む。ステップ234では、最適以下又は冗長ツリーが廃棄される(それは初期セットから削除される)。全ての最適な選別されたセットに存在しなければならない残りのツリーは、「必須」とマークされる(ステップ236)。一例では、プルーナ115は、ツリーの初期セットをトラバースし、かつ冗長データを有するか又は最適以下の冗長ツリー(ツリーの分岐又は部分を含む)を識別してもよい。いくつかの実施形態では、最適性は、最終的な解ツリーのために選別されたエッジの重みの合計によってのみ判定される。いくつかの実施形態は、過度に複雑であり、次いで必要とされるあまりにも多くのレベル又はより多くの分岐を有するエッジの選択を妨げるエッジ重みを使用し得る。いくつかの実施形態は、エルモアメトリックなどの非線形目的関数を使用し得る。ステップ236の後、制御は次いで、ステップ239に進む。ステップ232でプルーニングが決定されない場合、制御は、ステップ239に進む。次いで、プルーナ115は使用されない。ステップ239において、端末及びツリーは、
図3に記載されるように、加重ハイパーグラフを初期化するために使用される。
【0068】
拡張との連結
ステップ240では、ツリーの初期セットFは、ツリーQの選別されたサブセットを取得するために、拡張によって強化された違反したサブツアー不等式を使用して連結される。例えば、グラフ連結器120は、連結基準を満たすか又は超えるツリーの選別されたサブセットQを取得するために、ツリーの初期セットF(すなわち、グラフ生成器110によって出力されたもの又はプルーナ115によって出力されたプルーニングされたセット)を連結する。連結中、オーグメンタ125は、違反したサブツアー不等式(S)を強化するために1つ以上の頂点を追加することによって、1つ以上のサブツアー(S)を拡張する。ステップ240は、
図5に関して以下で更に説明される。
【0069】
更に、特定の最適化問題で使用される特定の制約を強化するための方法を考慮する。
【0070】
以下を与えられる:
【0071】
最適化解x∈Rn
【0072】
A線形不等式ax≦b(xにより違反)
【0073】
以下を求める:
【0074】
より強い不等式(実行可能な空間のより大きい低減)である、新しい線形不等式cx≦d(xによっても違反)。
【0075】
方法は、様々なシーケンスで適用されるか又は繰り返され得る3つの位相を有する。
【0076】
違反したサブセットに(特定のプロパティを有する)1つの頂点を反復的に追加する
【0077】
相補的な接続されたコンポーネントを使用して、違反したセットに頂点を追加する。
【0078】
相補的な二重接続されたコンポーネントを使用して、違反したセットに頂点を追加する。
【0079】
ステップ250では、選別されたサブセットQが出力される。例えば、ツリーQの選別されたサブセットは、端末データセット107内の端末点にまたがるグラフを表すグラフエンジン102からの出力127であり得る。追加の例では、ツリーQの選別されたサブセットは、連結基準を満たすか又は超えるために必要に応じて多数の又は少数のシュタイナー頂点Nを含む、エッジ加重ハイパーグラフデータセット117内の端末頂点Tにまたがるツリーを表すハイパーグラフエンジン103からの出力137であってもよい。
【0080】
図9は、ユークリッドFSTを連結することによって取得された入力端末点間のユークリッドシュタイナー最小ツリー(SMT)900を例示する。SMT900は、全ての端末点を接続する選別されたユークリッドFST(小さい破線及び大きい破線で示される)で構成されている。細い灰色の線はまた、SMT900を形成する最終的な選別されたセットから省略された初期のFSTを示すために提供される。
【0081】
同様に、
図10は、直線FSTを連結することによって取得された入力端末点間の直線シュタイナー最小ツリー(SMT)1000を例示する。SMT1000は、全ての端末点を接続する選別された直線FST(小さい破線及び大きい破線で示される)で構成されている。細い灰色の線はまた、SMT1000を形成する最終的な選別されたセットから省略された初期FSTを示すために追加される。
【0082】
図3に示すように、初期化ステップ239は、更なるステップ320~340を含んでもよい。一実施形態では、ステップ320~340の各々は、グラフ連結器120によって実行される。簡潔にするために、
図3は、完全なシュタイナーツリー(FST)の初期セットFを有する例を参照して説明される。しかしながら、この例は限定するものであることを意図されたものではない。セットFは、他のタイプのツリー又はツリーの部分で構成され得る。
【0083】
ステップ320~340では、ハイパーグラフHが初期化される。ハイパーグラフHは、ステップ220の後、又はプルーニングの後に残るツリーの初期セットFの全てを含むハイパーグラフであり得る(ステップ234及び236)。ハイパーグラフHは、ツリーの初期セットF内の全ての頂点及び分岐を含み得る。
【0084】
ステップ320では、ハイパーグラフ頂点Vは、端末データセットT内の端末点に設定される。
【0085】
ステップ330では、ハイパーグラフエッジEは、初期セットF内の各ツリーであるように設定される。
【0086】
ステップ320~330の結果として、端末セットT及びFSTのセットFが与えられれば、以下の出力が取得され得る。
【0087】
ハイパーグラフH=(V,E)、式中、V=T、及びE=Fであり、その結果、各FSTが端末及び/又は追加された頂点上のエッジになる。
【0088】
ステップ340では、エッジ重み付け関数cが設定される。一例では、cは、エッジeの関数である。エッジeで評価される関数cは、c(e)=FSTエッジeの幾何学的長さとして定義される。次いで、ハイパーグラフHのエッジ重み関数cは、以下として出力される。
【数2】
【0089】
【0090】
次に、制御は、ステップ240に進む。ステップ240では、関数zは、不等式制約に従って最小化され、ここで、
z=c・xであり、
式中、zはcとxのドット積の関数であり、xは最適化解である。
【0091】
この最小化演算は、現在の解xによって違反される不等式(及び特にステップ425で生成された強化された不等式)を反復的に追加することによって、全てのサブツアー不等式を満たす、
図4に示される例示的なプロセスに関して説明される。ステップ240の動作をサポートするための更なる説明は、基礎となる数学的説明及び実装での試験実行で取得された実際の結果を参照して以下に提供される。
【0092】
図4は、一実施形態による
図2のステップ240における全てのサブツアーの反復的な充足を更に詳細に示すフローチャート図である(ステップ410~434)。一実施形態において、グラフ連結器120内のオーグメンタ125は、ステップ425中に動作する。
【0093】
ループ410は、サブツアー不等式のセットに従う関数zを解き、最小化するために反復的に実行される。ステップ415において、反復ループは、選択されたサブツアーのセットに対して開始される(例えば、|S|=|V|-1に対して)。関数zの最小化は、制約のセット(1)~(4)に従って実行される。
【0094】
【0095】
制約(1)は、エッジeの濃度と、解xの頂点のセットVとの間の関係が満たされることを確実にする。
【0096】
制約(2)は、サブツアー除去制約(又は単にサブツアーと呼ばれる)である。(2)に指定されているように、Sを特定のサブセットとする。次いで、制約(2)からの対応する不等式は、Sの頂点間のサイクルを禁止するように作用する。
【0097】
制約(3)は、解値xeが0~1で限定されることを維持するように設定される。
【0098】
制約(4)は、解値xeが整数(すなわち、整数Zのセットの整数であり、正又は負の整数が使用され得る)であることを確実にするように設定される。この制約は、線形プログラム(LP)を使用して解を得ることを可能にし、解xが分数値を含むことを可能にするために省略されてもよい。分岐及び限定、又は追加のカット平面の使用などの様々な実施形態は、制約(4)を満たす積分値に該分数値を分解するために使用され得る。
【0099】
制約(1)の動作は、例示的なツリーTを参照して更に説明することができる。|e|=kで、生成ベクトルx及び(ハイパー)エッジeを有するツリーTを考慮する。エッジeを削除すると、Tがk個の接続されたコンポーネント(CC)に分割され、k-1個のCCが増加する。全てのエッジを除去することは、1個のCCから|V|個のCCに増加しなければならず、|V|-1が合計で増加する。例えば、
図5Bは、濃度5のエッジ(5つの端末点のセットを接続する中央領域に示される)が除去され、5個のCC(570)をもたらす例を示す。
【0100】
【0101】
例えば、Tを任意のツリーとする。任意のサブセットS⊆Vによって誘導されたTのサブハイパーグラフを考慮する。式中、|S|=k、k≧2である。結果は、
図5Cに示されるように、1≦j≦kであるjツリーのフォレストである(式中、j=2)。
図5Cは、頂点(582)のサブセットSによって誘導されるサブハイパーグラフが概してツリーのフォレスト(この例では2)であるツリー580を例示する。このサブハイパーグラフに同じカウント引数を適用すると、次の制約が得られる。
【数6】
【0102】
これは、ツリーを表す全てのxについて以下をもたらす。
【数7】
【0103】
【0104】
これは、完全にS⊆V内に含まれるサイクルが存在することを意味する。
【0105】
不等式:
【数9】
したがって、サイクルを禁止する
【0106】
上述のように、上記は、サブツアー除去制約又は略して「サブツアー」のための制約(2)の例を表す。
【0107】
上記の制約を考慮すると、この整数プログラムの実現可能な解xと、所与のハイパーグラフHのスパニングツリーとの間に1対1の対応がある。また、各実現可能なxは、対応するスパニングツリーの生成ベクトルである。目的係数は任意の実質値とすることができ、コストが負でないことは必須ではない。
【0108】
ステップ416において、線形プログラム(LP)を解き、現在のサブツアーのセットに従う最適解xを取得する。
【0109】
エッジ加重ハイパーグラフの頂点Vが2つのセット、すなわち端末Tとシュタイナー頂点Nとに分割されているとき、最小化関数zは、代わりに、制約(5)~(11)のセットに従って実行される。
【0110】
最小化:z=c・x+d・y
以下に従う:
【数10】
【0111】
x変数は、どのエッジが最適ツリーにあるかを示す。
【0112】
y変数は、どのシュタイナー頂点が最適ツリーにあるかを示す。
【0113】
制約(5)は、エッジeの濃度と、解x、yの頂点のセットVとの間の関係が満たされることを確実にする。
【0114】
制約(6)は、少なくとも1つの端末頂点を含む頂点のセットSの間のサイクルを禁止する。
【0115】
制約(7)は、シュタイナー頂点のみからなるセットS内のサイクルを禁止する。
【0116】
制約(8)は、解値xeが0~1で限定されることを維持するように設定される。
【0117】
制約(9)は、解値yvが0~1で限定されることを維持するように設定される。
【0118】
制約(10)は、解値xeが整数(すなわち、整数のセットZのメンバー)であることを確実にするように設定される。
【0119】
制約(11)は、解値yvが整数(すなわち、整数のセットZのメンバー)であることを確実にするように設定される。
【0120】
制約(10)及び(11)は、線形プログラム(LP)使用して解を得ることを可能にし、解x、yが分数値を有することを可能にするために省略されてもよい。分岐及び限定、又は追加のカット平面の使用などの様々な実施形態は、制約(10)及び(11)を満たす積分値に該分数値を分解するために使用され得る。
【0121】
制約(6)及び(7)は、一緒に、この式のサブツアー除去制約(略して「サブツアー」と呼ばれる)を構成する。
【0122】
ステップ420において、サブツアーSのセットが求められる。例えば、連結器120は、1つ以上のサブツアーS(S⊂V)を求め、各そのようなSは、x(又はx、y)によって違反したサブツアー不等式を示す。全てのサブツアー不等式の充足が必要な場合、ステップ420は、存在する場合は少なくとも1つの違反したSを求める必要がある。
【0123】
ステップ425では、各違反した不等式は、
図5A及び
図14に関して以下に記載されるように強化される。
【0124】
ステップ430では、違反したサブツアーが求められたかどうかのチェックが行われる。はいの場合、各違反したサブツアーSがLPに追加され(ステップ432)、制御はステップ416に進んで、追加された違反したサブツアーを使用してLPを解く。いいえの場合、解x(又はx、y)は、全てのサブツアーを満たし、制御は、ステップ250に進むか又は終了する。
【0125】
ステップ432において、制御は進んで、ステップ416の後続の反復によって動作されるLPインスタンスに各違反したサブツアーSを追加する。
【0126】
図5Aは、実施形態(ステップ510~560)による、違反した不等式を強化するためにサブツアーを拡張するための異なるルーチンを有する拡張500の方法を示す図である。ステップ510において、オーグメンタ125は、1つ以上の頂点を有するサブツアー(S)を拡張する。この拡張は、1つ以上の方式、又は方式の組み合わせで実行することができる。
【0127】
図5Aに示されるように、拡張は、ツリーの初期セットから形成されたハイパーグラフ内のサブツアーに頂点を追加することを含み得る(ステップ520)。拡張はまた、サブツアーに単一の頂点拡張を実行すること(ステップ530)、又はサブツアーに単一の頂点拡張を繰り返し実行すること(ステップ540)によって、サブツアー不等式の貪欲な拡張を実行することを含み得る。拡張はまた、相補的な接続されたコンポーネントをサブツアーに追加すること(ステップ550)、又は相補的な二重接続されたコンポーネントをサブツアーに追加すること(ステップ560)を含み得る。
【0128】
要約すると、完全性制約(例えば、制約(4)又は制約(10)及び(11))を緩和することは、解くための線形プログラムをもたらす。しかしながら、指数関数的に多くのサブツアー制約が存在し得る。次いで、ループ410は、選択されたサブツアーを反復的に解くことによって解を提供する。例えば、以下のように反復して解く。
【0129】
(例えば、|S|=|V|-1について)いくつかのサブツアーから開始する、
【0130】
LPを解き、最適解xを与える、
【0131】
xが対応するサブツアー不等式(いわゆる「分離」問題)に違反するS⊂Vを求める。全てのサブツアーの充足が必要な場合、このステップは、存在する場合は少なくとも1つのそのようなSを求める必要がある、及び
【0132】
違反したサブツアーをLPに追加し、xが全ての(指数関数的に多い)サブツアーを満たすまで再び解く。
【0133】
この例では、最適なLP解x(又はx、y)は、分数であってもよい。制御は、分岐及び限定を介して積分に解かれ得、各分岐及び限定ノードで違反したサブツアー(必要に応じて)を追加する追加のカット平面を使用して、整数解を達成することもできる。発見された任意の整数解は、最適解の上限である。整数解の値は実現可能であるが、必ずしも最適ではない。1つの選択肢では、これらの上限のうちの最も低いもののみが維持される。分岐はゆっくりと下限を増加させる。下限が上限に等しい場合、現在の最良解(上限)が最適であることが証明されている。
【0134】
違反したサブツアー不等式の強化の例
【0135】
(ステップ420によって実行されるように)サブツアー不等式の分離問題に対する本明細書に記載の解を考慮する別の方式は、以下の通りである。
【0136】
【数11】
が与えられる。
以下のようになるように、S⊂V、|S|≧2を求める。
【数12】
又はそのようなSが存在しないことを示す。
【0137】
ステップ420の全ての既知の実施形態は、計算的に高価である。共通の実施形態は、典型的にはサイズがO(n)であり、式中、n=|V|であるネットワーク上のn-1個の最大s-tフローを必要とする。DinicアルゴリズムはO(n3)であり、このステップをO(n4)にする。したがって、以下に記載されるように、ステップ420によって処理されるインスタンスのサイズを低減することが有利である。
【0138】
別の選択肢は、以下のようにメイン分離アルゴリズムを適用する前に、分離インスタンスのサイズを低減することである。
【0139】
メイン分離アルゴリズムを適用する前に、分離インスタンスのサイズを低減する。
【0140】
全てのv∈Vに対して、以下のように定義する
【数13】
【0141】
S=T∪{v}とする。
Sが違反を含み、bv≦1の場合、Tは違反を含む。
bv≦1となるように頂点vを反復的に破棄する。
【0142】
図13に示されるように、低減動作1300が行われてもよい(ステップ1310~3120)。ステップ1310では、(ステップ420と同様に)連結器120によって処理されているハイパーグラフは、接続されたコンポーネント及び二重接続されたコンポーネントに分解することができる。また、
【0143】
二重接続されたコンポーネントは、より多くのbv≦1の低減を明らかにすることができる。
【0144】
したがって、連結器120は、更なる低減が不可能になるまで、3つの低減全てを再帰的に適用して、別個の低減されたコンポーネントを得ることができる(ステップ1320)。
【0145】
これらの低減の後、連結器120は、各低減されたコンポーネントに対して独立して分離ステップ420を実行することができる。
【0146】
xをLP解とし、Sをフローアルゴリズムからの違反したサブツアーとする(ステップ420において)。
【0147】
生じるSは、多くの場合、多くの「ノイズ」(例えば、多数の最適なフロー解)を有する。
【0148】
低減による強化:Sによって誘導される加重サブハイパーグラフHを考慮する。
【0149】
Hに対して全ての低減を実行し、
【0150】
生じる違反S1、S2、…、Sjは、通常、はるかに小さく、より強いサブツアー不等式である。
【0151】
いくつかのアプリケーションでは、ループ410が(少数の反復で)迅速に終了するように、ステップ420及び425で特定の違反Sを選択することが有用である。例えば、「強い」制約は迅速に収束する傾向があるが、「弱い」制約はゆっくり収束する傾向がある。以下で更に考察されるように、
図12A及び
図12Bは、EPR及びCDの2つのメトリックに従って、大きいサブツアーがどのように小さいサブツアーよりも更に強くなり得るかを示す。
【0152】
本明細書に記載の実施形態の1つの特徴は、逆に低減を実行することによって、違反した不等式を強化することである。すなわち、サブツアーSを低減するのではなく、違反したサブツアーSを拡張することである。これには、頂点、接続されたコンポーネント、及び二重接続されたコンポーネントの強欲な削除などの既存の低減が含まれ、これ以上の低減が不可能になるまで再帰的に適用される。
【0153】
加えて、実施形態のこの特徴は、これらの3つの低減方法の各々を概念的に逆に実行すること(拡張)を含む。
図14のルーチン1400に示されるように、この拡張は、以下を含む:(i)頂点の強欲な削除(ステップ1410):
【0154】
全てのv∈Vに対して
【数14】
とする
b
v≦1となるように、v∈Sを反復的に削除すること、及び
【0155】
(ii)頂点の強欲な追加(ステップ1420)
x(S:{x})≧1となるように頂点v∈V-Sを反復的に追加する
>効率的なヒープベースのO(n log(n))アルゴリズム
図16及び
図17に示される例示的な実施形態を伴う、又は
【0156】
(iii)逆に接続されたコンポーネントを実行すること:
【0157】
Sを違反したサブツアーとする
【数15】
をV-Sによって誘導されたサブハイパーグラフとする
【数16】
の接続されたコンポーネントをH
1、H
2、…、H
kとする
全ての1≦i≦kに対してS
i=V-H
iとする
次いで、S
iのうちの少なくとも1つは、違反したサブツアーである。
【0158】
図11Aは、一実施形態による接続されたコンポーネントを逆に実行することを含む、接続されたコンポーネントの拡張における複数の穴(H1~Hk)を有する、違反したサブツアーS1100をグラフィカルに例示する。
図11Bは、一実施形態による比較的小さい違反したサブツアーS(
図11Aから)と比較して、より大きい違反したサブツアーS31110を例示する。
【0159】
エッジ加重ハイパーグラフの頂点Vが2つのセット、すなわち端末Tとシュタイナー頂点Nとに分割されている場合、当業者には明らかであるように、低減に使用されるプロセスは非常に類似している。この場合の単一の頂点拡張の規則もまた非常に類似している:頂点v∈Tは、x(S:{v})≧1のときはいつでもSに追加することができ、頂点v∈Nは、x(S:{v})≧yvのときはいつでもSに追加することができる。相補的に接続されたコンポーネント及び相補的に二重接続されたコンポーネントによって強化するためのプロセスは、Vが端末点Tとシュタイナー頂点Nとに分割されている(又は分割されていない)かどうかにかかわらず、同じままである。
【0160】
計算結果及び技術的改善
発明者らは、注目すべき結果を取得するために、上述のグラフエンジン102の例示的な実装形態における動作を実施した。
【0161】
100,000点セット試験
1つの試験では、各々100,000点の15個のランダムな点セットが、端末点セットTのインスタンスとして使用され、記憶デバイス106からグラフエンジン102に適用された。100,000点セットは、Juhl、Warme、Winter、Zachariasen2018で識別されたものと同じか類似していた。試験では、グラフエンジン102は、本明細書に記載されるように、違反したサブツアー不等式を強化するために、拡張とのグラフ連結をサポートするように修正されたGeoSteinerソフトウェアパッケージとして実装された。新しい修正されたGeoSteinerソフトウェアパッケージは、CENTOS7とCPLEX12.5を実行するECCを搭載した128Gbの3200MHz DDR4DRAMを搭載したAMD Ryzen2950X Threadripperで構成された計算デバイスで実行された。
【0162】
この試験では、15のインスタンス全てが迅速な解時間で解かれた。特に、各々約12~24CPU分の解時間が取得された。対照的に、本明細書に記載されているように、違反した不等式を強化するために拡張との連結を含まない従来のGeoSteinerソフトウェアパッケージ(バージョン5.0.1)を使用して実行された以前のインスタンスは、1つの大きい100,000点インスタンスに適用され、5.0GHz AMD9590で2.75CPU年を超えて実行した後も解に達しなかった。拡張を使用した結果は、高速であっただけでなく、計算時間に非常に低いばらつきがあったが、拡張を使用しない結果は、計算時間に非常に高いばらつきがあることは、注目に値する。
【0163】
また、以下のサイズを有するランダム端末点セットについて、以下のように比較的速い解を取得する追加の試験を実施した。ユークリッドSMTは、250,000個の端末インスタンス、500,000個の端末インスタンス、更には1,000,000個の端末インスタンスについても取得された。加えて、40,000個の端末点を有するインスタンスのための直線SMTが取得された。これらの結果は全て、従来技術の到達範囲を完全に超えている。
【0164】
図21A、
図21B、
図21C、
図21D、
図21E及び
図21Fは、実施形態による1つ以上の違反したサブツアー不等式(S)を強化するために1つ以上の頂点を追加する拡張で処理された端末セットインスタンスなどの表形式の結果を示す。これらの試験結果の各々において、オリジナルの計算結果は、従来のGeoSteinerソフトウェアパッケージ(バージョン5.0)を使用して取得されたが、これには、本明細書に記載されるように、違反した不等式を強化するための拡張との連結が含まれていなかった。新しい計算結果は、本明細書に記載されるように、違反したサブツアー不等式を強化するために、拡張とのグラフ連結をサポートするように修正されたGeoSteinerソフトウェアパッケージとして実装されたグラフエンジン102を使用して取得された。新しい修正されたGeoSteinerソフトウェアパッケージは、CENTOS7とCPLEX12.5を実行するECCを搭載した128Gbの3200MHz DDR4DRAMを搭載したAMD Ryzen2950X Threadripperで構成された計算デバイスで実行された。
【0165】
図21Aは、ランダムに生成されたインスタンスのセットについて実行された試験で結果を取得するのにかかった総時間を示している。左の列に示すように、インスタンスサイズ(端末点の数)は1000~1,000,000の範囲であった。2つのタイプの完全なシュタイナーツリー(FST)処理を使用した:ユークリッドと直線。(表の中央と右の列、行1を参照)。比較のために、オリジナルの計算結果及び新しい計算結果の両方が、ユークリッドツリー及び直線シュタイナーツリーの両方について提示される。計算結果は、CPU時間(CPU時間(秒単位))で設定されたそれぞれの点のSMT解を取得するために必要な総計算を示す。
図21Aの表に示されるように、表21Aのインスタンスサイズの各々について、オリジナルの結果よりも有意に速い新しい計算結果が取得された。例えば、表に示される約17.2秒のオリジナルの結果時間と比較して、約6.52秒でユークリッドFSTを使用して1000個の端末インスタンスの新しい計算結果を取得した(言い換えれば、約263%の性能改善)。直線FSTについても性能が改善された。表に示される約16.1秒のオリジナルの結果時間と比較して、約5.25秒で直線FSTを使用して1000個の端末インスタンスの新しい計算結果を取得した(言い換えれば、約306%のパフォーマンス改善)。他のインスタンスサイズでも性能の向上が顕著である。いくつかの結果では、オリジナルの結果が7CPU日以内に全てのインスタンスを解けなかったときに、新しい計算結果が取得された(すなわち、全てのインスタンスに最適な解が求められた)(例えば、オリジナルのユークリッド50,000及び100,000点セットの括弧に示されるように)。1,000,000点のユークリッドインスタンスのFST連結位相は、32GBの1600MHz DDR3とECC(AMD2950Xプラットフォームのハーフスピード)を備えた5.0GHz AMD9590プロセッサで実行されたことに注意されたい。
【0166】
図21Bは、
図21Aと同じランダムに生成されたインスタンスでFST連結位相を実行するのにかかる総時間を示す。この比較は、新しい結果とオリジナルの結果との間で取得された有意な性能上の利点を更に例示している。1,000,000点のユークリッドインスタンスのFST連結位相は、32GBの1600MHz DDR3とECC(AMD2950Xプラットフォームのハーフスピード)を備えた5.0GHz AMD9590プロセッサで実行されたことに注意されたい。
【0167】
例えば、表に示される約0.1秒のオリジナルの結果時間と比較して、約0.0587秒でユークリッドFSTを使用して1000個の端末インスタンスのFST連結位相の新しい計算結果を取得した(言い換えれば、約170%の性能改善)。FST連結における直線FSTについても性能が改善された。表に示される約2.3秒のオリジナルの結果時間と比較して、約0.723秒で直線FSTを使用して1000個の端末インスタンスの新しい計算結果を取得した(言い換えれば、約318%のパフォーマンス改善)。他のインスタンスサイズでも性能の向上が顕著である。いくつかの結果では、オリジナルの結果が7CPU日以内に全てのインスタンスを解けなかったときに、新しい計算結果が取得された(すなわち、全てのインスタンスに最適な解が求められた)(例えば、オリジナルのユークリッド50,000及び100,000点セットの括弧に示されるように)。
【0168】
図21C及び
図21Dは、ベンチマークインスタンス(OR-ライブラリインスタンス)のOR-ライブラリスイートから引き出されたインスタンスを処理するのにかかる時間の更なる結果を示す。
図21Cは、新しい実装形態及びオリジナルの実装形態に関する試験の間、並びにユークリッドツリー、直線ツリー、六角形ツリー及び八線形ツリーについての試験の間の総計算時間(秒単位)で取得された性能の改善を示す。
図21Dは、新しい実装形態及びオリジナルの実装形態に関する試験の間、並びにユークリッドツリー、直線ツリー、六角形ツリー及び八線形ツリーについての試験の間の連結計算時間(秒単位)で取得された性能の改善を示す。
【0169】
同様に、
図21E及び
図21Fは、ベンチマークインスタンスのTSPLIBスイート(TSPLIBインスタンス)から引き出されたインスタンスを処理するのにかかる時間の更なる結果を示す。
図21Eは、新しい実装形態及びオリジナルの実装形態に関する試験の間、並びにユークリッドツリー、直線ツリー、六角形ツリー及び八線形ツリーについての試験の間の合計計算時間(秒単位)で取得された性能の改善を示す。
図21Fは、新しい実装形態及びオリジナルの実装形態に関する試験の間、並びにユークリッドツリー、直線ツリー、六角形ツリー及び八線形ツリーについての試験の間の連結計算時間(秒単位)で取得された性能の改善を示す。
【0170】
更なる考察
発明者らは、所与のポリトープに対する不等式の相対強度の定量的尺度を提供するために、いくつかの測定基準を適用する。これらのメトリックは、不等式及び基礎となるポリトープにのみ依存し、目的関数とは無関係である。発明者らは、巡回セールスマンポリトープTSP(n)、及びハイパーグラフポリトープSTHGP(n)におけるスパニングツリーの両方の様々なファセットクラスについて、2つのメトリック(極値点比(EPR)及び重心距離(CD))を閉形式で評価した。発明者らは、2つのメトリックが各クラスにおけるファセットの相対強度に関して良好に一致しており、両方のポリトープでの以前の計算経験を裏付けることを見出した。STHGP(n)について、発明者らは、両方のメトリックが、小さい、及び大きい濃度のサブツアーが強く、中程度の濃度のサブツアーが著しく弱いことを明確に示していることを見出した。しかしながら、どちらのメトリックも、大きい濃度のサブツアーが小さい濃度のサブツアーよりもはるかに強いことに同意している。STHGP(n)のこの特性は、発明者らによって発見されたように、これらのメトリックによって明確に明らかになるまで知られておらず、疑われてもいなかった。2021年9月17日に出願された発明者らの共通所有の米国仮特許出願第63/245,326号、及び2021年7月23日に出願された第63/225,111号(各々その全体が参照により本明細書に組み込まれる)を参照のこと。
【0171】
一実施形態では、発明者らは、本明細書で説明するように修正されたGeoSteinerソフトウェアパッケージプログラムを使用して実装されたグラフエンジン102内で、この以前には不明であった特性をアルゴリズム的に更に利用した。発明者らは、EPR及びCDメトリックが、少なくともSTHGP(n)のサブツアー不等式について、実際の計算強度を高度に予測するという強力な計算上の証明を取得した。
【0172】
平面内の幾何学的シュタイナーツリーのための従来のGeoSteinerソフトウェアパッケージ(バージョン5.1以前)は、完全なシュタイナーツリー(FST)連結問題を解くためにSTHGP(n)を使用する。GeoSteinerパッケージの従来のバージョンの分離アルゴリズムは、比較的小さい濃度の違反したサブツアーを求める。
【0173】
発明者らは、基礎となるアルゴリズム上の原因を調べ、拡張(低減のみではなく)によって違反したサブツアーを強化するように特別に設計され、違反した大きい濃度のサブツアーを生成する、GeoSteinerソフトウェアパッケージに対する改善を提示した。計算結果は驚くべきものである。
【0174】
発明者らはまた、「従来の」グラフポリトープにおけるシュタイナーツリーのサブツアー不等式についてのEPR及びCDメトリック、並びにハイパーグラフポリトープにおけるシュタイナーツリーのサブツアー不等式についてのEPRメトリックを(閉形式で)評価した。得られるメトリックは、関数f(n,m,p,q)であり、式中、nは、グラフ/ハイパーグラフ内の端末の数であり、mは、グラフ/ハイパーグラフ内のシュタイナー頂点の数であり、pは、サブツアー内の端末の数であり、qは、サブツアー内のシュタイナー頂点の数である。四次元ドメイン上に任意の関数をプロットすることは困難であることに留意されたい。しかしながら、そのような五次元プロットを二次元に投影するために、いくつかの創造的な方式が使用されている。得られた曲線は、ハイパーグラフポリトープSTHGP(n)のスパニングツリーのサブツリーのものと著しく類似している。端末とシュタイナー頂点との間の差は、小さいグラフ/ハイパーグラフ(少ない頂点を有するもの)で識別することができるが、これらの差は、より大きいグラフ/ハイパーグラフ(多くの頂点を有する)では漸近的に重要ではない。発明者らは、ハイパーグラフ問題におけるシュタイナーツリーを解くように修正されたGeoSteinerの実験実施形態を使用して計算実験を実行した(したがって、グラフインスタンスにおける従来のシュタイナーツリーを解くために使用することもできる)。ORライブラリからのB、C、D、及びEインスタンス(グラフにおけるシュタイナー問題)に関する計算試験は、違反したサブツアー不等式を強化するために拡張を使用する前/後に、同様のスピードアップ(ハイパーグラフ問題におけるスパニングツリーのために本明細書に列挙されるものと同様のスピードアップ)を示す。この実験コードは、分岐及びカットを呼び出す前にこれらのインスタンスに対して低減を実行しないため、これらの実験の解時間は最先端のものと競合しなかったので、これらの計算実験の経験的詳細を省略する。これは、実際の計算強度を定量的にモデル化し、かつ予測するためのEPR及びCDメトリックの能力が、他のポリトープ/不等式の組み合わせにうまく変換されることを実証する。
【0175】
発明者らの1つの結論は、EPR及びCD強度メトリックが、少なくともSTHGP(n)に関して、実際の計算強度に関して信じられないほどの予測力を有するということである。不等式の強度を正確に測定する能力は、理論的にも実践的にも非常に重要な多くの応用がある。
【0176】
発明者らは、所与のポリトープに対する不等式の相対強度の定量的尺度を提供する、いくつかの測定基準を検討した。これらのメトリックは、以下の関数mである:(H,P)→R+、式中、Hは、所与の線形不等式に対応する超平面であり、Pは、ポリトープである。XをポリトープPの全ての極値点のセットとする。極値点比(EPR)メトリックは|H∩X|/|X|であり、大きい比率はより強い不等式を示す。重心距離(CD)メトリックは、重心C=(1/|X|)Σx∈XxとHとの間の距離を測定し、より短い距離についてのHは、より強い不等式を示す。(メトリックCDには2つのバージョンがある:「弱い」CDは、完全にPのアフィン包内に存在する線に沿った距離を測定する。「強い」CDは、完全にP内に存在する線に沿った距離を測定する。)
【0177】
ハイパーグラフポリトープ(STHGP)のスパニングツリーのサブツアー不等式に適用されるEPR及びCDメトリックの両方について、閉形式が取得された。2021年9月17日に出願された発明者らの米国仮特許出願第63/245,326号、及び2021年7月23日に出願された第63/225,111号(その各々はその全体が参照により本明細書に組み込まれる)に記載されているのを参照のこと。
図12Aは、n=1000でのEPRメトリックのプロットを提示する(最小の破線の最下部の曲線)。
図12Bは、n=1000(最小の破線の最上部の曲線)のCDメトリックのプロットを提示する。小さい濃度のサブツアーは計算上非常に強力であることが知られており、両方のメトリックがこれを確認している。しかしながら、どちらのメトリックも、大きい濃度のサブツアー(すなわち、全ての頂点の大部分を含む)が小さい濃度のサブツアーよりも更に強いことに合意している。これは、各曲線の右半分が左半分に反射された
図12A及び
図12Bに例示されている。小さい破線の曲線と大きい破線の曲線との間の垂直領域は、対応する小さいサブツアーよりも大きいサブツアーがどれくらい強いかを示す。この特性は、発明者らの著作のメトリックによって明らかにされるまで知られても疑われておらず、|S|が大きい場合、LPに違反したサブツアーSを追加することは、
図4のように、全てのサブツアー不等式を満たすために必要な最適化分離反復の数を低減することによって計算を大幅に高速化できることを示唆している。
【0178】
試験実行では、発明者らは、1998年以来、平面内の幾何学的シュタイナーツリーを解くために存在する最速のソフトウェアである、GeoSteinerソフトウェアパッケージ内でこれらの態様を計算上試験した。D.Juhl,D.M.Warme,P.Winter,and M.Zachariasen. The GeoSteiner Software Package for Computing Steiner Trees in the Plane: An Updated Computational Study. Math Programming Computation,10:487-532,2018;and David M.Warme. Spanning Trees in Hypergraphs with Applications to Steiner Trees. PhD thesis,Department of Computer Science,University of Virginia, Charlottesville,Virginia,1998を参照のこと。
【0179】
この例示的な考察では、発明者は以下の表記を定義する。本明細書に記載される機能を有する例示的な改良されたGeoSteinerソフトウェアパッケージの実施形態(試験GeoSteinerシステム又はGeoSteinerソフトウェアの試験バージョンとも呼ばれる)の主要なアルゴリズム位相を概説する。試験GeoSteinerシステム内で動作するアルゴリズム力は、比較的小さい濃度の違反したサブツアーSのみを効果的に求めるように説明されている。従来のGeoSteinerソフトウェアのサブツアー分離及び制約強化アルゴリズムに関して、試験GeoSteinerシステムで行われた変更について説明する。この実施形態におけるこれらの修正は、EPR及びCDメトリックの両方によって予測されるように、それらの優れた強度を利用するために、大きい濃度のサブツアーを意図的に標的とする。発明者らの知識には、これらのメトリックが提供する洞察を発明者が発見する前に、そのような修正の動機は存在しなかった。説明は、試験GeoSteinerシステムの計算結果を提示する。これらの結果は、D.Juhl,D.M.Warme,P.Winter,and M.Zachariasen.The GeoSteiner Software Package for Computing Steiner Trees in the Plane:An Updated Computational Study.Math Programming Computation,10:487-532,2018で以前に報告されたものよりも本当に驚くべき改善をもたらす。これは、少なくともSTHGPのサブツアーに関して、EPR及びCDメトリックが実際の計算強度を高度に予測するという説得力のある計算上の証明を提供する。発明者らはまた、これらの結果の様々な影響及び応用について考察する。これらのセクションにおける「我々(we)」への言及は、発明者らを指す。
【0180】
表記
Rを実数、Zを整数と定義する。ハイパーグラフH=(V,E)は、頂点の有限セットV、及びエッジのセットEからなる。各エッジe∈Eは、e⊆V及び|e|≧2を満たす。m=|E|かつx∈R
mとする。S⊆V及びT⊆V-Sについては、我々は以下のように定義する。
【数17】
これらのうちの第1のものは、xがサブセットS内に含む総「エッジマテリアル」を与える(すなわち、エッジeのk個の頂点を、S内のk-1個の従来のグラフエッジと同等であるものとしてカウントする。式中、k=|e∩S|)。これらのうちの第2のものは、エッジ交差カットの総重み(S:T)を与える。
【0181】
ハイパーグラフH=(V,E)及びx∈R|E|が与えられた場合、我々は、HのサポートハイパーグラフをハイパーグラフH’=(V,E’)と定義し、式中、E’={e∈E:xe>0}とする。
【0182】
例示的なGeoSteinerアルゴリズムの概要
試験GeoSteinerソフトウェアは、2つの主要な位相で幾何学的シュタイナーツリーを計算する。R2の端末の有限セットTが与えられた場合、「FST生成」位相は、完全なシュタイナーツリーの「十分な」セットFを計算する。完全シュタイナーツリーは、幾何学的に埋め込まれたツリーであり、その結果:(1)tは、いくつかのサブセットU⊆tを接続し、(2)|U|≧2であり、(3)tに現れる端末点は、全てtのリーフ(次数1)であり、(4)tの全ての非リーフ頂点(シュタイナー頂点)は、Tの内部ノード(次数>1)であり、(5)tは、局所的に最適である。セットFは、FSTのいくつかのサブセットF⊆Fの連結として最適なシュタイナーツリーが存在することを保証するという点で「十分」である。(Mに対する対応する「構造定理」に基づいて)サポートされる距離メトリックMごとに完全に異なるアルゴリズムが使用され、Tの全ての可能なサブセットU、及びU上の全ての可能なツリーのトポロジーを暗黙的に考慮し、最適以下又は冗長であることが証明され得る組み合わせのみを破棄する。これは、FSTの指数関数的に大きいセットを生じさせることができるが、ほとんどの点セットは、「全般的な位置に」、n個の所与の端末についてO(n)FSTのみを生じさせる。暗黙的に列挙された大きいスペースにもかかわらず、GeoSteinerのFST生成アルゴリズムは驚くほど効率的である。直線数のFSTをもたらす「挙動良好な」点セットについて、これらのアルゴリズムは、約O(n2.5)時間で経験的に実行される。この成功にもかかわらず、不良な挙動を引き起こす点セットがある。ユークリッド距離メトリックの場合、正規の整数グリッド上にある点は、指数関数的な数のFSTを生じさせる。E.J.Cockayne and D.E.Hewgill,“Improved computation of plane Steiner minimal trees,”Algorithmica,7:219-229,1992;and P.Winter and M.Zachariasen,“Euclidean Steiner minimum trees:an improved exact algorithm,”Networks,30:149-166,1997を参照のこと。直線メトリックについては、指数関数的な数のFSTをもたらす端末の既知の「フラクタル」パターンが存在する。U.Foβmeier and M.Kaufmann,“Solving rectilinear Steiner tree problems exactly in theory and practice,”Proceedings of the European Symposium on Algorithms,1997を参照のこと。
【0183】
第2の「FST連結」位相中に、端末点T及びFSTのセットFは、試験GeoSteinerシステムのステップ120に入力される。目標は、FST Yが、最小全長を有する全ての端末Tにまたがるツリーを形成するように、サブセットY⊆Fを識別することである。
【0184】
これら2つの位相の間には、選択肢の「FSTプルーニング」位相があり、FSTのセット全体に関するグローバル情報を使用して次のことを行う:(1)最適以下であることが証明され得るFSTを破棄し、(2)残りのFSTのいくつかを「必須」とマークし、すなわち、そのようなFSTは、任意の最適なシュタイナーツリーに存在しなければならない。FSTプルーニングは、その後のFST連結問題のサイズ及び難易度を大幅に低減することができる。
【0185】
試験GeoSteinerシステムは、その完全なシュタイナーツリー(FST)の「連結」位相を、エッジ重みの与えられたベクトルcを有するハイパーグラフH=(V,E)で最小のスパニングツリーを求めるという問題に低減する。ハイパーグラフは、V=Tを自明に設定することによって構築され、各FSTt⊆Fについて、対応するエッジe∈Eが存在し、その頂点は、tに現れる端末からなり、そのエッジ重みceは、適切な距離メトリックで測定されるような、tの幾何学的長さである。(エッジEは、端末のみを含み、FSTの内部シュタイナー頂点は、生じるハイパーグラフで抽象化される。)GeoSteinerは次に、分岐及びカットを使用して、次の整数プログラムを使用して、ハイパーグラフHで最小スパニングツリーを求める:
【0186】
最小化:
【数18】
以下に従う:
【数19】
方程式(3.2)は、ツリーを形成するために必要なエッジの適切な数及び濃度を必要とする。従来のグラフにおけるKruskalのMSTのアルゴリズムに類似して、(eがサイクルを形成しないときに)濃度k=|e|のエッジeを追加することは、k個の接続されたコンポーネントを1個の接続されたコンポーネントに置き換え、接続されたコンポーネントの数をk-1低減する。この方程式では、接続されたコンポーネントの総数が|V|-1低減する必要がある。制約(3.3)は、接続されたコンポーネントの数の減少に上限のみを置くことを除いて、頂点のサブセットS内で同様に動作するサブツアー不等式である。[6]で、この整数プログラムの整数実行可能な解は、Hの全てのスパニングツリーの生成ベクトルと同じであることが証明されている。この対応は、したがって、R
|E|の任意のベクトルであり得るcとは独立している。
【0187】
GeoSteinerシステムが小さい濃度サブツアーのみを求める試験
従来のGeoSteinerバージョン5.1以前のサブツアー不等式(3.3)を分離及び強化するために使用されるアルゴリズムは、ほとんどの場合、大きい濃度の違反したサブツアーS、すなわち頂点の大部分を含むサブツアーSを求めることができない。(サポートハイパーグラフが2つ以上の接続されたコンポーネントを含む特殊な場合が主な例外である。GeoSteinerは、各接続されたコンポーネントS⊂Vに対して、SとV-Sの両方のサブツアーを生成し、その一方のサブツアーはおそらく小さく、もう一方のサブツアーはおそらく大きい。)サブツアー不等式のGeoSteinerの主要な分離アルゴリズムは、David M.Warme,Spanning Trees in Hypergraphs with Applications to Steiner Trees,PhD thesis,Department of Computer Science,University of Virginia,Charlottesville,Virginia,1998に記載されている。エッジ重みxを有するサポートハイパーグラフH=(V,E)が与えられる場合、サブツアーSがxに最大限違反するようなS⊆Vを求める。これは、|V|+|E|+2個の頂点と|V|+|E|+Σe∈E|e|有向アークを有する非循環フローネットワークで、最大|V|-1の最大s-tフロー計算に低減される。
【0188】
GeoSteinerシステムによってサポートされる距離メトリックの全てについて、単一のFST内の端末の数が、全ての「挙動良好な」点セット(すなわち、「全般的な位置」)にわたって最大k(高い確率で)であるように、小さい固定整数k(例えば、k=15で通常は十分)が存在する。更に、前述のように、通常は|E|=O(|V|)がある。これは、フローネットワークが通常サイズO(n)であり、式中、n=|V|であることを意味する。
【0189】
フローの問題を解くことは、計算上高価であり得る。従来のGeoSteinerソフトウェアは、強力な多項式時間で実行される比較的単純なDinicアルゴリズムを使用している。上記の条件下では、O(n3)時間で実行される。これらのs-tフロー問題のn-1まで解かなければならないので、分離アルゴリズム全体が複雑性O(n4)を有している。このコストのかかるアルゴリズムを使用する場合、高価なフローセパレータができるだけ小さいインスタンスでのみ呼び出されることを保証するために、サポートハイパーグラフHに対して様々な低減を実行することが有利である。
【0190】
全てのv∈Vに対して、我々は以下のように定義する
b
v=x({v}:V-{v})。
【数20】
【0191】
我々は、b
vを頂点vの「輻輳レベル」と呼ぶ。S≧2の全てのS⊂Vに対して、我々は、f(S)=|S|-x(S)を定義するので、f(S)≦1は、対応するサブツアー不等式(3.3)が違反されていることを意味する。
以下の低減補題は、1998年のD Warme論文で証明された:
補題4.1 |U|≧2、かつv∈V-Uとなるように、x∈R
|E|,U⊂Vとする。
b
v≦1であり、かつ
【数21】
である場合、f(U)<1である。
【0192】
したがって、b
v≦1がそのような頂点が残らないまでサポートハイパーグラフから反復的に除去され得るような頂点v。オリジナルのハイパーグラフに違反したサブツアーが含まれている場合、低減されたハイパーグラフにも違反したサブツアーが含まれている必要がある。
補題4.2 H=(V,E)を、全てのe∈Eに対して重みx
eを有するハイパーグラフとする。
【数22】
を、Hのサポートハイパーグラフとする。
【数23】
の接続されたコンポーネントを、H
1=(V
1,E
1),H
2=(V
2,E
2),…,H
k=(V
k,E
k)とする。全ての1≦j≦kについて、S⊆V及びS
j=S∩V
jとする。f(S)<1の場合、f(S
j)<1となるようないくつかのjが存在する。
補題4.3 H=(V,E)を、全てのe∈Eに対して重みx
eを有するハイパーグラフとする。
【数24】
を、Hのサポートハイパーグラフとする。
【数25】
となるように、A、B、CをVの分割とし、E
A、E
Bを
【数26】
の分割とする。f(S)<1であるようなS⊂Vの場合、f(S∩(A∪C))<1又はf(S∩(B∪C))<1である。
【0193】
したがって、二重接続されたコンポーネントを独立して分離することで十分である。これらの3つの低減を再帰的に組み合わせて、オリジナルのサポートハイパーグラフよりも大幅に小さい分離サブ問題を生み出すことができる。n=|V|の典型的な幾何学的事例では、通常、最大0.35n個の頂点で分離問題が低減され、しばしばはるかに小さい。違反として識別されたサブセットS⊂Vは、これらの個々の低減された分離サブ問題のサブセットであるため、発見された違反したサブツアーSが最大0.35nの濃度を有する傾向があり、通常ははるかに小さいことは驚くべきことではない。
【0194】
フローベースセパレータがいくつかの違反したサブツアーSを発見すると、従来のGeoSteinerソフトウェアは、Sによって誘導されたサブハイパーグラフに補題4.1、4.2、及び4.3の低減を再帰的に適用して「制約強化」を実行し、違反の濃度を更に低減し、Sを(接続されたコンポーネントと二重接続されたコンポーネントを介して)いくつかのはるかに小さい(及び非常に強い)違反したサブツアーに分割する可能性がある。
【0195】
オリジナルの違反Sが約0.35nを超える濃度を有する場合、EPR及びCDメトリックは、少なくとも「最も弱いサブツアー」閾値が通過するまで、これらの濃度低減が実際に制約を弱めることを示す。この濃度閾値を超える違反Sから開始する場合、メトリックは、生じるサブツアー不等式を強化するために、Sの濃度を増やす必要があることを示す。GeoSteinerソフトウェアの従来のバージョンは、低減を通じてのみサブツアー違反を強化する。対照的に、発明者らによって本明細書に記載された試験Geosteinerシステムはまた、拡張を介してサブツアー違反を強化する。
【0196】
これが、従来のGeoSteinerソフトウェア(バージョン5.1以前)が、大きい濃度を有する違反したサブツアーSを事実上識別することができない理由である。これらのバージョンのGeoSteinerが違反した大きい濃度のサブツアーを生成するには、次のイベントが同時に発生する必要がある。
【0197】
初期の低減は、比較的効果がなく、Vの大部分を含む「低減された」分離サブ問題をもたらさなければならない。
【0198】
フローセパレータは、このサブ問題内の大きい濃度の違反Sを識別する必要がある。
【0199】
生じるSは、その後、フローセパレータから出現するサブツアーを「強化」するために適用される全ての低減をほとんど生き残らなければならない。
【0200】
このイベントの合流は、典型的にはGeoSteinerソフトウェアアプリケーション内で生じるが、加重ハイパーグラフの特定のより全般的なクラス内で発生する可能性がある幾何学的インスタンスにとって不可能であるように思われる。
【0201】
GeoSteinerの改善
次に、GeoSteinerバージョン5.1よりも改善された、試験GeoSteinerシステムに含まれるアルゴリズムの改善について説明する。(GeoSteinerバージョン5.0は、D.Juhl etl al.2018 articleに記載されており、バージョン5.1には、バージョン5.0で生成されたものよりも、これらの計算結果に影響を与えるものはほとんど含まれていないことに留意されたい。)
【0202】
新しい制約プールサイズ管理
従来のGeoSteinerバージョン5.1以前では、制約プールは許容できないほど大きくなる可能性がある。試験GeoSteinerシステムでは、発明者らは、制約プール内の制約のための非ゼロ係数の総数に対して(ユーザ調節可能な)ハード制限を設けた。これで、全てのアクティブな分岐及び限定ノード間の限定制約のセットがこの制限を超えなければならない場合にのみ、この制限を超える。
【0203】
この例において本明細書で使用される制約プールサイズ管理方法には、次の動作が含まれている:(1)プールに追加される制約のセットによって必要とされる行数と非ゼロ数を計算する。(2)新しい制約のためのスペースを作るために、現在の制約プールを低減する必要がある行の最小数と非ゼロを計算する。(3)プール内の既存の制約を、最大数の非ゼロから最小数の非ゼロまでソートする(アクティブな分岐及び限定ノードに限定されている制約は無視する)。(4)サイズ制限に達するまで(又は全ての破棄可能な制約が削除されるまで)、密度の高い制約を貪欲に削除する。(5)新しい制約をプールに追加する。
試験例では、これらの変更は、GeoSteinerの分岐及びカットアルゴリズムの全体的な実行時間にはほとんど測定可能な影響を与えないが、試験GeoSteinerシステムの制約プールのサイズのはるかに信頼性の高い上限を提供する。
【0204】
プール内の全ての制約を解くための方法
LP解xを与えられた場合、従来のGeoSteinerバージョン5.1以前は、xによって違反した全ての不等式についてプールをスキャンし、これらの不等式を全てLPに一度に追加する。このスキャンは、制約プール内の全ての不等式を満たすLP解xが取得されるまで(更新されたLPを再び解いた後)繰り返される。(LP目的が厳密に改善されている場合、コードはこのループ内のスラック制約も削除する。)このアルゴリズムは、おそらく冗長である多くの行を含む、多くの非常に高密度の行でLPタブローを埋めるという望ましくない副作用を有する。この効果は、ルートノードでの全てのサブツアー不等式、特に大きいランダム直線インスタンスを満たすために、多くの最適化/分離反復を必要とする問題で特に顕著である。
【0205】
この問題に対処するために、発明者らは、
図15に提供される例示的なコードに例示される「疎、直交、層化」(SOS)ヒューリスティックを試験GeoSteinerシステムに追加した。
【0206】
図15のコードに示すように、ソートステップは、ヒューリスティックに高密度の行よりも疎な行を優先させる。「If」ステートメントは、互いに直交する行を選択する(共通の非ゼロ列はない)。このスキャンをk回繰り返すと、そのような制約のいくつかの「ストラタ」が、プールにわたる各そのような反復中に選択される。したがって、疎、直交、層という名前になる。
【0207】
このヒューリスティックは、特に多くの最適化/別々の反復が必要とされる問題において、線形プログラム(LP)のサイズと密度を低減するのに合理的に効果的である。しかしながら、それは完全に効果的ではない。非常に大きく、長時間実行される問題では、(現在のノードの分岐制約と共に)最初の制約セットをやり直し、プール内の全ての制約が満たされるまでSOSヒューリスティックを再実行することによって、LPのサイズを大幅に低減することができることがわかる。しかしながら、この「再開」動作は、計算上非常に高価である。そのような「再開」をアルゴリズム的に利用するには、そのような「再開」動作をいつ起動するかを決定するためのいくつかのポリシーが必要であり、これにより、取得された疎なLPの利点は、通常、再開のコストを上回る。
【0208】
非常に大きい問題でLPを小さく保つのには合理的に効果的であるが、より小さい問題は、概して、プール内の全ての制約を満たすxを達成する前に、より多くの「SOS」パスを制約プール上で実行しなければならないため、解時間がわずかに増加する。我々は、小さいLPと大きい問題に対するより良い性能と引き換えに、この小さいペナルティを受け入れる。我々は、本コード変更に関する実行前後の詳細データは提供していない。
【0209】
相補的なサブツアー
大きい濃度サブツアーのより大きい「予測」強度を活用するために、次の操作を試した。いくつかのサブツアーSが制約プールに追加されるたびに、相補的なサブツアーV-Sを制約プールに追加する。|S|が小さい場合、|V-S|は大きくなる。サブツアーV-Sは、現在のLP解xによって違反され得ないが、それは、将来のLP解x’によって違反される可能性があり、その時点で、制約プールの次のスキャンは、それをLPに追加する。
【0210】
そのような「相補的な」サブツアーは、実際には時折問題に巻き込まれる(全てのSOSプールスキャンの5~25%には、試験で1つ以上のそのような相補的なサブツアーが含まれている)。しかし、これらは解時間に測定可能な影響を与えなかった。これらは大きい濃度のサブツアーであるが、インスタンスの「正しい」大きい濃度のサブツアーではないようである。
【0211】
拡張による制約強化
ここで、試験GeoSteinerシステムのコアアルゴリズムの変更について説明し、1998年のD.Warme論文以来のGeoSteinerにおける最も重要な性能の改善の1つをもたらす。この新しいアルゴリズムは、サブツアー不等式を強化するための追加の方法を提供する。
【0212】
S⊂Vを違反したサブツアーとする。GeoSteinerのSを強化するための既存の方法は、Sによって誘導されたサポートハイパーグラフに様々な「低減」を適用し、|S’|≦|S|のような違反S’をもたらす。新しい強化アルゴリズムは、既存の低減を「逆に」概念的に実行することによって機能する方法を使用して、追加の頂点でSを「拡張」することによって、大きい濃度のサブツアーを明示的に標的とする。
【0213】
単一の頂点拡張
これらの方法の第1のものは、補題4.1の「反復頂点除去」低減を逆転させる。
【0214】
定理5.1(単一の頂点拡張)S⊂V,t∈V-SかつS’=S∪{t}とする。x(S)>|S|-1かつx(S:{t})≧1の場合、x(S’)>|S’|-1である。
証明:
x(S’)=x(S∪{t})
=x(S)+x(S:{t})
≧x(S)+1
>(|S|-1)+1
=|S|
=|S’|-1
【0215】
これは、違反したサブツアーSが頂点tで拡張されて、より大きい濃度の違反した不等式S’を取得することができる条件を提供する。この拡張ステップは、それ以上有効な拡張が存在しないまで貪欲に反復される。アルゴリズムは、「フロンティア」頂点のセットFを含むヒープを維持する。
【0216】
F={v∈V-S:x(S:{v})>0}。
【0217】
ヒープは、最大のx(S:{v})を有する頂点vをヒープの上部に配置するように順序付けられる。アルゴリズムは、次の不変式を満たす2つの追加の配列、vweight及びvindex(頂点v∈Vによってインデックス付けされる)を含む。
【数27】
【0218】
貪欲アルゴリズムは、
図16の例示的なコードで提示されている。
図16の貪欲拡張アルゴリズムは、Sをv∈Vで拡張し、その結果、x(S:{v})≦1である(違反が完全に消えない限り)。我々は、そのような「違反を減らす」拡張を使用する代わりにアルゴリズムが停止すると仮定すると、拡張が実行される順序にかかわらず、アルゴリズムは常に同じ結果Sをもたらすと主張することができる。これらの条件下では、ヒープキーvweight[v]に対する全ての変更により、キーが単調に増加することに注意されたい。全てのv∈Fについて、vweight[v]が1以上になると、v上のこの条件は決して偽にならず、vによる拡張は最終的に起こる。拡張が実行される順序にかかわらず、任意の拡張の機会を「逃す」方法はない。したがって、純粋に貪欲なアルゴリズムは、常に同じ結果のSをもたらす(少なくとも任意の「違反を低減する」拡張が行われるまで)。「違反低減」拡張の有効なシーケンスごとに、生じるSは、他の拡張が行われる順序に関係なく同じである。制限を意図していない例示的な試験GeoSteinerシステムの1つの実装は、ここで提示されている厳密に貪欲なアルゴリズムであり、そのような「違反を低減する」拡張のシーケンスを最適化しようとする試みはない。
【0219】
相補的な接続されたコンポーネントによる拡張
次の方法は、補題4.3の「接続されたコンポーネント」の低減を逆にすることに類似している。
我々はまず、サブツアー不等式を記述す代替の方式を提供する補題を証明する。
補題5.2 (サブツアー不等式の代替形式)x∈R
mとし、その結果、
x(V)=|V|-1,S⊂V、その結果、|S|≧2かつH=V-Sとなる。次いで、
【数28】
となる。(5.1)
証明:我々は、x(V)=|V|-1を有する。
【数29】
この式から不等式x(s)≦|S|-1を引くと、x(S:H)+x(H)≧|H|となり、これはx(H)+x(H:V-H)≧|H|に等しい。
【0220】
我々は、(5.1)を「Hの穴の不等式」、又は「Hのアンチサブツアー不等式」と呼ぶ。Hの穴の不等式は、H内の全エッジマテリアルに下限を置き、Hから交差する。対照的に、Hのサブツアー不等式は、H内の全エッジマテリアルに上限を置く。ヒープの開始、heap.init(V,S,x)のサブルーチンを例示する
図17の例示的なコードを参照のこと。
定理5.3(相補的な接続されたコンポーネントを介した拡張)H=(V,E)をハイパーグラフ、x∈R
|E|とし、その結果、
x(V)=|V}-1、(5.2)
かつS⊂Vとなり、その結果、|S|≧2かつ、
x(S)>|S|-1となる。
【数30】
【数31】
の接続されたコンポーネントとする。次いで、H
i(1≦i≦k)の少なくとも1つは、違反した穴の不等式である。
証明:全ての穴の不等式H
iが満たされている、すなわち、全ての1≦i≦kについて、
x(H
i)+x(H
i:V-H
i)≧|H
i|となる。(5.3)
(H
i,E
i)は
【数32】
の接続されたコンポーネントであるため、任意の対H
i,H
j、i≠jの間でカットを交差するエッジ
【数33】
は存在しない。したがって、カット(H
i:V-H
i)を交差する全てのエッジは、カット(S:H
i)のみを交差する必要がある。式(5.2)から穴の不等式(5.3)を差し引くと、
【数34】
これは、所与の条件x(S)>|S|-1と矛盾する。したがって、全ての穴の不等式H
iが満たされているという仮定は誤りでなければならないので、穴の不等式H
iの少なくとも1つはxによって違反されなければならない。
【0221】
Hとxを定理5.3のようにして、IをHのサポートハイパーグラフとし、(V1,E1)、(V2,E2)、…、(Vk,Ek,)をIの接続されたコンポーネントとする。前述のように、1≦i≦kごとに、(Vi,Ei)内でサブツアー分離オラクルを独立して適用するだけで十分である。そのような違反したサブツアーをS⊆Viとし、定理5.3を介してSを強化することを検討する。定理5.3の直接適用は、V-Sによって誘導されたIのサブハイパーグラフJ、及びJの全ての接続されたコンポーネントの対応するセットKを考慮する。全ての1≦j≦k、j≠iについて、(Vj,Ej)がKのメンバーであることがわかる。したがって、これらのVjの各々は、Viの新しい違反したサブツアーが定理5.3を介して発見され強化されるたびに、潜在的に違反したホール不等式として再考される。これは、計算作業の無駄な繰り返しである。当業者は、代わりに、Vi-Sによって誘導された(Vi,Ei)のサブハイパーグラフL、及びLの全ての接続されたコンポーネントの対応するセットMを考慮するだけで十分であることに気づくであろう。これは定理5.3の保証(これらの接続されたコンポーネントの少なくとも1つが違反した穴の不等式を表す)を失うが、この保証は、各(Vi,Ei)、1≦i≦kを独立して分離及び強化する結合にわたって回復される。これにより、補題5.3を介した強化中のこのような作業の重複が全て排除される。
【0222】
図18は、一実施形態による違反した穴の不等式を有する相補的な二重接続されたコンポーネントを介した拡張の例示を示す。
図18は、V-Sの接続されたコンポーネントH
iを示す(定理証明5.4)。
【0223】
定義:ハイパーグラフは、接続されている場合は二重接続され、あらゆる単一の頂点を除去した後もそのままである。
【0224】
定義:関節屈曲頂点tは、その除去がグラフを2つ以上の接続されたコンポーネントに分割する、接続されたグラフの頂点である。接続されたグラフでは、その二重接続されたコンポーネントの間の限定を形成するのは、関節屈曲頂点である。
【0225】
定理5.4(相補的な二重接続されたコンポーネントを介した拡張)
H=(V,E)をハイパーグラフ、x∈R|E|とし、その結果、
x(V)=|V|-1、
かつS⊂Vであり、その結果、|S|≧2かつ、
x(S)>|S|-1であり、
全てのu∈V-Sに対してx(S:{u})<1である。
【0226】
KをV-Sによって誘導されたHのサポートサブハイパーグラフとする。H
iが違反された穴の不等式であるように(
図11Aに示すように)(H
i,E
i)をKの接続されたコンポーネントとする:
x(H
i)+x(H
i:V-H
i)<|H
i|(5.6)
(定理5.3では、少なくとも1つのそのような接続されたコンポーネントが存在する必要がある。)
【数35】
を(H
i,E
i)の二重接続されたコンポーネントとする。
次いで、穴の不等式のうちの少なくとも1つが
【数36】
違反されなければならない。
【0227】
証明:(H
i,E
i)が関節屈曲点を有しない場合、それは二重接続されており、(H
i,E
i)は唯一の二重接続されたコンポーネントである。与えられたように、H
iはすでに違反した穴の不等式である。
それ以外の場合、(H
i,E
i)は、少なくとも1つの関節屈曲頂点を有する。tを(H
i,E
i)の任意の関節屈曲頂点とする。r≧2は、tの除去時に(H
i,E
i)が分割する接続されたコンポーネントの数であり、1≦k≦rの場合、P
kはk番目の接続されたコンポーネントの頂点セットであるとする。1≦k≦rの場合、Q
k=P
k∪{t}とする。全ての穴の不等式Q
kが満たされていると仮定する、例えば、
全て1≦k≦rの場合、x(Q
k)+x(Q
k:V-Q
k)≧|Q
k|である。
次のような矛盾が生じる。任意の1≦i<j≦rについて、P
iからP
jに交差するエッジがないことに留意されたい。任意のエッジ交差カット(P
k:V-P
k)は、(P
k:{t})、(P
k:S)、又はその両方のみを交差させることができる。その状況が
図18に例示されている。定義
【数37】
次いで、
【数38】
【0228】
ここで、満たされた穴の不等式Q
kの全てを合計する。
【数39】
Θ<0かつr≧2であるため、これはx(S:{t})>1であることを意味する。全てのu∈V-Sに対してx(s:{u})<1が与えられる。これはu=tと矛盾している。したがって、違反した穴の不等式である少なくとも1つのQ
k(1≦k≦r)が存在しなければならない。
どの関節屈曲点tを選択するかは指定しなかったので、(H
i,E
i)の全ての関節屈曲点tに対して上記の引数を繰り返すことができる。
これらの関節屈曲点は、(H
i,E
i)を二重接続されたコンポーネント
【数40】
に分割する。
したがって、
【数41】
のうちの少なくとも1つは、違反した穴の不等式でなければならない。
【0229】
全般的な拡張
次の方法は、残りの頂点のいくつかの全般的なサブセットUによる拡張であり、証明なしで述べられた定理である。
【0230】
定理5.5(全般的な拡張)
H=(V,E)をハイパーグラフ、x∈R|E|とし、その結果、x(V)=|V|-1、S⊂Vとなり、その結果、|S|≧2かつx(S)>|S|-1、かつU⊆V-Sとなり、その結果、
x(U)+x(S:U)≧|U|となる。
次いで、
x(S∩U)>|S∩U|-1となる。
【0231】
当業者は、全般的な拡張方法を具体化するための多くの方法を想定することができる。一実施形態において、小さい濃度のサブセットUが列挙され、正しい特性を有するUを探す。他の実施形態では、この特性を有するサブセットUは、処理されている接続されたコンポーネント又は二重接続されたコンポーネントの頂点セットとして発見される。多数の他の実施形態が可能である。
【0232】
当業者は、ハイパーグラフ問題におけるシュタイナーツリーの対応する事例に対して、上記の証明を適合させ、拡張することができるはずである。GeoSteiner内の我々の改良された制約強化実装は、1998 D.Warme論文で記述された決定論的フロー分離アルゴリズムによって生成された全ての違反サブツアーSを処理する。まず、既存の「低減による強化」方法を適用する。次に、本明細書に記載の新しい「拡張による強化」方法を適用する。所与の違反したサブツアーSに対して、それは最初に貪欲拡張アルゴリズムを適用し、拡張された違反S’をもたらす。次に、V-S’の接続されたコンポーネント及び二重接続されたコンポーネントを計算する。次に、各二重接続されたコンポーネントU
i⊂Vを試験し、各違反した穴の不等式を生成する。(様々な実施形態は、これらのステップを様々な順序で適用又は繰り返してもよい。)同等のサブツアーV-U
iは、両方とも違反されており、EPRとCDの強度メトリックの両方が非常に強いと予測する大きい濃度がある。
図18(定理5.4の証明)を参照のこと。これらは現在のLP解xによって違反しているため、解かれている問題にも非常に関連し、(相補的なサブツアーとは異なり)これは、現在のLP解xに違反することはほとんどなく、将来のLP解x’によって「偶然に」違反されるだけである)。
【0233】
この拡張は計算上非常に成功しているため、試験セット内の全ての問題がルートノードでサブツアー制約の全てを迅速に収束させることになる。これらの問題の各々には、最大150回の最適化/別個の反復が必要であった。必要な反復が非常に少ないため、無駄又は冗長な制約がLP内に蓄積される機会はほとんどない。LPは、概して、より強い制約(より疎である)を含むので、LPA行列は、はるかに小さいままであり、LPは、はるかに速く解き、解ベクトルxは、数値的にははるかにクリーンである。よりクリーンなxは、低減をはるかに効果的なままにし、高価なフローセパレータに提示されるインスタンスのサイズを縮小する。これらの効果は、分離アルゴリズムの全体的なコストを大幅に低減する。生成された違反したサブツアーの組み合わせにいくつかの新しい、より強い制約を追加するだけで、全体として分岐及びカットアルゴリズム内に非常に多くの好ましいフィードバックサイクルが生成されることは重要である。
【0234】
本明細書で報告された計算試験結果を取得するために使用される新しいGeoSteinerパッケージ(拡張を実行するように修正された)は、LPソリューションxがk個の接続されたコンポーネントを有するハイパーグラフを示し、ここで、k>1であるとき、定理5.3の直接適用(相補的な接続されたコンポーネントを介した拡張)によって作成される労力の重複を回避するために上述の洞察を使用しなかった。代わりに、実装は、ハッシュテーブル及び他のデータ構造を使用して、それらが再発見されるたびに、これらの重複を動的に排除した。
【0235】
この新しいサブツアー拡張法の最終的な結果は、ルートノードでのサブツアー緩和の収束は、もはや我々の試験GeoSteinerシステムの多くの試験インスタンスのいずれにおいても問題ではないということである。(局所的な低減の収束は、限られたケースでは潜在的に問題になる可能性があるが、これは実際にはまれである。)分岐は、問題が非常に長くかかる可能性がある残りの主要な問題であり、一例では、必要な全てのノードが列挙されるのを待つのではなく、計算を放棄することを選択する。
【0236】
疑似コストを介した分岐変数の選択
GeoSteinerバージョン5.1以前で(デフォルトで)使用されている分岐変数選択アルゴリズムは、最大数十個の分岐及び限定ノードを必要とする問題に役立つが、より多くの分岐が必要な場合は絶望的に非効率になる。アルゴリズムがヒューリスティックにソートされた順序に配置する分数変数のリストをFとする。次に、
の場合に、Fの最初のk個のメンバーに対して「強い分岐」(実際には両方の分岐のLPを解く)を実行する。最小の「ダウン分岐」対「アップ分岐」目標が最大化された変数を選択する。「ダウン分岐」及び「アップ分岐」LPを解くとき、コードはまた、生じる各LP解についての原始的な上限ヒューリスティックを呼び出す。(この原始的なヒューリスティックは、特に非常に大きい問題では、各分岐のLPを解くよりもはるかにコストがかかることが判明した。)デフォルトのアルゴリズムは、1つ以上の分岐が実行不可能なLP又はカットオフをもたらす任意の変数で即座に停止する。これにより、変数は分岐せずに固定されるが、同じ変数選択プロセスは通常、最初からやり直して、以前と同じ順序で同じ変数を試験する。このアルゴリズムは、例えば、4000点を超えるランダム直線インスタンス上で、かなりの量のCPU時間を無駄にし、15,000~40,000点では完全に耐え難くなる。
【0237】
この非効率性を軽減するために、試験GeoSteinerシステムに、擬似コストを使用して分岐変数を選択する新しい分岐変数選択アルゴリズムを実装した。xがLP解であり、z=cxがその最適な目的値であり、e∈Eが、x
eが分数(0<x
e<1)であるようにする。我々は以下のように定義する
【数42】
式中、z
e
0は、分岐条件x
e=0が課されたLP目標値であり、z
e
1は、分岐条件x
e=1が課されたLP目標値である。我々は、c
e
0を「x
eの下向き擬似コスト」と呼び、c
e
1を「x
eの上向き擬似コスト」と呼ぶ。「擬似コストを使用して、良好な分岐変数x
eは以下を使用して選択することができる
【数43】
式中、
【数44】
疑似コストが常に正確である場合、これは各ノードでの「完全な」強力な分岐に類似している。
【0238】
1つの分数変数の擬似コストを計算することは、2つのLPの解を必要とし、やや高価である。全ての分数変数についてそれらを計算することは、正確性を保証するが、非常に高価である。
【0239】
擬似コストは、概して、分岐及び限定プロセス中にかなり安定したままであることが観察されている。この特性は、合理的に低い償却コストで非常に良い分岐変数を選択するために利用され得る。
【0240】
一例では、擬似コストの単一のグローバル配列(e∈Eでインデックスされ、最初は未定義)を持つ単純な方法を試した。ここで、擬似コストは必要に応じて計算され、この配列にキャッシュされる。ルートノードでは、これは、擬似コストが全ての分数変数に対して計算されることを意味する。この方法は、数千以下のノードを必要とする問題では非常にうまく機能するが、キャッシュされた擬似コストがノード固有の真の値から逸脱するため、より大きい分岐及び限定ツリーでは徐々に悪化する。
●改良された疑似コスト法では、次のようになる。
●擬似コストは、分岐結合ノードごとに記憶され、
●子ノードは、その親から擬似コストを継承し、
●擬似コストは、分岐及び限定中により正確に維持されるように、時折再計算される。
【0241】
残念ながら、どの疑似コストが親ノードから子ノードに変更されるかはわからない(全てを再計算しない限り)。代わりに、ヒューリスティックを使用して、各ノードで「いくつかの」疑似コストを再計算し、疑似コスト精度(及び分岐変数品質)と計算コストのバランスをとろうとする。
【0242】
我々のヒューリスティックは、
図19に示す例示的なコードで提示されている。擬似コストが計算されるエッジのセットL⊆Eは、以下を構成して計算される
●U:定義されていない疑似コストを有するエッジ;
●O:k最古の疑似コスト;及び
●S:残りの分数変数の「層別ランダムサンプル」。このサンプルの開始オフセットは、実際にはランダムではなく、このノードに課されたルートノードまでの全ての分岐条件のハッシュから計算される。
【0243】
原始ヒューリスティックは、最終的に選択された分岐変数の子に対してのみ呼び出される。
【0244】
この例では、分岐変数を選択する方法が使用され、これは概して、従来のGeoSteinerソフトウェアの現在のデフォルト分岐変数選択方法よりも優れた性能を発揮する。ルートノードの全ての分数変数の擬似コストを評価するため、この新しいメソッドは概して、GeoSteinerのデフォルトメソッドよりも少し遅く、小さい分岐及び限定ツリーを持つ問題がある場合がある。しかしながら、中規模から大規模の分岐及び限定したツリーを持つ問題に対しては、実質的に優れた性能を発揮する。
【0245】
計算結果
以前のバージョンのGeoSteinerソフトウェアの結果は、D.Juhl et.al.2018から逐語的にとられる。
図21A~
図21Fの「オリジナル」の結果は、256GBのメモリ及び4つのAMD Opteron6380CPUを備えたHPProLiant BL685c第7世代サーバを共有し、各々が2.5GHzのベースクロックレートで動作する16個のコアを有する12の準仮想化ゲストで取得されたことに留意されたい。ホストがOpenSuse12.3を実行している間、12のゲストはDebian7.4.0の64ビットバージョンを実行していた。ソースコードは、最適化フラグ-O2を持つDebian用のGNU C4.4.508でコンパイルされた。
【0246】
図21A~
図21Fにおける新しい計算「New」は、以下の構成要素で構築されたコンピュータ上で実行された:
●CPU:AMD Ryzen Threadripper 2950X(16コア、ベースクロック3.5GHz最大ブーストクロック4.4GHz、40MBコンバインドキャッシュ)
●メモリ:128GB DDR4 3200MHz(ECC搭載)
●マザーボード:Asus ROG Strix X399-Eゲーミング
【0247】
オペレーティングシステムは、CentOS7.7.1908の64ビットバージョンである。ソースコードは、最適化フラグ-O2を使用してRed Hat GCC4.8.5-39を使用してコンパイルされた。
【0248】
CPLEXバージョン12.5.1は、両方の実験セットアップにおいてLPソルバーとして使用された。GeoSteinerは独自のネイティブ分岐及びカットフレームワークを実装しているため、CPLEXをLPソルバーとしてのみ使用し、通常、全てのCPLEX LPソルバーのアルゴリズムパラメーターにデフォルト設定を使用する。FST生成及びプルーニングコードは変更されていないが、これらのステップの実行時間は、新しい高速マシンで再実行されたために変更された。連結コードのみが変更されているため、これらの結果に最も関心があるのは連結時間の変更である。
【0249】
大きいランダムに生成されたインスタンスについては、次の点に注意されたい。
1. D.Juhl et al.2018の記事では、全てのインスタンスが50,000点(15のうち8)と100,000点(15のうち3)で解かれない。
2. 計算時間が長いため、サイズ250,000、500,000、及び1,000,000点のユークリッドインスタンス、及びサイズ15,000から40,000点の直線インスタンスについては、インスタンス1(15のうち)の解のみを試みた。(これが、標準偏差がゼロである理由である。)
【0250】
これらの大きいランダムインスタンスで試みられた全ての計算は、最適な解をもたらしたことに注意されたい。これは、ユークリッドメトリックと直線メトリックの両方で解可能なランダムインスタンスのサイズの約1桁の改善を表す。
【0251】
考察
ここで、上記に関する様々な観察と影響について考察する。
【0252】
大きいサブツアーが非常に効果的な理由
小さい、及び大きい濃度のサブツアーを使用した際に達成された驚異的なアルゴリズムの成功は、直感的な説明を求めている。小さい濃度の違反したサブツアーS及び小さい濃度の違反した穴H(大きい濃度のサブツアーV~Hに相当する)を有するインスタンス2000を示す、
図20にグラフィカルに例示される状況を考慮する。サブセットSにはエッジマテリアルが多すぎるが、サブセットH(及び対応するカット)にはエッジマテリアルが不足している。便宜上、両方の違反の規模が比較的大きいと仮定する。小さい濃度のサブツアーを生成すると、過剰な領域からエッジマテリアルが「プッシュ」される。便利な例えは、ボールを製造しながら、粘土が多すぎる領域から粘土を押し出すことである。ある領域が過剰であると識別されるたびに、過剰な材料を他の場所に移動させることを必要とする新しい制約が生成される。そのような「プッシュ」操作のみを使用するように制限するとする。HはオリジナルのSからかなり遠い距離にあり、目的関数は押された材料が入るための多くの介在する「地形的隆起と谷」を提供するため、十分なエッジ材料が最終的にSから十分に遠く離れて移動する前に(及び介在する目的関数の隆起と谷)、最終的にHに到達し、その欠陥を満たし始めるために、多数のそのような「プッシュ」が必要になる可能性があることが容易にわかる。材料が外側に押し出されると、より広く、より拡散した領域に広がり、新しい違反はより大きく、より弱いサブツアーで構成され、より広い領域に材料を分散させ続け、Hでの不足を満たすのに十分な材料の到着を更に遅らせる可能性がある。
【0253】
次に、サブツアーSとホールHの両方を同時に生成する場合(大きい濃度サブツアーV-Hに相当)を検討する。Sからの「プッシュ」とHからの「プル」は、Sでの過剰とHでの赤字の両方を即座に固定する。更に、式(3.2)によって提供される「エッジ材料の保存」のために、Sでの過剰は、むしろHでの赤字を直接「供給」する。問題の残りの部分は、Sの過剰とHの赤字の差を競い合って、それ自体できれいに立っている。
【0254】
これは、小さい濃度サブツアーのローカルな「プッシュ」と大きい濃度サブツアーのローカルな「プル」を組み合わせた場合に達成される収束効率の直感的な説明である。これらの制約の両方は非常に強く、それらの間の目的関数「尾根と谷」との不必要な相互作用を回避しながら、残りの実現可能な空間を大幅に減少させる(その補正は、概して、より弱く、より密度の高いサブツアーを誘導する)。
【0255】
分離オラクルの有効性
我々は、違反した不等式が生成される特定の選択が性能を何桁も変化させる可能性があることを示す多くの計算経験を持っている。Grotschel、Lovasz、Schrijverの画期的な結果を検討する。(1)不等式クラスは有限であり、(2)違反が存在する場合、分離オラクルは少なくとも1つの違反した不等式を求めることが保証され、次いで、楕円体アルゴリズムは、分離オラクルへのO(d2log(R/r))呼び出しを使用して終了し、dは、空間の次元性であり、Rは、ポリトープPを完全に含むボールの半径であり、rは、ポリトープP内に完全に含まれるボールの半径である。M.Grotschel,L.Lovasz,and A.Schrijver,The ellipsoid method and its consequences in combinatorial optimization,Combinatorica,1(2):169-197,1981を参照のこと。
【0256】
比較すると、単純アルゴリズムを使用して現在の制約セットを最適化する類似ループの反復回数の限界に関してはほとんど知られていない。連続するLP解xのシーケンスは、楕円体アルゴリズムにおける連続する楕円体の中心点とはまったく関係がなく、連続する楕円体の体積が減少しなければならない対応する定数係数も存在しない。2つのアルゴリズムがどれほど似ていても、楕円体アルゴリズムの反復がどれほど理論的に魅力的であっても、連続するLP解を分離する「より実用的に使用される」ループによって必要とされる反復の数の良い上限は知られていない。
【0257】
(本明細書に記載されるものを含む)計算の経験は、「弱い」違反した不等式よりも「強い」違反した不等式を選択する分離オラクルを使用すると、不等式のクラス全体を満たすために必要な反復の数が大幅に減少する可能性があることを明確に示す。対照的に、不等式を賢明に選択する分離オラクル(存在する場合、「強い」違反した不等式を求めることができない)は、壊滅的な計算結果をもたらす可能性があり、計算が放棄されるか、分岐を呼び出すために何らかの「テーリングオフ」決定がなされるかのいずれかで、実際に収束するのに時間がかかる。
【0258】
いくつかのクラスの不等式がファセット定義であることを証明することは、急速な収束の保証を提供しないことに留意されたい。本明細書に記載のメトリックは、非常に高いレベルの対称性を有するポリトープであっても、そのようなファセットクラス内で強度が大きく異なることを実証する。実際の計算のための分離アルゴリズムを設計する際には、「そのようなクラスで違反した不等式は十分である」という態度は積極的に破棄されるべきである。
【0259】
過去には、分離アルゴリズムが迅速に収束するように「チューニング」することは、通常、せいぜいコツであり、より多くの場合、「試行錯誤」のプロセスであった。我々は、強度メトリック(EPR及びCDなど)が分離及び制約強化アルゴリズムの設計を導き、高性能で急速に収束する分離アルゴリズムを得るためのより原則的で経験的に基づくアプローチをもたらすことを提案する。
【0260】
バイアスをもたらす一般的なアルゴリズムパターン
ここで、組み合わせ的に大きいクラスの不等式を分離するほとんど全てのアルゴリズムに共通するパターンがある。
●基礎となる分離アルゴリズムf(x)は、計算コストが高い。
●これを軽減するには、まず低減を適用する。
●f(x)を、より小さい低減されたサブ問題に適用する。
●生じる違反した不等式は、不等式クラスの一部分内にクラスタリングされる。
【0261】
これらは、多くの組み合わせ最適化問題で一般的に発生するテーマである。このパターンは、不等式空間の大部分を体系的に回避する「アルゴリズムバイアス」の形態をもたらす可能性がある。(このより技術的な形式のアルゴリズムバイアスは、機械学習コミュニティ内で重く考察されている「社会的」タイプのアルゴリズムバイアスと混同されるべきではない。)STHGPサブツアーの現在の例は、(少なくともいくつかの問題について)、これがクラス内の非常に強い、又は最も強い不等式からアルゴリズムを偏らせる可能性があることを示している。このバイアスを修正することで、GeoSteinerの性能が大幅に向上する。
【0262】
これは、特定のポリトープ/不平等クラスのこのような強度メトリックを計算するための更に別のインセンティブを提供する。このアルゴリズムバイアスが、非常に強い不平等を含む不平等空間の領域を体系的に回避する場合、そうでなければ見逃されるであろうこれらの強い不平等を具体的に標的にする方法を考案することができる。
【0263】
将来の研究と更なる応用
問題固有の動態
STHGPでは、全ての強力な不等式を意図的に同時に標的にすることで、サブツアーのクラスにわたる収束率が驚くほど向上することがわかる。この急速な収束は、強力な制約が部分的にのみカバーされている場合には表示されない直感的で非常に問題固有の動的(上記のように)に関連付けられている(例えば、小さい濃度のサブツアーのみ)。我々は以下のように推測する:
●強い不等式を含む全ての領域が、他の問題に対する「メトリックに基づいた」分離アルゴリズムによって意図的に、効果的に、同時にカバーされると、同様のスピードアップが発生する。
●このスピードアップに関連する問題固有の動態が現れる。
●不等式クラスに強い不等式を含むk≧2の不連続領域があるとする。これらのk領域のより大きいスーパーセットを同時にカバーすることは、収束速度の有意で測定可能な改善をもたらす。
●新たな問題固有の動態は、カバーされたk領域の各大きいスーパーセットで生じ得る。
【0264】
反復限定
我々は以前に、楕円体アルゴリズムによってもたらされた優れた反復限定を想起し、「より実用的な」単体/別個のループに関連付けられた反復限定についてほとんど知られていないことを解明した。所与のポリトープ及び不等式のクラスについて、EPR及びCDメトリックと同様の組み合わせ特性及び/又は幾何学的特性を使用して、「より実用的な」単体/別個のループによって必要とされる反復の数のより良い上限を得るかどうかを検討する。これらの限定は、(メトリックによって推定されるように)すでに生成された不等式の「強度」の関数であり得る。例えば、反復上限は、クラスからより強力な不等式が生成されるにつれて小さくなる。おそらく、興味深い限定を得るために、楕円体積を減少させる代わりに、実現可能な体積を縮小すること及び/又は実現可能な極値点を減少させることを使用することができる。いくつかの牽引はまた、いくつかの目的cを仮定し、該ポリトープ及び/又は不等式クラスに関連付けられたcの周りの最適方向の円錐を考慮することによって得られてもよい。
【0265】
結論
指数関数的な時間複雑性を有する任意の問題について、係数2によって実質的に解くことができるインスタンスのサイズを増加させることは、劇的な進歩である。しかし、10倍の改善は本当に驚くべきことである。この改善は、新しいクラスのカットを導入することによって得られたのではなく、既存の指数関数的に大きいクラスのカットに対する収束率を改善することによって得られた。
【0266】
この性能の向上をもたらしたコードの変更は、(EPR及びCDメトリックによって予測されるように)STHGP(n)の特性によって動機づけられたものであり、大きい濃度のサブツアーは、小さい濃度のサブツアーよりも更に強い。STHGP(n)のこの特性は、これらのメトリックによって明確に明らかになるまで知られておらず、疑われてもいなかった。実際の計算強度の強力な予測因子としてのこれらのメトリックの正確性は、経験的で原則的な様式で急速に収束する分離アルゴリズムを得るためのそれらの有用性と同様に、今や明確に確認されている。
【0267】
更なる用途
グラフエンジン102(及びそのコンポーネント105、110、115、120、125のいずれか)又はモデル化ツール130を含む電子設計システム100は、いくつかのアプリケーションで使用することができる。端末データセット107は、いくつかの異なるアプリケーション及びモデルにおけるデータのための端末を表す入力とすることができる。同様に、ハイパーグラフエンジン103(及びそのコンポーネント120、125のいずれか)又はモデル化ツール130を含む電子設計システム101は、いくつかのアプリケーションで使用され得る。エッジ加重ハイパーグラフデータ117は、いくつかの異なるアプリケーション及びモデルにおけるデータのための端末を表す入力とすることができる。
【0268】
VLSI回路の設計及び配置
電子チップ上の信号は、通常、アルミニウムなどの金属で作られたワイヤで接続されている。これらの信号の速度は、光の速度によって上限があり、更にRLC及び伝送線の効果によって制限される。処理速度は、信号伝播遅延を最小限に抑えることによって最大化され、そのために配線長は適度に良好なプロキシである。製造上の問題により、これらのワイヤを、水平ワイヤを有するものと垂直ワイヤを有するものとの間で交互に配置する層に配線することが便利になり、ビアが層間の接続性を提供する。したがって、直線シュタイナーツリーは、単一の回路網の長さを最小化するための良好なモデルである。これらは、最初に候補直線完全なシュタイナーツリー(FST)を生成し、次にハイパーグラフ問題の最小スパニングツリー(MST)に低減することによってFSTを連結することによって計算することができ、その整数プログラムとしての定式化は本特許の文脈にある。配線は多くの場合、明確に定義された配線チャネルに限定されなければならないため、障害物回避直線シュタイナーツリーは、この場合、短い相互接続を得るための良好なモデルを提供する。1つは、最初に障害物回避直線完全なシュタイナーツリー(FST)を生成し、次にハイパーグラフ問題におけるシュタイナーツリーに低減することによってこれらのFSTを連結し、その整数プログラムとしての「無向」定式化も本特許の範囲内にある。これらの方法又は他の方法によって取得されたツリーが実行不可能である場合(ルーティング輻輳、障害物違反、又は他の問題のため)、シュタイナーツリー(例えば、これらの要因を無視する)は、他の方法が実現可能なツリーを取得するために変更する初期解として、又は手動ルート編集のための「ヒント」又は「提案」として使用することができる。
【0269】
一例では、2000~8000点を有する端末データは、同じ又は異なるプレーン上の半導体領域の一部を含む半導体チップレイアウト上で、又は半導体ダイ上のコンポーネント間、又はパッケージ内のダイ間の相互接続を有する半導体チップレイアウト上で使用することができる。
【0270】
ネットワーク資本拡大の計画
米国では、天然ガス供給ラインを敷地内に設置したいと考えている全ての顧客にサービスを提供することが法的に義務付けられていない天然ガス公益事業会社を検討する。以下を与えられる:(1)既存の物理的なパイプのネットワーク、(2)建設可能な拡張パイプのコスト、容量、ルート、(3)潜在的な顧客サイトごとの推定ガス需要と収益、及び(4)一連の設備投資予算b1<b2<b3<...<bk。予算bjごとに、接続されている顧客サイトからの最大収益を取得する、設置コストが最大bjの拡張パイプの実現可能なセットを計算する。これは、グラフにおける賞金収集シュタイナーツリーとしてモデル化することができ、これは、この特許で考察されているハイパーグラフ定式化におけるシュタイナーツリーの「無向」定式化を使用して表すことができる。物理パイプの既存のネットワークは、単一の端末頂点(問題インスタンスの唯一の端末)としてモデル化することができる。物理的な接合位置及び潜在的な顧客サイトは、シュタイナー頂点となり、各潜在的な顧客サイトに関連付けられたy変数は、該顧客を接続することに関連付けられた収益「賞金」の負の値に等しい客観係数を有する。最後に、単一の予算制約ax≦bj、式中、aiは潜在的な拡張パイプiを設置するために必要なコストである。この配合は、端末から各選択された顧客サイトの需要へのガス商品の流れをモデル化するための追加の変数を使用して、ネットワーク流量をモデル化するために容易に拡張することができ、また各潜在的な拡張パイプの様々な容量選択肢の間で選択することができる。最小コストシュタイナーツリーは、bjの資本予算を使用して取得することができる最大収益を表す。予算化された量bjを変えることで、この資本予算化問題のパレートフロンティアを得ることができる。同様のアプリケーションは、有線及び光ファイバー通信ネットワークで発生し、ネットワークプロバイダは、ワイヤレス又は衛星ベースの接続にフォールバックする必要がある可能性のある特定の顧客にサービスを提供することを拒否する可能性がある。
【0271】
量子計算
現在の量子計算研究の多くは、2つ以上の粒子の量子状態が結合されている量子もつれの概念に基づいているが、各粒子の状態は、他の粒子とは独立して表現することができない。これは、アインシュタインが「遠くでの不気味な行動」と呼んだものをもたらす。粒子のいずれかの測定は、粒子間で完全に相関し得る様式で、量子状態の瞬間的な崩壊を引き起こす。理論的には、瞬時の崩壊は、光速に違反しているように見える粒子間の距離に依存しない。(ただし、この効果を使用して光速に違反する情報の転送は可能ではない。)しかしながら、おそらく量子計算のために利用され得る、より局所的(例えば、トンネリング)である他の量子効果がある。このような場合、必要なキュービット間の良好で短い相互接続ネットワークを設計することが重要になり得る。もつれが使用される場合でも、もつれた粒子は常に一緒に生成され、その後物理的に分離されるため、距離は要因であり、これは光の速度によって制限されるため、時間がかかる。本特許に記載されている技術の全ては、そのような出願に適用可能であり得る。
【0272】
マイクロ流体デバイス
場合によっては、流路を短くしておく必要がある。例えば、所望の反応生成物が短命である場合、流体速度、反応生成物の減衰、及び濃度要件が最大流体チャネル長に限界を置くことを考慮されたい。これは、短いネットワークリンクが望ましくなり、本特許に記載されている技術が適用され得る別の出願分野である。
【0273】
更なる実施形態及び例示的な実装形態
システム100、101(グラフエンジン102及びそのコンポーネント110~125を含み、ハイパーグラフエンジン103及びそのコンポーネント120~125を含む)及びモデル化ツール130の様々な実施形態は、1つ以上の計算デバイス上に実装することができる。計算デバイスは、同じ場所にあっても異なった場所にあってもよい。計算デバイスは、1つ以上のプロセッサ及びコンピュータ可読メモリを有する任意のタイプのデバイスであってもよい。例えば、計算デバイスは、ワークステーション、モバイルデバイス(例えば、携帯電話、携帯情報端末、タブレット又はラップトップ)、コンピュータ、サーバ、コンピュータクラスタ、サーバファーム、ゲームコンソール、セットトップボックス、キオスク、組み込みデバイス若しくはシステム、又は少なくとも1つのプロセッサ及びコンピュータ可読メモリを有する他のデバイスであり得る。少なくとも1つのプロセッサ及びメモリに加えて、そのような計算デバイスは、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせを含み得る。ソフトウェアは、1つ以上のアプリケーション及びオペレーティングシステムを含み得る。ハードウェアは、プロセッサ、メモリ、及びユーザインターフェイスディスプレイ、又は他の入力/出力デバイスを含むことができるが、これに限定されない。
【0274】
計算実施形態の態様はまた、ネットワークを介してクライアント及びサーバ(モデル化ツール130又はグラフエンジン102、103に結合されたリモート計算デバイス上のリモートユーザを含む)を有するネットワーキング構成を含んでもよく、ハードウェア、ソフトウェアモジュール、ファームウェア、有形のコンピュータ可読又はコンピュータ使用可能なストレージ媒体を使用して電子的に実装されてもよく、その上に命令が記憶されているか又はそれらの組み合わせを有してもよく、1つ以上のコンピュータシステム又は他の処理システムにおいて実装されてもよい。
【0275】
実施形態はまた、任意のコンピュータ使用可能な媒体に記憶されたソフトウェアを含むコンピュータプログラム製品に向けられている。そのようなソフトウェアは、1つ以上のデータ処理デバイス(プロセッサなど)で実行されると、データ処理デバイスを本明細書に記載されるように動作させるか又は、上述されるように、電子デバイス(例えば、ASIC、又はプロセッサ)の合成及び/又は製造が本明細書に記載される実施形態を実行することを可能にする。実施形態は、任意のコンピュータ使用可能又は読み取り可能な媒体、及び現在又は将来知られている任意のコンピュータ使用可能又は読み取り可能な記憶媒体を使用する。コンピュータ使用可能又はコンピュータ可読媒体の例は、限定されないが、プライマリ記憶デバイス(例えば、任意のタイプのランダムアクセスメモリ)、セカンダリ記憶デバイス(例えば、ハードドライブ、フロッピーディスク、CD ROM、ZIPディスク、テープ、磁気記憶デバイス、光記憶デバイス、MEMS、ナノテクノロジ記憶デバイスなど)、及び通信媒体(例えば、有線及び無線通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、イントラネットなど)を含む。コンピュータ使用可能媒体又はコンピュータ可読媒体は、任意の形態の一時的媒体(信号を含む)又は非一時的媒体(信号を除く)を含むことができる。非一時的な媒体は、非限定的な例として、前述の物理的記憶デバイス(例えば、プライマリ及びセカンダリ記憶デバイス)を含む。
【0276】
本明細書に記載の様々な実施形態によれば、本明細書に記載のコンピュータ可読コンポーネント及び/又はコンピュータ実装方法の特徴のうちの1つ以上は、プログラム可能な装置(例えば、1つ以上のプロセッサを含む)にロードされ、及び/又はプログラム可能な装置によって実行され得る。実行されると、本明細書に記載のコンピュータ可読コンポーネント及び/又はコンピュータ実装方法の特徴は、プログラム可能な装置に、参照されるフロー図及び/又はブロック図に例示される様々な機能及び/又は動作のうちの1つ以上を実装させることができる。
【0277】
図面のフロー図及び/又はブロック図において、様々なブロックは、本明細書に記載される様々な実施形態に従って、1つ以上の論理機能を実装するためのコンピュータ可読命令の1つ以上のモジュール、セグメント、及び/又は部分を表すことができる。更に、1つ以上の実施形態では、例示されるブロックのうちの1つ以上は、特殊目的のハードウェアベースシステムによって実装され得る。
【0278】
本明細書で使用される場合、「又は」という用語は、排他的ではなく、包括的であることが意図される。特に指定のない限り、「XはA又はBを採用する」は、自然の鋭い順列のいずれかを意味することが意図される。すなわち、XがAを採用する、XがBを採用する、又はXがA及びBの両方を採用する場合、「XがA又はBを採用する」が満たされる。加えて、冠詞「1つ(a)」又は「1つ(an)」は、概して、別段の規定がない限り、それぞれの名詞の「1つ以上」を意味すると解釈されるべきである。本明細書で使用される場合、「例」及び/又は「例示的」という用語は、1つ以上の特徴を例、事例、又は実例として描写するために利用される。本明細書で説明される主題は、そのような例によって限定されない。加えて、本明細書において「例」として、又は「例示的」として説明される任意の態様、特徴、及び/又は設計は、必ずしも好ましい、又は有利なものとして解釈されることを意図するものではない。同様に、「例」又は「例示的」として本明細書に記載される任意の態様、特徴、及び/又は設計は、当業者に既知の同等の実施形態(例えば、特徴、構造、及び/又は方法論)を排除することを意図するものではない。
【0279】
本明細書に記載される様々な特徴(例えば、構成要素、製品、及び/又は方法)のありとあらゆる考えられる組み合わせを説明することはできないことを理解し、当業者は、本明細書に記載される様々な実施形態の多くの更なる組み合わせ及び順列が可能であり、かつ想定されることを認識することができる。更に、本明細書で使用される場合、「含む(includes)」、「有する(has)」、「有する(possesses)」、及び/又は同様の用語は、特許請求項の移行語として用いられるときに、解釈される「含む(comprising)」という用語と同様の様式で包括的であることを意図している。
【0280】
本発明の実施形態は、指定された機能の実装及びその関係を例示する機能ビルディングブロックを用いて、上記に説明されてきた。これらの機能的ビルディングブロックの限定は、説明の便宜上、本明細書で任意に定義されている。指定された機能及びその関係が適切に実行される限り、代替の限定を定義することができる。したがって、本実施形態の広さ及び範囲は、上述の例示的な実施形態のいずれによっても限定されるべきではない。
【0281】
特定の実施形態の前述の説明は、本発明の全般的な性質を非常に完全に明らかにするので、他の人は、当技術分野の知識を適用することによって、過度の実験なしに、本発明の一般的な概念から逸脱することなく、そのような特定の実施形態を様々な用途に容易に変更及び/又は適応させることができる。したがって、そのような適応及び修正は、本明細書に提示される教示及びガイダンスに基づいて、開示される実施形態の均等物の意味及び範囲内であることが意図される。本明細書の用語又は用語は、本明細書の用語又は用語が教示及びガイダンスに照らして当業者によって解釈されるように、説明の目的であり、限定の目的ではないことを理解されたい。
【手続補正書】
【提出日】2023-05-22
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
端末点間のグラフィカルツリー生成のためのコンピュータ実装方法であって、
端末データセットを受信することであって、前記端末データセットが、端末点の数を識別するデータを含む、受信することと、
少なくとも1つのプロセッサによって、前記端末データセットに基づいてツリーの初期セットを生成することであって、各ツリーが、前記端末データセット内の2つ以上の端末点を結合する、生成することと、
少なくとも1つのプロセッサによって、連結基準を満たすか又は超えるツリーの選別されたサブセットを取得するために、前記ツリーの初期セットを連結することと、
少なくとも1つのプロセッサによって、前記ツリーの選別されたサブセットを、前記端末データセット内の前記端末点にまたがるグラフとして出力することと、を含み、
前記連結することが、違反した不等式を強化するために1つ以上の頂点を追加することによって、1つ以上のサブツアー(S)を拡張することを含む、コンピュータ実装方法。
【請求項2】
前記ツリーの初期セットが、完全なシュタイナーツリー(S)を含む、請求項1に記載の方法。
【請求項3】
前記グラフ出力が、前記端末点間のシュタイナー最小ツリーを含む、請求項1に記載の方法。
【請求項4】
前記拡張することが、前記ツリーの初期セットから形成されたハイパーグラフ内のサブツアーに頂点を追加することを含む、請求項1に記載の方法。
【請求項5】
前記拡張することが、サブツアーに対して単一の頂点拡張を実行することを含む、請求項1に記載の方法。
【請求項6】
前記拡張することが、サブツアーに対する単一の頂点拡張を繰り返し実行することによって、サブツアー不等式の貪欲な拡張を実行することを含む、請求項1に記載の方法。
【請求項7】
前記拡張することが、相補的な接続されたコンポーネントをサブツアーに追加する、請求項1に記載の方法。
【請求項8】
前記拡張することが、相補的な二重接続されたコンポーネントをサブツアーに追加する、請求項1に記載の方法。
【請求項9】
グラフィカルツリー生成のためのコンピュータ実装システムであって、
端末データセットを記憶するように構成された記憶デバイスと、
1つ以上の違反したサブツアー不等式(S)を強化するために1つ以上の頂点を追加する拡張に基づいて、前記端末データセット内の端末点にまたがるグラフを生成するように構成された、少なくとも1つのプロセッサ上に実装されたグラフエンジンと、を備える、コンピュータ実装システム。
【請求項10】
生成された前記グラフが、前記端末点間のシュタイナー最小ツリーを含む、請求項9に記載のシステム。
【請求項11】
前記グラフエンジンが、前記端末データセットに基づいてツリーの初期セットを生成するように更に構成されており、各ツリーが、前記端末データセット内の2つ以上の端末点を結合し、かつ連結基準を満たすか又は超えるツリーの選別されたサブセットを取得するために、前記ツリーの初期セットを連結する、請求項9に記載のシステム。
【請求項12】
前記グラフエンジンが、サブツアーに対して単一の頂点拡張を実行するように更に構成されている、請求項9に記載のシステム。
【請求項13】
前記グラフエンジンが、サブツアーに対する単一の頂点拡張を繰り返し実行することによって、サブツアー不等式の貪欲な拡張を実行するように更に構成されている、請求項9に記載のシステム。
【請求項14】
前記グラフエンジンが、相補的な接続されたコンポーネントをサブツアーに追加するように更に構成されている、請求項9に記載のシステム。
【請求項15】
前記グラフエンジンが、相補的な二重接続されたコンポーネントをサブツアーに追加するように更に構成されている、請求項9に記載のシステム。
【請求項16】
前記ツリーの初期セットが、完全なシュタイナーツリーを含む、請求項11に記載のシステム。
【請求項17】
前記グラフエンジンが、
前記端末データセットに基づいて完全なシュタイナーツリー(FST)の初期セットを生成するように構成されたグラフ生成器であって、各FSTが、前記端末データセット内の2つ以上の端末点を結合する、グラフ生成器と、
オーグメンタを有し、連結基準を満たすか又は超えるFSTの選別されたサブセットを取得し、かつ前記FSTの選別されたサブセットを出力するために、前記FSTの初期セットを連結するように構成されたグラフ連結器と、を含み、
前記オーグメンタが、前記FST連結中に評価された違反したサブツアー不等式を強化する1つ以上の頂点の拡張を実行するように構成されている、請求項16に記載のシステム。
【請求項18】
前記グラフエンジンが、前記グラフ生成器と前記グラフ連結器との間に結合されたプルーナを更に含む、請求項17に記載のシステム。
【請求項19】
前記オーグメンタが、ハイパーグラフに頂点を追加することを含む拡張を実行するように構成されている、請求項17に記載のシステム。
【請求項20】
前記オーグメンタが、サブツアーに対して単一の頂点拡張を実行するように構成されている、請求項17に記載のシステム。
【請求項21】
前記オーグメンタが、サブツアーに対する単一の頂点拡張を繰り返し実行することによって、サブツアー不等式の貪欲な拡張を実行するように構成されている、請求項17に記載のシステム。
【請求項22】
前記オーグメンタが、相補的な接続されたコンポーネントをサブツアーに追加するように構成されている、請求項17に記載のシステム。
【請求項23】
前記オーグメンタが、相補的な二重接続されたコンポーネントをサブツアーに追加するように構成されている、請求項17に記載のシステム。
【請求項24】
前記端末データセットを含むモデルデータで物理的表現をモデル化し、かつ前記端末データ内の前記端末点にまたがる前記グラフエンジンによって生成された前記グラフを受信するように構成されたモデル化ツールを更に備える、請求項9に記載のシステム。
【請求項25】
前記物理的表現が、半導体チップレイアウトを含み、前記端末データが、前記半導体チップレイアウトの平面内の物理的場所を表す端末点を含む、請求項24に記載のシステム。
【請求項26】
前記物理的表現が、インフラストラクチャレイアウトを含み、前記端末データが、前記インフラストラクチャレイアウト内の物理的場所を表す端末点を含む、請求項24に記載のシステム。
【請求項27】
端末点間のグラフィカルツリー生成のためのコンピュータ実装システムであって、
端末データセットを記憶するための手段と、
1つ以上の違反したサブツアー不等式(S)を強化し、かつ前記端末データセット内の端末点にまたがるグラフを取得するために、1つ以上の頂点を追加するための手段と、を含む、コンピュータ実装システム。
【請求項28】
少なくとも1つのプロセッサに、端末点間のグラフを生成させるための制御ロジックを有する非一時的なコンピュータ可読記憶媒体であって、
端末データセットの検索を可能にするように構成された第1の制御ロジックと、
1つ以上の違反したサブツアー不等式(S)を強化し、かつ検索された前記端末データセット内の端末点にまたがるグラフを取得するために、1つ以上の頂点を追加することを可能にするように構成された第2の制御ロジックと、を含む、非一時的なコンピュータ可読記憶媒体。
【国際調査報告】