專利名稱:用于業(yè)務(wù)量矩陣估算的模擬退火的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及估算通信網(wǎng)絡(luò)的性能,特別是用于業(yè)務(wù)量矩陣估算(SATME)的模擬退火方法和系統(tǒng)。
背景技術(shù):
由于科技進步的刺激,電信產(chǎn)業(yè)在過去十年經(jīng)歷了迅猛發(fā)展。臺式計算機處理能力的進步以及應(yīng)用程序響應(yīng)時間的縮短促進了相應(yīng)的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的改進。需要網(wǎng)絡(luò)業(yè)務(wù)增長支持的新的帶寬消耗應(yīng)用和設(shè)備應(yīng)用的迅速改變使網(wǎng)絡(luò)供應(yīng)商面臨是否網(wǎng)絡(luò)有足夠的容量支持目前和將來的業(yè)務(wù)需求的問題。
在任何業(yè)務(wù)量和/或網(wǎng)絡(luò)工程任務(wù)中,對網(wǎng)絡(luò)了解更多只會有利。特定的應(yīng)用要求知道例如,從A站點到B站點有多少業(yè)務(wù)量、特定的用戶從A站點發(fā)送多少業(yè)務(wù)量到B站點、網(wǎng)絡(luò)中的過熱點在哪里或者需要增加多少容量以及在哪里增加。在特定條件下的關(guān)于網(wǎng)絡(luò)運轉(zhuǎn)情況的信息也是有用的。例如,網(wǎng)絡(luò)供應(yīng)商可以基于對下列情況的了解來優(yōu)化網(wǎng)絡(luò)性能如果鏈路出現(xiàn)故障必須轉(zhuǎn)移多少業(yè)務(wù)量、如果兩點間的業(yè)務(wù)量從鏈路被轉(zhuǎn)移到另一鏈路會發(fā)生什么、是否大多數(shù)發(fā)源于子網(wǎng)絡(luò)(自治系統(tǒng)、國家或公司)的業(yè)務(wù)量停留在子網(wǎng)絡(luò)中,等等。這些消息通常用于路由選擇通路計算、負載平衡等。
網(wǎng)絡(luò)工程工具被設(shè)計用于處理由業(yè)務(wù)量需求的增加或現(xiàn)有需求的改變而引起的這些問題并確定對網(wǎng)絡(luò)的必要擴充和調(diào)整以支持規(guī)劃的業(yè)務(wù)量。這些工具通常有助于修改網(wǎng)絡(luò)設(shè)計和路由方案來避免業(yè)務(wù)量瓶頸、實現(xiàn)服務(wù)的差別計價等。然而,所有這些工具要求了解業(yè)務(wù)量統(tǒng)計數(shù)字,尤其是實時的源端-目的端的業(yè)務(wù)量需求。
針對基于數(shù)據(jù)包的網(wǎng)絡(luò)保持這些統(tǒng)計數(shù)字的方法就是查看各個數(shù)據(jù)包并記錄其源端和目的端。然而,這種方法需要巨大的表格來記錄這些信息。而且,如果需要的是針對網(wǎng)絡(luò)子集的源端到目的端業(yè)務(wù)量矩陣,則在沒有查看源端和目的端的地址并確定數(shù)據(jù)包要采用的由路由選擇信息指示路徑的情況下,子集的入口和出口都是不可用的。這對于巨大的網(wǎng)絡(luò)和大量的數(shù)據(jù)包是不可行的。
將業(yè)務(wù)量統(tǒng)計數(shù)字組成“業(yè)務(wù)量矩陣”也是已知的。業(yè)務(wù)量矩陣通常被表示為數(shù)據(jù)的總字節(jié)或數(shù)據(jù)包的總量或所有節(jié)點的源端-目的端對之間的連接。雖然當前的路由器能夠測量在各個接口(輸入和輸出鏈路)的輸入和輸出業(yè)務(wù)量的計數(shù),但是精確無誤地從鏈路計數(shù)推導出業(yè)務(wù)量矩陣通常是不可能的。能做到的最多就是從觀測的鏈路業(yè)務(wù)量作出關(guān)于業(yè)務(wù)量矩陣的概率推斷。
美國電話電報公司提出通過組合兩個已知的模型,即重力模型與層析(tomographic)模型,從鏈路負載的有效測量來推斷業(yè)務(wù)量矩陣。重力模型假設(shè)對于輸出業(yè)務(wù)量,站點之間的業(yè)務(wù)量與每個對等基礎(chǔ)(相對于每個路由器基礎(chǔ))上的各個站點的業(yè)務(wù)量是成比例的,而且不同位置上的業(yè)務(wù)量之間沒有系統(tǒng)性差異。層析模型基于模型應(yīng)用鏈路限制。這些模型的組合減小了大型網(wǎng)絡(luò)的問題規(guī)模而且提供了比獨立使用的重力模型和層析模型更精確的結(jié)果。
然而,層析-重力(tomo-gravity)方法不考慮隨機限制的簡單指定,例如已知鏈路的速度是另一個鏈路的兩倍,則其可能具有大約兩倍的業(yè)務(wù)量。而且,該方法基于業(yè)務(wù)量遵循“重力”模型這樣的假設(shè),而實踐中不能這樣假設(shè)。
以上描述的現(xiàn)有技術(shù),諸如監(jiān)測所有的數(shù)據(jù)包、重力、層析方法和層析-重力,分別地,都不能滿足大的業(yè)務(wù)量而且依賴于脫離現(xiàn)實的假設(shè)。另一方面,有必要為現(xiàn)代通信中的業(yè)務(wù)量工程提供工具和技術(shù),特別是用于估算業(yè)務(wù)量模型(特性),例如業(yè)務(wù)量、過熱點、故障影響等。
發(fā)明內(nèi)容
本發(fā)明的目的是為業(yè)務(wù)量工程提供工具和技術(shù),完全或部分的減少現(xiàn)有工具和技術(shù)的缺陷。
具體地,本發(fā)明的目的是使用模擬退火算法估算源端到目的端的業(yè)務(wù)量矩陣,該業(yè)務(wù)量矩陣估算被表示為概率分布。
因此,本發(fā)明提供了基于測量的鏈路計數(shù)為通信網(wǎng)絡(luò)估算業(yè)務(wù)量矩陣的方法,包括以下步驟a)為相應(yīng)的網(wǎng)絡(luò)建立適應(yīng)性函數(shù);b)生成初始源端到目的端(SD)業(yè)務(wù)量矩陣并對初始SD業(yè)務(wù)量矩陣計算適應(yīng)性函數(shù)的初始值;c)修改初始矩陣以獲得隨機修正SD業(yè)務(wù)量矩陣并對隨機修正SD業(yè)務(wù)量矩陣計算適應(yīng)性函數(shù)的更新值;d)選擇對應(yīng)于初始值和更新值中較小值的那個SD業(yè)務(wù)量矩陣作為臨時SD業(yè)務(wù)量矩陣;e)使用模擬退火算法改變臨時SD業(yè)務(wù)量矩陣,直到臨時SD業(yè)務(wù)量矩陣的適應(yīng)性函數(shù)達到最小值;并且f)選擇在步驟e)中估算的臨時SD業(yè)務(wù)量矩陣作為可能的(potential)SD業(yè)務(wù)量矩陣并在預先選擇的次數(shù)內(nèi)重復步驟b)到e)。
本發(fā)明還提供了用于為通信網(wǎng)絡(luò)估算業(yè)務(wù)量矩陣的系統(tǒng)。該系統(tǒng)包括源端到目的端(SD)業(yè)務(wù)量矩陣生成器,用于基于網(wǎng)絡(luò)配置數(shù)據(jù)和對網(wǎng)絡(luò)的各個鏈路收集的鏈路計數(shù)生成初始SD業(yè)務(wù)量矩陣;隨機數(shù)生成器,用于隨機地修改初始SD業(yè)務(wù)量矩陣以獲得隨機修正SD業(yè)務(wù)量矩陣;適應(yīng)性函數(shù)計算單元,用于為所述相應(yīng)的SD業(yè)務(wù)量矩陣確定初始適應(yīng)性函數(shù)和更新的適應(yīng)性函數(shù)并且選擇對應(yīng)于初始值和當前值中較小值那個SD業(yè)務(wù)量矩陣作為臨時SD業(yè)務(wù)量矩陣;以及模擬退火(SA)算法處理器,用于改變臨時SD業(yè)務(wù)量矩陣直到臨時SD業(yè)務(wù)量矩陣的適應(yīng)性函數(shù)達到最小值,并且選擇對應(yīng)于該最小值的SD業(yè)務(wù)量矩陣作為可能的SD業(yè)務(wù)量矩陣。
有利地,本發(fā)明不需要關(guān)于業(yè)務(wù)量的假設(shè),也就是說,其允許用戶以簡單的方式指定關(guān)于網(wǎng)絡(luò)和業(yè)務(wù)流的先驗信息。
而且,本發(fā)明不僅提供了各個元素的點估算,更確切地說,提供了涵蓋所有可能的概率分布,所以能夠估算可能的變化和不同鏈路上的業(yè)務(wù)量之間的相關(guān)性。
本發(fā)明上述和其它的目的、特征和優(yōu)點,將通過下面的優(yōu)選實施例更詳細的說明變得清楚,如附圖所示,其中圖1是用于說明本發(fā)明的網(wǎng)絡(luò)的簡單例子;圖2是示出當前在圖1的網(wǎng)絡(luò)上建立的連接的例子的源端到目的端(SD)矩陣;圖3a是關(guān)于圖1中具有圖2所示的源端到目的端連接的網(wǎng)絡(luò)配置的鏈路業(yè)務(wù)量表;圖3b針對圖2的SD矩陣,直觀地示出了各個連接在圖1網(wǎng)絡(luò)的各個鏈路上所沿的路徑;圖3c針對圖2的SD矩陣,說明關(guān)于圖1的網(wǎng)絡(luò)的鏈路連接表;圖4示出了關(guān)于圖1的網(wǎng)絡(luò)的SD矩陣,其中連接數(shù)要確定的;圖5說明根據(jù)本發(fā)明用于業(yè)務(wù)量矩陣估算(SATME)系統(tǒng)的模擬退火的框圖;圖6a示出了使用本發(fā)明的方法、通過實驗獲得的關(guān)于圖4的SD矩陣的分布舉例;圖6b是圖4矩陣的兩個元素間的聯(lián)合分布舉例。
具體實施例方式
模擬退火是開發(fā)用于冶金處理的優(yōu)化技術(shù),在退火的時候通過使用控制參數(shù)來模擬烤爐的溫度。因此稱作溫度(T)的該控制參數(shù),被設(shè)置初始值而且根據(jù)預定的進度表隨時間的改變而降低。
基礎(chǔ)模擬退火被成功的使用在VLSI結(jié)構(gòu)設(shè)計的例子中,為了更好地理解該算法這里將其以普通術(shù)語解釋。通過移動元件或交換兩個元件的位置就改變了初始配置;隨機改變該布局以得到新布局??刂茀?shù)T表明接受導致增加成本的移動(搬移)的可能性。搬移之后,評估新的布局成本而且如果成本降低了,該配置就會被接受。否則,新的配置取決于T的概率被接受。然后,使用例如指數(shù)函數(shù)來減小T,而且當T減小到很低的值時該過程被停止,這個很低的值要求只有減小成本的移動才被接受。該算法以關(guān)于T的很高的值開始,該值逐漸減小,使得增加成本的搬移被接受的可能性逐漸降低。這樣,該算法達到最佳或接近于最佳的配置。
該技術(shù)也被應(yīng)用在蜂窩網(wǎng)絡(luò)中的頻率分配。然而,將這個機制應(yīng)用到通信網(wǎng)絡(luò)中并非簡單的任務(wù)。異構(gòu)網(wǎng)絡(luò)的嚴重問題是模擬退火算法受到在搜索中無數(shù)的局部最小量的限制。一旦該算法陷入搜索空間的無價值的最小量,隨機避免該最小值的機會就很低了。
本發(fā)明的主要思想是著眼于產(chǎn)生表示為概率分布的業(yè)務(wù)量矩陣估算,使模擬退火算法適應(yīng)通信網(wǎng)絡(luò)。該解決方案的優(yōu)點在于其不需要關(guān)于業(yè)務(wù)量的假設(shè)(即,其允許用戶用簡單的方式指定關(guān)于網(wǎng)絡(luò)和業(yè)務(wù)量的先驗信息),而且估算矩陣能夠估算所有可能的變化以及元素之間的相關(guān)性。
根據(jù)本發(fā)明的SATME(用于業(yè)務(wù)量矩陣估算的模擬退火)方法使用與模擬退火不同的方式。
主要區(qū)別在于模擬退火算法確定目標函數(shù)的(接近于)最優(yōu)解,然而業(yè)務(wù)量矩陣估算需要的是在滿足一組給定限制的所有可能的表格設(shè)置上的均勻分布。需要在所有可能性上的均勻分布的原因是以便避免偏離可能的答案。因為有很多將滿足給定鏈路計數(shù)的可能的業(yè)務(wù)量矩陣,通過直接應(yīng)用SA算法所提供的單個答案是不準確的。理想地,該方法應(yīng)該提供最可能的業(yè)務(wù)量矩陣以及一些其可變性的測量。從本發(fā)明提供的信息來計算兩者都是可能的。
增加到SA算法的另一個改進是限制的使用。根據(jù)本發(fā)明,用戶所知道的網(wǎng)絡(luò)業(yè)務(wù)量信息直接作為限制被編碼。該限制作為目標函數(shù)(能量)的分量被編碼,接著使用模擬退火將該目標函數(shù)最小化。采用根據(jù)本發(fā)明的方法,可以包括任何形式的任意限制,而且在沒有可行的解的情況下可以由目標函數(shù)進行診斷而不會收斂為零。
圖1示出了用于說明本發(fā)明的網(wǎng)絡(luò)100的一個簡單例子。如圖所示,該網(wǎng)絡(luò)有五個通過鏈路10、12、14、16、18及20連接的節(jié)點N1-N5。更具體地,由于業(yè)務(wù)量是雙向的,下標與確認某個鏈路的附圖標記相關(guān)以反映方向。因此,對于節(jié)點N1和N2之間的鏈路,1012用于表示從節(jié)點N1到N2的方向,1021用于從節(jié)點N2到N1的方向。這里使用的術(shù)語“連接”用于端到端(源端到目的端)業(yè)務(wù)量而且在這里是指使用字母C來后面跟隨連接節(jié)點的數(shù)字。例如,節(jié)點N1到N5的連接用C15表示。
連接可以沿著多條路徑被選擇路由。例如,網(wǎng)絡(luò)100可以將發(fā)自節(jié)點N1并且去往節(jié)點N4(即,連接C14)的業(yè)務(wù)量的路由選擇為沿著由鏈路1021、1223、1434組成的路徑,或沿著只由鏈路1614組成的路徑。對連接的路徑(也被稱為端到端路由)選擇是由網(wǎng)絡(luò)使用的路由選擇算法產(chǎn)生的。由于大多數(shù)網(wǎng)絡(luò)采用最短路徑算法,上面的例子中N1-N4業(yè)務(wù)量將選擇沿著鏈路1614的路由。
圖2是連接表,也稱為源端到目的端(SD)表(或矩陣),示出了圖1的網(wǎng)絡(luò)100上的節(jié)點N1到N5之間當前建立的所有連接的例子。可以看到,連接是雙向的;例如從節(jié)點N1到節(jié)點N5的連接(C15)數(shù)量是4,從節(jié)點N5到節(jié)點N1的連接(C51)數(shù)量是5。由相應(yīng)節(jié)點發(fā)出的連接(出局連接)的總數(shù)在最后一列中給出,由相應(yīng)節(jié)點接收的連接(入局連接)的總數(shù)在最后一行中給出。在這個例子中,節(jié)點N1發(fā)出19個連接并終止20個連接。
圖3a是鏈路業(yè)務(wù)量表,示出了假設(shè)網(wǎng)絡(luò)使用最短路徑路由選擇算法,網(wǎng)絡(luò)100如何選擇這些連接的路由(沿著哪些特定的鏈路)。例如圖2所給出的,鏈路1012具有13個連接,即5個C12連接(N1和N2之間)、4個C13連接(N1和N3之間)和4個C15連接(N1和N5之間)。作為另一個例子,鏈路2035具有23個連接,即4個C15連接(N1和N5之間)、7個C25連接(N2和N5之間)、5個C35連接(N3和N5之間)和7個C45連接(N4和N5之間)。
鏈路業(yè)務(wù)量表的最后一列提供了在一個方向上沿著鏈路的連接總數(shù),包括迂回連接以及在相應(yīng)的方向由節(jié)點發(fā)出的連接。最后一行提供了進入節(jié)點的連接總數(shù),包括該節(jié)點在另一個方向上的連接和轉(zhuǎn)發(fā)到其它節(jié)點的連接。這些數(shù)目在這里被稱為“鏈路計數(shù)”。
網(wǎng)絡(luò)100的拓撲結(jié)構(gòu)(見圖1)以及最短路徑選擇意味著業(yè)務(wù)量沿著如圖3b所示路徑傳送。例如,連接C51被從節(jié)點N5到節(jié)點N3(沿著鏈路2053)、從節(jié)點N3到節(jié)點N2(沿著鏈路1232)和從節(jié)點N2到節(jié)點N1(沿著鏈路1221)的路徑所用。
“倒轉(zhuǎn)”這個信息,提供了沿各個鏈路上傳送了哪些業(yè)務(wù)量,如圖3c所示。該表格實際上也給出了使用相應(yīng)的鏈路的源端-目的端對(連接)。
如上所述,在現(xiàn)代網(wǎng)路中鏈路計數(shù)信息是現(xiàn)有的;然而,源端到目的端信息不是現(xiàn)有的。根據(jù)本發(fā)明,通過使SA算法適應(yīng)鏈路業(yè)務(wù)量矩陣問題,鏈路計數(shù)被用來建立源端到目的端業(yè)務(wù)量矩陣。也就是說,根據(jù)本發(fā)明的方法充分利用了SA的性能來探索限制空間的領(lǐng)域。
因為有很多可能的源端到目的端業(yè)務(wù)量矩陣能產(chǎn)生如圖3a所示的鏈路計數(shù),一些可能性分布的特征可以用來限制解的數(shù)量。尤其是,本發(fā)明使用許多限制作為性能損失(penalty),然后尋求最小化性能損失總量的解。此外,滿足這些限制的解有很多,但是要尋找的本質(zhì)上是在所有這些可能性之上的均勻分布。
圖4示出了對于圖1的5節(jié)點網(wǎng)絡(luò)的SD矩陣,其中連接數(shù)是要確定的;它們由“m”后面跟著代表相應(yīng)源端-目的端節(jié)點對的下標來表示。例如,m54表示節(jié)點N5和N4之間的連接數(shù)。該思想是以特定的方式使用SA算法并使用表示問題的不同部分的限制來確定SD矩陣(原始SD矩陣)的元素。
限制被分為兩類,即絕對限制和軟限制。硬限制是最重要的限制,說明在各個入口點和出口點所觀察的實際業(yè)務(wù)量(數(shù)據(jù)包和字節(jié)的數(shù)量),換言之,鏈路業(yè)務(wù)量觀測值的鏈路計數(shù)。其它硬限制表示路由選擇規(guī)則,例如最短路徑路由選擇或任何預先指定的路徑。軟限制可以表示例如網(wǎng)絡(luò)的先驗知識,例如特定鏈路典型地提供其它鏈路業(yè)務(wù)量兩倍的服務(wù)。
為了闡明根據(jù)本發(fā)明SA的應(yīng)用如何工作,結(jié)合圖3a的鏈路業(yè)務(wù)量表,再次使用圖1的網(wǎng)絡(luò)例子。對于任何網(wǎng)絡(luò)的第一絕對限制是沒有任何連接可以在同一個節(jié)點發(fā)起和終止。對于這個特定的例子(5個節(jié)點),這個絕對限制用下式表示m11=m22=m33=m44=m55=0下面的絕對限制是圖3a所提供的例子中由每個鏈路的總連接數(shù)所產(chǎn)生的。
-節(jié)點N1發(fā)出的業(yè)務(wù)量總數(shù)是19。
-節(jié)點N2發(fā)出的業(yè)務(wù)量總數(shù)是39。
-節(jié)點N3發(fā)出的業(yè)務(wù)量總數(shù)是60。
-節(jié)點N4發(fā)出的業(yè)務(wù)量總數(shù)是22。
-節(jié)點N5發(fā)出的業(yè)務(wù)量總數(shù)是21。
-到達節(jié)點N1的業(yè)務(wù)量總數(shù)是20。
-到達節(jié)點N2的業(yè)務(wù)量總數(shù)是38。
-到達節(jié)點N3的業(yè)務(wù)量總數(shù)是51。
-到達節(jié)點N4的業(yè)務(wù)量總數(shù)是29。
-到達節(jié)點N5的業(yè)務(wù)量總數(shù)是23。
以上的絕對限制必須滿足,而且違反這些限制會導致嚴重的性能損失??梢栽谠摿斜砝锛尤朐S多“較軟的”限制,即有較小性能損失的限制。例如我們說在鏈路1012上的業(yè)務(wù)量應(yīng)該與鏈路1443上的業(yè)務(wù)量相同。
m12=m43結(jié)合絕對限制,這里給出了下列可以用于確定SD矩陣的元素的等式。
A.絕對限制m11=m22=m33=m44=m55=0m12+m13+m15+m14=19m21+m31+m51+m13+m15+m23+m25+m24=39m31+m32+m51+m52+m34+m54+m15+m25+M35+m45=60m41+m42+m43+m45=22
m51+m52+m53+m54=21m21+m31+m51+m41=20m12+m13+m15+m31+m32+m51+m52+m42=38m13+m15+m23+m25+m43+m45+m51+m52+m53+m54=51m14+m24+m34+m54=29m15+m25+m35+m45=23B.關(guān)于以上例子的軟限制是m12+m13+m15=m43+m45然后,加權(quán)(或性能損失)被指定到這些限制的違例上。大的性能損失被指定到上面A下所列的限制,比如說p1=100;而較小的性能損失被指定到B上的軟限制,比如說p2=25。
限制用于產(chǎn)生適應(yīng)性函數(shù)f(m),然后使用SA算法將該函數(shù)最小化。本發(fā)明提出作為加權(quán)平方項的和而構(gòu)成的目標函數(shù)。絕對限制作為對于相應(yīng)方向的已知鏈路總數(shù)(從鏈路業(yè)務(wù)量表)與當前估算的鏈路總數(shù)(估算矩陣的相應(yīng)的元素m之和)之間的差被引入。按照它們所指定的權(quán)值,軟限制也被引入。因此,適應(yīng)性函數(shù)變成f(m)=p1(m12+m13+m15+m14-19)2+]]>p1(m21+m31+m51+m13+m15+m23+m25+m24-39)2+]]>p1(m31+m32+m51+m52+m34+m54+m15+m25+m35+m45-60)2+]]>p1(m41+m42+m43+m45-22)2+]]>p1(m51+m52+m53+m54-21)2+]]>p1(m21+m31+m51+m41-20)2+]]>p1(m12+m13+m15+m31+m32+m51+m52+m42-38)2+]]>p1(m13+m15+m23+m25+m43+m45+m51+m52+m53+m54-51)2+]]>p1(m14+m24+m34+m54-29)2+]]>p1(m15+m25+m35+m45-23)2+]]>p1(m112+m222+m332+m442+m552)+]]>
p2(m12+m13+m15-m43-m45)2]]>然后,選擇初始SD業(yè)務(wù)量矩陣,用x0表示。該初始矩陣的元素(xij)均勻地選在最小值(xij)=min{節(jié)點Ni發(fā)出的總業(yè)務(wù)量,到達節(jié)點Nj的總業(yè)務(wù)量}然后計算關(guān)于這個被提議矩陣的適應(yīng)性函數(shù),在這里用f{x0)表示?,F(xiàn)在,均勻選擇這個矩陣的元素,即,使用標準的隨機數(shù)生成器,以相同概率選擇各個元素。該元素然后被隨機地增大或減小。例如,如果在拋出硬幣時,該硬幣正面朝上,則所選元素加“1”,否則減“1”。
這一變化產(chǎn)生隨機修正SD業(yè)務(wù)量矩陣y,關(guān)于該矩陣的適應(yīng)性函數(shù)f(y)被再次計算。
如果f(y)<f(x0)則設(shè)置x1y如果f(y)>f(x0)則在0和1之間生成均勻隨機數(shù)“r” 這個過程被重復許多次而且當適應(yīng)性函數(shù)接近于0時,意味著系統(tǒng)已經(jīng)達到穩(wěn)定狀態(tài)。在各個連續(xù)迭代中得到的中間矩陣稱為臨時SDF業(yè)務(wù)量矩陣。對應(yīng)于穩(wěn)定狀態(tài)的臨時矩陣xn作為滿足所有限制的可能的SD業(yè)務(wù)量矩陣被接受。
上述操作被重復許多次,每次都記錄得到的矩陣作為可能的答案。對于相應(yīng)的有關(guān)性能損失,這些可能的矩陣集合是滿足限制的所有可能矩陣組的近似均勻樣本。
函數(shù)h(n)被定義為序列函數(shù),其依賴迭代次數(shù)n。以下形式的幾何衰減函數(shù)是優(yōu)選使用的,不過其它函數(shù)同樣是可取的(例如對數(shù)函數(shù))。當幾何衰減函數(shù)被使用時h(n)=βαnβ=12]]>α=0.9995
常數(shù)α和β的選擇影響SATME(適應(yīng)性函數(shù)與迭代次數(shù))的性能但是如上選擇通常在實踐中使用。
圖5說明用于生成可能的SD矩陣組55的本發(fā)明的SATME系統(tǒng)。SATME系統(tǒng)包括SD矩陣生成器50、隨機數(shù)生成器51、適應(yīng)性函數(shù)計算單元52、SA算法處理器53和序列生成器54。SD矩陣生成器50基于已知鏈路計數(shù)和已知網(wǎng)絡(luò)配置(節(jié)點數(shù)和節(jié)點間的鏈路),生成具有最小值上均勻選出的元素的初始矩陣x0。適應(yīng)性函數(shù)計算單元52為呈現(xiàn)給它的矩陣計算適應(yīng)性函數(shù)。在這種情況下,該單元為初始矩陣計算初始適應(yīng)性函數(shù)f(x0);如上所述,使用加權(quán)的絕對和軟限制計算f(m),而且f(m)被呈現(xiàn)給處理器53以進行最小化。
隨機數(shù)生成器51隨機選擇初始矩陣中的一個元素并且再隨機地增大/減小該元素。在初始矩陣中,所選元素的新值取代舊值,產(chǎn)生隨機修正SD矩陣y。適應(yīng)性函數(shù)生成器52現(xiàn)在為隨機修正SD矩陣計算新的當前適應(yīng)性函數(shù)y,再將其提供給處理器53。
SA算法處理器53比較初始和當前適應(yīng)性函數(shù)并開始根據(jù)序列生成器54提供的序列,使用迭代和隨機數(shù)r對當前函數(shù)的值進行最小化處理。序列生成器54對SA算法使用所選的函數(shù)類型。如上所述,對生成器54,幾何衰減函數(shù)是被優(yōu)先選擇的,而且函數(shù)的參數(shù)是用戶可配置的。迭代次數(shù)n也是用戶可配置的。當適應(yīng)性函數(shù)接近于0時,系統(tǒng)達到穩(wěn)定狀態(tài),而且對可能的SD矩陣xn使用相應(yīng)的矩陣元素m。該操作重復許多次,每次記錄得到的矩陣作為可能的答案。
現(xiàn)在我們回到前面用過的例子中的網(wǎng)絡(luò)100,假設(shè)初始矩陣x0如下。
36 64 18 74 5021 99 54 65 4597 24 68 31 1571 73 85 51 3390 96 76 2 0在50,000次迭代之后,適應(yīng)性函數(shù)變得接近于0而且系統(tǒng)達到穩(wěn)定狀態(tài)。圖6a和6b示出了在100次迭代以后可以得到的SD業(yè)務(wù)量矩陣的兩個元素間的相關(guān)性如何。這些圖形目的在于發(fā)現(xiàn)m12和m34之間的相關(guān)性。例如,在這些圖中,m12的范圍是0到17,因為在分析中,可以從直方圖中看出的m12最大值是17。因此,m12首先被箝位在0而且對于m12的這個值的m34的條件分布被確定。然后,m12變?yōu)?,等等,直到m12=17。
因為相關(guān)性是線性測量,這可以有利于查看兩個元素m12和m34之間的聯(lián)合分布,如圖6b所示。
總的說來,本發(fā)明通過先在較大的表格空間均勻地選擇初始的解,來改進已知的退火算法。初始解的各個元素在
間均勻選擇,其中m是對應(yīng)于該元素的行和列總和的最小值。注意,得到的表格將(除非很幸運)不滿足任何限制(除了非負性)。
第二個改進將所有的限制作為目標函數(shù)分量進行編碼,該函數(shù)采用當前解的觀察值和目標值(限制)之間的差的加權(quán)平方和的形式??梢赃x擇該權(quán)值以反映先前關(guān)于限制的重要性的看法-因此,行和列的總和有很高的權(quán)值,而其它限制可以具有較小的權(quán)值。采用這套方法,可以包括任何形式的任意限制,而且在沒有可行的解的情況下,可以由目標函數(shù)進行診斷而不會收斂為零。
附錄實施該SATME方法的算法的代碼如下SA[tt_,its_,temp0_,alpha_,plot_]=Module[{i,pivot,coin,testMatrix,te,t,p}t=tt;p=Table
;For[i=1,i<=its,i++,tempi=temp0*alpha^i;pivot={Random[Integer,{1,5}],Random[Integer,{1,5}]};coin=If[Random[]>0.5,1,-1];testMatrix=t;te=testMatrix[[pivot[[1]],pivot[[2]]]]+=coin;If[te<0,te=0,];testMatrix[[pivot[[1]],pivot[[2]]]]=te;If[fitness[testMatrix]<fitness[t],t=testMatrix,If[Random[]<Min[1,Exp[(fitness[testMatrix]-fitness[t])/tempi]]t=testMatrix,]];p[[i]]=fitness[t];];Return[t]]fitness[t_]=Module[{ans,p1,p2,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12},p1=100;p2=25;c1=(t[[1,2]]+t[[1,3]]+t[[1,5]]+t[[1,4]]-19)^2;c2=(t[[2,1]]+t[[3,1]]+t[[5,1]]+t[[1,3]]+t[[1,5]]+
t[[2,3]]+t[[2,5]]+t[[2,4]]-39)^2;c3=(t[[3,1]]+t[[3,2]]+t[[5,1]]+t[[5,2]]+t[[3,4]]+t[[5,4]]+t[[1,5]]+t[[2,5]]+t[[3,5]]+t[[4,5]]-60)^2;c4=(t[[4,1]]+t[[4,2]]+t[[4,3]]+t[[4,5]]-22)^2;c5=(t[[5,1]]+t[[5,2]]+t[[5,3]]+t[[5,4]]-21)^2;c6=(t[[2,1]]+t[[3,1]]+t[[5,1]]+t[[4,1]]-20)^2;c7=(t[[1,2]]+t[[1,3]]+t[[1,5]]+t[[3,1]]+t[[3,2]]+t[[5,1]]+t[[5,2]]+t[[4,2]]-38)^2;c8=(t[[1,3]]+t[[1,5]]+t[[2,3]]+t[[2,5]]+t[[4,3]]+t[[4,5]]+t[[5,1]]+t[[5,2]]+t[[5,3]]+t[[5,4]]-51)^2;c9=(t[[1,4]]+t[[2,4]]+t[[3,4]]+t[[5,4]]-29)^2;c10=(t[[1,5]]+t[[2,5]]+t[[3,5]]+t[[4,5]]-23)^2;c11=(t[[1,2]]+t[[1,3]]+t[[1,5]]-t[[4,3]]-t[[4,5]])^2c12=(t[[1,1]]^2+t[[2,2]]^2+t[[3,3]]^2+t[[4,4]]^2+t[[5,5]]A2);ans=p1*(c1+c2+c3+c4+c5+c6+c7+c8+c9+c10)+p2*c11p1*c12;Return[ans]]
權(quán)利要求
1.一種用于基于給定的鏈路計數(shù)對通信網(wǎng)絡(luò)估算業(yè)務(wù)量矩陣的方法,包括以下步驟a)對相應(yīng)網(wǎng)絡(luò)建立適應(yīng)性函數(shù);b)生成初始的源端到目的端(SD)業(yè)務(wù)量矩陣并對所述初始SD業(yè)務(wù)量矩陣計算所述適應(yīng)性函數(shù)的初始值;c)修改所述初始矩陣以獲得隨機修正SD業(yè)務(wù)量矩陣并為所述隨機修正SD業(yè)務(wù)量矩陣計算所述適應(yīng)性函數(shù)的當前值;d)選擇對應(yīng)于所述初始值和所述當前值中較小值的那個SD業(yè)務(wù)量矩陣作為臨時SD業(yè)務(wù)量矩陣;e)使用模擬退火算法改變所述臨時SD業(yè)務(wù)量矩陣,直到所述臨時SD業(yè)務(wù)量矩陣的所述適應(yīng)性函數(shù)達到最小值;并且f)選擇在步驟e)中估算的所述臨時SD業(yè)務(wù)量矩陣作為可能的SD業(yè)務(wù)量矩陣并在預先選擇的次數(shù)內(nèi)重復步驟b)到e)。
2.根據(jù)權(quán)利要求1的方法,其中步驟a)包括為所述適應(yīng)性函數(shù)確定表示實際網(wǎng)絡(luò)配置和鏈路計數(shù)的絕對限制,并指定硬性能損失(hard penalty)給各個絕對限制;基于業(yè)務(wù)量模型對所述適應(yīng)性函數(shù)建立軟限制,并指定軟性能損失(soft penalty)給各個軟限制;將對相應(yīng)鏈路的各個限制轉(zhuǎn)化為所述適應(yīng)性函數(shù)的元素;并作為加權(quán)元素的和計算所述適應(yīng)性函數(shù),各個加權(quán)表示軟限制或硬限制。
3.根據(jù)權(quán)利要求2的方法,其中所述軟性能損失小于所述硬性能損失。
4.根據(jù)權(quán)利要求2的方法,其中對于網(wǎng)絡(luò)各個鏈路的所述絕對限制包括所述相應(yīng)鏈路的所述鏈路計數(shù)。
5.根據(jù)權(quán)利要求2的方法,其中所述軟限制包括指定的業(yè)務(wù)量模型。
6.根據(jù)權(quán)利要求4的方法,其中使用距離函數(shù)計算所述適應(yīng)性函數(shù)的各個元素。
7.根據(jù)權(quán)利要求6的方法,其中根據(jù)所述網(wǎng)絡(luò)中使用的路由選擇協(xié)議和所述相應(yīng)的鏈路計數(shù),將適應(yīng)性函數(shù)的各個元素作為一個或多個觀察值之間的平方差來計算,所述觀察值說明了使用所述相應(yīng)鏈路的所有路徑。
8.根據(jù)權(quán)利要求1的方法,其中步驟b)中的所述初始SD業(yè)務(wù)量矩陣的所述元素均勻地選在最小值(xij)=min{節(jié)點Ni發(fā)出的總業(yè)務(wù)量,到達節(jié)點Nj的總業(yè)務(wù)量}。
9.根據(jù)權(quán)利要求8所述方法,其中步驟c)包括均勻選擇所述初始業(yè)務(wù)量矩陣的元素;以預先選定的整數(shù)隨機增大或減小所述元素的值。
10.根據(jù)權(quán)利要求9的方法,其中所述預先選定的整數(shù)是1。
11.根據(jù)權(quán)利要求1的方法,其中步驟e)包括在0和1之間產(chǎn)生均勻隨機數(shù)“r”;將所述臨時SD業(yè)務(wù)量矩陣的所述元素確定為 其中h(n)是定義用于對所述適應(yīng)性函數(shù)進行最小化的迭代次數(shù)n的序列函數(shù)。
12.根據(jù)權(quán)利要求10的方法,其中h(n)是幾何衰減函數(shù)h(n)=βαn。
13.一種用于對通信網(wǎng)絡(luò)估算業(yè)務(wù)量矩陣的系統(tǒng),包括源端到目的端(SD)業(yè)務(wù)量矩陣生成器,用于基于網(wǎng)絡(luò)配置數(shù)據(jù)和對所述網(wǎng)絡(luò)的各個鏈路收集的鏈路計數(shù)生成初始SD業(yè)務(wù)量矩陣;隨機數(shù)生成器,用于隨機地改變所述初始SD業(yè)務(wù)量矩陣以獲得隨機修正SD業(yè)務(wù)量矩陣;適應(yīng)性函數(shù)計算單元,用于對所述相應(yīng)的SD業(yè)務(wù)量矩陣確定初始適應(yīng)性函數(shù)和更新的適應(yīng)性函數(shù)并選擇對應(yīng)于所述初始值和當前值中較小值的那個SD業(yè)務(wù)量矩陣作為臨時SD業(yè)務(wù)量矩陣;以及模擬退火(SA)算法處理器,用于改變所述臨時SD業(yè)務(wù)量矩陣,直到所述臨時SD業(yè)務(wù)量矩陣的所述適應(yīng)性函數(shù)達到最小值,并選擇對應(yīng)于最小值的所述SD業(yè)務(wù)量矩陣作為可能的SD業(yè)務(wù)量矩陣。
14.根據(jù)權(quán)利要求13的系統(tǒng),其中所述模擬退火算法處理器使用序列生成器用于確定迭代次數(shù)以獲得所述最小值。
15.根據(jù)權(quán)利要求13的系統(tǒng),其中所述適應(yīng)性函數(shù)計算單元基于限制計算所述適應(yīng)性函數(shù)。
16.根據(jù)權(quán)利要求13的系統(tǒng),其中所述適應(yīng)性函數(shù)表示為加權(quán)元素之和,各個元素轉(zhuǎn)化對相應(yīng)鏈路的限制。
全文摘要
使用模擬退火算法,SATME方法和系統(tǒng)估算源端到目的端業(yè)務(wù)量矩陣,該業(yè)務(wù)量矩陣估算被表示為滿足一系列給定限制的所有可能的矩陣集合上的概率分布。所述限制直接將用戶知道的網(wǎng)絡(luò)業(yè)務(wù)量信息作為目標函數(shù)(適應(yīng)性函數(shù))的分量進行編碼,然后使用模擬退火將該函數(shù)最小化。采用根據(jù)本發(fā)明的方法,能夠包括任何形式的任意限制,而且在沒有可行的解的情況下,可以由目標函數(shù)進行診斷而不會收斂為零。
文檔編號H04L1/20GK1819507SQ200510129180
公開日2006年8月16日 申請日期2005年10月13日 優(yōu)先權(quán)日2004年10月13日
發(fā)明者P·拉比諾維奇, B·麥克布萊德 申請人:阿爾卡特公司