• 您現在的位置是:首頁 >生活 > 2022-08-19 21:18:15 來源:

    微粒群算法適用于(微粒群算法)

    導讀 大家好,小霞來為大家解答以上的問題。微粒群算法適用于,微粒群算法這個很多人還不知道,現在讓我們一起來看看吧!1、1 多目標優化 相對傳

    大家好,小霞來為大家解答以上的問題。微粒群算法適用于,微粒群算法這個很多人還不知道,現在讓我們一起來看看吧!

    1、1 多目標優化 相對傳統多目標優化方法, PSO在求解多目標問題上具有很大優勢。

    2、首先, PSO的高效搜索能力有利于得到多目標意義下的最優解;其次, PSO通過代表整個解集的種群按內在的并行方式同時搜索多個非劣解,因此容易搜索到多個Pareto 最優解; 再則, PSO的通用性使其適合于處理所有類型的目標函數和約束;另外, PSO 很容易與傳統方法相結合,進而提出解決特定問題的高效方法。

    3、就PSO 本身而言,為了更好地解決多目標優化問題,必須解決全局最優粒子和個體最優粒子的選擇問題。

    4、對于全局最優粒子的選擇,一方面要求算法具有較好的收斂速度,另一方面要求所得解在Pareto邊界上具有一定的分散性。

    5、對于個體最優粒子的選擇,則要求較小的計算復雜性,即僅通過較少的比較次數達到非 劣解的更新。

    6、迄今,基于PSO的多目標優化主要有以下幾種 思路: (1)向量法和權重法。

    7、文獻[ 20 ]利用固定權重法、適應性權重法和向量評價法,首次將PSO 用于解決MO問題。

    8、然而對于給定的優化問題,權重法通常很難獲得一組合適的權重,而向量評價法往往無法給出MO問題的滿意解。

    9、 (2)基于Pareto的方法。

    10、文獻[ 21 ]將Pareto排序機制和PSO相結合來處理多目標優化問題,通過Pareto排序法選擇一組精英解,并采用輪盤賭方式從中選擇全局最優粒子。

    11、盡管輪盤賭選擇機制設計的目的是使所有Pareto個體的選擇概率相同,但是實際上只有少數個體得到較大的選擇概率,因此不利于維持種群的多樣性;文獻[ 22 ]通過在PSO中引入Pareto競爭機制和微粒知識庫來選擇全局最優粒子。

    12、由于非劣解是將候選個體與從種群中隨機選出的比較集進行比較來確定的,因此該算法成功與否就取決于比較集規模參數的設定。

    13、如果這個參數太小,該過程從種群中選出的非劣個體可能過少;如果這個參數太大,則可能發生早熟收斂現象。

    14、 (3)距離法。

    15、文獻[ 23 ]根據個體當前解與Pa2reto解之間的距離來分配其適應值,從而選擇全局最優粒子。

    16、由于距離法需要初始化潛在解,如果初始潛在值太大,不同解的適應值的差別則不明顯。

    17、這將導致選擇壓力過小或個體均勻分布,從而導致PSO算法收斂非常緩慢。

    18、 (4)鄰域法。

    19、文獻[ 24 ]提出一種基于動態鄰域的選擇策略,將一個目標定義為優化目標,而將其它所有目標定義為鄰域目標,進而提出了選擇全局最優粒子的動態鄰域策略,但該方法對優化目標的選擇以及鄰域目標函數的排序較敏感。

    20、 (5)多種群法。

    21、文獻[ 25 ]將種群分為多個子種群,每個子種群單獨進行PSO 運算,各個子種群之間通過信息交換來搜索Pareto最優解。

    22、但是由于需要增加微粒數目而增加了計算量。

    23、 (6)非優勢排序法。

    24、文獻[ 26 ]利用非優勢排序的方法選擇全局最優粒子。

    25、該方法在整個種群中,比較微粒的個體最優粒子與其后代,有利于提供合適的選擇壓力,同時使用小生境技術提高種群多樣性。

    26、然而在整個種群中比較所有微粒的個體最優粒子與其后代,其本質不利于種群多樣性,容易形成早熟。

    27、另外,文獻[ 27 ]將博弈理論中的Maximin策略引入PSO來解決多MO問題。

    28、利用Maximin策略確定微粒的適應值可以很好地確定Pareto最優解而不需要聚類和小生境技術。

    29、 2 約束優化 近年來, PSO算法在約束優化方面也取得了一定進展。

    30、基于PSO的約束優化工作主要分為兩類: ①罰函數法; ②設計特定的進化操作或約束修正因子。

    31、文獻[ 28 ]采用罰函數法,利用非固定多段映射罰函數對約束優化問題進行轉化,再利用PSO求解轉化后的問題,仿真結果顯示PSO相對進化策略和遺傳算法有優越性,但其罰函數的設計過于復雜,不利于求解;文獻[ 29 ]采用可行解保留策略處理約束,即一方面更新存儲區時所有粒子僅保留可行的解,另一方面在初始化階段所有粒子均從可行解空間取值,然而初始可行解空間對于許多問題是很難確定的;文獻[ 30 ]提出了具有多層信息共享策略的微粒群原理來處理約束,根據約束矩陣采用多層Pareto排序機制來產生優良粒子,進而用一些優良的粒子來決定其余個體的搜索方向。

    32、 3 離散優化對于離散優化而言,解空間是離散點的集合,而非連續區域,因此利用PSO解決離散優化問題就必須修正速度和位置更新公式,或者是對問題進行變形。

    33、目前,基于PSO的離散優化工作可分為如下三類: (1)將速度作為位置變化的概率。

    34、文獻[ 31 ]首次提出了離散二值PSO。

    35、其微粒位置編碼采用二進制方式,通過采用Sigmoid函數將速度約束于[ 0, 1 ]區間,來代表微粒位置取1的概率;文獻[ 32 ]對文獻 [ 31 ]中的方法進行改進,用于解決置換排列問題。

    36、其中微粒用置換排列表示,而速度則根據兩個粒子的相似度來定義,決定微粒位置變化的概率,同時還引入變異操作防止最優粒子陷入局部極小。

    37、 (2)重新定義PSO操作。

    38、文獻[ 33 ]通過重新定義微粒的位置、速度、以及它們之間的加減乘操作,提出一種新的離散PSO,并用于求解旅行商問題。

    39、盡管該算法的效果較差,但是提供了一種解決組合優化問題的新的思路。

    40、 (3)直接將連續PSO用于離散情況。

    41、文獻[ 34 ]利用連續PSO 解決分布式計算機任務分配問題。

    42、為了將實數轉化為正整數,把實數的符號和小數部 分去掉。

    43、結果表明該方法在解的質量和算法速度方面,要優于遺傳算法。

    44、 4 動態優化 在許多實際工程問題中,優化的環境是不確定的,或者是動態的。

    45、因此,優化算法必須具備隨環境動態變化而對最優解作出相應調整的能力,或者是算法具有一定的魯棒性。

    46、文獻[ 35 ]首次提出利用PSO跟蹤動態系統;文獻[ 36 ]提出用自適應PSO來自動跟蹤動態系統的變化,該方法通過對種群中最好微粒的檢測和對微粒重新初始化, 有效增強了PSO對系統變化的跟蹤能力;文獻[ 37 ]為了處理快速變化的動態環境,在微粒速度更新公式中增加了一項變化項,從而無需檢測環境的變化就可以跟蹤環境。

    47、盡管該方面的研究成果至今較少,但不容質疑這是一項重要的研究內容。

    48、 微粒群算法的MATLAB程序實現 初始化粒子群; DO For每個粒子 計算其適應度; If (適應度優于粒子歷史最佳值) 用Xi更新歷史最佳個體Pi; End 選取當前粒子群中最佳粒子; If (當前最佳粒子優于群歷史最佳粒子) 用當前群最佳粒子更新Pg; For每個粒子 按式①更新粒子速度; 按式②更新粒子位置; End While最大迭代數未達到或最小誤差未達到。

    49、本人是搞NOIP的,至今還沒聽說過什么“微粒算法”。

    本文到此分享完畢,希望對大家有所幫助。

  • 成人app