![MATLAB程序設(shè)計 課件 第8章 智能算法_第1頁](http://file4.renrendoc.com/view11/M03/0D/1A/wKhkGWWuYDGACdpUAABwi_k3fOM930.jpg)
![MATLAB程序設(shè)計 課件 第8章 智能算法_第2頁](http://file4.renrendoc.com/view11/M03/0D/1A/wKhkGWWuYDGACdpUAABwi_k3fOM9302.jpg)
![MATLAB程序設(shè)計 課件 第8章 智能算法_第3頁](http://file4.renrendoc.com/view11/M03/0D/1A/wKhkGWWuYDGACdpUAABwi_k3fOM9303.jpg)
![MATLAB程序設(shè)計 課件 第8章 智能算法_第4頁](http://file4.renrendoc.com/view11/M03/0D/1A/wKhkGWWuYDGACdpUAABwi_k3fOM9304.jpg)
![MATLAB程序設(shè)計 課件 第8章 智能算法_第5頁](http://file4.renrendoc.com/view11/M03/0D/1A/wKhkGWWuYDGACdpUAABwi_k3fOM9305.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
MATLAB程序設(shè)計第八章智能算法目錄8.1粒子群算法8.2遺傳算法8.3混合蛙跳算法8.1粒子群算法ParticleSwarmOptimization,簡稱PSO;粒子群優(yōu)化算法(PSO)是一種進化計算技術(shù)(EvolutionaryComputation),由Eberhart(電子工程學(xué)博士)和Kennedy
(社會心理學(xué)博士)于1995年源于對鳥群捕食的行為研究。粒子群優(yōu)化算法的基本思想是通過群體中個體之間的協(xié)作和信息共享來尋找最優(yōu)解.PSO的優(yōu)勢在于簡單容易實現(xiàn)并且沒有許多參數(shù)的調(diào)節(jié)。目前已被廣泛應(yīng)用于函數(shù)優(yōu)化、神經(jīng)網(wǎng)絡(luò)訓(xùn)練、模糊系統(tǒng)控制以及其他遺傳算法的應(yīng)用領(lǐng)域。
肯尼迪對鳥群行為的模擬:Reynolds、Heppner和Grenader提出鳥群行為的模擬。他們發(fā)現(xiàn),鳥群在行進中會突然同步的改變方向,散開或者聚集等。那么一定有某種潛在的能力或規(guī)則保證了這些同步的行為。這些科學(xué)家都認為上述行為是基于不可預(yù)知的鳥類社會行為中的群體動態(tài)學(xué)。在這些早期的模型中僅僅依賴個體間距的操作,也就是說,這中同步是鳥群中個體之間努力保持最優(yōu)的距離的結(jié)果。PSO的產(chǎn)生背景對魚群行為的研究:生物社會學(xué)家E.O.Wilson對魚群進行了研究。提出:“至少在理論上,魚群的個體成員能夠受益于群體中其他個體在尋找食物的過程中的發(fā)現(xiàn)和以前的經(jīng)驗,這種受益超過了個體之間的競爭所帶來的利益消耗,不管任何時候食物資源不可預(yù)知的分散?!边@說明,同種生物之間信息的社會共享能夠帶來好處。這是PSO的基礎(chǔ)。群體協(xié)作-獲取信息、共享信息示意算法介紹設(shè)想這樣一個場景:一群鳥在隨機的搜索食物。在這個區(qū)域里只有一塊食物,所有的鳥都不知道食物在哪里。但是它們知道自己當前的位置距離食物還有多遠。那么,找到食物的最優(yōu)策略是什么?最簡單有效的就是搜尋目前離食物最近的鳥的周圍區(qū)域。PSO示意圖每個鳥抽象為一個無質(zhì)量,無體積的“粒子”每個粒子有一個適應(yīng)度函數(shù)以模擬每只鳥與食物的距離每個粒子有一個速度決定它的飛行方向和距離,初始值可以隨機確定每一次單位時間的飛行后,所有粒子分享信息,下一步將飛向自身最佳位置和全局最優(yōu)位置的加權(quán)中心初始化為一群隨機粒子,通過迭代找到最優(yōu)。每次迭代中,粒子通過跟蹤“個體極值(pbest)”和“全局極值(gbest)”來更新自己的位置。粒子速度和位置的更新
假設(shè)在D維搜索空間中,有m個粒子;其中第i個粒子的位置為矢量其飛翔速度也是一個矢量,記為第i個粒子搜索到的最優(yōu)位置為整個粒子群搜索到的最優(yōu)位置為第i個粒子的位置和速度更新為:注意:上式為PSO的一般形式。其中,c1和c2為兩個正的常系數(shù),稱為加速(學(xué)習(xí))因子。第d(1≤d≤D)維的位置X變化范圍為[lbd,ubd],速度V變化范圍為[V_lbd,V_ubd],迭代中若位置和速度超過邊界范圍則取邊界值。
KennedyJ,EberhartR.Particleswarmoptimization.ProceedingsoftheIEEEInternationalConferenceonNeuralNetworks.1995.1942~1948.從社會學(xué)的角度來看,公式(1)的第一部分稱為記憶項,表示上次速度大小和方向的影響;公式第二部分稱為自身認知項,是從當前點指向粒子自身最好點的一個矢量,表示粒子的動作來源于自己經(jīng)驗的部分;公式的第三部分稱為群體認知項,是一個從當前點指向種群最好點的矢量,反映了粒子間的協(xié)同合作和知識共享。粒子就是通過自己的經(jīng)驗和同伴中最好的經(jīng)驗來決定下一步的運動。該成果以會議論文的形式發(fā)表。“慣性部分”,對自身運動狀態(tài)的信任程度“認知部分”,對粒子本身的思考,即來源于自己經(jīng)驗的部分“社會部分”,粒子間的信息共享,來源于群體中的其它優(yōu)秀微粒的經(jīng)驗1998年shi等人在進化計算的國際會議上發(fā)表了一篇論文《Amodifiedparticleswarmoptimizer》對前面的公式中的第一項通過引入慣性權(quán)重因子進行了修正,形成了現(xiàn)在公認的PSO的標準形式。慣性權(quán)重w
使粒子保持運動慣性,使其有擴展搜索空間的趨勢,有能力探索新的區(qū)域。表示微粒對當前自身運動狀態(tài)的信任,依據(jù)自身的速度進行慣性運動。較大的w有利于跳出局部極值,而較小的w有利于算法收斂。初始時,shi將w取為常數(shù),后來實驗發(fā)現(xiàn),動態(tài)w能夠獲得比固定值更好的尋優(yōu)結(jié)果。動態(tài)w可以在PSO搜索過程中線性變化,也可根據(jù)PSO性能的某個測度函數(shù)動態(tài)改變。目前,采用較多的是shi建議的線性遞減權(quán)值(linearlydecreasingweight,LDW)策略Gk為最大進化代數(shù),
wini為初始慣性權(quán)值,
wend為迭代至最大代數(shù)時慣性權(quán)值。典型取值
wini=0.9,wend=0.4。
w的引入使PSO算法性能有了很大提高,針對不同的搜索問題,可以調(diào)整全局和局部搜索能力,也使得PSO算法能成功的應(yīng)用于很多實際問題LDW策略加速常數(shù)c1和c2
代表將粒子推向pbest和gbest位置的統(tǒng)計加速項的權(quán)重。表示粒子的動作來源于自己經(jīng)驗的部分和其它粒子經(jīng)驗的部分。較小的值允許粒子在被拉回之前可以在目標區(qū)域外徘徊,而較大的值則導(dǎo)致粒子突然沖向或越過目標區(qū)域。
方程中pbest和gbest分別表示微粒群的局部和全局最優(yōu)位置,當C1=0時,則粒子沒有了認知能力,變?yōu)橹挥猩鐣哪P?social-only):被稱為全局PSO算法.粒子有擴展搜索空間的能力,具有較快的收斂速度,但由于缺少局部搜索,對于復(fù)雜問題比標準PSO更易陷入局部最優(yōu)。當C2=0時,則粒子之間沒有社會信息,模型變?yōu)橹挥姓J知(cognition-only)模型:被稱為局部PSO算法。由于個體之間沒有信息的交流,整個群體相當于多個粒子進行盲目的隨機搜索,收斂速度慢,因而得到最優(yōu)解的可能性小。加速常數(shù)c1和c2
將c1和c2統(tǒng)一為一個控制參數(shù),φ=c1+c2
如果φ很小,粒子群運動軌跡將非常緩慢;如果φ很大,則微粒位置變化非常快;實驗表明,當φ=4.1(通常c1=2.05,c2=2.05)時,具有很好的收斂效果。粒子數(shù)
一般取20~40,對較難或特定類別的問題可以取
100~200。最大速度vmax
決定粒子在一個循環(huán)中最大的移動距離,通常設(shè)定為粒子的范圍寬度。終止條件
最大循環(huán)數(shù)以及最小錯誤要求?;玖W尤核惴ǖ膶?yōu)示意2122MATLAB中調(diào)用PSOPso現(xiàn)在已作為MATLAB優(yōu)化工具箱中的基本函數(shù)。其格式如下:[xfval]=particleswarm(fun,nars,lb,ub)各參數(shù)含義與前述規(guī)定基本相同238.2遺傳算法遺傳算法(Geneticalgorithm,GA)是應(yīng)用最廣泛的一種演化算法,為典型代表。
一切生物都具有產(chǎn)生變異的特性。在生存斗爭中,具有有利變異的個體,容易在生存斗爭中獲勝而生存下去。反之,具有不利變異的個體,則容易在生存斗爭中失敗而死亡。此過程叫做自然選擇。
自然選擇過程是一個長期的、緩慢的、連續(xù)的過程。由于生存斗爭不斷地進行,因而自然選擇也是不斷地進行,通過一代代的生存環(huán)境的選擇作用,物種變異被定向地向著一個方向積累,于是性狀逐漸和原來的祖先不同了,可以說物種也因此得到優(yōu)化了。25(一)背景CharlesRobertDarwin1859年,達爾文(CharlesRobertDarwin)出版的《物種起源》,提出進化學(xué)說26遺傳以密碼方式存在細胞內(nèi),并以基因形式包含在染色體內(nèi),每個基因有特殊的位置并控制某種特殊性質(zhì),所以每個基因產(chǎn)生的個體對環(huán)境具有某種適應(yīng)性?;蛲蛔兒突螂s交可以產(chǎn)生更適應(yīng)于環(huán)境的后代,經(jīng)過存優(yōu)去劣的自然淘汰,適應(yīng)性高的基因結(jié)構(gòu)得以保存下來1865年,孟德爾(GregorJohannMendel)
發(fā)現(xiàn)遺傳定律27生物進化是指一個種群經(jīng)過漫長的時間所發(fā)生的累積變化,這些變化是由于生物體的基因變異或者繁殖期間以不同方式重組基因所產(chǎn)生的,而且這些變化可以被遺傳到生物體的后代。從本質(zhì)上說,它是一個優(yōu)勝劣汰的自然過程,也是一個優(yōu)化過程。優(yōu)化的結(jié)果是產(chǎn)生能夠很好地適應(yīng)環(huán)境的生物體。此過程也可以看成是在眾多可能性中搜索“解”的一種方法。遺傳算法(GeneticAlgorithms,GA)是模擬生物進化論的自然選擇和遺傳學(xué)機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優(yōu)解的方法。28GA的發(fā)展歷程20世紀60年代中期,美國的Michigan(密歇根)大學(xué)的J.H.Holland借鑒生物自然遺傳的基本原理(自然選擇、適者生存)提出的一種搜索尋優(yōu)算法,用于自然和人工系統(tǒng)的自適應(yīng)行為研究和串編碼技術(shù)。1967年,他的學(xué)生J.D.Bagley在博士論文中首次提出“遺傳算法”一詞。1975年,Holland出版了著名的“AdaptationinnaturalandArtificialSystems”,標志著遺傳算法的正式誕生。(一)產(chǎn)生過程20世紀50年代到60年代,生物學(xué)家Fraser試圖通過計算的方法來模擬生物界“遺傳與選擇”的進化過程,
這是遺傳算法的最早雛形。3070年代初,Holland提出了“模式定理”(SchemaTheorem),一般認為是“遺傳算法的基本定理”,從而也奠定了遺傳算法研究的理論基礎(chǔ);1985年,在美國召開了第一屆遺傳算法國際會議,并且成立了國際遺傳算法學(xué)會(ISGA,InternationalSocietyofGeneticAlgorithms);1989年,他的學(xué)生D.J.Goldherg出版了“GeneticAlgorithmsinSearch,Optimization,andMachineLearning”,系統(tǒng)的總結(jié)了遺傳算法的主要研究成果,全面完整地論述了GA的基本原理和應(yīng)用;1991年,L.Davis出版了“HandbookofGeneticAlgorithms”,介紹了GA在科學(xué)計算、工程技術(shù)和社會經(jīng)濟等領(lǐng)域中的大量應(yīng)用實例,為推廣和普及GA的應(yīng)用起到了重要的指導(dǎo)作用;(二)發(fā)展ProcedureGeneticAlgorithmProcedureEA遺傳算法的基本步驟:第1步.根據(jù)由問題確定的編碼規(guī)則,隨機產(chǎn)生初始群體;第2步.計算群體中每個個體的適應(yīng)度值;第3步.如果解滿足要求或遺傳代數(shù)超過指定代數(shù),則結(jié)束;否則繼續(xù)執(zhí)行第4步;第4步.根據(jù)適應(yīng)值進行選擇復(fù)制產(chǎn)生新一代;第5步.根據(jù)事先確定的交叉和變異概率選擇部分個體進行交叉和變異,轉(zhuǎn)第2步;
GA的流程圖遺傳算法模擬自然選擇和自然遺傳過程中發(fā)生的繁殖、交叉和基因突變現(xiàn)象,在每次迭代中都保留一組候選解,并按某種指標從解群中選取較優(yōu)的個體,利用遺傳算子(選擇、交叉和變異)對這些個體進行組合,產(chǎn)生新一代的候選解群,重復(fù)此過程,直到滿足某種收斂指標為止。
(二)基本遺傳算法的計算過程遺傳算法的基本思想:在求解問題時從多個解開始,然后通過一定的法則進行逐步迭代以產(chǎn)生新的解(1)編碼(產(chǎn)生初始種群)(2)適應(yīng)度函數(shù)(3)遺傳算子(選擇、交叉、變異)(4)運行參數(shù)
編碼遺傳算法(GA)通過某種編碼機制把對象抽象為由特定符號按一定順序排成的串。正如研究生物遺傳是從染色體著手,而染色體則是由基因排成的串?;具z傳算法(SGA)使用二進制串進行編碼。1000101110110101000111
染色體基因
編碼示例求下列一元函數(shù)的最大值:其中x∈[-1,2],求解結(jié)果精確到6位小數(shù)。(1)二進制編碼要求取多少位?(2)十進制實數(shù)與二進制編碼之間應(yīng)滿足怎樣的數(shù)學(xué)關(guān)系??
編碼示例的分析區(qū)間長度為3,求解結(jié)果精確到6位小數(shù),因此可將自變量定義區(qū)間劃分為3×106等份。又因為221<3×106<222
,所以二進制編碼長度至少需要22位。編碼過程實質(zhì)是將區(qū)間[-1,2]內(nèi)對應(yīng)的實數(shù)值轉(zhuǎn)化為一個二進制串(b21b20b19b18…b1b0)。101010111111……101011000
一個問題對于x∈[-1,2],結(jié)果精確到6位小數(shù),十進制實數(shù)與二進制編碼之間應(yīng)滿足怎樣的數(shù)學(xué)關(guān)系?
編碼(二進制)與實數(shù)(十進制)的轉(zhuǎn)換(1000101110110101000111)2
編碼與實數(shù)的轉(zhuǎn)換(1000101110110101000111)20.637197基因型與表現(xiàn)型基因型:1000101110110101000111表現(xiàn)型:0.637197
編碼解碼個體(染色體)基因初始種群基本遺傳算法(SGA)采用隨機方法生成若干個個體的集合,該集合稱為初始種群。初始種群中個體的數(shù)量稱為種群規(guī)模。
適應(yīng)度函數(shù)遺傳算法對一個個體(解)的好壞用適應(yīng)度函數(shù)值來評價,適應(yīng)度函數(shù)值越大(或越小),解的質(zhì)量越好。適應(yīng)度函數(shù)是遺傳算法進化過程的驅(qū)動力,也是進行自然選擇的唯一標準,它的設(shè)計應(yīng)結(jié)合求解問題本身的要求而定。選擇算子遺傳算法使用選擇運算對個體進行優(yōu)勝劣汰操作。適應(yīng)度高的個體被遺傳到下一代群體中的概率大;適應(yīng)度低的個體,被遺傳到下一代群體中的概率小。選擇操作的任務(wù)就是從父代群體中選取一些個體,遺傳到下一代群體?;具z傳算法(SGA)中選擇算子采用輪盤賭選擇方法。一等獎二等獎三等獎四等獎輪盤賭選擇方法(RouletteWheelSelection)輪盤賭選擇方法輪盤賭選擇又稱比例選擇算子,其基本思想是:各個個體被選中的概率與其適應(yīng)度函數(shù)值成正比。設(shè)群體大小為N,個體xi
的適應(yīng)度為f(xi),則個體xi的選擇概率為:輪盤賭選擇法可用如下過程模擬來實現(xiàn):(1)在[0,1]內(nèi)產(chǎn)生一個均勻分布的隨機數(shù)r。(2)若r≤q1,則染色體x1被選中。(3)若qk-1<r≤qk(2≤k≤N),則染色體xk被選中。其中的qi稱為染色體xi
(i=1,2,…,n)的積累概率,其計算公式為輪盤賭選擇方法積累概率實例:
輪盤賭選擇方法0.140.490.060.3100.140.630.691q1q2
q3
q4
積累概率q選擇概率P輪盤賭選擇方法輪盤賭選擇方法的實現(xiàn)步驟:(1)計算群體中所有個體的適應(yīng)度值;(2)計算每個個體的選擇概率P;(3)計算積累概率q;(4)采用模擬賭盤操作(即生成0到1之間的隨機數(shù)與每個個體遺傳到下一代群體的概率進行匹配)來確定各個個體是否遺傳到下一代群體中。輪盤賭選擇方法例如,有染色體
s1=13(01101)
s2=24(11000)
s3=8(01000)
s4=19(10011)
假定適應(yīng)度函數(shù)為f(s)=s2
,則
f(s1)=f(13)=132=169
f(s2)=f(24)=242=576
f(s3)=f(8)=82=64
f(s4)=f(19)=192=361染色體的選擇概率為染色體的累計概率為
例如,從區(qū)間[0,1]中產(chǎn)生4個隨機數(shù):
r1=0.450126,r2=0.110347
r3=0.572496,r4=0.98503
染色體
適應(yīng)度選擇概率積累概率選中次數(shù)s1=011011690.140.141s2=110005760.490.632s3=01000640.060.690s4=100113610.311.001交叉算子交叉運算,是指對兩個相互配對的染色體依據(jù)交叉概率Pc
按某種方式相互交換其部分基因,從而形成兩個新的個體。交叉運算是遺傳算法區(qū)別于其他演化算法的重要特征,它在遺傳算法中起關(guān)鍵作用,是產(chǎn)生新個體的主要方法?;具z傳算法(SGA)中交叉算子采用單點交叉算子。單點交叉運算交叉前:01000|0111000000001000011100|00000111111000101交叉后:01000|00000111111000101(孩子1)11100|01110000000010000(孩子2)交叉點變異算子變異運算,是指改變個體編碼串中的某些基因值,從而形成新的個體。變異運算是產(chǎn)生新個體的輔助方法,決定遺傳算法的局部搜索能力,保持種群多樣性。交叉運算和變異運算的相互配合,共同完成對搜索空間的全局搜索和局部搜索?;具z傳算法(SGA)中變異算子采用基本位變異算子?;咀儺愃阕踊疚蛔儺愃阕邮侵笇€體編碼串隨機指定的某一位或某幾位基因作變異運算。對于二進制編碼符號串所表示的個體,若需要進行變異操作的某一基因座上的原有基因值為0,則將其變?yōu)?;反之,若原有基因值為1,則將其變?yōu)??;疚蛔儺愂纠儺惽埃?00001110000000010000變異后:000001110001000010000變異點已知x為整數(shù),利用遺傳算法求解區(qū)間[0,31]上的二次函數(shù)y=x2的最大值。
y=x2
31
XY遺傳算法的應(yīng)用舉例
[分析]
原問題可轉(zhuǎn)化為在區(qū)間[0,31]中搜索能使y取最大值的點a的問題。個體:[0,31]中的任意點x
適應(yīng)度:函數(shù)值f(x)=x2
解空間:區(qū)間[0,31]這樣,只要能給出個體x的適當染色體編碼,該問題就可以用遺傳算法來解決。[解]
(1)設(shè)定種群規(guī)模,編碼染色體,產(chǎn)生初始種群。將種群規(guī)模設(shè)定為4;用5位二進制數(shù)編碼染色體;取下列個體組成初始種群S1s1=13(01101),s2=24(11000)s3=8(01000),s4=19(10011)
(2)定義適應(yīng)度函數(shù),取適應(yīng)度函數(shù)
f(x)=x2(3)計算各代種群中的各個體的適應(yīng)度(評價個體性能),并對其染色體進行遺傳操作,直到適應(yīng)度最高的個體,即31(11111)出現(xiàn)為止。
首先計算種群S1中各個體
s1=13(01101),s2=24(11000)
s3=8(01000),s4=19(10011)的適應(yīng)度f(si),容易求得
f(s1)=f(13)=132=169
f(s2)=f(24)=242=576
f(s3)=f(8)=82=64f(s4)=f(19)=192=361評價個體的適應(yīng)度值再計算種群S1中各個體的選擇概率。
由此可求得
P(s1)=P(13)=0.14P(s2)=P(24)=0.49P(s3)=P(8)=0.06P(s4)=P(19)=0.31再計算種群S1中各個體的積累概率
選擇-復(fù)制:設(shè)從區(qū)間[0,1]中產(chǎn)生4個隨機數(shù):r1=0.450126,r2=0.110347r3=0.572496,r4=0.98503
染色體
適應(yīng)度選擇概率積累概率選中次數(shù)s1=011011690.140.141s2=110005760.490.632s3=01000640.060.690s4=100113610.311.001于是,經(jīng)復(fù)制得群體:s1’
=11000(24),s2’
=01101(13)s3’
=11000(24),s4’
=10011(19)
被選中兩次交叉
設(shè)交叉率pc=100%,即S1中的全體染色體都參加交叉運算。
設(shè)s1’與s2’配對,s3’與s4’配對。
s1’=11000(24),s2’=01101(13)
s3’=11000(24),s4’=10011(19)分別交換后兩位基因,得新染色體:
s1’’=11001(25),s2’’=01100(12)
s3’’=11011(27),s4’’=10000(16)
變異
設(shè)變異率pm=0.001。
這樣,群體S1中共有
5×4×0.001=0.02位基因可以變異。
0.02位顯然不足1位,所以本輪遺傳操作不做變異。于是,得到第二代種群S2:
s1=11001(25),s2=01100(12)
s3=11011(27),s4=10000(16)
第二代種群S2中各染色體的情況
染色體
適應(yīng)度選擇概率積累概率
估計選中次數(shù)s1=110016250.360.361s2=011001440.080.440s3=110117290.410.852s4=100002560.151.001
假設(shè)這一輪選擇-復(fù)制操作中,種群S2中的4個染色體都被選中,則得到群體:
s1’=11001(25),s2’=01100(12)
s3’=11011(27),s4’=10000(16)
做交叉運算,讓s1’與s2’,s3’與s4’
分別交換后三位基因,得
s1’’=11100(28),s2’’
=01001(9)
s3’’
=11000(24),s4’’
=10011(19)
這一輪仍然不會發(fā)生變異。
于是,得第三代種群S3:
s1=11100(28),s2=01001(9)
s3=11000(24),s4=10011(19)
第三代種群S3中各染色體的情況
染色體
適應(yīng)度選擇概率積累概率
估計的選中次數(shù)s1=111007840.440.442s2=01001810.040.480s3=110005760.320.801s4=100113610.201.001
設(shè)這一輪的選擇-復(fù)制結(jié)果為:
s1’=11100(28),s2’=11100(28)
s3’=11000(24),s4’=10011(19)
做交叉運算,讓s1’與s4’,s2’與s3’
分別交換后兩位基因,得s1’’=11111(31),s2’’=11100(28)
s3’’=11000(24),s4’’=10000(16)
這一輪仍然不會發(fā)生變異。被選中兩次
于是,得第四代種群S4:
s1=11111(31),s2=11100(28)
s3=11000(24),s4=10000(16)出現(xiàn)了最優(yōu)解!
顯然,在這一代種群中已經(jīng)出現(xiàn)了適應(yīng)度最高的染色體s1=11111。于是,遺傳操作終止,將染色體(11111)作為最終結(jié)果輸出。然后,將染色體“11111”解碼為表現(xiàn)型,即得所求的最優(yōu)解:31。
將31代入函數(shù)y=x2中,即得原問題的解,即函數(shù)y=x2的最大值為961。
YYy=x2
8131924
X第一代種群及其適應(yīng)度y=x2
12162527
XY第二代種群及其適應(yīng)度y=x2
9192428
XY第三代種群及其適應(yīng)度y=x2
16242831
X第四代種群及其適應(yīng)度剛剛產(chǎn)生四代種群及其適應(yīng)度。你知道這四代種群之間有何發(fā)展規(guī)律嗎?四代種群的發(fā)展規(guī)律就是適應(yīng)度的整體水平越來越好,直到最優(yōu)解出現(xiàn)!80遺傳算法在MATLAB中如何應(yīng)用?遺傳算法的基本流程Step1:對運行參數(shù)賦值;Step2:建立區(qū)域描述器;
Step3:初始化種群,并評估個體好壞;Step4:進行選擇操作Step5:按交叉概率進行交叉操作Step6:按變異概率進行變異操作Step7:執(zhí)行新個體保存策略,形成新種群Step8:判斷是否滿足結(jié)束條件根據(jù)定義編程調(diào)用函數(shù)ga使用優(yōu)化工具箱√X√最優(yōu)化問題的標準型81A和b是線性不等式約束的系數(shù)Aeq和beq是線性等式約束的系數(shù)c是非線性不等式約束ceq是非線性等式約束lb和ub是變量的上下限82ga函數(shù)的基本格式[xfval]=ga(fun,nvars,A,b,Aeq,beq,lb,ub,nonlcon,options)fun:待求的目標函數(shù)nvars:變量的個數(shù)nonlcon:非線性約束的表達式,匿名函數(shù)形式options:遺傳算法的參數(shù)設(shè)置(較復(fù)雜)fval:最優(yōu)個體的函數(shù)值一、調(diào)用函數(shù)ga《MATLAB程序設(shè)計》83minf(x)=-x(3-2x)2
x=fminbnd(@(x)-x*(3-2*x)^2,0,1.5)方法1:MATLAB命令行窗口輸入以下命令:例1-無約束問題方法2:調(diào)用ga函數(shù)步驟一:建立目標函數(shù)文件:functiony=my_fun(x)y=-x*(3-2*x)^2;步驟二:調(diào)用x=ga(@my_fun,1,[],[],[],[],0,1.5)基于內(nèi)部映射牛頓法fminsearch?例2-線性約束問題84步驟一:建立目標函數(shù)文件:functiony=my_fun2(x)y=0.5*x(1)^2+x(2)^2-x(1)*x(2)-2*x(1)-6*x(2);步驟二:調(diào)用A=[11;-12;21];b=[2;2;3];lb=[0;0];x=ga(@my_fun2,2,A,b,[],[],lb)85例3-非線性約束問題步驟一:建立目標函數(shù)文件:functiony=my_fun3(x)y=100*(x(1)^2-x(2))^2+(1-x(1))^2;function[cceq]=my_fun3_con(x)c=[1.5+x(1)*x(2)+x(1)-x(2);10-x(1)*x(2);];ceq=[];步驟二:建立非線性約束文件:步驟三:調(diào)用lb=[0;0];ub=[1;13];x=ga(@my_fun3,2,[],[],[],[],lb,ub,@my
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年山西省三晉聯(lián)盟名校高二上學(xué)期期中聯(lián)合考試歷史試卷
- 2025年互聯(lián)網(wǎng)商品交易協(xié)議范本
- 2025年養(yǎng)老護理雇傭合同標準
- 2025年倉儲合同風(fēng)險控制策略制定
- 2025年倉儲物流服務(wù)協(xié)議文本
- 2025年企業(yè)股份制改革協(xié)議合同范本
- 2025年兒童鞋類行業(yè)供需合同樣本
- 2025年船底防污漆項目申請報告
- 2025年事業(yè)單位合同采購范例
- 2025年錳氧化物項目提案報告模范
- 《工程勘察設(shè)計收費標準》(2002年修訂本)
- 即興口語(姜燕)-課件-即興口語第七章PPT-中國傳媒大學(xué)
- 蛋白質(zhì)分離技術(shù)全PPT課件
- 磷酸鐵鋰電池工商業(yè)儲能項目施工組織設(shè)計方案
- 艾默生HipulseUPS操作手冊
- 愛心樹(繪本)
- NPI管理流程(精)
- 色卡 對照表 PANTONE-CMYK
- 深圳水管理體制改革的思考和建議
- 蘇教版六年級上冊計算題練習(xí)大全(經(jīng)典)
- 內(nèi)容講義說明案例nxt pop trainning
評論
0/150
提交評論