版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 智能優(yōu)化算法智能優(yōu)化算法簡介遺傳算法簡介基本遺傳算法改進的遺傳算法遺傳算法軟件計算7.1遺傳算法1智能優(yōu)化算法簡介一、 傳統(tǒng)優(yōu)化算法的步驟及局限性 1 步驟: (1)選擇一個初始解, (2)向改進方向移動判斷停止準則是否滿足,若 滿足停止,否則轉下一步。 (3)向改進方向移動,得新的解,轉回第2步。 2 局限性: (1)單點運算方式限制了計算效率的提高 (2)向改進方向移動限制了跳出局部最優(yōu)的能力 (3)停止條件僅是局部最優(yōu)的條件 (4)對目標函數(shù),約束條件的要求限制了算法的應用2智能優(yōu)化算法簡介 二、智能優(yōu)化算法的產生與發(fā)展 1 最優(yōu)化方法的新的需求 (1)對目標函數(shù),約束函數(shù)的要求更為寬
2、松 (2)計算效率比理論上的最優(yōu)性更重要 (3)算法隨時終止都能得到較好的解 (4)對優(yōu)化模型中數(shù)據質量要求更加寬松。 2 智能算法及代表人物 1975年,Holland提出遺傳算法(Genetic Algorithms) 1977年,Glover提出禁忌算法(Tabu Search) 1983年,Kirkpatrick提出模擬退火算法 (Simulated Annealing) 90年代初,Dorigo提出蟻群算法 (Ant Colony Optimization) 1995年,Kennedy,Eberhart提出的粒子群算法(Particle Swarm) 1999年,Linhares 提
3、出的捕食搜索(Predatory Search) 3智能優(yōu)化算法簡介三、如何學習研究智能優(yōu)化算法 1 應用智能優(yōu)化方法解決各類問題是重點 2 智能算法的改進有很大的空間 3 多種算法結合是一種很好的途徑 4 不提倡刻意追求理論成果 5 算法性能的測試是一項要下真功夫的工作 6 創(chuàng)造出新算法 4遺傳算法簡介 一、遺傳算法原理( 7.1.1) 遺傳算法是根據問題的目標函數(shù)構造的 一個適值函數(shù),對一個由多個解(每個解對 應一個染色體)構成的種群進行評估、遺傳 運算、經多代繁殖,獲得適應值最好的個體 作為問題的最優(yōu)解。 5遺傳算法簡介 二、遺傳算法技術問題(7.1.2)遺傳算法的主要問題是算法如何實現(xiàn)
4、的技術問題。歸結起來有如下一些因素: 1 解的編碼和解碼 解的編碼是遺傳算法的最基礎工作,只有在編碼之后才可能有其他的計算。算法的 最后一個工作則是通過解碼得到問題的一個解。 2 初始群體的選取 在計算開始時,需要產生一些待優(yōu)化問題的可能解,稱為初始群體,初始群體可用 隨機方式產生,也可用用其他的一下啟發(fā)式算法或經驗選擇,主要針對實際問題而定。 3 群體規(guī)模的確定, 常取個體編碼長度數(shù)的一個線性倍數(shù)。當多個進化代沒有改變解的性能,可擴大群體的規(guī)模。若解的改進已經非常好時,就可以減少群體規(guī)模,使計算速度加快。 4 適應函數(shù)的確定 簡單適應函數(shù) 目標函數(shù)的簡單變形,構造簡單,與目標函數(shù)直接相關,缺
5、點是可能使算法在迭代過程中出現(xiàn)收斂到一些目標值近似的不同染色體而難以區(qū)別。 加速適應函數(shù) 有非線性加速適應函數(shù),線性加速適應函數(shù)等。它們的思想是希望開始時每一個狀態(tài)有較大的選取性,隨著計算的步步進行,逐漸拉開目標值不同對應狀態(tài)的檔次。 排序適應函數(shù) 為了避開對目標函數(shù)進行線性、非線性等加速適應函數(shù)的早熟可能,使每一代當前最好的解以最大的概率遺傳。6遺傳算法簡介三、遺傳算法特點 1 特點 (1)遺傳算法以決策變量的編碼作為運算對象。 (2)遺傳算法直接以適應度作為搜索信息,無需導數(shù)等其它輔助信息。 (3)遺傳算法使用多個點的搜索信息,具有隱含并行性。 (4)遺傳算法使用概率搜索技術,而非確定性規(guī)
6、則。 2 應用領域 (1)函數(shù)優(yōu)化 (2)組合優(yōu)化 (3)生產調度 (4)自動控制 (5) 機器人學 (6)圖象處理 7基本遺傳算法(7.1.3) 一、 基本遺傳算法的構成要素 1 染色體編碼方法。 2 個體適應度評價。 3 遺傳算子?;具z傳算法使用下述三種遺傳算子 選擇運算使用比例選擇算子; 交叉運算使用單點交叉算子; 變異運算使用基本位變異算子或均勻變異算子。 4 基本遺傳算法的運行參數(shù)?;具z傳算法有下述4個運行參數(shù)需要提前設定: M:群體大小,即群體中所合個體的數(shù)量,一般取為201000。 T:遺傳運算的終止進化代數(shù),一般取為l00一500。 Pc: 交叉概率,般取為0.4一0.99
7、。 Pm: 變異概率,一般取為0.0001一0.1.8基本遺傳算法(7.1.3)二 、基本遺傳算法描述 1 基本遺傳算法的形式化定義基本遺傳算法可定義為一個8元組,這些參數(shù)合理的取值大小或取值范圍。9基本遺傳算法(7.1.3)二 、基本遺傳算法描述 2 遺傳算法的基本操作舉例 (1)產生 初始種群 括號中的數(shù)值為目標函數(shù)值10基本遺傳算法(7.1.3) 2 遺傳算法的基本操作舉例(2)遺傳運算 選擇運算(輪盤賭) 11基本遺傳算法(7.1.3) 2 遺傳算法的基本操作舉例(2)遺傳運算 選擇運算(輪盤賭)由計算機產生隨機數(shù)來實現(xiàn) 假設產生隨機數(shù)序列為0.070221,0.545929,0.78
8、4567,0.44693,0.507893,0.291198,0.71634,0.27290l,0.37l 435,0.854641。將該隨機序列與計算獲得的累積概率比較,則依次序號為1,8,9,6,7,5,8,4,6,10個體被選中。顯然適應度高的個體被選中的概率大。而且可能被選中;而適應度低的個體則很有可能破淘汰。在第一次生存競爭考驗中,序號為2的個體(0101111001)和3的個體(0000000101)被淘汰,代之以適應度較高的個體8和6。12基本遺傳算法(7.1.3) 2 遺傳算法的基本操作舉例(2)遺傳運算 交叉運算 以單點交叉為例,任意挑選經過選擇操作后種群中兩個個體作為交叉對
9、象,即兩個父個體經過染色體交換重組產生兩個子個體,如下圖,隨機產生一個交叉點位置,父個體l和父個體2在交叉點位置之有的部分基因碼互換,形成子個體1和子個體2。類似地完成其他個體的交叉操作13基本遺傳算法(7.1.3) 2 遺傳算法的基本操作舉例(2)遺傳運算 變異算子 如圖所示采用翻轉,對于個體1001110100產生變異, 以小概率決定第4個遺傳因子翻轉,即將1換為0。14遺傳算法的進化過程15大變異遺傳算法(7.1.4) 一、 大變異遺傳原理 在遺傳算法中,變異操作可以使算法避免“早熟”。但是,為了保證算法的穩(wěn)定性,變異操作的變異概率通常取值很小,所以算法一旦出現(xiàn)“早熟”,單靠傳統(tǒng)的變異操
10、作需很多代才能得到不同于其他個體的新個體。 大變異操作的思路是:當某代中所有個體集中在一起時,我們以一個遠大于通常的變異概率的概率進行變異操作,它能夠產生多個新個體,從而使得種群脫離”早熟”。16大變異遺傳算法(7.1.4) 一、 大變異遺傳算法的原理當某一代的最大適應度 與平均適應度 滿足 其中 ,被稱為密集因子,表征個體集中的程度。大變異操作要求有兩個參數(shù)是: 密集因子和大變異概率。密集因子用來決定大變異操作在整個優(yōu)化過程中所占的比重,其數(shù)值越接近0.5時大變異操作被調用的越頻繁。大變異概率越大,含大變異操作的遺傳算法的穩(wěn)定性就越好,但是,這是以犧牲收斂速度為代價的,當其數(shù)值等于0.5時,
11、大變異操作就近似為隨機搜索。17大變異遺傳算法(7.1.4) 二、 大變異遺傳算法的步驟 1 隨機產生初始種群,種群個體數(shù)目事先給定,每個個體表示為染色體的基因編碼; 2計算個體的適應度,并判斷是否符合優(yōu)化準則,若符合,輸出最佳個體及其代表的最優(yōu)解,并結束計算,否則轉3; 3依據適應度選擇再生個體,適應的高的個體被選中的概率高,適應的低的個體可能被淘汰; 4對選擇出再生個體按一定的交叉概率和交叉方法生成新個體; 5如果當代最大適應度與平均適應度滿足時,進行大變異操作,否則進行普通變異操作。 6 由交叉和變異產生新一代的種群,返回2。18自適應遺傳算法(7.1.5) 一、 自適應遺傳算法的原理
12、Srinvivas等提出一種自適應遺傳算法,交叉概率和變異概率能夠隨適應度自動改變。當種群個體適應度趨于一致或者趨于局部最優(yōu)時,使交叉概率和變異概率二者增加、而當群體適應度比較分散時,使交叉概率和變異概率減少。 同時,對于適應值高于群體平均適應值的個體,對應于較低的交叉概率和變異概率,使該個體得以保護進入下一代;而低于平均適應值的個體,相對于較高的交叉概率和變異概率,使該個體被淘汰。因此,自適應遺傳算法能過提供相對某個解的最佳交叉概率和變異概率。19自適應遺傳算法(7.1.5) 一、 自適應遺傳算法的原理 Srinvivas等提出一種自適應遺傳算法,交叉概率和變異概率能夠隨適應度自動改變。當種
13、群個體適應度趨于一致或者趨于局部最優(yōu)時,使交叉概率和變異概率二者增加、而當群體適應度比較分散時,使交叉概率和變異概率減少。 同時,對于適應值高于群體平均適應值的個體,對應于較低的交叉概率和變異概率,使該個體得以保護進入下一代;而低于平均適應值的個體,相對于較高的交叉概率和變異概率,使該個體被淘汰。因此,自適應遺傳算法能過提供相對某個解的最佳交叉概率和變異概率。20自適應遺傳算法(7.1.5)一、 自適應遺傳算法的原理 自適應遺傳算法中交叉概率和變異概率的計算公式如下:21自適應遺傳算法(7.1.5) 二、 自適應遺傳算法的步驟 1 隨機產生初始種群,種群個體數(shù)目事先給定,每個個體表示為染色體的
14、基因編碼; 2 計算個體的適應度,并判斷是否符合優(yōu)化準則,若符合,輸出最佳個體及其代表的最優(yōu)解,并結束計算,否則轉3; 3 依據適應度選擇再生個體,適應的高的個體被選中的概率高,適應的低的個體可能被淘汰; 4 按照下式(I)確定交叉概率,并通過交叉生成新個體; 5 按照式(II)確定變異概率,并通過變異生成新個體; 6由交叉和變異產生新一代的種群,返回2。.22遺傳算法的軟件實現(xiàn)一、基本遺傳算法的Matlab實現(xiàn) 1 計算函數(shù)的格式 函數(shù):myGA。 功能:用基本遺傳算法解一維無約束極值問題 調用格式:xv,fv=myGA(fitness,a,b,NP,NG,Pc,Pm,eps) 其中:fit
15、ness:待優(yōu)化的目標函數(shù); a:自變量下界;b:自變量上界; NP:種群大小;NG:最大進化代數(shù); Pc:交叉概率;Pm:變異概率; eps::自變量離散精度; xv:目標函數(shù)取最大值時的自變量取值; fv:目標函數(shù)的最大值。23遺傳算法的軟件計算一、基本遺傳算法的Matlab實現(xiàn) 2 舉例 例7-1 用基本遺傳算法計算下面函數(shù)的最大值 種群個體數(shù)目50,最大進化代數(shù)100,離散精度0.01, 交叉概率0.9,變異概率0.04。 解:首先建立目標函數(shù)文件fitness.m function F=fitness(x) F=x3-60*x2+900*x+100; 在命令框中輸入調用遺傳算法函數(shù)
16、xv,fv=myGA(fitness,0,30,50,100,0.9,0.04,0.01)所得結果 xv= 8.8242 fv=4.0991e+003 該問題的精確最大值點為xv=10,最大值為fv=4100。24遺傳算法的軟件計算二、大變異遺傳算法的Matlab實現(xiàn) 1 計算函數(shù)格式 函數(shù):GMGA。 功能:用大變異遺傳算法解一維無約束極值問題 調用格式:xv,fv=GMGA(fitness,a,b,NP,NG,Pc,Pm, alpha,Pbm, eps) 其中:fitness:待優(yōu)化的目標函數(shù);a:自變量下界; b:自變量上界;NP:種群大??;NG:最大進化代數(shù); Pc:交叉概率; Pm:
17、變異概率;alpha,:密集因子; Pbm:大變異概率; eps::自變量離散精度; xv:目標函數(shù)取最大值時的自變量取值; fv:目標函數(shù)的最大值。25遺傳算法的軟件計算二、大變異遺傳算法的Matlab實現(xiàn) 2 舉例 例7-2 用大變異遺傳算法求函數(shù) 的最大值,個體數(shù)目取50,最大進化代數(shù)500,交叉概率取0.9, 變異概率取0.03,密集因子取0.6,大變異概率取0.2 ,離散精度取0.01。解:首先建立目標函數(shù)文件fitness.mFunction F = fitness(x)F =x2-10*cos(2*pi*x)+10;在命令框中輸入調用大變異遺傳算法函數(shù) xv,fv=GMGA(fi
18、tness,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。用大變異算法得到的結果較好。 26遺傳算法的軟件計算三、自適應遺傳算法的Matlab實現(xiàn) 1 計算函數(shù)格式 函數(shù):AdapGA。 功能:用自適應遺傳算法解一維無約束極值問題 調用格式:xv,fv=AdapGA(fitness,a,b,NP,NG,Pc1, Pc 2,Pm1, Pm2, eps) 其中:fitness:待優(yōu)化的目標函數(shù);a:自變量下界; b:自變量上界;NP:種群大小;NG:最大進化代數(shù); P
19、c1:交叉常數(shù)1;Pc2:交叉常數(shù)2; Pm1:變異常數(shù)1;Pm2:變異常數(shù)2; eps::自變量離散精度; xv:目標函數(shù)取最大值時的自變量取值; fv:目標函數(shù)的最大值。27遺傳算法的軟件計算三、自適應遺傳算法的Matlab實現(xiàn) 2 舉例 例7-3 用自適應遺傳算法求函數(shù) 的最大值,個體數(shù)目取50,最大進化代數(shù)500,交叉概率k1取0.5, k2取0.9,變異概率k3取0.02,k4取0.05,離散精度取0.01。解:首先建立目標函數(shù)文件fitness.mFunction F = fitness(x)F =x2-10*cos(2*pi*x)+10;在命令框中輸入調用自適應遺傳算法函數(shù) xv
20、,fv=AdapGA(fitness,0,4,50,500,0.5,0.9,0.02,0.05, 0.01)運算結果xv = 3.5147fv = 32.3105與例7-2相比自適應遺傳算法所求結果更好。 28遺傳算法的應用舉例文獻1 一種改進的遺傳優(yōu)化策略在電動機故障診斷中的應用 文獻2 基于遺傳算法的熱管多目優(yōu)化設計29粒子群算法簡介基本粒子群算法改進的粒子群算法粒子群算法軟件計算粒子群算法應用7.2 粒子群算法30粒子群算法簡介 一、粒子群算法原理粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)是Eberhart和kennedy博士發(fā)明。源于對鳥群捕食的行
21、為研究,PSO同遺傳算法類似,是一種基于迭代的優(yōu)化工具。系統(tǒng)初始化為一組隨機解,通過迭代搜索尋最優(yōu)值。在PSO算法中,每個優(yōu)化問題的解都是搜索空間中的一只鳥,被抽象為沒有質量和體積的微粒,并將其延伸到N維空間,離子i在N維空間中的位置表示為一個矢量,每個粒子的飛行速度也為一個矢量,所有粒子都有一個被優(yōu)化的函數(shù)決定的適應值(fitness),每個粒子還有一個決定他們飛翔的方向和距離。粒子們知道到目前為止發(fā)現(xiàn)的最好位置(pbest)和現(xiàn)在的位置,這個可以看做是粒子自己的飛行經驗,除此之外,每個粒子還知道目前為止所有粒子發(fā)現(xiàn)的最好位置(gbest, gbest是pbest中最好值),著可以看做是粒子
22、同伴的經驗。粒子是通過自己的經驗和同伴中最好的經驗來決定下一步的運動。 31粒子群算法簡介 二、粒子群算法技術問題粒子群算法的性能很大程度取決于算法的控制參數(shù),粒子數(shù)、最大速度、學習因子、慣性權重等,各個參數(shù)的選取原則如下:1 粒子數(shù):粒子數(shù)的多少根據問題的復雜度自行決定。對于一般的優(yōu)化問題取20至40個;對比較簡單的問題10個粒子就可以;對于比較復雜的或特定的問題,粒子數(shù)可取100以上。2 粒子的維度:由優(yōu)化問題決定;為解的維度,3 粒子的范圍:由優(yōu)化問題決定,每一維可設定不同的范圍;4 最大速度: 決定粒子在一個循環(huán)中最大的移動距離,通常設定為粒子的范圍寬度;5 學習因子:學習因子使粒子具
23、有自我總結和向群體中優(yōu)秀個體學習的能力,從而向群體內或鄰域內最近點靠近,通常取為2,也可以相等,取值范圍0到4。6 慣性權重:決定了對粒子當前速度繼承的多少,適合的選擇可以使粒子具有均衡的探索能力和開發(fā)能力,慣性權重的取法一般有常數(shù)法、線性遞減法、自適應法等 32粒子群算法簡介三、粒子群算法的特點及應用領域 1 特點 (1)粒子群算法以決策變量的編碼作為運算對象。 (2)粒子群算法直接以適應度作為搜索信息,無需導數(shù)等其它輔助信息。 (3)粒子群算法使用多個點的搜索信息,具有隱含并行性。 (4)粒子群算法使用概率搜索技術,而非確定性規(guī)則。 2 應用領域 (1)函數(shù)優(yōu)化 (2)組合優(yōu)化 (3)生產
24、調度 (4)自動控制 (5) 機器人學 (6)圖象處理 33基本粒子群算法(7.2.1) 一、 基本粒子群算法的構成要素 1 粒子數(shù) 2 最大速度 3 學習因子 4 慣性權重34基本粒子群算法(7.2.1)二 、基本粒子群算法步驟 1 隨機初始化種群中各種微粒的位置和速度; 2 評價每個微粒的適應度,將當前各微粒的位置和適應值存儲在各微粒的pbest中,將所有pbest中適應值最優(yōu)個體的位置和適應值存于gbest中; 3 用下面的式子更新粒子的速度和位移; 4 對每個微粒子;將其適應值與其經歷過的最好位置作比較,如果較好,則將其作為當前的最好位置; 5 比較當前所有pbest和gbes的值,更
25、新gbes; 6 若滿足停止條件(通常為預設的運算精度或迭代步數(shù)),搜索停止,輸出結果,否則返回3,繼續(xù)搜索。35二階粒子群算法(7.2.2)一、 二階粒子群算法原理 在標準PSO算法中,微粒的飛行速度僅僅是微粒當前位置的函數(shù),而二階粒子群算法中微粒飛行速度的變化與微粒位置的變化有關,其速度更新公式為:36二階粒子群算法(7.2.2)二 、二階粒子群算法步驟 1 隨機初始化種群中各種微粒的位置和速度; 2 評價每個微粒的適應度,將當前各微粒的位置和適應值存儲在各微粒的pbest中,將所有pbest中適應值最優(yōu)個體的位置和適應值存于gbest中; 3 用下面的式子更新粒子的速度和位移; 4 對每
26、個微粒子;將其適應值與其經歷過的最好位置作比較,如果較好,則將其作為當前的最好位置; 5 比較當前所有pbest和gbes的值,更新gbes; 6 若滿足停止條件(通常為預設的運算精度或迭代步數(shù)),搜索停止,輸出結果,否則返回3,繼續(xù)搜索。37基于選擇的粒子群算法(7.2.3)一、 基于選擇的粒子群算法原理 將遺傳算法中的選擇機理與粒子群算法相結合就 得到基于選擇的粒子群算法。 基本思想:每次迭代過程將整個粒子群按適應值排序,用群體最好的一半的粒子的速度和位置替換最差的一半的位置和速度,同時保留原來每個個體所記憶的歷史最優(yōu)值。38基于選擇的粒子群算法(7.2.3)二 、基于選擇的粒子群算法步驟
27、 1 隨機初始化種群中各種微粒的位置和速度; 2 評價每個微粒的適應度,將當前各微粒的位置和適應值存儲在各微粒的pbest中,將所有pbest中適應值最優(yōu)個體的位置和適應值存于gbest中; 3 用下面的式子更新粒子的速度和位移; 4 對每個微粒子;將其適應值與其經歷過的最好位置作比較,如果較好,則將其作為當前的最好位置; 5 比較當前所有pbest和gbes的值,更新gbes; 6將整個粒子群按適應值排序,用群體中最好的一半的粒子的速度和位置替換最差的一半的位置和速度,保持pbest和gbest不變。 7 若滿足停止條件(通常為預設的運算精度或迭代步數(shù)),搜索停止,輸出結果,否則返回3,繼續(xù)
28、搜索。39基于交叉的粒子群算法(7.2.4)一、 基于交叉的粒子群算法原理 借鑒遺傳算法中的交叉概念,在每次迭代中,根據交叉概率選取制定數(shù)量的粒子放入交叉池內,池中的粒子隨機兩輛交叉,產生同樣數(shù)目的子代粒子(child),并用子代粒子替換親代粒子(parent)。子代位置由父代位置進行算術交叉得到:其中 p是0到1之間的隨機數(shù)。子代的速度由下式計算或或40基于交叉的粒子群算法(7.2.4)二 、基于交叉的粒子群算法步驟 1 隨機初始化種群中各種微粒的位置和速度; 2 評價每個微粒的適應度,將當前各微粒的位置和適應值存儲在各微粒的pbest中,將所有pbest中適應值最優(yōu)個體的位置和適應值存于g
29、best中; 3 用下面的式子更新粒子的速度和位移; 4 對每個微粒子;將其適應值與其經歷過的最好位置作比較,如果較好,則將其作為當前的最好位置; 41基于交叉的粒子群算法(7.2.4)二 、基于交叉的粒子群算法步驟 5 比較當前所有pbest和gbes的值,更新gbes; 6 根據交叉概率選取指定數(shù)量的粒子放入交叉池內,池中的粒子隨機兩兩交叉產生同樣數(shù)目的子代粒子,子代的位置和速度計算公式如下: 保持pbest和gbest不變。 7 若滿足停止條件(通常為預設的運算精度或迭代步數(shù)),搜索停止,輸出結果,否則返回3,繼續(xù)搜索。42粒子群算法的軟件實現(xiàn)一、基本粒子群算法的Matlab實現(xiàn) 1 計
30、算函數(shù)的格式 函數(shù):PSO。 功能:用基本粒子群算法求解無約束極值問題。 調用格式:xv,fv=PSO(fitness,N,c1,c2,w,M,D) 其中:fitness: 待優(yōu)化的目標函數(shù); N:粒子數(shù)目; c1:學習因子1; c2:學習因子2; w:慣性權重; M:最大迭代次數(shù); D:問題的維數(shù); xv:目標函數(shù)的最小值點; fv:目標函數(shù)的最小值。43粒子群算法的軟件計算一、基本粒子群算法的Matlab實現(xiàn) 2 舉例 例7-4 采用基本粒子群算法求Sphere Model的最小值。解:首先建立目標函數(shù)文件fitness.m,輸入內容如下: Function F= fitness(x) F
31、 = 0; for i=1:30 F = 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)44粒子群算法的軟件計算一、基本粒子群算法的Matlab實現(xiàn) 迭代步數(shù)1000500010000 x10.171159151-0.09655836-0.015987273x20.1420736240.008334669-0.001818132x3-0.1819121
32、030.0186364210.004625648x40.1003362930.1037824360.038768164x5-0.166995445-0.0301029570.007716967x60.0356615090.0060840490.015746696x70.037148320.013657669-0.00238339x80.0457441510.010931290.023852163x9-0.171087980.0429103380.007423934x100.055131632-0.15093465-0.014160336x110.0457441510.076321997-0.0
33、32519146x12-0.171087980.0044026080.006066822x130.0551316320.026024016-0.007677664x140.2564633330.011989153-0.027326272x15-0.1307773830.0166517660.01974572x160.116058331-0.0073606770.014704575表7-1 迭代步數(shù)不同時粒子群法求解結果比較表迭代步數(shù)1000500010000 x17-0.098250698-0.038645847-0.037417556x18-0.168572745-0.012203864-0
34、.061915582x190.0833436250.038583338-0.046837159x200.0988520890.089216026-0.022234846x210.07067315-0.074770647-0.071276469x22-0.2220526430.0072028790.049688358x23-0.0408937950.015707451-0.006258405x240.210061935-0.0290495680.090448281x25-0.1281979520.019223623-0.013524576x260.216501635-0.0202020740.0
35、1044023x27-0.0875019130.007375891-0.040697535x280.060820255-0.036771138-0.00546114x29-0.24635774-0.041702041-0.04696722x30-0.013847313-0.0616090710.010652994函數(shù)極值0.6475372570.078922440.03341558245粒子群算法的軟件計算一、基本粒子群算法的Matlab實現(xiàn) 從表7-1的求解結果可以看出,在其他參數(shù)不變的情況下,一般迭代步數(shù)越大,求得的精度越高,但這并不是絕對的,因為PSO算法本質上也是一種隨機算法,即使用同
36、樣的參數(shù),每次求解也可能得出不同的結果,同時如果對于多峰函數(shù),PSO算法還可能陷入局部最優(yōu)點。 下面再看粒子群規(guī)模對結果的影響,學習因子都為2,慣性權重為0.5,迭代步數(shù)都為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)46粒子群算法的軟件計算一、基本粒子群算法的Matlab實現(xiàn) 迭代步數(shù)506080 x1-0.01131034
37、60.0074255830.032168404x20.0043878460.0048179140.018358567x3-0.0066672460.0018556090.022236195x40.0059684390.0143353340.011242284x50.00915497-0.001267227-0.020372561x6-0.051987837-0.0054969170.022033454x7-0.0286875740.00010960.052377912x8-0.0177265260.008815249-0.023582598x90.012876614-0.00195790.03
38、170092x100.011624676-0.0015827040.0014189874x11-0.0233624320.034052767-0.013562149x12-0.042501880.015367050.046835547x130.0132199080.0066061990.032128767x14-0.010243719-0.0087775810.040258144x15-0.011879719-0.000378132-0.000129326x16-0.031978858-0.004513022-0.049016752表7-2 種群數(shù)不同時粒子群法求解結果比較表 迭代步數(shù)5060
39、80 x17-0.021793246-0.013723932-0.083971611x18-0.014866581-0.0009891410.021355323x190.032450927-0.0036157330.007294525x20-0.025591814-0.005227237-0.027505171x21-0.0091624940.0036420450.030514614x220.053509427-0.007972992-0.006440302x23-0.004734495-0.0059175490.043635763x240.007099750.0127190950.02102
40、1241x25-0.0004611460.0003873220.04026069x26-0.003042356-0.0026208750.016406857x27-0.0052418520.006107442-0.051622937x28-0.009992668-0.07381692-0.021966852x290.01191555-0.0120409020.038647243x300.012901919-0.0024714870.060333511函數(shù)極值0.0141168710.0026933620.03663915347粒子群算法的軟件計算一、基本粒子群算法的Matlab實現(xiàn) 從表7-2
41、的求解結果可以看出,粒子群的規(guī)模不是越大越好,關鍵是各參數(shù)之間的搭配,搭配好才能求得比較好的結果。這需要反復試算。48粒子群算法的軟件實現(xiàn)二、二階粒子群算法的Matlab實現(xiàn) 1 計算函數(shù)的格式 函數(shù):SecPSO。 功能:用基本粒子群算法求解無約束極值問題。 調用格式:xv,fv=SecPSO(fitness,N,c1,c2,w,M,D) 其中:fitness: 待優(yōu)化的目標函數(shù); N:粒子數(shù)目;、 c1:學習因子1; c2:學習因子2; w:慣性權重; M:最大迭代次數(shù); D:問題的維數(shù); xv:目標函數(shù)的最小值點; fv:目標函數(shù)的最小值。 49粒子群算法的軟件計算二、二階粒子群算法的Matlab實現(xiàn) 2 舉例 例7-5 采用二階粒子群算法實現(xiàn)求下面函數(shù)的最小值取粒子
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人商鋪租賃合同(含裝修補償條款)3篇
- 二零二五年度建筑塔吊租賃及勞務分包施工合同
- 2025民法典合同編修訂版修訂咨詢合同3篇
- 2025年度個人擔保業(yè)務合同模板2篇
- 二零二五年度文化旅游項目派遣員工勞動合同及文化交流協(xié)議4篇
- 養(yǎng)老院物業(yè)管理勞務合同范本(二零二五年度)3篇
- 2025年度美食城檔口租賃合同參考范本3篇
- 2025年度個人獨資企業(yè)股權轉讓合同范本與法律風險分析3篇
- 二零二五年度木工班組職業(yè)健康與安全協(xié)議合同3篇
- 2025年度農業(yè)設施搭棚種植技術服務合同3篇
- 肺炎臨床路徑
- 外科手術鋪巾順序
- 創(chuàng)新者的窘境讀書課件
- 綜合素質提升培訓全面提升個人綜合素質
- 如何克服高中生的社交恐懼癥
- 聚焦任務的學習設計作業(yè)改革新視角
- 移動商務內容運營(吳洪貴)任務三 APP的品牌建立與價值提供
- 電子競技范文10篇
- 食堂服務質量控制方案與保障措施
- VI設計輔助圖形設計(2022版)
- 眼科學??己喆痤}
評論
0/150
提交評論