




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、遺傳算法在主汽控制系統(tǒng)中的應(yīng)用 摘 要電廠中的熱工系統(tǒng)是一個復(fù)雜的系統(tǒng),由于其特有的復(fù)雜性,使得模型的獲取有一定的難度PID調(diào)節(jié)是熱工系統(tǒng)最主要的控制策略,它直接影響機(jī)組的安全、經(jīng)濟(jì)運(yùn)行自適應(yīng)遺傳算法作為一種智能優(yōu)化算法,它是在解空間進(jìn)行高效啟發(fā)式搜索,而非盲目地窮舉或完全隨機(jī)搜索,應(yīng)用遺傳算法對主汽溫系統(tǒng)控制器參數(shù)進(jìn)行優(yōu)化,實(shí)驗(yàn)表明,應(yīng)用遺傳算法優(yōu)化控制器參數(shù)的優(yōu)越性。仿真結(jié)果表明,在主蒸汽溫度控制系統(tǒng)中,本文所設(shè)計(jì)的用改進(jìn)的遺傳算法優(yōu)化的PID控制器比常規(guī)的PID控制器有更好的控制效果。關(guān)鍵詞:遺傳算法,主汽溫控制,熱工系統(tǒng),調(diào)節(jié)器參數(shù),參數(shù)優(yōu)化 GENETIC ALGORITHM IN
2、THE MAIN STEAM TEMPERATURE CONTROLABSTRACTThermal power plant system is a complex system, due to its unique complexity, making the model to obtain a certain degree of difficulty. PID regulation is the most important thermal system control strategy, which directly affect the units safety, economic op
3、eration. Adaptive genetic algorithm as an intelligent optimization algorithm, which is the efficient heuristic solution space, rather than blindly exhaustive or completely random search, genetic algorithm, the main steam temperature system controller parameters optimization, experiments show that Ap
4、plication of genetic algorithm to optimize the controller parameters. The simulation results show that in the main steam temperature control system, designed in this paper a modified genetic algorithm to optimize the PID controller than the conventional PID controller has better control effect. Keyw
5、ords: Genetic algorithms, Main steam temperature control, Thermal system, Regulator parameters, Optimization目錄前言1第1章 主汽溫調(diào)節(jié)系統(tǒng)的控制方案31.1主汽溫串級調(diào)節(jié)系統(tǒng)31.2采用導(dǎo)前汽溫微分信號的雙回路汽溫調(diào)節(jié)系統(tǒng)4第2章 遺傳算法的基礎(chǔ)知識62.1遺傳算法的概念62.1.1遺傳算法的生物學(xué)原理62.1.2遺傳算法的發(fā)展62.1.3遺傳算法的特點(diǎn)72.1.4遺傳算法的工作原理72.2遺傳算法的數(shù)學(xué)基礎(chǔ)82.2.1模式的階和模式的定義距82.2.2模式定理92.2.3積木塊假設(shè)9
6、2.3基本遺傳算法(SGA)的組成92.3.1編碼102.3.2初始群體的產(chǎn)生112.3.3適應(yīng)度函數(shù)122.3.4遺傳算子132.3.5遺傳算法的運(yùn)行參數(shù)152.3.6遺傳算法的收斂性152.4遺傳算法的不足15第3章 遺傳算法優(yōu)化PID控制器173.1改進(jìn)遺傳算法173.1.1參數(shù)編碼173.1.2確定交叉概率和變異概率173.1.3遺傳算子的改進(jìn)183.1.4 PID控制器的結(jié)構(gòu)193.2仿真結(jié)果分析20結(jié)論22謝 辭23參考文獻(xiàn)24附錄26附錄1 改進(jìn)的遺傳算法源程序26附錄2 基本遺傳算法流程圖41外文資料翻譯42前言單元機(jī)組的控制主要是指對鍋爐、汽輪機(jī)及輔助設(shè)備的控制 。為了保證機(jī)
7、組的經(jīng)濟(jì)、安全的運(yùn)行,必須把各生產(chǎn)的主要工藝參數(shù)嚴(yán)格控制在規(guī)定的范圍之內(nèi)。其中,對主汽溫的控制是單元機(jī)組控制中比較重要的參數(shù)之一,因?yàn)檫^熱汽溫溫度是鍋爐運(yùn)行質(zhì)量的重要指標(biāo)之一。過熱汽溫的溫度過高或過低都會顯著影響電廠的安全性和經(jīng)濟(jì)性。所以,在鍋爐運(yùn)行中,必須保持過熱汽溫穩(wěn)定在規(guī)定值附近。一般要求過熱汽溫與規(guī)定值的暫時偏差值不超過100C,長期偏差不超過50C。引起過熱汽溫變化的原因很多,如蒸汽流量變化、燃燒工況變化,進(jìn)入過熱器的蒸汽溫度變化,流過過熱器的煙氣溫度變化和流速變化等。歸結(jié)起來,過熱汽溫調(diào)節(jié)對象的擾動主要來自三各方面:蒸汽流量變化(負(fù)荷變化)、加熱煙氣的熱量變化和減溫水的流量變化(過
8、熱汽入口汽溫變化)。通過對過熱器汽溫調(diào)節(jié)對象做階躍擾動試驗(yàn),可得到在不同擾動作用下的對象的動態(tài)特性,它們均為有延遲的慣性環(huán)節(jié)。采用擬合后,可以擬合為一個具有純滯后的大慣性的控制對象,純滯后會導(dǎo)致增大被控量的最大動態(tài)偏差,系統(tǒng)的動態(tài)質(zhì)量下降。對主汽溫的控制,比較常規(guī)的做法是采用串級調(diào)節(jié)系統(tǒng)方案和采用導(dǎo)前汽溫的微分信號作為補(bǔ)充的調(diào)節(jié)系統(tǒng)方案。通常,如果對象滯后時間過大,該兩種控制方案將不能取得很好的控制效果。對于具有大慣性大滯后的工業(yè)對象,如果純滯后是相對于慣性環(huán)節(jié)的時間常數(shù)來講,相對較小的話,這種被控對象可以由普通的PID調(diào)節(jié)器進(jìn)行控制。否則,用普通的PID控制器進(jìn)行控制的效果并不好,甚至不能控
9、制。通常的控制方法是利用Smith預(yù)估器對滯后環(huán)節(jié)進(jìn)行補(bǔ)償。采用Smith預(yù)估器進(jìn)行補(bǔ)償控制以后,系統(tǒng)相當(dāng)于普通的閉環(huán)與滯后環(huán)節(jié)相串聯(lián),系統(tǒng)的動態(tài)性能完全由不含有純滯后的閉環(huán)系統(tǒng)的性能所決定的,滯后環(huán)節(jié)僅是將閉環(huán)系統(tǒng)的輸出延遲了一定的時間而已。這就消除了純滯后環(huán)節(jié)帶來的對系統(tǒng)的不良影響。然而上述的Smith預(yù)估器控制,只是在理想情況下的控制,即對象的所有參數(shù)完全精確。而事實(shí)上,實(shí)際中,鍋爐主汽溫是受多種因素影響的,如前所述,因此其傳遞函數(shù)是相當(dāng)復(fù)雜的,我們只是采用擬合以后才擬合成一個一階慣性環(huán)節(jié)與一個純滯后環(huán)節(jié)的串聯(lián),這在實(shí)際中是近似的。Smith預(yù)估器在理想情況下,其調(diào)節(jié)品質(zhì)與無滯后時相同,
10、只是在時間上延遲了時間,而Smith預(yù)估器對過程參數(shù)的變化很敏感,而實(shí)際的控制對象本身就是近似的,而且參數(shù)也不可能不發(fā)生變動,因此,Smith預(yù)估器就不能很好地去實(shí)現(xiàn)其控制功能。因此,本課題擬采用一種更先進(jìn)的PID控制來更好地實(shí)現(xiàn)預(yù)估控制。預(yù)估器反饋補(bǔ)償環(huán)節(jié)的參數(shù)是精確的。當(dāng)被控對象參數(shù)發(fā)生涉動時,由于該環(huán)節(jié)參數(shù)是既定的,不能發(fā)生改動,因而預(yù)估器控制失效?,F(xiàn)在,擬在該環(huán)節(jié)加入神經(jīng)網(wǎng)絡(luò),使當(dāng)被控對象參數(shù)發(fā)生涉動時,反饋環(huán)節(jié)通過逐步逼近,來模擬新的被控對象,以達(dá)到精確控制。 第1章 主汽溫調(diào)節(jié)系統(tǒng)的控制方案1.1主汽溫串級調(diào)節(jié)系統(tǒng)目前,電廠采用噴水減溫來調(diào)節(jié)過熱汽溫系統(tǒng)的延遲和慣性大,為了改善系統(tǒng)
11、的動態(tài)特性,根據(jù)調(diào)節(jié)系統(tǒng)的設(shè)計(jì)原則,引入中間點(diǎn)信號作為調(diào)節(jié)器的補(bǔ)充信號,以便快速反映影響過熱汽溫變化的擾動,而最能反映減溫水變化的是減溫器出口的溫度,因此入該點(diǎn)作為輔助被調(diào)量,組成了串級調(diào)速系統(tǒng)。 圖1- 1主汽溫串級調(diào)節(jié)系統(tǒng)此圖為主汽溫串級調(diào)節(jié)系統(tǒng),圖中Gh1和Gh2分別為溫度變送器。為減溫器后汽溫,為過熱器出口汽溫。汽溫調(diào)節(jié)對象由減溫器和過熱器組成,減溫水流量為對象調(diào)節(jié)通道的輸入信號,過熱器出口汽溫為輸出信號。為了改善調(diào)節(jié)品質(zhì),系統(tǒng)中采用減溫器出口處汽溫作為輔助調(diào)節(jié)信號(稱為導(dǎo)前汽溫信號)。當(dāng)調(diào)節(jié)機(jī)構(gòu)動作(噴水量變化)后,導(dǎo)前汽溫信號的反應(yīng)顯然要比過熱器出口的汽溫快很多。圖1- 2主汽溫串
12、級調(diào)節(jié)系統(tǒng)的方框圖串級調(diào)節(jié)系統(tǒng)的主調(diào)節(jié)器出口的信號不是直接控制減溫器的調(diào)節(jié)閥,而使作為副調(diào)節(jié)器的可變給定值,與減溫器出口汽溫比較,通過副調(diào)節(jié)器去控制執(zhí)行器動作,以調(diào)節(jié)減溫水量,保證過熱汽溫基本保持不變。圖1- 2為串級調(diào)節(jié)系統(tǒng)的方框圖。從圖1- 2的方框圖可以看出,串級調(diào)節(jié)系統(tǒng)有兩個閉合的調(diào)節(jié)回路:由對象調(diào)節(jié)通道的導(dǎo)前區(qū)、導(dǎo)前汽溫變送器、副調(diào)節(jié)器組成的副調(diào)節(jié)回路;由對象調(diào)節(jié)通道的惰性區(qū)、過熱汽溫變送器、主調(diào)節(jié)器以及副調(diào)節(jié)回路組成的主回路。串級調(diào)節(jié)系統(tǒng)之所以能改善系統(tǒng)的調(diào)節(jié)品質(zhì),主要是由于有一個快速動作的副調(diào)節(jié)回路存在。為了保證快速性,副調(diào)節(jié)回路的調(diào)節(jié)器采用比例(P)或比例微分(PD)調(diào)節(jié)器,使
13、過熱汽溫基本保持不變,起到了粗調(diào)的作用;為了保證調(diào)節(jié)的準(zhǔn)確性,主調(diào)節(jié)回路的調(diào)節(jié)器采用比例積分(PI)或比例積分微分(PID)調(diào)節(jié)器,使過熱汽溫與設(shè)定值相等,起到了細(xì)調(diào)的作用。對于串級汽溫調(diào)節(jié)系統(tǒng),無論擾動發(fā)生在副調(diào)節(jié)回路還是發(fā)生在主調(diào)節(jié)回路,都能迅速的做出反應(yīng),快速消除過熱汽溫的變化。1.2采用導(dǎo)前汽溫微分信號的雙回路汽溫調(diào)節(jié)系統(tǒng)圖1-3所示即為采用導(dǎo)前汽溫微分信號的汽溫調(diào)節(jié)系統(tǒng)。這個系統(tǒng)引入了導(dǎo)前汽溫的微分信號作為調(diào)節(jié)器的補(bǔ)充信號,以改善調(diào)節(jié)質(zhì)量。因?yàn)楹偷淖兓厔菔且恢碌模冶鹊姆磻?yīng)快很多,因此它能迅速地反映的變化趨勢。引入了的微分信號后,將有助于調(diào)節(jié)器動作的快速性。在動態(tài)時,調(diào)節(jié)器將根據(jù)和
14、與給定值之間的差值而動作;在靜態(tài)時,信號為零,過熱汽溫必然等于給定值。其中圖1- 3采用導(dǎo)前汽溫微分信號的汽溫調(diào)節(jié)系統(tǒng)目前電廠普遍采用上述兩種主汽溫調(diào)節(jié)系統(tǒng),它們各有特點(diǎn),比較如下:(1)如果把采用導(dǎo)前汽溫微分信號的雙回路系統(tǒng)轉(zhuǎn)化為串級系統(tǒng)來看待,其等效主、副調(diào)節(jié)器均是比例積分調(diào)節(jié)器,但對于實(shí)際的串級調(diào)節(jié)系統(tǒng),為了提高副回路的快速跟蹤性能,副調(diào)節(jié)器應(yīng)該采用比例或比例微分調(diào)節(jié)器,而主調(diào)節(jié)器則應(yīng)采用比例積分微分調(diào)節(jié)器。因此,采用導(dǎo)前汽溫微分信號的雙回路系統(tǒng)的副回路,其快速跟蹤和消除干擾的性能不如串級系統(tǒng);在主回路中,串級系統(tǒng)的主調(diào)節(jié)器具有微分作用,故調(diào)節(jié)質(zhì)量比采用導(dǎo)前汽溫微分信號的雙回路系統(tǒng)好。特
15、別對于慣性遲延較大的對象或外擾頻繁的情況下,采用導(dǎo)前汽溫微分信號的雙回路系統(tǒng)調(diào)節(jié)品質(zhì)不如串級系統(tǒng)。(2)串級調(diào)節(jié)系統(tǒng)主、副兩個調(diào)節(jié)回路的工作相對比較獨(dú)立,因此系統(tǒng)投運(yùn)時整定、調(diào)試直觀方便。而采用導(dǎo)前汽溫微分信號的雙回路調(diào)節(jié)系統(tǒng)的兩個回路在參數(shù)調(diào)整時相互影響、不易掌握。通過上面的比較可以知道,串級控制系統(tǒng)對于過熱汽溫控制系統(tǒng)的控制效果好于導(dǎo)前汽溫微分信號控制系統(tǒng)。第2章 遺傳算法的基礎(chǔ)知識2.1遺傳算法的概念2.1.1遺傳算法的生物學(xué)原理遺傳算法是由美國的J. Holland教授于1975年在他的專著自然界和人工系統(tǒng)的適應(yīng)性中首先提出的,它是一類借鑒生物界自然選擇和自然遺傳機(jī)制的隨機(jī)化搜索算法
16、。 自然界的生物由簡單到復(fù)雜、由低級到高級、由父代到子代,被稱為生物的遺傳和進(jìn)化。遺傳算法就是模擬上述生物的遺傳和產(chǎn)期的進(jìn)化過程建立起來的一種搜索和優(yōu)化算法,它將“物競天擇,適者生存”的這一基本的達(dá)爾文進(jìn)化理論引入串結(jié)構(gòu),并且在串之間進(jìn)行有組織但又隨機(jī)的信息交換。伴隨著算法的運(yùn)行,優(yōu)良的品質(zhì)被逐漸保留并加以組合,從而不斷產(chǎn)生出更佳的個體。這一過程就如生物進(jìn)化那樣,好的特征被不斷地繼承下來,壞的特征被逐漸淘汰。新一代個體中包含著上一代個體的大量信息,新一代的個體不斷在總體特征上勝過舊的一代,從而使整個群體向前進(jìn)化發(fā)展。對于遺傳算法,也就是不斷地接近最優(yōu)解。研究遺傳算法的目的主要有兩個:一是通過它
17、的研究來進(jìn)一步解釋自然界的適應(yīng)過程;二是為了將自然生物系統(tǒng)的重要機(jī)理運(yùn)用到人工系統(tǒng)的設(shè)計(jì)中。遺傳算法本質(zhì)上是對染色體模式所進(jìn)行的一系列運(yùn)算,即通過選擇算子將當(dāng)前種群中的優(yōu)良模式遺傳到下一代種群中,利用交叉算子進(jìn)行模式重組,利用變異算子進(jìn)行模式突變。通過這些遺傳操作,模式逐步向較好的方向進(jìn)化,最終得到問題的最優(yōu)解。2.1.2遺傳算法的發(fā)展遺傳算法(Genetic Algorithms)是最早是由美國Michigan大學(xué)John H. Holland教授受生物進(jìn)化論啟發(fā)提出的,其在1975年出版的專著Adaptation in Nature and artificial systems標(biāo)志著遺傳算
18、法的誕生,在20世紀(jì)70年K.A. De Jong在計(jì)算機(jī)上進(jìn)行了大量的數(shù)值函數(shù)優(yōu)化試驗(yàn),建立了De Jong函數(shù)測試平臺。在80年代D.J. Goldberg瑪出版的專著Genetic Algorithms search,Optimization and machine Learning奠定了現(xiàn)代遺傳算法的科學(xué)基礎(chǔ)。由于遺傳算法的編碼技術(shù)和遺傳操作比較簡單,優(yōu)化不受限制性條件的約束,能有效的求解組合優(yōu)化問題以及其它復(fù)雜非線性問題,及其兩個最顯著特點(diǎn)隱含并行性和全局解空間搜索,從而越來越得到人們的重視并在全世界范圍內(nèi)掀起了研究和應(yīng)用的熱潮。2.1.3遺傳算法的特點(diǎn)為了解決各種優(yōu)化計(jì)算問題,人們
19、提出了各種優(yōu)化算法,如單純形法,梯度法,動態(tài)規(guī)劃法,分枝定界法等。而遺傳算法是一類可用于復(fù)雜系統(tǒng)優(yōu)化計(jì)算的魯棒搜索算法,其特點(diǎn)是:(1)群體搜索,易于并行化處理; (2)不是盲目窮舉,而是啟發(fā)式搜索;(3)遺傳算法只使用適應(yīng)度函數(shù),而不使用導(dǎo)數(shù)或其它輔助知識;(4)遺傳算法采用概率的,而不是確定的轉(zhuǎn)移規(guī)則。2.1.4遺傳算法的工作原理遺傳算法是將“優(yōu)勝劣汰,適者生存”的生物進(jìn)化原理引入優(yōu)化參數(shù)形成的編碼串群體中,按所選擇的適應(yīng)度函數(shù)并通過遺傳中的復(fù)制,交叉及變異對個體進(jìn)行篩選,使適應(yīng)度高的個體被保留下來,組成新的群體,新的群體既繼承了上一代的信息,又優(yōu)于上一代。這樣周而復(fù)始,群體中個體適應(yīng)度不
20、斷提高,直到滿足一定的條件。其執(zhí)行過程如下:(1)編碼:GA在搜索之前先將變量進(jìn)行編碼,形成一個定長的字符串。(2)產(chǎn)生初始群體:隨機(jī)產(chǎn)生M個初始字符串,每個字符串為一個個體或者是一個染色體。M個個體構(gòu)成一個群體。GA以這M個字符串作為初始點(diǎn)開始迭代。(3)計(jì)算適應(yīng)值:適應(yīng)性函數(shù)表明個體對環(huán)境的適應(yīng)能力的強(qiáng)弱,不同的問題,適應(yīng)函數(shù)的定義方式也不同。(4)選擇:一個群體中同時有M個個體存在,在這些個體中哪個被選去繁殖后代,哪個被淘汰,是根據(jù)它們對環(huán)境的適應(yīng)能力來決定的,適應(yīng)性強(qiáng)的個體有更多的機(jī)會被保留下來。(5)交叉:對于選中的繁殖個體,按照某種交叉方式交換兩個字符串相應(yīng)的位段,產(chǎn)生兩個新的個體
21、,新的個體組合其父輩的特性。(6)變異:變異首先在群體中隨機(jī)選擇一個個體,對選中的個體以一定的概率隨機(jī)的改變字符串中某個字符的值。(7)收斂判斷:是否達(dá)到收斂標(biāo)準(zhǔn),若是,則把適應(yīng)度值好的字符串作為搜索的結(jié)果。否則轉(zhuǎn)入第(3)步重復(fù)以上過程。(8)編程上機(jī)運(yùn)行:完成上述工作以后,既可以按照演化計(jì)算的算法結(jié)構(gòu)編程來進(jìn)行問題求解。由于遺傳算法的隨機(jī)性和不確定性等特點(diǎn),通常要運(yùn)行多次才能得到可靠的解。應(yīng)該注意上述各基本步驟是密切相關(guān)的,編碼方案與遺傳算子的設(shè)計(jì)等是同步考慮的,有時甚至需要上機(jī)運(yùn)行與算法設(shè)計(jì)交替進(jìn)行。2.2遺傳算法的數(shù)學(xué)基礎(chǔ)2.2.1模式的階和模式的定義距模式是指種群個體基因串中的相似樣
22、板,它用來描述基因串中某些特征位相同的結(jié)構(gòu)。在二進(jìn)制編碼中,模式是基于三個字符集(0,1,*)的字符串,符號*代表任意字符,即 0 或者 1。 模式示例:10*1定義1:模式 H 中確定位置的個數(shù)稱為模式 H 的階,記作O(H)。例如O(10*1)=3 。定義2:模式 H 中第一個確定位置和最后一個確定位置之間的距離稱為模式 H 的定義距,記作(H)。例如(10*1)=4 。 模式階用來反映不同模式間確定性的差異,模式階數(shù)越高,模式的確定性就越高,所匹配的樣本數(shù)就越少。在遺傳操作中,即使階數(shù)相同的模式,也會有不同的性質(zhì),而模式的定義距就反映了這種性質(zhì)的差異。2.2.2模式定理模式定理:具有低階
23、、短定義距以及平均適應(yīng)度高于種群平均適應(yīng)度的模式在子代中呈指數(shù)增長。模式定理保證了較優(yōu)的模式(遺傳算法的較優(yōu)解)的數(shù)目呈指數(shù)增長,為解釋遺傳算法機(jī)理提供了數(shù)學(xué)基礎(chǔ)。 從模式定理可看出,有高平均適應(yīng)度、短定義距、低階的模式,在連續(xù)的后代里獲得至少以指數(shù)增長的串?dāng)?shù)目,這主要是因?yàn)檫x擇使最好的模式有更多的復(fù)制,交叉算子不容易破壞高頻率出現(xiàn)的、短定義長的模式,而一般突變概率又相當(dāng)小,因而它對這些重要的模式幾乎沒有影響。 2.2.3積木塊假設(shè)在模式定理中所指的具有低階、短定義距以及平均適應(yīng)度高于種群平均適應(yīng)度的模式被定義為積木塊(building block)。它們在遺傳算法中很重要,早子代中呈指數(shù)增長
24、,在遺傳操作下相互影響,產(chǎn)生適應(yīng)度更高的個體,從而找到更優(yōu)的可行解。積木塊假設(shè):遺傳算法通過短定義距、低階以及高平均適應(yīng)度的模式(積木塊),在遺傳操作下相互結(jié)合,最終接近全局最優(yōu)解。模式定理保證了較優(yōu)模式的樣本數(shù)呈指數(shù)增長,從而使遺傳算法找到全局最優(yōu)解的可能性存在;而積木塊假設(shè)則指出了在遺傳算子的作用下,能生成全局最優(yōu)解。 2.3基本遺傳算法(SGA)的組成遺傳算法被認(rèn)為是對人類自然演化過程的模擬。人類的自然演化過程是進(jìn)化過程,這種進(jìn)化過程發(fā)生在染色體上。自然選擇是適應(yīng)度值較好的染色體比那些適應(yīng)度值較差的染色體有更多的繁殖機(jī)會;變異算子可以使子代染色體不同于父代染色體;通過兩個父代染色體的結(jié)合
25、與重組可以產(chǎn)生全新的染色體。染色體的選擇、交叉與變異進(jìn)程是無記憶的。將這些概念反映在數(shù)學(xué)上就形成了遺傳算法的基礎(chǔ)操作。它的基本流程圖如圖2-1所示。圖2-1 基本遺傳算法流程圖由圖2-1 可知,遺傳算法是一種群體型操作,該操作以群體中的所有個體為對象,選擇( Selection )、交叉(Crossover)、變異(Mutation )是遺傳算法的3個主要操作算子,它們構(gòu)成了所謂的遺傳操作(Genetic Operation ),使遺傳算法具有了其它傳統(tǒng)方法所沒有的特性。遺傳算法中包含如下5個基本要素:(1)參數(shù)編碼;(2)初始群體的設(shè)定;(3)適應(yīng)度函數(shù)的設(shè)計(jì);(4)遺傳操作設(shè)計(jì);(5)控制
26、參數(shù)的設(shè)定(主要是群體大小和使用遺傳操作的概率等)。2.3.1編碼用遺傳算法設(shè)計(jì)一個優(yōu)秀的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),首先是要解決網(wǎng)絡(luò)結(jié)構(gòu)的編碼問題;然后才能以選擇、交叉、變異操作得出最優(yōu)結(jié)構(gòu)?;具z傳算法使用固定長度的二進(jìn)制符號串來表示群體中的個體,其等位基因是由二值符號集0,1所組成,編碼包括以下幾個步驟:1據(jù)具體問題確定待尋優(yōu)的參數(shù);2對每個參數(shù)確定它的變化范圍,并用一個二進(jìn)制數(shù)來表示;3將所有表示參數(shù)的二進(jìn)制數(shù)串接起來組成一個長的二進(jìn)制串。除了二進(jìn)制編碼之外,還有浮點(diǎn)數(shù)編碼、符號編碼等方法。所謂浮點(diǎn)數(shù)編碼方法,是指個體的每個基因值用某一范圍內(nèi)的一個浮點(diǎn)數(shù)來表示,個體的編碼長度等于其決策變量的個數(shù)。就
27、二進(jìn)制編碼和浮點(diǎn)數(shù)編碼比較而言,一般二進(jìn)制編碼比浮點(diǎn)數(shù)編碼搜索能力強(qiáng),但浮點(diǎn)數(shù)編碼比二進(jìn)制編碼在變異操作上能夠保持更好的種群多樣性。符號編碼方法很少采用,這里就不再介紹了2.3.2初始群體的產(chǎn)生為了增加初始群體的多樣性,有效地避免早熟現(xiàn)象地發(fā)生,引入了相似度的概念(兩個個體中在相對應(yīng)的位置上存在著相同的字符(基因)的數(shù)量定義為相似度R)。先隨機(jī)生成一個較大的群體,在群體中取大于適應(yīng)度平均值的個體進(jìn)行相似度判斷,當(dāng)相似度R超過個體長度的一半時,即認(rèn)為這兩個個體相似,然后濾除兩者中適應(yīng)度小的那個個體。相似度的判斷實(shí)際上是確定群體中的個體是否含有相同模式,剔除相似個體,選擇不同模式的個體組成新的群體
28、,將這個新的群體作為遺傳操作的初始群體。在濾除相似個體后,當(dāng)剩余的個體數(shù)達(dá)不到設(shè)定的初始群體規(guī)模Size時,將濾除掉的個體按照適應(yīng)小排序,選取適應(yīng)度大的一些個體來補(bǔ)充初始群體的不足。產(chǎn)生初試群體的程序流程圖如2-2所示。 圖2-2 產(chǎn)生初試群體的程序流程圖2.3.3適應(yīng)度函數(shù)在遺傳算法中,以個體適應(yīng)度的大小來確定該個體被遺傳到下一代群體中的概率,因此適應(yīng)度函數(shù)的定義方法對遺傳算法具有極大的影響。在遺傳算法中,目標(biāo)函數(shù)到適應(yīng)度函數(shù)的映射方式需要保證以下兩點(diǎn):1映射后的適應(yīng)度值是非負(fù)的;2目標(biāo)函數(shù)的優(yōu)化方向應(yīng)對應(yīng)適應(yīng)度值的增大或減小方向。對于求最大值的問題一般采用如下的適應(yīng)度函數(shù)和目標(biāo)函數(shù)的映射關(guān)
29、系: (2-1)式中,可以是一個輸入?yún)?shù)在理論上的最小值,也可以是到目前所有代中的最小值,此時會隨著代數(shù)而變化。對于求最小值的問題一般采用如下的適應(yīng)度函數(shù)和目標(biāo)函數(shù)的映射關(guān)系: (2-2)式中,Cmax可以是一個輸入?yún)?shù)在理論上的最大值,也可以是到目前所有代中的最小值,此時Cmax會隨著代數(shù)而變化。2.3.4遺傳算子遺傳算法操作包括選擇、交叉和變異三個基本遺傳算子,綜合考慮三種算子,可以得知它們有如下的特點(diǎn):A遺傳操作的效果和它們所取的操作概率、編碼方式、群體大小、初始群體以及適應(yīng)度函數(shù)的設(shè)定密切相關(guān);B它們的操作方式或操作策略隨著具體的求解問題的不同而異。1. 選擇算子選擇算子又稱復(fù)制算子(
30、Reproduction),是從種群中選擇生命力強(qiáng)的染色體,產(chǎn)生新種群的過程。常見的有以下幾種方法:(1)適應(yīng)度比例選擇方法(Proportional Model),又稱為輪盤賭法(Roulette Wheel)或蒙特卡洛(Monte Carlo)模型,是目前最常用的選擇方法,具體表達(dá)方法如下: (2-3)式中,為個體i被選中的概率,為個體i的適應(yīng)度, M為群體大小。(2)確定式采樣選擇(Deterministic Sampling),它的基本思想是按照一種確定的方式來進(jìn)行選擇操作,其具體操作過程如下:a、 計(jì)算群體中各個個體在下一代群體中的期望生存數(shù)目 Ni : (2-4)b、 用的整數(shù)部分
31、確定各個對應(yīng)個體在下一代群體中的生存數(shù)目。其中表示不大于x 的最大的整數(shù)。由該步可以確定出下一代群體中的個個體。c、 按照 Ni 的小數(shù)部分對個體進(jìn)行降序排序,順序取前 個個體加入到下一代群體中。至此可完全確定出下一代群體中的 M 個個體。(3) 排序選擇法(Rank-based Model),是按個體的適應(yīng)度的大小排序,然后按事先設(shè)計(jì)的概率表分配給每一個個體,作為各自的選擇概率。2. 交叉算子所謂交叉運(yùn)算,是指對兩個相互配對的染色體依據(jù)交叉概率 Pc 按某種方式相互交換其部分基因,從而形成兩個新的個體。交叉運(yùn)算是遺傳算法區(qū)別于其他進(jìn)化算法的重要特征,它在遺傳算法中起關(guān)鍵作用,是產(chǎn)生新個體的主
32、要方法。 SGA中交叉算子采用單點(diǎn)交叉算子。3. 變異算子所謂變異運(yùn)算,是指依據(jù)變異概率 Pm 將個體編碼串中的某些基因值用其它基因值來替換,從而形成一個新的個體。遺傳算法中的變異運(yùn)算是產(chǎn)生新個體的輔助方法,它決定了遺傳算法的局部搜索能力,同時保持種群的多樣性。交叉運(yùn)算和變異運(yùn)算的相互配合,共同完成對搜索空間的全局搜索和局部搜索。在遺傳算法中使用變異算子主要有以下兩個目的:1)改善遺傳算法的局部搜索能力;2)維持群體的多樣性,防止出現(xiàn)早熟現(xiàn)象。2.3.5遺傳算法的運(yùn)行參數(shù)遺傳算法中需要選擇的運(yùn)行參數(shù)主要有個體編碼串長度L、群體大小M、交叉率Pc、變異率Pm、終止代數(shù)T等(a) L ; 編碼串長
33、度。(b) M : 種群規(guī)模。一般取為20100;(c) Pc : 交叉概率。一般取為0.40.99;(d) Pm : 變異概率。一般取為0.00010.1(b) T : 遺傳運(yùn)算的終止進(jìn)化代數(shù)。一般取為1001000;至于遺傳算法的終止條件,還可以利用某種判定準(zhǔn)則,當(dāng)判定出群體已經(jīng)進(jìn)化成熟且不再有進(jìn)化趨勢時就可以終止算法的運(yùn)行過程。常用的判定準(zhǔn)則有下面兩種:連續(xù)幾代個體平均適應(yīng)度的差異小于某一個極小的閾值;群體中所有個體適應(yīng)度的方差小于某一個極小的閾值。2.3.6遺傳算法的收斂性在遺傳算法的進(jìn)化過程中,如果把每一代群體看作一個狀態(tài)的話,則可以把整個進(jìn)化過程看作一個隨機(jī)過程來進(jìn)行考查,并可以用
34、Markov鏈來對進(jìn)化過程進(jìn)行理論分析,從而得到遺傳算法收斂性方面的重要結(jié)論:(1)基本遺傳算法收斂于最優(yōu)解的概率小于1;(2)使用保留的最佳個體策略的遺傳算法能收斂于最優(yōu)解的概率為1;采用有限Markov鏈模型上述原理可以被證明。2.4遺傳算法的不足SGA是早期的遺傳算法,求解效率還不高,也就是在搜索的快速性、全局性方面還不能達(dá)到較好的效果,可從如下幾方面分析:1.早期收斂所謂早期收斂是指在搜索的初期階段,由于優(yōu)良個體急劇增加,使種群失去多樣性的現(xiàn)象。其原因是選擇使優(yōu)質(zhì)個體被復(fù)制,這樣,種群中會出現(xiàn)相同的優(yōu)質(zhì)個體,如果相同的個體進(jìn)行交叉,就不能生成新的子代,此時,若相同的個體很多,作為遺傳算
35、法核心的交叉操作便失去了作用,搜索不到全局最優(yōu)解,陷入局部解,尋優(yōu)目的不能達(dá)到。2.變異問題變異雖然可以使陷入某一超平面的個體得以解脫,但由于是隨機(jī)的,不能有效地保證這一問題的解決。3.微調(diào)能力差當(dāng)搜索到最優(yōu)解附近時,很難精確地確定最優(yōu)解的位置,也就是說,局部搜索不具備微調(diào)能力。4.GA參數(shù)的選擇問題如何選取GA的參數(shù),如種群規(guī)模N、位串長度L等,目前還靠經(jīng)驗(yàn)來確定。5.模式(Schema)定理是SGA的理論基礎(chǔ),但只適用于0,1二值編碼。第3章 遺傳算法優(yōu)化PID控制器3.1改進(jìn)遺傳算法3.1.1參數(shù)編碼Srinvivas等人提出自適應(yīng)遺傳算法,即Pc和Pm能夠隨適應(yīng)度自動改變,當(dāng)種群的各個
36、個體適應(yīng)度趨于一致或趨于局部最優(yōu)時,使二者增加,而當(dāng)種群適應(yīng)度比較分散時,使二者減小,同時對適應(yīng)值高于群體平均適應(yīng)值的個體,采用較低的PC和Pm,使性能優(yōu)良的個體進(jìn)入下一代,而低于平均適應(yīng)值的個體,采用較高的PC和Pm,使性能較差的個體被淘汰 。本文將采用二進(jìn)制編碼,因?yàn)槎M(jìn)制編碼最易于實(shí)現(xiàn)遺傳操作。采用“串聯(lián)二進(jìn)制編碼”法,將這優(yōu)化的參數(shù)排成一排,作為一個個體。用二進(jìn)制編碼的基因與實(shí)際的參數(shù)值有以下的對應(yīng)關(guān)系: (3-1)其中,為待優(yōu)化的參數(shù)的實(shí)際范圍;n為各個參數(shù)所對應(yīng)的基因編碼的長度;y為二進(jìn)制基因所對應(yīng)的十進(jìn)制數(shù)值。3.1.2確定交叉概率和變異概率本文采用了一種動態(tài)確定交叉概率和變異概
37、率的方法。交叉概率為: (3-2)變異概率為: (3-3)其中,為最大適應(yīng)度函數(shù)值,為平均適應(yīng)度函數(shù)值,為交叉?zhèn)€體中適應(yīng)度函數(shù)值較大的個體的適應(yīng)度函數(shù)值;為變異個體的適應(yīng)度函數(shù)值。由上式可以看出,適應(yīng)度函數(shù)值最大的個體的變異概率為0。這樣的話,對于適應(yīng)度函數(shù)值較大的個體的交叉和變異概率都較小,這樣就保護(hù)了優(yōu)良個體;對于適應(yīng)度函數(shù)值較小的個體的交叉和變異概率較大。 3.1.3遺傳算子的改進(jìn)下面根據(jù)優(yōu)化設(shè)計(jì)要求,設(shè)計(jì)優(yōu)化過程中的各個遺傳算子,包括:選擇算子、交叉算子和變異算子。選擇算子:選擇算子是遺傳算法用來對群體中個體進(jìn)行優(yōu)勝劣汰的操作。遺傳算法通過選擇算子確定如何將父代群體中的個體遺傳到下一代
38、群體中去。選擇算子是建立在對個體適應(yīng)度評價的基礎(chǔ)上,通過選擇可以避免基因缺失,并提高全局收斂性和計(jì)算效率。常用的選擇算子有多種,但對于不同的問題應(yīng)選用一種甚至兩種最合適的選擇算子。在用遺傳算法優(yōu)化群體的過程中,通過對個體進(jìn)行交叉、變異等遺傳操作而不斷產(chǎn)生出新的個體。雖然隨著群體的進(jìn)化過程會產(chǎn)生出越來越多的優(yōu)良個體,但由于選擇、交叉和變異等操作的隨機(jī)性,它們也有可能會破壞掉當(dāng)前群體中適應(yīng)度最高的個體,這將會降低群體的平均適應(yīng)度,并且對遺傳算法的運(yùn)行效率、收斂性都有不利的影響。所以,我們希望適應(yīng)度最好的個體要盡可能的被保留到下一代中。為達(dá)到這個目的,可以使用最佳個體保留法來進(jìn)行優(yōu)勝劣汰操作,即當(dāng)前
39、群體中適應(yīng)度最高的個體不參與交叉和變異運(yùn)算。一般認(rèn)為,帶有選擇、交叉和變異算子的標(biāo)準(zhǔn)遺傳算法是不收斂的,而在標(biāo)準(zhǔn)遺傳算法基礎(chǔ)上具有最優(yōu)保留特性的改進(jìn)遺傳算法則是全局收斂的。這里選用的選擇算子是確定式采樣選擇法和最佳個體保留法相結(jié)合的選擇方式。首先按確定式采樣選擇法執(zhí)行遺傳算法的選擇操作,然后將當(dāng)前群體中適應(yīng)度最高的個體結(jié)構(gòu)完整地復(fù)制到下一代群體中。通過最優(yōu)保留操作來保留進(jìn)化群體中迄今為止所發(fā)現(xiàn)的最優(yōu)解。最佳個體保留法是指群體中適應(yīng)度最大的個體不經(jīng)變異、交叉算子的處理而直接復(fù)制到下一代群體的選擇方法。Rudolph曾用齊次Markov鏈證明了使用保留最佳個體策略的遺傳算法能夠收斂于全局最優(yōu)解的概
40、率為1。采用最佳個體保留法的主要優(yōu)點(diǎn)是能保證遺傳算法終止時得到的最后結(jié)果是歷代出現(xiàn)過的適應(yīng)度最高的個體。本文的交叉算子采用的是單點(diǎn)交叉。因?yàn)楸疚牟捎玫氖嵌M(jìn)制編碼,變異操作就是某個基因座上的基因值取反。3.1.4 PID控制器的結(jié)構(gòu)本文采用經(jīng)典增量式數(shù)字PID的控制算法,控制器每個采樣周期輸出的控制量,是相對于上一次控制量的增加 (3-4) (3-5)式中,分別為比例、積分、微分系數(shù)。增量式數(shù)字PID的優(yōu)點(diǎn):1增量的確定僅與最近幾次誤差采樣值有關(guān),不會產(chǎn)生大的累加誤差;計(jì)算誤差或計(jì)算精度問題,對控制量的計(jì)算影響較小。2得出的是控制量的增量,誤動作影響小,必要時可以通過邏輯判斷限制或禁止本次輸出
41、,不會嚴(yán)重影響系統(tǒng)的工作。3容易實(shí)現(xiàn)手動到自動的無沖擊切換。3.2仿真結(jié)果分析在圖3-1中,曲線一是采用未優(yōu)化的PID串級控制系統(tǒng)的響應(yīng)曲線,PID的參數(shù)采用文獻(xiàn)3中介紹的調(diào)節(jié)器的工業(yè)整定方法求得并做適當(dāng)調(diào)整,這里取為:副調(diào)節(jié)器為比例調(diào)節(jié)器,Kp15;主調(diào)節(jié)器為PID調(diào)節(jié)器,Kp0.1250,Ki0.0025,Kd0。曲線二是采用改進(jìn)后的遺傳算法優(yōu)化后的PID串級控制系統(tǒng)的相應(yīng)曲線,副調(diào)節(jié)器為比例調(diào)節(jié)器,Kp15;優(yōu)化后的PID的參數(shù)為:Kp0.1587,Ki0.0015,Kd0。由于采用二進(jìn)制編碼,每個參數(shù)選擇的編碼長度為10位,若三個參數(shù)都優(yōu)化,運(yùn)行時間太長,為了加快運(yùn)行效率,這里只優(yōu)化K
42、p, Ki兩個參數(shù),讓Kd=0。圖 3-1 用改進(jìn)后的遺傳算法優(yōu)化前后PID串級控制系統(tǒng)的響應(yīng)曲線的比較 從圖3-1中可以看出,系統(tǒng)的響應(yīng)速度加快,系統(tǒng)穩(wěn)態(tài)誤差減小,減小了系統(tǒng)的振蕩次數(shù),使系統(tǒng)很快趨于穩(wěn)定。說明用改進(jìn)后的遺傳算法優(yōu)化的PID控制器控制效果要比優(yōu)化前的控制效果要好,說明改進(jìn)后的遺傳算法起到了主要作用,證明了遺傳算法的有效性。個體評價方法:由于所求解的函數(shù)的值域總是非負(fù)的,并且優(yōu)化目標(biāo)是求目標(biāo)函數(shù)的最小值,故可將個體的適應(yīng)度直接取為對應(yīng)的目標(biāo)函數(shù)值,即:F(x)=f(x1,x2),將目標(biāo)函數(shù)的倒數(shù)作為適應(yīng)度函數(shù):。圖3-2為采用改進(jìn)遺傳算法后目標(biāo)函數(shù)J的收斂曲線圖3-2 采用改進(jìn)
43、遺傳算法后目標(biāo)函數(shù)J的收斂曲線從圖3-2可以看出,收斂曲線很快達(dá)到一個穩(wěn)定的狀態(tài),說明改進(jìn)后的遺傳算法有很好的尋優(yōu)效率。結(jié)論本文介紹了遺傳算法基本概念和基本理論,對基本遺傳算法進(jìn)行了改進(jìn),改進(jìn)主要集中在初試群體的產(chǎn)生、交叉概率與變異概率的確定等方面。對于主汽溫這樣的大慣性、大遲延、具有時變性、現(xiàn)場存在諸多干擾因素的被控對象,本文采用改進(jìn)的遺傳算法優(yōu)化PID控制器,仿真研究表明,與傳統(tǒng)PID控制器相比,用改進(jìn)的遺傳算法優(yōu)化后的PID控制器用于主汽溫控制時具有更優(yōu)的控制性能和更為滿意的控制效果,這也為主汽溫的控制提供了一種更有效的控制方式。由于時間倉促和本文作者水平有限,本文存在著很多的不足之處,
44、有待今后做進(jìn)一步研究完善,例如,怎樣確定遺傳算法的運(yùn)行參數(shù),即編碼長度,初始群體的大小,終止進(jìn)化的代數(shù)等,本文是在仿真過程中反復(fù)調(diào)整確定的,帶有一定的盲目性,另外,還需要對遺傳算法的其它方面做進(jìn)一步的改進(jìn)。謝 辭經(jīng)過幾個月的努力,由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,如果沒有老師的督促指導(dǎo),以及同學(xué)們的支持和幫助,想要完成這個設(shè)計(jì)是難以想象的。在論文寫作過程中,得到了王曉麗老師的親切關(guān)懷和耐心的指導(dǎo)。從課題的選擇到資料的搜集整理以及論文的最終完成,王老師都始終給予我細(xì)心的指導(dǎo)和不懈的支持。她嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵著我。除了敬佩王老師的專業(yè)水平
45、外,她治學(xué)嚴(yán)謹(jǐn)和科學(xué)研究的精神也是值的我永遠(yuǎn)學(xué)習(xí),并將積極影響我今后的學(xué)習(xí)和工作。在此謹(jǐn)向王老師致以崇高的敬意和衷心的感謝!大學(xué)三年來,我們能無憂無慮地學(xué)習(xí)生活,背后都是有父母的支持和鼓勵,所以我們更要感謝我們的父母,為了我們他們操碎了心,無論你在哪里,他們都時刻牽掛著你;無論你做什么,只要是對的,他們都會永遠(yuǎn)支持你,無私的給你一切,因此,我們永遠(yuǎn)都不能忘他們的恩情,也感謝我的導(dǎo)師。參考文獻(xiàn)1 馬平,朱燕飛,牛征.基于神經(jīng)網(wǎng)絡(luò)的主汽溫控制系統(tǒng).華北電力大學(xué)學(xué)報,20012 李敏強(qiáng),寇紀(jì)淞,林丹等.遺傳算法的基本理論與應(yīng)用.北京:科學(xué)技術(shù)出版社,20023 羅萬金.電廠熱工過程自動調(diào)節(jié).北京:中
46、國電力出版社.19914 于湘濤,劉紅軍,丁俊宏等.二自由度PID內(nèi)模主汽溫控制.華北電力大學(xué)學(xué)報,20045 飛思科技產(chǎn)品研發(fā)中心.MATLAB輔助優(yōu)化計(jì)算與設(shè)計(jì).北京:電子工業(yè)出版社,20036 王小平,曹立明.遺傳算法:理論、應(yīng)用及軟件實(shí)現(xiàn).西安:西安交通大學(xué)出版社,20027 張恩勤.模糊控制與PID控制方法的比較.上海交通大學(xué)學(xué)報,19998 聞新超,周琳霞.一種基于混合編碼的遺傳算法.電子技術(shù),20039 史奎凡,陳月輝.提高遺傳算法收斂速度的方法.信息與控制,199810 周金榮.遺傳算法的改進(jìn)及其應(yīng)用研究、控制與決策,199511 張晶濤,王偉,曹方.一種智能控制方法在300M
47、W機(jī)組主汽溫控制系統(tǒng)中的應(yīng)用研究.中國電機(jī)工程學(xué)報,199912 甘世紅,褚建新,顧偉.基于遺傳算法的模糊控制在電弧冶煉爐中的應(yīng)用.電機(jī)與控制學(xué)報,200413 楊獻(xiàn)勇.熱工過程自動控制.北京:清華大學(xué)出版社,2001,18719214 胡國四,韓生廉.遺傳算法適值函數(shù)定義方法的研究.控制與決策,1999 15 劉金琨.先進(jìn)PID控制及其MATLAB仿真 .北京:電子工業(yè)出版社,200616 陳國良,孫樹棟.遺傳算法原理及應(yīng)用.北京:國防工業(yè)出版社,199917 胡壽松.自動控制原理第4版.北京:科學(xué)出版社,200118 樓順天,胡昌華,張偉等.基于MATLAB的系統(tǒng)分析與設(shè)計(jì)一模糊控制.西安
48、:西安電子科技大學(xué)出版社,200119 陳國良,王煦法,莊鎮(zhèn)泉等.遺傳算法及其應(yīng)用.北京:人民郵電出版社,199620 邵裕森.過程控制及儀表(修訂版).上海:上海交通大學(xué)出版社,200721 陶永華,尹怡欣,葛蘆生.新型PID控制系統(tǒng)及其應(yīng)用.北京:機(jī)械工業(yè)出版社,199822 黃文梅,楊勇,熊桂林.系統(tǒng)分析與仿真-MATLAB語言應(yīng)用.長沙:國防科技大學(xué)出版社,199923 王群主編.電氣信息類專業(yè)英語.長沙:湖南大學(xué)出版社,200424 薛定宇著.控制系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì):MATLAB語言與應(yīng)用(第2版).北京:清華大學(xué)出版社,200625 徐安主編.微型計(jì)算機(jī)控制技術(shù).北京:科學(xué)出版社,
49、200426 宋曉燕,馬德庫,冬健峰等.過熱蒸汽溫度的自動調(diào)節(jié).自動化技術(shù)與應(yīng)用附錄 附錄1 改進(jìn)的遺傳算法源程序%二進(jìn)制編碼遺傳優(yōu)化PID參數(shù)clear all;close all;clc;global rin yout timef u1G=100;SIZE=110;Size=30; 初始群體規(guī)模SizeCodeL=10;E=popf(SIZE,CodeL,Size);%調(diào)用pop1f函數(shù)產(chǎn)生二進(jìn)制初始群體%*開始運(yùn)行*for kg=1:1:G time(kg)=kg for s=1:1:Size m=E(s,:); BSJ=0; Kpidi=dcodef(m,CodeL); Kpidi,B
50、SJ=ycpidcs3(Kpidi,BSJ); BSJi(s)=BSJ; end OderJi,IndexJi=sort(BSJi); BestJ(kg)=OderJi(1); BJ=BestJ(kg); Ji=BSJi+1e-10;%防止除以零 fi=1./Ji; Oderfi,Indexfi=sort(fi);%將fi從小到大排列 Bestfi=Oderfi(Size);%讓Bestfi=max(fi); BestS=E(Indexfi(Size),:);%讓BestS=E(m),m是max(fi)的Indexfi %kg %BJ %BestS %*步驟2:選擇和復(fù)制操作* fi_sum=
51、sum(fi); fi_Size=(Oderfi/fi_sum)*Size; fi_S=floor(fi_Size); r=Size-sum(fi_S); Rest=fi_Size-fi_S; RestValue,Index=sort(Rest); %保證總個體數(shù)為Size for i=Size:-1:Size-r+1 fi_S(Index(i)=fi_S(Index(i)+1; end kk=0; for i=Size:-1:1 for j=1:1:fi_S(i) kk=kk+1; TempE(kk,:)=E(Indexfi(i),:); end end %*步驟3:交叉處理* %采用自適應(yīng)
52、交叉概率計(jì)算適應(yīng)度函數(shù)最大值和平均適應(yīng)度值 fmax=Bestfi; favg=sum(fi)/Size; % n=ceil(2*CodeL*rand); for i=1:2:(Size-1) %找出交叉?zhèn)€體的適應(yīng)度較大值 if fi(i)fi(i+1) f=fi(i); else f=fi(i+1); end %計(jì)算交叉概率的公式,個體適應(yīng)度大于平均適應(yīng)度的,隨適應(yīng)度的增大,pc減小 if (fmax-f)0.8*G pc=pc-0.03;%接近收斂時,減小交叉概率 end temp=rand; if pctemp for j=n:1:2*CodeL TempE(i,j)=E(i+1,j);
53、 TempE(i+1,j)=E(i,j); end end end TempE(Size,:)=BestS; E=TempE; %*步驟4:變異操作* Pm=0.1-1:1:Size*(0.01)/Size;%fi越大,Pm越小 for i=1:1:Size for j=1:1:2*CodeL temp=rand; if Pmtemp if TempE(i,j)=0 TempE(i,j)=1; else TempE(i,j)=0; end end end end %保證最好的個體留下 TempE(Size,:)=BestS; E=TempE; %*endBestfiBestSKpidiBest
54、_J=BestJ(G)figure(1);plot(time,BestJ);xlabel(Times);ylabel(Best J);figure(2);plot(timef,10*rin,r,timef,yout,b);xlabel(Time(s);ylabel(rin,yout);figure(3);plot(timef,u1);xlabel(Time(s);ylabel(u1);%初始群體的產(chǎn)生%在群體中取大于適應(yīng)度平均值的個體進(jìn)行相似度判斷,%當(dāng)相似度R超過個體長度的一半時,即認(rèn)為這兩個個體相似。%相似度的判斷實(shí)際上是確定群體中個體是否含有相同模式,剔除相似個體,選擇不同模式的個體組成
55、新的群體。function E=popf(SIZE,CodeL,Size)e=round(rand(SIZE,2*CodeL);%編碼初始化for s=1:1:SIZE m=e(s,:); BSJ=0; Kpidi=dcodef(m,CodeL); Kpidi,BSJ=ycpidcs3(Kpidi,BSJ);%調(diào)用cjcsf.m函數(shù),該函數(shù)通過計(jì)算串級控制系統(tǒng)的輸出來計(jì)算目標(biāo)函數(shù) BSJI(s)=BSJ;endfi=1./BSJI;%由目標(biāo)函數(shù)到適應(yīng)度函數(shù)的轉(zhuǎn)換Oderfi,Indexfi=sort(fi);%將fi從小到大排列fi_sum=sum(fi);f_avg=fi_sum/SIZE;
56、gg=0;%適應(yīng)度大于平均適應(yīng)度的個體的數(shù)目for i=SIZE:-1:1 if Oderfi(i)f_avg gg=gg+1; else break endend%kk=0;%大于平均適應(yīng)度的個體保留下來的數(shù)目dd=0;%濾除掉的個體數(shù) for i=SIZE-gg+1:1:SIZE-1%大于平均適應(yīng)度的個體在sort(fi)中的序號 biaozhi=0; for j=i+1:1:SIZE pp=0;%pp是兩個個體的相似度 for g=1:1:2*CodeL if e(Indexfi(i),g)=e(Indexfi(j),g) pp=pp+1; end end if pp=0.6*(12*C
57、odeL) biaozhi=1;%相似 dd=dd+1; del(dd,:)=e(Indexfi(i),:);%濾除掉的個體的序號,個體為e(Indexfi(i),:) break end end if biaozhi=0%i中的個體和j中的已經(jīng)有相似的了,則跳出i循環(huán) kk=kk+1; remain(kk,:)=e(Indexfi(i),:);%保留下來的個體 endend%適應(yīng)度最大的個體不用進(jìn)行適應(yīng)度判斷,肯定留下kk=kk+1;remain(kk,:)=e(Indexfi(SIZE),:);%適應(yīng)度最大的個體%s=0;if (SIZE-gg+kk)=Size%濾除后的總個體數(shù)足夠時 f
58、or i=1:1:kk s=s+1; E(s,:)=remain(i,:); end for i=(SIZE-gg):-1:(SIZE-gg+1)-(Size-kk) s=s+1; E(s,:)=e(Indexfi(i),:); endelse%濾除后的個體總數(shù)不夠時 for i=1:1:kk s=s+1; E(s,:)=remain(i,:); end for i=1:1:(SIZE-gg)%把適應(yīng)度小于平均適應(yīng)度的全部復(fù)制 s=s+1; E(s,:)=e(Indexfi(i),:); end for i=dd:-1:(dd+1-(Size-(SIZE-gg+kk) s=s+1; E(s,:
59、)=del(i,:);%按照刪除掉的個體的適應(yīng)度大小,依次補(bǔ)充不足的個體數(shù) endend%解碼函數(shù)function Kpidi=dcodef(m,CodeL)y1=0;y2=0;%y3=0;xmin(1)=0;xmax(1)=0.4;%Kd范圍xmin(2)=0;xmax(2)=0.04;%Ki范圍,用于增量式PID的優(yōu)化的參數(shù)范圍%MaxX(2)=0.004;%解碼%m1=m(1:1:CodeL);for i=1:1:CodeL y1=y1+m1(i)*2(CodeL-i);endx1=(xmax(1)-xmin(1)*y1/(2CodeL-1)+xmin(1); m2=m(CodeL+1:
60、1:2*CodeL);for i=1:1:CodeL y2=y2+m2(i)*2(CodeL-i);endx2=(xmax(2)-xmin(2)*y2/(2CodeL-1)+xmin(2); %m3=m(2*CodeL+1:1:3*CodeL);%for i=1:1:CodeL %y3=y3+m3(i)*2(CodeL-i); %end%x3=(xmax(3)-xmin(3)*y3/(2CodeL-1)+xmin(3);%x=x1,x2,x3;Kpidi=x1,x2;%采用增量式PID%該函數(shù)用來計(jì)算評價函數(shù)%性能指標(biāo)為ITAEfunction Kpidi,BSJ=ycpidcs3(Kpidi,BSJ)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 咋樣寫供貨合同范本
- 發(fā)改ppp合同范本
- 買賣銅幣合同范本
- 可再生能源項(xiàng)目合同范本
- 品牌股權(quán)合同范本
- 啟東農(nóng)田流轉(zhuǎn)合同范本
- 廠房帶門面裝修合同范本
- 寫抖音合同范例
- 買房簽意向合同范例
- 動物實(shí)驗(yàn)合同范本
- 雕版印刷術(shù)的發(fā)明《金剛經(jīng)》課件
- 國際合規(guī)要求與企業(yè)管理
- 巖腳煤礦智能化綜采工作面匯報材料2020.11.10.11.10
- 餐廳每日清潔計(jì)劃
- 數(shù)據(jù)湖構(gòu)建及應(yīng)用場景
- 切格瓦拉完整
- 高考小說閱讀強(qiáng)化訓(xùn)練:孫犁小說專題(附答案解析)
- 向云端二聲部五線正譜
- 部編版六年級下冊道德與法治全冊表格式教學(xué)設(shè)計(jì)
- 兵團(tuán)歷史與兵團(tuán)精神課件
評論
0/150
提交評論