專利名稱:基于法線測量的非線性搜索方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)信息處理領(lǐng)域,具體涉及一種基于法線測量的非線性搜索方法和系統(tǒng)。
背景技術(shù):
在解決多目標(biāo)優(yōu)化問題過程中,經(jīng)常會采用各種各樣的搜索算子,以某種方式搜索到最優(yōu)解。對于多目標(biāo)優(yōu)化問題,有時(shí)并不是一個(gè)唯一的解,而是一個(gè)解的集合,在度量空間中通常被稱為Pareto層。因此,對于多目標(biāo)優(yōu)化問題最優(yōu)解的搜索,實(shí)際上就是對盡可能找到Pareto層中的所有點(diǎn)。搜索算子設(shè)計(jì)的好壞,不但影響搜索的效率,而且影響搜索的質(zhì)量。目前,對信息的服務(wù)質(zhì)量高度重視,網(wǎng)絡(luò)拓?fù)渲械拿織l鏈路上都被賦予了不同的度量指標(biāo),如端到端時(shí)延、代價(jià)等,用戶的追求是較小的代價(jià)獲得更好的服務(wù)。尋找滿足多種服務(wù)質(zhì)量需求的路徑,又被稱為多約束路徑選擇問題,該問題是一個(gè)典型的多目標(biāo)優(yōu)化問題。用比較嚴(yán)格的方法,多約束路徑選擇問題可表示為:網(wǎng)絡(luò)用G(N,E)表示,N是節(jié)點(diǎn)集合,E是邊集。每條邊對應(yīng)一個(gè)多維權(quán)重向量w(w1; w2,..., wk)。Wi是可加權(quán)重,i = l,2,…,m。用c(ci,c2,…,cm)表示用戶的期望,即每個(gè)度量指標(biāo)不要超過Ci,Psd表示從源節(jié)點(diǎn)s到目的節(jié)點(diǎn)d的路徑集合,問題是尋找P e Psd,滿足:Wi(P) = Σ e e pWi (e) ^ Ci, i = I,…,m路徑P又可以寫成p(wi,w2,-,Wffl)的形式,滿足所有m個(gè)約束的路徑稱為一個(gè)可行路徑。針對該問題,需要設(shè)計(jì)搜索算子,并基于搜索算子設(shè)計(jì)具體的搜索算法。因此,搜索算子設(shè)計(jì)的好壞對搜索效率的影響非常大。NBI (normal boundary intersection)方法NBI方法是生成連續(xù)多目標(biāo)優(yōu)化問題Pareto層的手段之一。通過用戶提供的參數(shù)β,NBI可以生成均勻分布的Pareto層。NBI方法把連續(xù)多目標(biāo)優(yōu)化問題轉(zhuǎn)化成如下的子問題:Minimize λφβ+Ih = F(X)-Ft本質(zhì)上,NBI方法就是試圖找到Pareto最優(yōu)點(diǎn)。對于一個(gè)特定的β , Φ β就表示各極值點(diǎn)凸殼上的一個(gè)點(diǎn)。通過改變β的值,就可以找到不同的近似Pareto最優(yōu)解。如下圖所示,連續(xù)多目標(biāo)優(yōu)化問題的解是一個(gè)封閉的區(qū)域。NBI方法設(shè)計(jì)的搜索算子,通過改變參數(shù)β的值來移動法線,法線與封閉區(qū)域的交叉點(diǎn),就是搜索到的可行解。如
圖1所示,通過改變β的值,分別找到了?1、匕、?3三個(gè)點(diǎn)。如果β值改變的粒度足夠小,就能找到封閉區(qū)間上的所有點(diǎn),也就找到了整個(gè)Pareto層。傳統(tǒng)的搜索技術(shù) 目前對多約束路徑選擇問題已有一些研究,并提出了一些啟發(fā)式或近似算法。從搜索算子的角度,這些算法可分為兩類:基于線性搜索算子的算法和基于非線性搜索算子的算法。線性搜索算子可表示為W,即把邊I上的度量,通過加權(quán)系數(shù)d,線性
組合成單一的度量值?;诰€性搜索算子的算法主要是如何進(jìn)一步設(shè)計(jì)加權(quán)系數(shù)問題。基于該搜索算子的典型算法主要包括兩類。一類把重點(diǎn)放在如何選擇一個(gè)唯一的加權(quán)系數(shù),另一類把重點(diǎn)放在如何選擇多個(gè)加權(quán)系數(shù)方面。確定好加權(quán)系數(shù)之后,每個(gè)邊上就變成只有一個(gè)單一度量,就可以調(diào)用Dijkstra最短路徑算法尋找基于該單一度量的最短路徑?;诰€性搜索算子算法的最大缺點(diǎn)是有些可行解永遠(yuǎn)也不能被找到,如圖2中的p3。
發(fā)明內(nèi)容
為克服上述缺陷,本發(fā)明提供了一種基于法線測量的非線性搜索方法和系統(tǒng),解決了非線性搜索算子可能遺漏可行解的問題。為實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于法線測量的非線性搜索方法,其包括網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);所述網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)包括K個(gè)節(jié)點(diǎn);其改進(jìn)之處在于,定義變量k、k%$k和k*的初始值為I;所述搜索方法包括以下步驟:(I).獲取網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的鏈路基本參數(shù);(2).對非線性搜索算子進(jìn)行定義;(3).從節(jié)點(diǎn)(k)開始,向其他節(jié)點(diǎn)進(jìn)行擴(kuò)展,得到節(jié)點(diǎn)(k)到其他節(jié)點(diǎn)間的擴(kuò)展路徑;(4).根據(jù)非線性搜索算子對得到的所有擴(kuò)展路徑進(jìn)行度量值計(jì)算,并根據(jù)度量值確定最短路徑,并令k*+l,定 義節(jié)點(diǎn)OO為與所述節(jié)點(diǎn)(k)成最短路徑的節(jié)點(diǎn);(5).從所述節(jié)點(diǎn)(k)向所述節(jié)點(diǎn)(k*)擴(kuò)展;(6).令k = k%若k<K,則返回步驟3;否則結(jié)束。本發(fā)明提供的優(yōu)選技術(shù)方案中,所述步驟I中的鏈路基本參數(shù)包括:帶寬、時(shí)延、抖動、包丟失率和鏈路代價(jià)。本發(fā)明提供的第二優(yōu)選技術(shù)方案中,所述步驟2中的非線性搜索算子定義如下:len(p) = -min ( λ i)s1.φβ + Ν^ρ)Φ是mXm矩陣,β為一個(gè)向量,滿足乏= I及彡O, P是路徑,N是法線向量。本發(fā)明提供的第三優(yōu)選技術(shù)方案中,所述步驟3中利用Dijkstra算法對節(jié)點(diǎn)(k)到其他節(jié)點(diǎn)間的擴(kuò)展路徑進(jìn)行擴(kuò)展。本發(fā)明提供的第四優(yōu)選技術(shù)方案中,提供一種非線性搜索系統(tǒng),其改進(jìn)之處在于,所述搜索裝置,包括:依次連接的參數(shù)獲取單元、擴(kuò)展路徑獲取單元、最短路徑計(jì)算單元和參數(shù)判斷單元;所述最短路徑計(jì)算單元設(shè)置非線性搜索算子模塊。本發(fā)明提供的第五優(yōu)選技術(shù)方案中,所述參數(shù)獲取單元用于獲取網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的鏈路基本參數(shù);所述擴(kuò)展路徑獲取單元,得到節(jié)點(diǎn)(k)到其他節(jié)點(diǎn)的擴(kuò)展路徑;所述最短路徑計(jì)算單元,利用非線性搜索算子模塊對得到的所有擴(kuò)展路徑進(jìn)行度量值計(jì)算,并根據(jù)度量值確定最短路徑;所述參數(shù)判斷單元,令變量k+Ι并判斷k+Ι和K的大小。本發(fā)明提供的第六優(yōu)選技術(shù)方案中,所述參數(shù)獲取單元獲取的鏈路基本參數(shù)包括:帶寬、時(shí)延、抖動、包丟失率和鏈路代價(jià)。本發(fā)明提供的第七優(yōu)選技術(shù)方案中,所述非線性搜索算子模塊由下述公式定義:
權(quán)利要求
1.一種基于法線測量的非線性搜索方法,其包括網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);所述網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)包括K個(gè)節(jié)點(diǎn);其特征在于,定義變量k、k*,令k和k*的初始值為I ;所述搜索方法包括以下步驟: (1).獲取網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的鏈路基本參數(shù); (2).對非線性搜索算子進(jìn)行定義; (3).從節(jié)點(diǎn)(k)開始,向其他節(jié)點(diǎn)進(jìn)行擴(kuò)展,得到節(jié)點(diǎn)(k)到其他節(jié)點(diǎn)間的擴(kuò)展路徑; (4).根據(jù)非線性搜索算子對得到的所有擴(kuò)展路徑進(jìn)行度量值計(jì)算,并根據(jù)度量值確定最短路徑,并令k*+l,定義節(jié)點(diǎn)OO為與所述節(jié)點(diǎn)(k)成最短路徑的節(jié)點(diǎn); (5).從所述節(jié)點(diǎn)(k)向所述節(jié)點(diǎn)CO擴(kuò)展; (6).令k= k%若k < K,則返回步驟3 ;否則結(jié)束。
2.根據(jù)權(quán)利要求1所述的搜索方法,其特征在于,所述步驟I中的鏈路基本參數(shù)包括:帶寬、時(shí)延、抖動、包丟失率和鏈路代價(jià)。
3.根據(jù)權(quán)利要求1所述的搜索方法,其特征在于,所述步驟2中的非線性搜索算子定義如下: Ien (P) = -min ( λ i)S1.φβ+N =F(p) Φ是mXm矩陣,β為一個(gè)向量,滿足[丨=1/ ,.=1及β 彡O, P是路徑,N是法線向量。
4.根據(jù)權(quán)利要求1所述的搜索方法,其特征在于,所述步驟3中利用Dijkstra算法對節(jié)點(diǎn)(k)到其他節(jié)點(diǎn)間的擴(kuò)展路徑進(jìn)行擴(kuò)展。
5.根據(jù)1-4項(xiàng)權(quán)利要求任一項(xiàng)所述的基于法線測量的非線性搜索方法的非線性搜索系統(tǒng),其特征在于,所述搜索裝置,包括:依次連接的參數(shù)獲取單元、擴(kuò)展路徑獲取單元、最短路徑計(jì)算單元和參數(shù)判斷單元;所述最短路徑計(jì)算單元設(shè)置非線性搜索算子模塊。
6.根據(jù)權(quán)利要求5所述的搜索系統(tǒng),其特征在于,所述參數(shù)獲取單元用于獲取網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的鏈路基本參數(shù);所述擴(kuò)展路徑獲取單元,得到節(jié)點(diǎn)(k)到其他節(jié)點(diǎn)的擴(kuò)展路徑;所述最短路徑計(jì)算單元,利用非線性搜索算子模塊對得到的所有擴(kuò)展路徑進(jìn)行度量值計(jì)算,并根據(jù)度量值確定最短路徑;所述參數(shù)判斷單元,令變量k+Ι并判斷k+Ι和K的大小。
7.根據(jù)權(quán)利要求5、6所述的搜索系統(tǒng),其特征在于,所述參數(shù)獲取單元獲取的鏈路基本參數(shù)包括:帶寬、時(shí)延、抖動、包丟失率和鏈路代價(jià)。
8.根據(jù)權(quán)利要求5、6所述的搜索系統(tǒng),其特征在于,所述非線性搜索算子模塊由下述公式定義: Ien (P) = -min (入 i)SL φβ + Ν = F(P) Φ是mXm矩陣,β為一個(gè)向量,滿足戍=I及β 彡O, P是路徑,N是法線向量。
9.根據(jù)權(quán)利要求5、6所述的搜索系統(tǒng),其特征在于,所述擴(kuò)展路徑獲取單元利用Dijkstra算法對節(jié)點(diǎn)(k)到其他節(jié)點(diǎn)間的擴(kuò)展路徑進(jìn)行擴(kuò)展。
10.根據(jù)權(quán)利要求5-9所述的搜索系統(tǒng),其特征在于,所述搜索系統(tǒng)使用型號為Ixl30t的fpga芯片。
全文摘要
本發(fā)明提供了一種基于法線測量的非線性搜索方法和系統(tǒng),所述方法包括以下步驟獲取網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的鏈路基本參數(shù);從節(jié)點(diǎn)(k)開始,向其他節(jié)點(diǎn)進(jìn)行擴(kuò)展,得到節(jié)點(diǎn)(k)到其他節(jié)點(diǎn)間的擴(kuò)展路徑;根據(jù)非線性搜索算子對得到的所有擴(kuò)展路徑進(jìn)行度量值計(jì)算,并根據(jù)度量值確定最短路徑,并令k*+1,定義節(jié)點(diǎn)(K*)為與所述節(jié)點(diǎn)(k)成最短路徑的節(jié)點(diǎn);從所述節(jié)點(diǎn)(k)向所述節(jié)點(diǎn)(k*)擴(kuò)展;所述搜索裝置包括依次連接的參數(shù)獲取單元、擴(kuò)展路徑獲取單元、最短路徑計(jì)算單元和參數(shù)判斷單元;所述最短路徑計(jì)算單元設(shè)置非線性搜索算子模塊;本發(fā)明提供的基于法線測量的非線性搜索方法和系統(tǒng),解決了非線性搜索算子可能遺漏可行解的問題。
文檔編號G06F17/30GK103164493SQ20111042994
公開日2013年6月19日 申請日期2011年12月19日 優(yōu)先權(quán)日2011年12月19日
發(fā)明者汪曉慶, 鄭彥興, 房友園, 谷天陽, 宗建建, 佟金榮 申請人:中國人民解放軍63928部隊(duì)