麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種并行變鄰域搜索方法

文檔序號:6377176閱讀:462來源:國知局
專利名稱:一種并行變鄰域搜索方法
技術領域
本發明涉及啟發式算法領域,具體涉及ー種并行變鄰域捜索方法。
背景技術
變鄰域搜索算法(Variable Neighborhood Search, VNS),是一種軌跡式元啟發式算法,由Hansen和Mladenovic于1997年首次提出。變鄰域搜索算法包含了動態變化的鄰域結構,算法較通用,自由度大,可針對特殊問題設計多種變型,主要用于求解組合優化問題和全局優化問題。組合優化問題的求解方法可以分為兩類ー類是精確算法,這類算法對解空間進行完整搜索,可以保證找到小規模問題的最優解;另ー類是啟發式算法,這類算法放棄了對解空間搜索的完整性,因此不能保證最終解的全局最優性。由于組合優化問題中大量存在 著NP-Hard問題,因此精確捜索算法在問題規模較大時往往難以實現,而啟發式算法盡管不能證明解的最優性,但在很多情況下卻能夠以合理的計算代價找出較好的近似最優解,因此變鄰域捜索算法是解決組合優化問題的主要算法。變鄰域捜索算法的基本思想是在搜索過程中,基于已找到的局部最優解,系統地改變其鄰域結構,以此來拓展搜索范圍,進而找到另ー個局部最優解。變鄰域捜索算法包括了局部搜索(Local Search)、擾動(Shaking)和鄰域變換三個過程,利用局部搜索尋■找局部最優解,提高搜索精度,采用擾動過程跳出局部最優解的范圍,尋找新的局部最優解,使得局部最優解向全局最優解靠攏,鄰域變換提供了一種迭代方式和停止準則。變鄰域捜索算法的基本步驟步驟一、選定ー個初始解為Xtl,設定初始參數——鄰域結構個數和算法總迭代次數,其中鄰域結構個數為K_,算法總迭代次數為Tmax,設定鄰域結構集合為Nk(k = 1,...,Kmax);設置當前最優解Xbest為Xbest = X0,當前解Xcm為Xcm = X0,選定的鄰域結構編號k =I,迭代搜索次數t = O。步驟ニ、進行迭代運算,當t > Tfflax吋,輸出計算結果,停止運算;否則,在Xcm的k鄰域Nk中隨機選取解Xshake,并對解Xshake進行局部捜索,得到局部最優解Xltrcal ;若f (Xlocal)<f (Xbest),則 X
best -^-Iocal -^cur -^-Iocal ^
1,即更新局部最優解;否則,設置k = k modK_+l,t = t+1,重復所述進行迭代運算的步驟。其中,函數f為實際應用中的評估函數。

發明內容
本發明要解決的技術問題是提供ー種并行變鄰域搜索方法,該方法與目前的變鄰域捜索算法相比,能夠有效擴展求解空間,増大逃離局部最優的可能性,進而獲得更好的全
局最優解。為了解決上述問題,本發明實施例提供了一種變鄰域捜索方法,其特征在于,該變鄰域搜索方法是并行變鄰域搜索方法,包括如下步驟步驟101、配置多個實例及供多個所述實例共享的ー個數據集合,該數據集合中存儲有多個歷史局部最優解;步驟102、為多個所述實例設置相同的鄰域結構個數、總迭代次數、鄰域結構集合和迭代次數閾值;步驟103、針對每ー個實例,從所述鄰域結構集合中為該實例選取ー個鄰域結構作為當前鄰域結構,該實例的當前解基于該當前鄰域結構進行迭代搜索,得到局部最優解;判斷該局部最優解是否優于該實例的當前最優解,若是,則將該實例的當前解和當前最優解均更新為該局部最優解,如果該實例的當前最優解優于所述數據集合中存儲的最差的歷史最優解,則用該實例的當前最優解代替該最差的歷史最優解;若該局部最優解不優于該實例的當前最優解,判斷該實例在其當前最優解未更新前已迭代次數達到所述迭代次數閾值后,從所述數據集合中隨機選取一個歷史最優解作為該實例的當前解,將該實例的迭代搜索次數加1,基于該當前鄰域結構重新進行迭代捜索,直到迭代搜索次數達到所述總迭代次數;步驟104、所有實例的迭代搜索次數都達到所述總迭代次數后,選取所述數據集合中最優的解作為全局最優解。可選地,所述步驟101還包括對所述數據集合中的歷史最優解按照大小進行排序。可選地,所述步驟103還包括為該實例設置ー個初始解、設置該實例的當前最優解和當前解均等于該初始解,并設置該實例的迭代搜索次數和該實例的當前最優解未更新前已迭代次數。可選地,所述步驟103還包括用該實例的當前最優解代替該最差的歷史最優解之后,基于該當前鄰域結構重新進行迭代捜索,將該實例的迭代搜索次數加1,直到迭代搜索次數達到所述總迭代次數。可選地,所述步驟103中還包括若該局部最優解不優于該實例的當前最優解,判斷該實例在其當前最優解未更新前已迭代次數沒有達到所述迭代次數閾值時,將該實例的當前最優解未更新前已迭代次數加1,迭代搜索次數加I后,從所述鄰域結構集合中選取新的鄰域結構繼續進行迭代捜索,直到迭代搜索次數達到所述總迭代次數。可選地,所述步驟103還包括當多個實例需要同時對所述數據集合中存儲的最差的歷史最優解進行更新吋,則從該多個實例的當前最優解中選擇最優的ー個來代替該最差的歷史最優解。可選地,多個所述實例中,至少有ー個實例是基于所述數據集合中存儲的最優的歷史最優解進行迭代搜索。本發明實施例還提供了一種變鄰域捜索裝置,包括配置模塊、迭代捜索模塊、判斷模塊、更新模塊和全局最優解確定模塊,其中所述配置模塊設置成配置多個實例及供多個所述實例共享的ー個數據集合,該數據集合中存儲有多個歷史最優解;還為多個所述實例設置相同的鄰域結構個數、總迭代次數、鄰域結構集合和迭代次數閾值;所述迭代捜索模塊設置成針對每ー個實例,從所述鄰域結構集合中為該實例選取ー個鄰域結構作為當前鄰域結構,將該實例的當前解基于該當前鄰域結構進行迭代搜索,得到局部最優解;還從所述數據集合中隨機選取一個歷史最優解作為該實例的當前解,將該實例的迭代搜索次數加1,基于該當前鄰域結構重新進行迭代捜索;所述判斷模塊設置成針對每ー個實例,所述迭代捜索模塊得到該實例的局部最優解后,判斷該實例迭代搜索得到的局部最優解是否優于該實例的當前最優解,若是,則通知所述更新模塊用該實例的局部最優解代替該當前最優解;還判斷該實例的當前最優解是否優于所述數據集合中存儲的最差的歷史最優解,若是,則通知所述更新模塊用該實例的當前最優解代替該最差的歷史最優解;還判斷該局部最優解不優于該實例的當前最優解后,判斷該實例在其當前最優解未更新前已迭代次數達到所述迭代次數閾值后,通知所述迭代捜索模塊從所述數據集合中隨機選取一個歷史最優解作為該實例的當前解,將該實例的迭代搜索次數加1,基于該當前鄰域 結構重新進行迭代捜索;判斷某ー實例的迭代搜索次數達到所述總迭代次數后,通知所述迭代捜索模塊針對該實例停止捜索;判斷所有實例的迭代搜索次數都達到所述總迭代次數后,通知所述全局最優解確定模塊確定全局最優解;所述更新模塊設置成用實例迭代捜索得到的局部最優解代替該實例的當前最優解;用該實例的當前最優解代替所述數據集合中存儲的最差的歷史最優解;所述全局最優解確定模塊設置成選取所述數據集合中最優的解作為全局最優解。 可選地,所述配置模塊還設置成為每個實例均設置ー個初始解、設置該實例的當前最優解和當前解均等于該初始解,并設置該實例的迭代搜索次數和該實例的當前最優解未更新前已迭代次數。可選地,所述配置模塊為每個實例設置的初始解均不同。可選地,所述迭代搜索模塊還設置成在所述更新模塊用實例的當前最優解代替最差的歷史最優解之后,基于該當前鄰域結構重新進行迭代捜索,將該實例的迭代搜索次數加I。可選地,所述判斷模塊還設置成判斷實例迭代捜索得到的局部最優解不優于該實例的當前最優解時,判斷該實例在其當前最優解未更新前已迭代次數沒有達到所述迭代次數閾值時,通知所述迭代捜索模塊將該實例的當前最優解未更新前已迭代次數加1,迭代捜索次數加I后,從所述鄰域結構集合中選取新的鄰域結構繼續進行迭代捜索;所述迭代搜索模塊還設置成將實例的當前最優解未更新前已迭代次數加1,迭代捜索次數加I后,從所述鄰域結構集合中選取新的鄰域結構繼續進行迭代捜索。可選地,所述判斷模塊還設置成當判斷多個實例需要同時對所述數據集合中存儲的最差的歷史最優解進行更新時,通知所述更新模塊從該多個實例的當前最優解中選擇最優的ー個來代替所述數據集合中最差的歷史最優解;所述更新模塊還設置成從需要同時對所述數據集合中存儲的最差的歷史最優解進行更新的多個實例的當前最優解中選擇最優的ー個來代替所述數據集合中最差的歷史最優解。本發明實施例的并行變鄰域搜索方法能夠有效擴展求解空間,増大逃離局部最優的可能性,進而獲得更好的全局最優解。


圖I為本發明實施例的方法流程示意圖;圖2為本發明實施例的變鄰域搜索裝置示意圖。
具體實施例方式下面將結合附圖及實施例對本發明的技術方案進行更詳細的說明。需要說明的是,如果不沖突,本發明實施例以及實施例中的·各個特征可以相互結合,均在本發明的保護范圍之內。另外,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。本發明實施例的一種并行變鄰域捜索方法,如圖I所示,主要包括如下步驟步驟101、配置多個實例及供多個所述實例共享的ー個數據集合,該數據集合中存儲有多個歷史最優解。其中,歷史最優解是多個所述實例在迭代搜索過程中找到的。步驟102、為多個所述實例設置相同的鄰域結構個數、總迭代次數、鄰域結構集合和迭代次數閾值;其中,所述迭代次數閾值為方法允許最優解不更新的最大迭代次數。步驟103、針對每ー個實例,從所述鄰域結構集合中為該實例選取ー個鄰域結構作為當前鄰域結構,該實例的當前解基于該當前鄰域結構進行迭代搜索,得到局部最優解;判斷該局部最優解是否優于該實例的當前最優解,若是,則將該實例的當前解和當前最優解更新為該局部最優解,如果該實例的當前最優解優于所述數據集合中存儲的最差的歷史最優解,則用該實例的當前最優解代替該最差的歷史最優解;若該局部最優解不優于該實例的當前最優解,判斷該實例在其當前最優解未更新前已迭代次數達到所述迭代次數閾值后,從所述數據集合中隨機選取一個歷史最優解作為該實例的當前解,基于該當前鄰域結構重新進行迭代捜索,將該實例的迭代搜索次數加I,直到該實例的迭代搜索次數達到所述總迭代次數;各個實例都具備單獨的求解能力,而當單個實例陷入局部時,通過與共享的數據集合的信息交換,實現了實例間的交互,從而能夠有效擴展求解空間,增大實例逃離局部最優的可能性。步驟104、所有實例的迭代搜索次數都達到所述總迭代次數后,選取所述數據集合中最優的解作為全局最優解。可選地,所述步驟101還包括對所述數據集合中的歷史最優解按照大小進行排序;可選地,所述步驟103還包括為每個實例均設置ー個初始解、設置該實例的當前最優解和當前解均等于該初始解,并設置該實例的迭代搜索次數和該實例的當前最優解未更新前已迭代次數。可選地,每個實例的初始解均不同。可選地,設置該實例的迭代搜索次數為1,設置該實例的當前最優解未更新前已迭代次數為O。可選地,所述步驟103還包括用該實例的當前最優解代替該最差的歷史最優解之后,基于該當前鄰域結構重新進行迭代捜索,將該實例的迭代搜索次數加1,直到迭代搜索次數達到所述總迭代次數。可選地,所述步驟103還包括若該局部最優解不優于該實例的當前最優解,判斷該實例在其當前最優解未更新前已迭代次數沒有達到所述迭代次數閾值時,將該實例的當前最優解未更新前已迭代次數加1,迭代搜索次數加I后,從所述鄰域結構集合中選取新的鄰域結構繼續進行迭代捜索,直到迭代搜索次數達到所述總迭代次數。可選地,所述步驟103還包括當多個實例需要同時對所述數據集合中存儲的最差的歷史最優解進行更新吋,則從該多個實例的當前最優解中選擇最優的ー個來代替該最差的歷史最優解。可選地,多個所述實例中,至少有ー個實例是基于所述數據集合中存儲的最優的歷史最優解進行迭代搜索。上述實例中為多個實例設置相同的鄰域結構個數、總迭代次數和鄰域結構集合, 基于所設置的鄰域結構個數、總迭代次數和鄰域結構集合進行并行迭代搜索,并在各自的迭代搜索過程中對數據進行更新,并通過共享的數據集合完成各實例間信息的交互,從而能夠有效擴展求解空間,増大逃離局部最優的可能性,進而獲得更好的全局最優解。本發明實施例的一種變鄰域捜索裝置,如圖2所示,包括配置模塊201、迭代搜索模塊202、判斷模塊203、更新模塊204和全局最優解確定模塊205,其中所述配置模塊201設置成配置多個實例及供多個所述實例共享的ー個數據集合,該數據集合中存儲有多個歷史最優解;還為多個所述實例設置相同的鄰域結構個數、總迭代次數、鄰域結構集合和迭代次數閾值;其中,歷史最優解是多個所述實例在迭代搜索過程中找到的。所述迭代捜索模塊202設置成針對每ー個實例,從所述鄰域結構集合中為該實例選取ー個鄰域結構作為當前鄰域結構,將該實例的當前解基于該當前鄰域結構進行迭代捜索,得到局部最優解;從所述數據集合中隨機選取一個歷史最優解作為該實例的當前解,將該實例的迭代搜索次數加1,基于該當前鄰域結構重新進行迭代捜索。所述判斷模塊203設置成針對每ー個實例,所述迭代捜索模塊202得到該實例的局部最優解后,判斷該實例迭代搜索得到的局部最優解是否優于該實例的當前最優解,若是,則通知所述更新模塊204用該實例的局部最優解代替該當前最優解;還判斷該實例的當前最優解是否優于所述數據集合中存儲的最差的歷史最優解,若是,則通知所述更新模塊204用該實例的當前最優解代替該最差的歷史最優解;還判斷該局部最優解不優于該實例的當前最優解后,判斷該實例在其當前最優解未更新前已迭代次數達到所述迭代次數閾值后,通知所述迭代捜索模塊202從所述數據集合中隨機選取一個歷史最優解作為該實例的當前解,基于該當前鄰域結構重新進行迭代捜索,將該實例的迭代搜索次數加I ;判斷某一實例的迭代搜索次數達到所述總迭代次數后,通知所述迭代捜索模塊202針對該實例停止迭代搜索;判斷所有實例的迭代搜索次數都達到所述總迭代次數后,通知所述全局最優解確定模塊205確定全局最優解。其中,迭代次數閾值為允許最優解不更新的最大迭代次數。所述更新模塊204設置成用實例迭代捜索得到的局部最優解代替該實例的當前最優解;用該實例的當前最優解代替所述數據集合中存儲的最差的歷史最優解;
所述全局最優解確定模塊205設置成選取所述數據集合中最優的解作為全局最優解。可選地,所述配置模塊201還設置成為每個實例均設置ー個初始解、設置該實例的當前最優解和當前解均等于該初始解,并設置該實例的迭代搜索次數和該實例的當前最優解未更新前已迭代次數。可選地,所述配置模塊201將該實例的迭代搜索次數設置為1,將該實例的當前最優解未更新前已迭代次數設置為O。可選地,所述配置模塊201為每個實例設置的初始解均不同。可選地,所述迭代捜索模塊202還設置成在所述更新模塊204用實例的當前最優解代替最差的歷史最優解之后,基于該當前鄰域結構重新進行迭代捜索,將該實例的迭代搜索次數加I。 可選地,所述判斷模塊203還設置成判斷實例迭代捜索得到的局部最優解不優于該實例的當前最優解時,判斷該實例在其當前最優解未更新前已迭代次數沒有達到所述迭代次數閾值時,通知所述迭代捜索模塊202將該實例的當前最優解未更新前已迭代次數加1,迭代搜索次數加I后,從所述鄰域結構集合中選取新的鄰域結構繼續進行迭代捜索;所述迭代捜索模塊202還設置成將實例的當前最優解未更新前已迭代次數加1,迭代搜索次數加I后,從所述鄰域結構集合中選取新的鄰域結構繼續進行迭代捜索。可選地,所述判斷模塊203還設置成當判斷多個實例需要同時對所述數據集合中存儲的最差的歷史最優解進行更新時,通知所述更新模塊204從該多個實例的當前最優解中選擇最優的ー個來代替所述數據集合中最差的歷史最優解;所述更新模塊204還設置成從需要同時對所述數據集合中存儲的最差的歷史最優解進行更新的多個實例的當前最優解中選擇最優的ー個來代替所述數據集合中最差的歷史最優解。可選地,多個所述實例中,至少有ー個實例是基于所述數據集合中存儲的最優的歷史最優解進行迭代搜索。下面用本發明的一個應用示例進ー步加以說明。步驟一、配置多個實例及供多個所述實例共享的ー個數據集合D ;設定實例個數、為所有的實例設定相同的鄰域結構個數、總迭代次數、鄰域結構集合等初始參數。其中,數據集合中存儲有多個歷史最優解;實例個數為M,鄰域結構個數為K_,總迭代次數為Tniax,鄰域結構集合為Nk(k =
I, ,Kmaxノ ;步驟ニ、為每個實例均設置ー個初始解、設置該實例的當前最優解和當前解均等于該初始解,并為每個實例均從所述鄰域結構集合中選定ー個鄰域結構,還為每個實例均設置迭代捜索次數和該實例的當前最優解未更新前已迭代次數。假設m為多個實例中的任意ー個,為實例m(m = 1,. . .,M)設定的初始解為氣設該實例的當前最優解)4est為x#st = Xgit,當前解父『為xぽr =X^ic ,為實例m選定的鄰域結構編號為km= 1,實例m的迭代搜索次數為tm= 1,實例m在其當前最優解未更新前已迭代次數im = O。迭代搜索次數即已經迭代過的總次數。
步驟三、初始化數據集合D及迭代次數閾值Iter。其中,迭代次數閾值Iter為算法允許最優解不更新的最大迭代次數。步驟四、對于實例m(m = I,. . .,M),執行以下操作當tm > Tmax時,實例m停止運算;當t.不大于Tmax吋,在X,的km鄰域Nkm中隨機選取解X^iake,并對解X$ake
進行局部迭代搜索,得到局部最優解Xgcal;若f(x#al) < /(X^est),fjX^est = Xjfal,=X1rScal,如果Xiest優于集合D中的最差解,則將集合D中的最差解更新為x#st,km =Lim = O ;若辦ぽ3丨)不小于f(Xばst),且im > Iter,則從集合D中隨機選擇ー個歷史最優解,賦予XT * km = I, im = 0 ;否則,k = k mod Kmax+1, im = im+l, t = t+1,重復步驟四;對其他實例均執行與實例m相同的操作,在此不再贅述。步驟五、所有實例的迭代搜索次數都達到所述總迭代次數后,數據集合D中的最優解即為算法找到的全局最優解。本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關硬件完成,所述程序可以存儲于計算機可讀存儲介質中,如只讀存儲器、磁盤或光盤等。可選地,上述實施例的全部或部分步驟也可以使用ー個或多個集成電路來實現。相應地,上述實施例中的各模塊/単元可以采用硬件的形式實現,也可以采用軟件功能模塊的形式實現。本發明不限制于任何特定形式的硬件和軟件的結合。當然,本發明還可有其他多種實施例,在不背離本發明精神及其實質的情況下,熟悉本領域的技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發明的權利要求的保護范圍。
權利要求
1.一種變鄰域搜索方法,其特征在于,該變鄰域搜索方法是并行變鄰域搜索方法,包括如下步驟 步驟101、配置多個實例及供多個所述實例共享的ー個數據集合,該數據集合中存儲有多個歷史局部最優解; 步驟102、為多個所述實例設置相同的鄰域結構個數、總迭代次數、鄰域結構集合和迭代次數閾值; 步驟103、針對每ー個實例,從所述鄰域結構集合中為該實例選取ー個鄰域結構作為當前鄰域結構,該實例的當前解基于該當前鄰域結構進行迭代搜索,得到局部最優解;判斷該局部最優解是否優于該實例的當前最優解,若是,則將該實例的當前解和當前最優解均更 新為該局部最優解,如果該實例的當前最優解優于所述數據集合中存儲的最差的歷史最優解,則用該實例的當前最優解代替該最差的歷史最優解;若該局部最優解不優于該實例的當前最優解,判斷該實例在其當前最優解未更新前已迭代次數達到所述迭代次數閾值后,從所述數據集合中隨機選取一個歷史最優解作為該實例的當前解,將該實例的迭代搜索次數加1,基于該當前鄰域結構重新進行迭代捜索,直到迭代搜索次數達到所述總迭代次數;步驟104、所有實例的迭代搜索次數都達到所述總迭代次數后,選取所述數據集合中最優的解作為全局最優解。
2.如權利要求I所述的變鄰域搜索方法,其特征在于,所述步驟101還包括 對所述數據集合中的歷史最優解按照大小進行排序。
3.如權利要求I所述的變鄰域搜索方法,其特征在于,所述步驟103還包括 為該實例設置ー個初始解、設置該實例的當前最優解和當前解均等于該初始解,并設置該實例的迭代搜索次數和該實例的當前最優解未更新前已迭代次數。
4.如權利要求I所述的變鄰域搜索方法,其特征在于,所述步驟103還包括 用該實例的當前最優解代替該最差的歷史最優解之后,基于該當前鄰域結構重新進行迭代搜索,將該實例的迭代搜索次數加1,直到迭代搜索次數達到所述總迭代次數。
5.如權利要求1-4中任一項所述的變鄰域捜索方法,其特征在干,所述步驟103中還包括 若該局部最優解不優于該實例的當前最優解,判斷該實例在其當前最優解未更新前已迭代次數沒有達到所述迭代次數閾值時,將該實例的當前最優解未更新前已迭代次數加1,迭代搜索次數加I后,從所述鄰域結構集合中選取新的鄰域結構繼續進行迭代捜索,直到迭代搜索次數達到所述總迭代次數。
6.如權利要求5所述的變鄰域搜索方法,其特征在于,所述步驟103還包括 當多個實例需要同時對所述數據集合中存儲的最差的歷史最優解進行更新吋,則從該多個實例的當前最優解中選擇最優的ー個來代替該最差的歷史最優解。
7.如權利要求I所述的變鄰域搜索方法,其特征在于,多個所述實例中,至少有ー個實例是基于所述數據集合中存儲的最優的歷史最優解進行迭代搜索。
8.一種變鄰域捜索裝置,其特征在于,包括配置模塊、迭代捜索模塊、判斷模塊、更新模塊和全局最優解確定模塊,其中 所述配置模塊設置成配置多個實例及供多個所述實例共享的ー個數據集合,該數據集合中存儲有多個歷史最優解;還為多個所述實例設置相同的鄰域結構個數、總迭代次數、鄰域結構集合和迭代次數閾值; 所述迭代捜索模塊設置成針對每ー個實例,從所述鄰域結構集合中為該實例選取ー個鄰域結構作為當前鄰域結構,將該實例的當前解基于該當前鄰域結構進行迭代搜索,得到局部最優解;還從所述數據集合中隨機選取一個歷史最優解作為該實例的當前解,將該實例的迭代搜索次數加1,基于該當前鄰域結構重新進行迭代捜索; 所述判斷模塊設置成針對每ー個實例,所述迭代捜索模塊得到該實例的局部最優解后,判斷該實例迭代搜索得到的局部最優解是否優于該實例的當前最優解,若是,則通知所述更新模塊用該實例的局部最優解代替該當前最優解;還判斷該實例的當前最優解是否優于所述數據集合中存儲的最差的歷史最優 解 ,若是,則通知所述更新模塊用該實例的當前最優解代替該最差的歷史最優解;還判斷該局部最優解不優于該實例的當前最優解后,判斷該實例在其當前最優解未更新前已迭代次數達到所述迭代次數閾值后,通知所述迭代搜索模塊從所述數據集合中隨機選取一個歷史最優解作為該實例的當前解,將該實例的迭代捜索次數加1,基于該當前鄰域結構重新進行迭代捜索;判斷某ー實例的迭代搜索次數達到所述總迭代次數后,通知所述迭代捜索模塊針對該實例停止捜索;判斷所有實例的迭代捜索次數都達到所述總迭代次數后,通知所述全局最優解確定模塊確定全局最優解; 所述更新模塊設置成用實例迭代捜索得到的局部最優解代替該實例的當前最優解;用該實例的當前最優解代替所述數據集合中存儲的最差的歷史最優解; 所述全局最優解確定模塊設置成選取所述數據集合中最優的解作為全局最優解。
9.如權利要求8所述的變鄰域搜索裝置,其特征在于,所述配置模塊還設置成 為每個實例均設置ー個初始解、設置該實例的當前最優解和當前解均等于該初始解,并設置該實例的迭代搜索次數和該實例的當前最優解未更新前已迭代次數。
10.如權利要求9所述的變鄰域搜索裝置,其特征在于,所述配置模塊為每個實例設置的初始解均不同。
11.如權利要求8中任一項所述的變鄰域捜索裝置,其特征在于 所述迭代搜索模塊還設置成在所述更新模塊用實例的當前最優解代替最差的歷史最優解之后,基于該當前鄰域結構重新進行迭代捜索,將該實例的迭代搜索次數加I。
12.如權利要求8-11中任一項所述的變鄰域捜索裝置,其特征在于 所述判斷模塊還設置成判斷實例迭代捜索得到的局部最優解不優于該實例的當前最優解時,判斷該實例在其當前最優解未更新前已迭代次數沒有達到所述迭代次數閾值吋,通知所述迭代捜索模塊將該實例的當前最優解未更新前已迭代次數加1,迭代搜索次數加I后,從所述鄰域結構集合中選取新的鄰域結構繼續進行迭代捜索; 所述迭代搜索模塊還設置成將實例的當前最優解未更新前已迭代次數加1,迭代搜索次數加I后,從所述鄰域結構集合中選取新的鄰域結構繼續進行迭代捜索。
13.如權利要求8-11中任一項所述的變鄰域捜索裝置,其特征在于 所述判斷模塊還設置成當判斷多個實例需要同時對所述數據集合中存儲的最差的歷史最優解進行更新時,通知所述更新模塊從該多個實例的當前最優解中選擇最優的ー個來代替所述數據集合中最差的歷史最優解; 所述更新模塊還設置成從需要同時對所述數據集合中存儲的最差的歷史最優解進行更新的多個實例的當前最優解中選擇最優的ー個來代替所述數據集合中最差的歷史最優解。
全文摘要
一種變鄰域搜索方法和裝置,方法包括,配置多個實例及多個實例共享的數據集合;針對每一個實例,從鄰域結構集合中為該實例選取一個鄰域結構,該實例的當前解基于當前鄰域結構進行迭代搜索,得到局部最優解;判斷該局部最優解是否優于該實例的當前最優解,若是,則將該實例的當前解和當前最優解更新為該局部最優解,如果該實例的當前最優解優于所述數據集合中存儲的最差的歷史最優解,則用該實例的當前最優解代替該最差的歷史最優解;否則判斷該實例在其當前最優解未更新前已迭代次數達到迭代次數閾值后,從數據集合中隨機選取歷史最優解作為該實例的當前解;所有實例的迭代搜索次數都達到總迭代次數后,選取數據集合中最優的解作為全局最優解。
文檔編號G06F17/30GK102855328SQ20121034824
公開日2013年1月2日 申請日期2012年9月18日 優先權日2012年9月18日
發明者張俊, 顏秉珩, 崔贏, 張現忠 申請人:浪潮(北京)電子信息產業有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 额济纳旗| 河源市| 留坝县| 前郭尔| 西盟| 华容县| 项城市| 柳河县| 陇川县| 焦作市| 乌拉特中旗| 海林市| 临漳县| 张家界市| 连江县| 呼图壁县| 隆回县| 冀州市| 恩平市| 新晃| 绥芬河市| 通渭县| 西乌珠穆沁旗| 吉木萨尔县| 高州市| 余庆县| 稷山县| 谷城县| 丹凤县| 突泉县| 蛟河市| 许昌县| 永川市| 镇巴县| 丰宁| 九台市| 陈巴尔虎旗| 安远县| 衡山县| 广安市| 林芝县|