規(guī)劃數學-第12講智能優(yōu)化算法簡介課件_第1頁
規(guī)劃數學-第12講智能優(yōu)化算法簡介課件_第2頁
規(guī)劃數學-第12講智能優(yōu)化算法簡介課件_第3頁
規(guī)劃數學-第12講智能優(yōu)化算法簡介課件_第4頁
規(guī)劃數學-第12講智能優(yōu)化算法簡介課件_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第12講智能優(yōu)化算法智能優(yōu)化算法簡介遺傳算法簡介基本遺傳算法改進的遺傳算法遺傳算法軟件計算

7.1遺傳算法第12講智能優(yōu)化算法智能優(yōu)化算法簡介7.1遺傳算法智能優(yōu)化算法簡介一、傳統(tǒng)優(yōu)化算法的步驟及局限性

1步驟:(1)選擇一個初始解,(2)向改進方向移動判斷停止準則是否滿足,若滿足停止,否則轉下一步。(3)向改進方向移動,得新的解,轉回第2步。

2局限性:(1)單點運算方式限制了計算效率的提高(2)向改進方向移動限制了跳出局部最優(yōu)的能力(3)停止條件僅是局部最優(yōu)的條件(4)對目標函數,約束條件的要求限制了算法的應用

智能優(yōu)化算法簡介一、傳統(tǒng)優(yōu)化算法的步驟及局限性智能優(yōu)化算法簡介

二、智能優(yōu)化算法的產生與發(fā)展

1最優(yōu)化方法的新的需求(1)對目標函數,約束函數的要求更為寬松(2)計算效率比理論上的最優(yōu)性更重要(3)算法隨時終止都能得到較好的解(4)對優(yōu)化模型中數據質量要求更加寬松。

2智能算法及代表人物

1975年,Holland提出遺傳算法(GeneticAlgorithms)1977年,Glover提出禁忌算法(TabuSearch)1983年,Kirkpatrick提出模擬退火算法(SimulatedAnnealing)

90年代初,Dorigo提出蟻群算法(AntColonyOptimization)1995年,Kennedy,Eberhart提出的粒子群算法(ParticleSwarm)1999年,Linhares提出的捕食搜索(PredatorySearch)

智能優(yōu)化算法簡介二、智能優(yōu)化算法的產生與發(fā)展智能優(yōu)化算法簡介三、如何學習研究智能優(yōu)化算法

1應用智能優(yōu)化方法解決各類問題是重點

2智能算法的改進有很大的空間

3多種算法結合是一種很好的途徑

4不提倡刻意追求理論成果

5算法性能的測試是一項要下真功夫的工作

6創(chuàng)造出新算法

智能優(yōu)化算法簡介三、如何學習研究智能優(yōu)化算法遺傳算法簡介

一、遺傳算法原理(7.1.1)

遺傳算法是根據問題的目標函數構造的一個適值函數,對一個由多個解(每個解對應一個染色體)構成的種群進行評估、遺傳運算、經多代繁殖,獲得適應值最好的個體作為問題的最優(yōu)解。

遺傳算法簡介一、遺傳算法原理(7.1.1)遺傳算法簡介

二、遺傳算法技術問題(7.1.2)遺傳算法的主要問題是算法如何實現的技術問題。歸結起來有如下一些因素:

1解的編碼和解碼解的編碼是遺傳算法的最基礎工作,只有在編碼之后才可能有其他的計算。算法的最后一個工作則是通過解碼得到問題的一個解。

2初始群體的選取

在計算開始時,需要產生一些待優(yōu)化問題的可能解,稱為初始群體,初始群體可用隨機方式產生,也可用用其他的一下啟發(fā)式算法或經驗選擇,主要針對實際問題而定。

3群體規(guī)模的確定,常取個體編碼長度數的一個線性倍數。當多個進化代沒有改變解的性能,可擴大群體的規(guī)模。若解的改進已經非常好時,就可以減少群體規(guī)模,使計算速度加快。

4適應函數的確定

簡單適應函數目標函數的簡單變形,構造簡單,與目標函數直接相關,缺點是可能使算法在迭代過程中出現收斂到一些目標值近似的不同染色體而難以區(qū)別。

加速適應函數有非線性加速適應函數,線性加速適應函數等。它們的思想是希望開始時每一個狀態(tài)有較大的選取性,隨著計算的步步進行,逐漸拉開目標值不同對應狀態(tài)的檔次。

排序適應函數為了避開對目標函數進行線性、非線性等加速適應函數的早熟可能,使每一代當前最好的解以最大的概率遺傳。

遺傳算法簡介二、遺傳算法技術問題(7.1.2)遺傳算法簡介三、遺傳算法特點

1特點(1)遺傳算法以決策變量的編碼作為運算對象。

(2)遺傳算法直接以適應度作為搜索信息,無需導數等其它輔助信息。

(3)遺傳算法使用多個點的搜索信息,具有隱含并行性。(4)遺傳算法使用概率搜索技術,而非確定性規(guī)則。

2應用領域(1)函數優(yōu)化(2)組合優(yōu)化(3)生產調度(4)自動控制

(5)機器人學

(6)圖象處理

遺傳算法簡介三、遺傳算法特點基本遺傳算法(7.1.3)

一、

基本遺傳算法的構成要素

1染色體編碼方法。

2個體適應度評價。

3遺傳算子。基本遺傳算法使用下述三種遺傳算子

●選擇運算使用比例選擇算子;

●交叉運算使用單點交叉算子;

●變異運算使用基本位變異算子或均勻變異算子。

4基本遺傳算法的運行參數?;具z傳算法有下述4個運行參數需要提前設定:

●M:群體大小,即群體中所合個體的數量,一般取為20—1000。

●T:遺傳運算的終止進化代數,一般取為l00一500。

●Pc:交叉概率,—般取為0.4一0.99。

●Pm:變異概率,一般取為0.0001一0.1.

基本遺傳算法(7.1.3)一、基本遺傳算法的構成要素基本遺傳算法(7.1.3)二、基本遺傳算法描述

1基本遺傳算法的形式化定義基本遺傳算法可定義為一個8元組,這些參數合理的取值大小或取值范圍。基本遺傳算法(7.1.3)二、基本遺傳算法描述基本遺傳算法(7.1.3)二、基本遺傳算法描述

2遺傳算法的基本操作舉例(1)產生初始種群括號中的數值為目標函數值基本遺傳算法(7.1.3)二、基本遺傳算法描述基本遺傳算法(7.1.3)2遺傳算法的基本操作舉例(2)遺傳運算選擇運算(輪盤賭)基本遺傳算法(7.1.3)2遺傳算法的基基本遺傳算法(7.1.3)2遺傳算法的基本操作舉例(2)遺傳運算選擇運算(輪盤賭)由計算機產生隨機數來實現假設產生隨機數序列為0.070221,0.545929,0.784567,0.44693,0.507893,0.291198,0.71634,0.27290l,0.37l435,0.854641。將該隨機序列與計算獲得的累積概率比較,則依次序號為1,8,9,6,7,5,8,4,6,10個體被選中。顯然適應度高的個體被選中的概率大。而且可能被選中;而適應度低的個體則很有可能破淘汰。在第一次生存競爭考驗中,序號為2的個體(0101111001)和3的個體(0000000101)被淘汰,代之以適應度較高的個體8和6?;具z傳算法(7.1.3)2遺傳算法的基基本遺傳算法(7.1.3)2遺傳算法的基本操作舉例(2)遺傳運算交叉運算以單點交叉為例,任意挑選經過選擇操作后種群中兩個個體作為交叉對象,即兩個父個體經過染色體交換重組產生兩個子個體,如下圖,隨機產生一個交叉點位置,父個體l和父個體2在交叉點位置之有的部分基因碼互換,形成子個體1和子個體2。類似地完成其他個體的交叉操作基本遺傳算法(7.1.3)2遺傳算法的基基本遺傳算法(7.1.3)2遺傳算法的基本操作舉例(2)遺傳運算變異算子如圖所示采用翻轉,對于個體1001110100產生變異,以小概率決定第4個遺傳因子翻轉,即將1換為0?;具z傳算法(7.1.3)2遺傳算法的基遺傳算法的進化過程遺傳算法的進化過程大變異遺傳算法(7.1.4)

一、大變異遺傳原理

在遺傳算法中,變異操作可以使算法避免“早熟”。但是,為了保證算法的穩(wěn)定性,變異操作的變異概率通常取值很小,所以算法一旦出現“早熟”,單靠傳統(tǒng)的變異操作需很多代才能得到不同于其他個體的新個體。大變異操作的思路是:當某代中所有個體集中在一起時,我們以一個遠大于通常的變異概率的概率進行變異操作,它能夠產生多個新個體,從而使得種群脫離”早熟”。大變異遺傳算法(7.1.4)一、大變異遺傳原理大變異遺傳算法(7.1.4)

一、大變異遺傳算法的原理當某一代的最大適應度與平均適應度滿足

其中,被稱為密集因子,表征個體集中的程度。大變異操作要求有兩個參數是:密集因子和大變異概率。密集因子用來決定大變異操作在整個優(yōu)化過程中所占的比重,其數值越接近0.5時大變異操作被調用的越頻繁。大變異概率越大,含大變異操作的遺傳算法的穩(wěn)定性就越好,但是,這是以犧牲收斂速度為代價的,當其數值等于0.5時,大變異操作就近似為隨機搜索。大變異遺傳算法(7.1.4)一、大變異遺傳算法的原理大變異遺傳算法(7.1.4)

二、

大變異遺傳算法的步驟

1隨機產生初始種群,種群個體數目事先給定,每個個體表示為染色體的基因編碼;

2計算個體的適應度,并判斷是否符合優(yōu)化準則,若符合,輸出最佳個體及其代表的最優(yōu)解,并結束計算,否則轉3;

3依據適應度選擇再生個體,適應的高的個體被選中的概率高,適應的低的個體可能被淘汰;

4對選擇出再生個體按一定的交叉概率和交叉方法生成新個體;

5如果當代最大適應度與平均適應度滿足時,進行大變異操作,否則進行普通變異操作。

6由交叉和變異產生新一代的種群,返回2。

大變異遺傳算法(7.1.4)二、大變異遺傳算法的步驟自適應遺傳算法(7.1.5)

一、自適應遺傳算法的原理

Srinvivas等提出一種自適應遺傳算法,交叉概率和變異概率能夠隨適應度自動改變。當種群個體適應度趨于一致或者趨于局部最優(yōu)時,使交叉概率和變異概率二者增加、而當群體適應度比較分散時,使交叉概率和變異概率減少。同時,對于適應值高于群體平均適應值的個體,對應于較低的交叉概率和變異概率,使該個體得以保護進入下一代;而低于平均適應值的個體,相對于較高的交叉概率和變異概率,使該個體被淘汰。因此,自適應遺傳算法能過提供相對某個解的最佳交叉概率和變異概率。自適應遺傳算法(7.1.5)一、自適應遺傳算法的原理自適應遺傳算法(7.1.5)

一、自適應遺傳算法的原理

Srinvivas等提出一種自適應遺傳算法,交叉概率和變異概率能夠隨適應度自動改變。當種群個體適應度趨于一致或者趨于局部最優(yōu)時,使交叉概率和變異概率二者增加、而當群體適應度比較分散時,使交叉概率和變異概率減少。同時,對于適應值高于群體平均適應值的個體,對應于較低的交叉概率和變異概率,使該個體得以保護進入下一代;而低于平均適應值的個體,相對于較高的交叉概率和變異概率,使該個體被淘汰。因此,自適應遺傳算法能過提供相對某個解的最佳交叉概率和變異概率。自適應遺傳算法(7.1.5)一、自適應遺傳算法的原理自適應遺傳算法(7.1.5)一、自適應遺傳算法的原理

自適應遺傳算法中交叉概率和變異概率的計算公式如下:自適應遺傳算法(7.1.5)一、自適應遺傳算法的原理自適應遺傳算法(7.1.5)

二、

自適應遺傳算法的步驟

1隨機產生初始種群,種群個體數目事先給定,每個個體表示為染色體的基因編碼;

2計算個體的適應度,并判斷是否符合優(yōu)化準則,若符合,輸出最佳個體及其代表的最優(yōu)解,并結束計算,否則轉3;

3依據適應度選擇再生個體,適應的高的個體被選中的概率高,適應的低的個體可能被淘汰;

4按照下式(I)確定交叉概率,并通過交叉生成新個體;

5按照式(II)確定變異概率,并通過變異生成新個體;

6由交叉和變異產生新一代的種群,返回2。.

自適應遺傳算法(7.1.5)二、自適應遺傳算法的步驟遺傳算法的軟件實現一、基本遺傳算法的Matlab實現

1計算函數的格式

函數:myGA。功能:用基本遺傳算法解一維無約束極值問題調用格式:[xv,fv]=myGA(fitness,a,b,NP,NG,Pc,Pm,eps)

其中:fitness:待優(yōu)化的目標函數;

a:自變量下界;b:自變量上界;

NP:種群大小;NG:最大進化代數;

Pc:交叉概率;Pm:變異概率;

eps::自變量離散精度;

xv:目標函數取最大值時的自變量取值;

fv:目標函數的最大值。

遺傳算法的軟件實現一、基本遺傳算法的Matlab實現遺傳算法的軟件計算一、基本遺傳算法的Matlab實現

2舉例例7-1用基本遺傳算法計算下面函數的最大值種群個體數目50,最大進化代數100,離散精度0.01,交叉概率0.9,變異概率0.04。解:首先建立目標函數文件fitness.mfunctionF=fitness(x)F=x^3-60*x^2+900*x+100;

在命令框中輸入調用遺傳算法函數

>>[xv,fv]=myGA(@fitness,0,30,50,100,0.9,0.04,0.01)所得結果

xv=8.8242fv=4.0991e+003

該問題的精確最大值點為xv=10,最大值為fv=4100。遺傳算法的軟件計算一、基本遺傳算法的Matlab實現遺傳算法的軟件計算二、大變異遺傳算法的Matlab實現

1計算函數格式

函數:GMGA。功能:用大變異遺傳算法解一維無約束極值問題調用格式:[xv,fv]=GMGA(@fitness,a,b,NP,NG,Pc,Pm,alpha,Pbm,

eps)

其中:fitness:待優(yōu)化的目標函數;a:自變量下界;

b:自變量上界;NP:種群大?。籒G:最大進化代數;

Pc:交叉概率;Pm:變異概率;alpha,:密集因子;

Pbm:大變異概率;eps::自變量離散精度;

xv:目標函數取最大值時的自變量取值;

fv:目標函數的最大值。遺傳算法的軟件計算二、大變異遺傳算法的Matlab實現遺傳算法的軟件計算二、大變異遺傳算法的Matlab實現

2舉例例7-2

用大變異遺傳算法求函數的最大值,個體數目取50,最大進化代數500,交叉概率取0.9,變異概率取0.03,密集因子取0.6,大變異概率取0.2,離散精度取0.01。解:首先建立目標函數文件fitness.mFunctionF=fitness(x)F=x^2-10*cos(2*pi*x)+10;在命令框中輸入調用大變異遺傳算法函數>>[xv,fv]=GMGA(@fitness,0,4,50,500,0.9,0.03,0.6,0.2,0.01)運算結果xv=3.5068fv=32.2887最大值點為x=3.5178,最大值為f=32.3124。用大變異算法得到的結果較好。

遺傳算法的軟件計算二、大變異遺傳算法的Matlab實現解:首遺傳算法的軟件計算三、自適應遺傳算法的Matlab實現

1計算函數格式

函數:AdapGA。功能:用自適應遺傳算法解一維無約束極值問題調用格式:[xv,fv]=AdapGA(@fitness,a,b,NP,NG,Pc1,Pc2,Pm1,Pm2,eps)

其中:fitness:待優(yōu)化的目標函數;a:自變量下界;

b:自變量上界;NP:種群大??;NG:最大進化代數;

Pc1:交叉常數1;Pc2:交叉常數2;

Pm1:變異常數1;Pm2:變異常數2;

eps::自變量離散精度;

xv:目標函數取最大值時的自變量取值;

fv:目標函數的最大值。遺傳算法的軟件計算三、自適應遺傳算法的Matlab實現遺傳算法的軟件計算三、自適應遺傳算法的Matlab實現

2舉例例7-3

用自適應遺傳算法求函數的最大值,個體數目取50,最大進化代數500,交叉概率k1取0.5,k2取0.9,變異概率k3取0.02,k4取0.05,離散精度取0.01。解:首先建立目標函數文件fitness.mFunctionF=fitness(x)F=x^2-10*cos(2*pi*x)+10;在命令框中輸入調用自適應遺傳算法函數>>[xv,fv]=AdapGA(@fitness,0,4,50,500,0.5,0.9,0.02,0.05,0.01)運算結果xv=3.5147fv=32.3105與例7-2相比自適應遺傳算法所求結果更好。

遺傳算法的軟件計算三、自適應遺傳算法的Matlab實現解:首遺傳算法的應用舉例文獻1一種改進的遺傳優(yōu)化策略在電動機故障診斷中的應用文獻2基于遺傳算法的熱管多目優(yōu)化設計遺傳算法的應用舉例文獻1一種改進的遺傳優(yōu)化策略在電動機故粒子群算法簡介基本粒子群算法改進的粒子群算法粒子群算法軟件計算粒子群算法應用

7.2粒子群算法粒子群算法簡介7.2粒子群算法粒子群算法簡介

一、粒子群算法原理粒子群優(yōu)化算法(ParticleSwarmOptimization,PSO)是Eberhart和kennedy博士發(fā)明。源于對鳥群捕食的行為研究,PSO同遺傳算法類似,是一種基于迭代的優(yōu)化工具。系統(tǒng)初始化為一組隨機解,通過迭代搜索尋最優(yōu)值。在PSO算法中,每個優(yōu)化問題的解都是搜索空間中的一只鳥,被抽象為沒有質量和體積的微粒,并將其延伸到N維空間,離子i在N維空間中的位置表示為一個矢量,每個粒子的飛行速度也為一個矢量,所有粒子都有一個被優(yōu)化的函數決定的適應值(fitness),每個粒子還有一個決定他們飛翔的方向和距離。粒子們知道到目前為止發(fā)現的最好位置(pbest)和現在的位置,這個可以看做是粒子自己的飛行經驗,除此之外,每個粒子還知道目前為止所有粒子發(fā)現的最好位置(gbest,gbest是pbest中最好值),著可以看做是粒子同伴的經驗。粒子是通過自己的經驗和同伴中最好的經驗來決定下一步的運動。

粒子群算法簡介一、粒子群算法原理粒子群算法簡介

二、粒子群算法技術問題粒子群算法的性能很大程度取決于算法的控制參數,粒子數、最大速度、學習因子、慣性權重等,各個參數的選取原則如下:1粒子數:粒子數的多少根據問題的復雜度自行決定。對于一般的優(yōu)化問題取20至40個;對比較簡單的問題10個粒子就可以;對于比較復雜的或特定的問題,粒子數可取100以上。2粒子的維度:由優(yōu)化問題決定;為解的維度,3粒子的范圍:由優(yōu)化問題決定,每一維可設定不同的范圍;4最大速度:決定粒子在一個循環(huán)中最大的移動距離,通常設定為粒子的范圍寬度;5學習因子:學習因子使粒子具有自我總結和向群體中優(yōu)秀個體學習的能力,從而向群體內或鄰域內最近點靠近,通常取為2,也可以相等,取值范圍0到4。6慣性權重:決定了對粒子當前速度繼承的多少,適合的選擇可以使粒子具有均衡的探索能力和開發(fā)能力,慣性權重的取法一般有常數法、線性遞減法、自適應法等粒子群算法簡介二、粒子群算法技術問題粒子群算法簡介三、粒子群算法的特點及應用領域

1特點(1)粒子群算法以決策變量的編碼作為運算對象。

(2)粒子群算法直接以適應度作為搜索信息,無需導數等其它輔助信息。

(3)粒子群算法使用多個點的搜索信息,具有隱含并行性。(4)粒子群算法使用概率搜索技術,而非確定性規(guī)則。

2應用領域(1)函數優(yōu)化(2)組合優(yōu)化(3)生產調度(4)自動控制

(5)機器人學

(6)圖象處理

粒子群算法簡介三、粒子群算法的特點及應用領域基本粒子群算法(7.2.1)

一、基本粒子群算法的構成要素

1粒子數

2最大速度

3學習因子

4慣性權重基本粒子群算法(7.2.1)一、基本粒子群算法的構成要素基本粒子群算法(7.2.1)二、基本粒子群算法步驟

1隨機初始化種群中各種微粒的位置和速度;

2評價每個微粒的適應度,將當前各微粒的位置和適應值存儲在各微粒的pbest中,將所有pbest中適應值最優(yōu)個體的位置和適應值存于gbest中;

3用下面的式子更新粒子的速度和位移;

4對每個微粒子;將其適應值與其經歷過的最好位置作比較,如果較好,則將其作為當前的最好位置;

5比較當前所有pbest和gbes的值,更新gbes;

6若滿足停止條件(通常為預設的運算精度或迭代步數),搜索停止,輸出結果,否則返回3,繼續(xù)搜索?;玖W尤核惴?7.2.1)二、基本粒子群算法步驟二階粒子群算法(7.2.2)一、二階粒子群算法原理在標準PSO算法中,微粒的飛行速度僅僅是微粒當前位置的函數,而二階粒子群算法中微粒飛行速度的變化與微粒位置的變化有關,其速度更新公式為:二階粒子群算法(7.2.2)一、二階粒子群算法原理二階粒子群算法(7.2.2)二、二階粒子群算法步驟

1隨機初始化種群中各種微粒的位置和速度;

2評價每個微粒的適應度,將當前各微粒的位置和適應值存儲在各微粒的pbest中,將所有pbest中適應值最優(yōu)個體的位置和適應值存于gbest中;

3用下面的式子更新粒子的速度和位移;

4對每個微粒子;將其適應值與其經歷過的最好位置作比較,如果較好,則將其作為當前的最好位置;

5比較當前所有pbest和gbes的值,更新gbes;

6若滿足停止條件(通常為預設的運算精度或迭代步數),搜索停止,輸出結果,否則返回3,繼續(xù)搜索。二階粒子群算法(7.2.2)二、二階粒子群算法步驟基于選擇的粒子群算法(7.2.3)一、基于選擇的粒子群算法原理

將遺傳算法中的選擇機理與粒子群算法相結合就得到基于選擇的粒子群算法。基本思想:每次迭代過程將整個粒子群按適應值排序,用群體最好的一半的粒子的速度和位置替換最差的一半的位置和速度,同時保留原來每個個體所記憶的歷史最優(yōu)值。基于選擇的粒子群算法(7.2.3)一、基于選擇的粒子群算法基于選擇的粒子群算法(7.2.3)二、基于選擇的粒子群算法步驟

1隨機初始化種群中各種微粒的位置和速度;

2評價每個微粒的適應度,將當前各微粒的位置和適應值存儲在各微粒的pbest中,將所有pbest中適應值最優(yōu)個體的位置和適應值存于gbest中;

3用下面的式子更新粒子的速度和位移;

4對每個微粒子;將其適應值與其經歷過的最好位置作比較,如果較好,則將其作為當前的最好位置;

5比較當前所有pbest和gbes的值,更新gbes;

6將整個粒子群按適應值排序,用群體中最好的一半的粒子的速度和位置替換最差的一半的位置和速度,保持pbest和gbest不變。

7若滿足停止條件(通常為預設的運算精度或迭代步數),搜索停止,輸出結果,否則返回3,繼續(xù)搜索。基于選擇的粒子群算法(7.2.3)二、基于選擇的粒子群算法基于交叉的粒子群算法(7.2.4)一、基于交叉的粒子群算法原理借鑒遺傳算法中的交叉概念,在每次迭代中,根據交叉概率選取制定數量的粒子放入交叉池內,池中的粒子隨機兩輛交叉,產生同樣數目的子代粒子(child),并用子代粒子替換親代粒子(parent)。子代位置由父代位置進行算術交叉得到:其中

p是0到1之間的隨機數。子代的速度由下式計算或或基于交叉的粒子群算法(7.2.4)一、基于交叉的粒子群算法基于交叉的粒子群算法(7.2.4)二、基于交叉的粒子群算法步驟

1隨機初始化種群中各種微粒的位置和速度;

2評價每個微粒的適應度,將當前各微粒的位置和適應值存儲在各微粒的pbest中,將所有pbest中適應值最優(yōu)個體的位置和適應值存于gbest中;

3用下面的式子更新粒子的速度和位移;

4對每個微粒子;將其適應值與其經歷過的最好位置作比較,如果較好,則將其作為當前的最好位置;

基于交叉的粒子群算法(7.2.4)二、基于交叉的粒子群算法基于交叉的粒子群算法(7.2.4)二、基于交叉的粒子群算法步驟

5比較當前所有pbest和gbes的值,更新gbes;

6根據交叉概率選取指定數量的粒子放入交叉池內,池中的粒子隨機兩兩交叉產生同樣數目的子代粒子,子代的位置和速度計算公式如下:

保持pbest和gbest不變。

7若滿足停止條件(通常為預設的運算精度或迭代步數),搜索停止,輸出結果,否則返回3,繼續(xù)搜索。基于交叉的粒子群算法(7.2.4)二、基于交叉的粒子群算法粒子群算法的軟件實現一、基本粒子群算法的Matlab實現

1計算函數的格式函數:PSO。功能:用基本粒子群算法求解無約束極值問題。調用格式:[xv,fv]=PSO(fitness,N,c1,c2,w,M,D)

其中:fitness:待優(yōu)化的目標函數;N:粒子數目;c1:學習因子1;c2:學習因子2;w:慣性權重;M:最大迭代次數;D:問題的維數;xv:目標函數的最小值點;fv:目標函數的最小值。

粒子群算法的軟件實現一、基本粒子群算法的Matlab實現粒子群算法的軟件計算一、基本粒子群算法的Matlab實現

2舉例例7-4采用基本粒子群算法求SphereModel的最小值。解:首先建立目標函數文件fitness.m,輸入內容如下:

FunctionF=fitness(x)F=0; fori=1:30F=F+x(i)^2;end

在MATLAB命令窗口中輸入:>>[xv,fv]=PSO(@fitness,40,2,2,0.5,1000,30)>>[xv,fv]=PSO(@fitness,40,2,2,0.5,5000,30)>>[xv,fv]=PSO(@fitness,40,2,2,0.5,10000,30)粒子群算法的軟件計算一、基本粒子群算法的Matlab實現粒子群算法的軟件計算一、基本粒子群算法的Matlab實現

表7-1迭代步數不同時粒子群法求解結果比較表粒子群算法的軟件計算一、基本粒子群算法的Matlab實現表7粒子群算法的軟件計算一、基本粒子群算法的Matlab實現

從表7-1的求解結果可以看出,在其他參數不變的情況下,一般迭代步數越大,求得的精度越高,但這并不是絕對的,因為PSO算法本質上也是一種隨機算法,即使用同樣的參數,每次求解也可能得出不同的結果,同時如果對于多峰函數,PSO算法還可能陷入局部最優(yōu)點。

下面再看粒子群規(guī)模對結果的影響,學習因子都為2,慣性權重為0.5,迭代步數都為10000,粒子群規(guī)模分別取50、60和80。在MATLAB命令窗口中輸入:>>[xv,fv]=PSO(@fitness,50,2,2,0.5,10000,30)>>[xv,fv]=PSO(@fitness,60,2,2,0.5,10000,30)>>[xv,fv]=PSO(@fitness,80,2,2,0.5,10000,30)粒子群算法的軟件計算一、基本粒子群算法的Matlab實現從表粒子群算法的軟件計算一、基本粒子群算法的Matlab實現

表7-2種群數不同時粒子群法求解結果比較表

粒子群算法的軟件計算一、基本粒子群算法的Matlab實現表7粒子群算法的軟件計算一、基本粒子群算法的Matlab實現

從表7-2的求解結果可以看出,粒子群的規(guī)模不是越大越好,關鍵是各參數之間的搭配,搭配好才能求得比較好的結果。這需要反復試算。粒子群算法的軟件計算一、基本粒子群算法的Matlab實現從表粒子群算法的軟件實現二、二階粒子群算法的Matlab實現

1計算函數的格式函數:SecPSO。功能:用基本粒子群算法求解無約束極值問題。調用格式:[xv,fv]=SecPSO(fitness,N,c1,c2,w,M,D)

其中:fitness:待優(yōu)化的目標函數;N:粒子數目;、

c1:學習因子1;c2:學習因子2;w:慣性權重;M:最大迭代次數;D:問題的維數;xv:目標函數的最小值點;fv:目標函數的最小值。

粒子群算法的軟件實現二、二階粒子群算法的Matlab實現粒子群算法的軟件計算二、二階粒子群算法的Matlab實現

2舉例例7-5

采用二階粒子群算法實現求下面函數的最小值取粒子數為40,學習因子都取1,慣性權重取0.7,迭代步數取100000。解:首先建立目標函數文件fitness.m,輸入內容如下:

FunctionF=fitness(x)F=(x(2)-5.1*x(1)^2/4/pi/pi+5*x(1)/pi-6)^2+10*(1-1/8/pi)*cos(x(1))+10;

在MATLAB命令窗口中輸入:>>[xv,fv]=SecPSO(@fitness,40,0.7,1,1,10000,2)所得結果:xv=3.1415926630158902.274999989919220fv=0.397887357729738粒子群算法的軟件計算二、二階粒子群算法的Matlab實現取粒粒子群算法的軟件實現三、基于選擇的粒子群算法的Matlab實現

1計算函數的格式

函數:SelPSO。功能:用基本粒子群算法求解無約束極值問題。調用格式:[xv,fv]=SelPSO(fitness,N,c1,c2,w,M,D)

其中:fitness:待優(yōu)化的目標函數;N:粒子數目;c1:學習因子1;c2:學習因子2;w:慣性權重;M:最大迭代次數;D:問題的維數;xv:目標函數的最小值點;fv:目標函數的最小值。

粒子群算法的軟件實現三、基于選擇的粒子群算法的Matlab實粒子群算法的軟件計算三、基于選擇的粒子群算法的Matlab實現

2舉例例7-6

采用選擇的粒子群算法實現求下面函數的最小值取粒子數為40,學習因子都取2,慣性權重取0.7,迭代步數取100000。解:首先建立目標函數文件fitness.m,輸入內容如下:

functionF=fitness(x)F=0;fori=1:5F=F+1/(i+(x(i)-1)^2;endF=1/(0.01+F);粒子群算法的軟件計算三、基于選擇的粒子群算法的Matlab實粒子群算法的軟件計算三、基于選擇的粒子群算法的Matlab實現

2舉例

在MATLAB命令窗口中輸入:>>[xv,fv]=SelPSO(@fitness,40,2,2,0.7,10000,5)所得結果為:xv=1.0000000028879651.0000000154155160.9999999896183830.9999999712021140.999999991328659fx=0.436046511627907有結果可以看出,基于選擇粒子群算法求得的結果精度非常高。

粒子群算法的軟件計算三、基于選擇的粒子群算法的Matlab實粒子群算法的應用舉例文獻1MATLAB粒子群算法工具箱求解水電站優(yōu)化調度問題文獻2粒子群算法的應用舉例文獻1MATLAB粒子群算法工具箱求第12講智能優(yōu)化算法智能優(yōu)化算法簡介遺傳算法簡介基本遺傳算法改進的遺傳算法遺傳算法軟件計算

7.1遺傳算法第12講智能優(yōu)化算法智能優(yōu)化算法簡介7.1遺傳算法智能優(yōu)化算法簡介一、傳統(tǒng)優(yōu)化算法的步驟及局限性

1步驟:(1)選擇一個初始解,(2)向改進方向移動判斷停止準則是否滿足,若滿足停止,否則轉下一步。(3)向改進方向移動,得新的解,轉回第2步。

2局限性:(1)單點運算方式限制了計算效率的提高(2)向改進方向移動限制了跳出局部最優(yōu)的能力(3)停止條件僅是局部最優(yōu)的條件(4)對目標函數,約束條件的要求限制了算法的應用

智能優(yōu)化算法簡介一、傳統(tǒng)優(yōu)化算法的步驟及局限性智能優(yōu)化算法簡介

二、智能優(yōu)化算法的產生與發(fā)展

1最優(yōu)化方法的新的需求(1)對目標函數,約束函數的要求更為寬松(2)計算效率比理論上的最優(yōu)性更重要(3)算法隨時終止都能得到較好的解(4)對優(yōu)化模型中數據質量要求更加寬松。

2智能算法及代表人物

1975年,Holland提出遺傳算法(GeneticAlgorithms)1977年,Glover提出禁忌算法(TabuSearch)1983年,Kirkpatrick提出模擬退火算法(SimulatedAnnealing)

90年代初,Dorigo提出蟻群算法(AntColonyOptimization)1995年,Kennedy,Eberhart提出的粒子群算法(ParticleSwarm)1999年,Linhares提出的捕食搜索(PredatorySearch)

智能優(yōu)化算法簡介二、智能優(yōu)化算法的產生與發(fā)展智能優(yōu)化算法簡介三、如何學習研究智能優(yōu)化算法

1應用智能優(yōu)化方法解決各類問題是重點

2智能算法的改進有很大的空間

3多種算法結合是一種很好的途徑

4不提倡刻意追求理論成果

5算法性能的測試是一項要下真功夫的工作

6創(chuàng)造出新算法

智能優(yōu)化算法簡介三、如何學習研究智能優(yōu)化算法遺傳算法簡介

一、遺傳算法原理(7.1.1)

遺傳算法是根據問題的目標函數構造的一個適值函數,對一個由多個解(每個解對應一個染色體)構成的種群進行評估、遺傳運算、經多代繁殖,獲得適應值最好的個體作為問題的最優(yōu)解。

遺傳算法簡介一、遺傳算法原理(7.1.1)遺傳算法簡介

二、遺傳算法技術問題(7.1.2)遺傳算法的主要問題是算法如何實現的技術問題。歸結起來有如下一些因素:

1解的編碼和解碼解的編碼是遺傳算法的最基礎工作,只有在編碼之后才可能有其他的計算。算法的最后一個工作則是通過解碼得到問題的一個解。

2初始群體的選取

在計算開始時,需要產生一些待優(yōu)化問題的可能解,稱為初始群體,初始群體可用隨機方式產生,也可用用其他的一下啟發(fā)式算法或經驗選擇,主要針對實際問題而定。

3群體規(guī)模的確定,常取個體編碼長度數的一個線性倍數。當多個進化代沒有改變解的性能,可擴大群體的規(guī)模。若解的改進已經非常好時,就可以減少群體規(guī)模,使計算速度加快。

4適應函數的確定

簡單適應函數目標函數的簡單變形,構造簡單,與目標函數直接相關,缺點是可能使算法在迭代過程中出現收斂到一些目標值近似的不同染色體而難以區(qū)別。

加速適應函數有非線性加速適應函數,線性加速適應函數等。它們的思想是希望開始時每一個狀態(tài)有較大的選取性,隨著計算的步步進行,逐漸拉開目標值不同對應狀態(tài)的檔次。

排序適應函數為了避開對目標函數進行線性、非線性等加速適應函數的早熟可能,使每一代當前最好的解以最大的概率遺傳。

遺傳算法簡介二、遺傳算法技術問題(7.1.2)遺傳算法簡介三、遺傳算法特點

1特點(1)遺傳算法以決策變量的編碼作為運算對象。

(2)遺傳算法直接以適應度作為搜索信息,無需導數等其它輔助信息。

(3)遺傳算法使用多個點的搜索信息,具有隱含并行性。(4)遺傳算法使用概率搜索技術,而非確定性規(guī)則。

2應用領域(1)函數優(yōu)化(2)組合優(yōu)化(3)生產調度(4)自動控制

(5)機器人學

(6)圖象處理

遺傳算法簡介三、遺傳算法特點基本遺傳算法(7.1.3)

一、

基本遺傳算法的構成要素

1染色體編碼方法。

2個體適應度評價。

3遺傳算子?;具z傳算法使用下述三種遺傳算子

●選擇運算使用比例選擇算子;

●交叉運算使用單點交叉算子;

●變異運算使用基本位變異算子或均勻變異算子。

4基本遺傳算法的運行參數?;具z傳算法有下述4個運行參數需要提前設定:

●M:群體大小,即群體中所合個體的數量,一般取為20—1000。

●T:遺傳運算的終止進化代數,一般取為l00一500。

●Pc:交叉概率,—般取為0.4一0.99。

●Pm:變異概率,一般取為0.0001一0.1.

基本遺傳算法(7.1.3)一、基本遺傳算法的構成要素基本遺傳算法(7.1.3)二、基本遺傳算法描述

1基本遺傳算法的形式化定義基本遺傳算法可定義為一個8元組,這些參數合理的取值大小或取值范圍?;具z傳算法(7.1.3)二、基本遺傳算法描述基本遺傳算法(7.1.3)二、基本遺傳算法描述

2遺傳算法的基本操作舉例(1)產生初始種群括號中的數值為目標函數值基本遺傳算法(7.1.3)二、基本遺傳算法描述基本遺傳算法(7.1.3)2遺傳算法的基本操作舉例(2)遺傳運算選擇運算(輪盤賭)基本遺傳算法(7.1.3)2遺傳算法的基基本遺傳算法(7.1.3)2遺傳算法的基本操作舉例(2)遺傳運算選擇運算(輪盤賭)由計算機產生隨機數來實現假設產生隨機數序列為0.070221,0.545929,0.784567,0.44693,0.507893,0.291198,0.71634,0.27290l,0.37l435,0.854641。將該隨機序列與計算獲得的累積概率比較,則依次序號為1,8,9,6,7,5,8,4,6,10個體被選中。顯然適應度高的個體被選中的概率大。而且可能被選中;而適應度低的個體則很有可能破淘汰。在第一次生存競爭考驗中,序號為2的個體(0101111001)和3的個體(0000000101)被淘汰,代之以適應度較高的個體8和6。基本遺傳算法(7.1.3)2遺傳算法的基基本遺傳算法(7.1.3)2遺傳算法的基本操作舉例(2)遺傳運算交叉運算以單點交叉為例,任意挑選經過選擇操作后種群中兩個個體作為交叉對象,即兩個父個體經過染色體交換重組產生兩個子個體,如下圖,隨機產生一個交叉點位置,父個體l和父個體2在交叉點位置之有的部分基因碼互換,形成子個體1和子個體2。類似地完成其他個體的交叉操作基本遺傳算法(7.1.3)2遺傳算法的基基本遺傳算法(7.1.3)2遺傳算法的基本操作舉例(2)遺傳運算變異算子如圖所示采用翻轉,對于個體1001110100產生變異,以小概率決定第4個遺傳因子翻轉,即將1換為0?;具z傳算法(7.1.3)2遺傳算法的基遺傳算法的進化過程遺傳算法的進化過程大變異遺傳算法(7.1.4)

一、大變異遺傳原理

在遺傳算法中,變異操作可以使算法避免“早熟”。但是,為了保證算法的穩(wěn)定性,變異操作的變異概率通常取值很小,所以算法一旦出現“早熟”,單靠傳統(tǒng)的變異操作需很多代才能得到不同于其他個體的新個體。大變異操作的思路是:當某代中所有個體集中在一起時,我們以一個遠大于通常的變異概率的概率進行變異操作,它能夠產生多個新個體,從而使得種群脫離”早熟”。大變異遺傳算法(7.1.4)一、大變異遺傳原理大變異遺傳算法(7.1.4)

一、大變異遺傳算法的原理當某一代的最大適應度與平均適應度滿足

其中,被稱為密集因子,表征個體集中的程度。大變異操作要求有兩個參數是:密集因子和大變異概率。密集因子用來決定大變異操作在整個優(yōu)化過程中所占的比重,其數值越接近0.5時大變異操作被調用的越頻繁。大變異概率越大,含大變異操作的遺傳算法的穩(wěn)定性就越好,但是,這是以犧牲收斂速度為代價的,當其數值等于0.5時,大變異操作就近似為隨機搜索。大變異遺傳算法(7.1.4)一、大變異遺傳算法的原理大變異遺傳算法(7.1.4)

二、

大變異遺傳算法的步驟

1隨機產生初始種群,種群個體數目事先給定,每個個體表示為染色體的基因編碼;

2計算個體的適應度,并判斷是否符合優(yōu)化準則,若符合,輸出最佳個體及其代表的最優(yōu)解,并結束計算,否則轉3;

3依據適應度選擇再生個體,適應的高的個體被選中的概率高,適應的低的個體可能被淘汰;

4對選擇出再生個體按一定的交叉概率和交叉方法生成新個體;

5如果當代最大適應度與平均適應度滿足時,進行大變異操作,否則進行普通變異操作。

6由交叉和變異產生新一代的種群,返回2。

大變異遺傳算法(7.1.4)二、大變異遺傳算法的步驟自適應遺傳算法(7.1.5)

一、自適應遺傳算法的原理

Srinvivas等提出一種自適應遺傳算法,交叉概率和變異概率能夠隨適應度自動改變。當種群個體適應度趨于一致或者趨于局部最優(yōu)時,使交叉概率和變異概率二者增加、而當群體適應度比較分散時,使交叉概率和變異概率減少。同時,對于適應值高于群體平均適應值的個體,對應于較低的交叉概率和變異概率,使該個體得以保護進入下一代;而低于平均適應值的個體,相對于較高的交叉概率和變異概率,使該個體被淘汰。因此,自適應遺傳算法能過提供相對某個解的最佳交叉概率和變異概率。自適應遺傳算法(7.1.5)一、自適應遺傳算法的原理自適應遺傳算法(7.1.5)

一、自適應遺傳算法的原理

Srinvivas等提出一種自適應遺傳算法,交叉概率和變異概率能夠隨適應度自動改變。當種群個體適應度趨于一致或者趨于局部最優(yōu)時,使交叉概率和變異概率二者增加、而當群體適應度比較分散時,使交叉概率和變異概率減少。同時,對于適應值高于群體平均適應值的個體,對應于較低的交叉概率和變異概率,使該個體得以保護進入下一代;而低于平均適應值的個體,相對于較高的交叉概率和變異概率,使該個體被淘汰。因此,自適應遺傳算法能過提供相對某個解的最佳交叉概率和變異概率。自適應遺傳算法(7.1.5)一、自適應遺傳算法的原理自適應遺傳算法(7.1.5)一、自適應遺傳算法的原理

自適應遺傳算法中交叉概率和變異概率的計算公式如下:自適應遺傳算法(7.1.5)一、自適應遺傳算法的原理自適應遺傳算法(7.1.5)

二、

自適應遺傳算法的步驟

1隨機產生初始種群,種群個體數目事先給定,每個個體表示為染色體的基因編碼;

2計算個體的適應度,并判斷是否符合優(yōu)化準則,若符合,輸出最佳個體及其代表的最優(yōu)解,并結束計算,否則轉3;

3依據適應度選擇再生個體,適應的高的個體被選中的概率高,適應的低的個體可能被淘汰;

4按照下式(I)確定交叉概率,并通過交叉生成新個體;

5按照式(II)確定變異概率,并通過變異生成新個體;

6由交叉和變異產生新一代的種群,返回2。.

自適應遺傳算法(7.1.5)二、自適應遺傳算法的步驟遺傳算法的軟件實現一、基本遺傳算法的Matlab實現

1計算函數的格式

函數:myGA。功能:用基本遺傳算法解一維無約束極值問題調用格式:[xv,fv]=myGA(fitness,a,b,NP,NG,Pc,Pm,eps)

其中:fitness:待優(yōu)化的目標函數;

a:自變量下界;b:自變量上界;

NP:種群大?。籒G:最大進化代數;

Pc:交叉概率;Pm:變異概率;

eps::自變量離散精度;

xv:目標函數取最大值時的自變量取值;

fv:目標函數的最大值。

遺傳算法的軟件實現一、基本遺傳算法的Matlab實現遺傳算法的軟件計算一、基本遺傳算法的Matlab實現

2舉例例7-1用基本遺傳算法計算下面函數的最大值種群個體數目50,最大進化代數100,離散精度0.01,交叉概率0.9,變異概率0.04。解:首先建立目標函數文件fitness.mfunctionF=fitness(x)F=x^3-60*x^2+900*x+100;

在命令框中輸入調用遺傳算法函數

>>[xv,fv]=myGA(@fitness,0,30,50,100,0.9,0.04,0.01)所得結果

xv=8.8242fv=4.0991e+003

該問題的精確最大值點為xv=10,最大值為fv=4100。遺傳算法的軟件計算一、基本遺傳算法的Matlab實現遺傳算法的軟件計算二、大變異遺傳算法的Matlab實現

1計算函數格式

函數:GMGA。功能:用大變異遺傳算法解一維無約束極值問題調用格式:[xv,fv]=GMGA(@fitness,a,b,NP,NG,Pc,Pm,alpha,Pbm,

eps)

其中:fitness:待優(yōu)化的目標函數;a:自變量下界;

b:自變量上界;NP:種群大??;NG:最大進化代數;

Pc:交叉概率;Pm:變異概率;alpha,:密集因子;

Pbm:大變異概率;eps::自變量離散精度;

xv:目標函數取最大值時的自變量取值;

fv:目標函數的最大值。遺傳算法的軟件計算二、大變異遺傳算法的Matlab實現遺傳算法的軟件計算二、大變異遺傳算法的Matlab實現

2舉例例7-2

用大變異遺傳算法求函數的最大值,個體數目取50,最大進化代數500,交叉概率取0.9,變異概率取0.03,密集因子取0.6,大變異概率取0.2,離散精度取0.01。解:首先建立目標函數文件fitness.mFunctionF=fitness(x)F=x^2-10*cos(2*pi*x)+10;在命令框中輸入調用大變異遺傳算法函數>>[xv,fv]=GMGA(@fitness,0,4,50,500,0.9,0.03,0.6,0.2,0.01)運算結果xv=3.5068fv=32.2887最大值點為x=3.5178,最大值為f=32.3124。用大變異算法得到的結果較好。

遺傳算法的軟件計算二、大變異遺傳算法的Matlab實現解:首遺傳算法的軟件計算三、自適應遺傳算法的Matlab實現

1計算函數格式

函數:AdapGA。功能:用自適應遺傳算法解一維無約束極值問題調用格式:[xv,fv]=AdapGA(@fitness,a,b,NP,NG,Pc1,Pc2,Pm1,Pm2,eps)

其中:fitness:待優(yōu)化的目標函數;a:自變量下界;

b:自變量上界;NP:種群大??;NG:最大進化代數;

Pc1:交叉常數1;Pc2:交叉常數2;

Pm1:變異常數1;Pm2:變異常數2;

eps::自變量離散精度;

xv:目標函數取最大值時的自變量取值;

fv:目標函數的最大值。遺傳算法的軟件計算三、自適應遺傳算法的Matlab實現遺傳算法的軟件計算三、自適應遺傳算法的Matlab實現

2舉例例7-3

用自適應遺傳算法求函數的最大值,個體數目取50,最大進化代數500,交叉概率k1取0.5,k2取0.9,變異概率k3取0.02,k4取0.05,離散精度取0.01。解:首先建立目標函數文件fitness.mFunctionF=fitness(x)F=x^2-10*cos(2*pi*x)+10;在命令框中輸入調用自適應遺傳算法函數>>[xv,fv]=AdapGA(@fitness,0,4,50,500,0.5,0.9,0.02,0.05,0.01)運算結果xv=3.5147fv=32.3105與例7-2相比自適應遺傳算法所求結果更好。

遺傳算法的軟件計算三、自適應遺傳算法的Matlab實現解:首遺傳算法的應用舉例文獻1一種改進的遺傳優(yōu)化策略在電動機故障診斷中的應用文獻2基于遺傳算法的熱管多目優(yōu)化設計遺傳算法的應用舉例文獻1一種改進的遺傳優(yōu)化策略在電動機故粒子群算法簡介基本粒子群算法改進的粒子群算法粒子群算法軟件計算粒子群算法應用

7.2粒子群算法粒子群算法簡介7.2粒子群算法粒子群算法簡介

一、粒子群算法原理粒子群優(yōu)化算法(ParticleSwarmOptimization,PSO)是Eberhart和kennedy博士發(fā)明。源于對鳥群捕食的行為研究,PSO同遺傳算法類似,是一種基于迭代的優(yōu)化工具。系統(tǒng)初始化為一組隨機解,通過迭代搜索尋最優(yōu)值。在PSO算法中,每個優(yōu)化問題的解都是搜索空間中的一只鳥,被抽象為沒有質量和體積的微粒,并將其延伸到N維空間,離子i在N維空間中的位置表示為一個矢量,每個粒子的飛行速度也為一個矢量,所有粒子都有一個被優(yōu)化的函數決定的適應值(fitness),每個粒子還有一個決定他們飛翔的方向和距離。粒子們知道到目前為止發(fā)現的最好位置(pbest)和現在的位置,這個可以看做是粒子自己的飛行經驗,除此之外,每個粒子還知道目前為止所有粒子發(fā)現的最好位置(gbest,gbest是pbest中最好值),著可以看做是粒子同伴的經驗。粒子是通過自己的經驗和同伴中最好的經驗來決定下一步的運動。

粒子群算法簡介一、粒子群算法原理粒子群算法簡介

二、粒子群算法技術問題粒子群算法的性能很大程度取決于算法的控制參數,粒子數、最大速度、學習因子、慣性權重等,各個參數的選取原則如下:1粒子數:粒子數的多少根據問題的復雜度自行決定。對于一般的優(yōu)化問題取20至40個;對比較簡單的問題10個粒子就可以;對于比較復雜的或特定的問題,粒子數可取100以上。2粒子的維度:由優(yōu)化問題決定;為解的維度,3粒子的范圍:由優(yōu)化問題決定,每一維可設定不同的范圍;4最大速度:決定粒子在一個循環(huán)中最大的移動距離,通常設定為粒子的范圍寬度;5學習因子:學習因子使粒子具有自我總結和向群體中優(yōu)秀個體學習的能力,從而向群體內或鄰域內最近點靠近,通常取為2,也可以相等,取值范圍0到4。6慣性權重:決定了對粒子當前速度繼承的多少,適合的選擇可以使粒子具有均衡的探索能力和開發(fā)能力,慣性權重的取法一般有常數法、線性遞減法、自適應法等粒子群算法簡介二、粒子群算法技術問題粒子群算法簡介三、粒子群算法的特點及應用領域

1特點(1)粒子群算法以決策變量的編碼作為運算對象。

(2)粒子群算法直接以適應度作為搜索信息,無需導數等其它輔助信息。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論