基于遺傳算法的PID控制器在直流調(diào)速系統(tǒng)中的應(yīng)用 自動化專業(yè)畢業(yè)設(shè)計 畢業(yè)論文
《基于遺傳算法的PID控制器在直流調(diào)速系統(tǒng)中的應(yīng)用 自動化專業(yè)畢業(yè)設(shè)計 畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《基于遺傳算法的PID控制器在直流調(diào)速系統(tǒng)中的應(yīng)用 自動化專業(yè)畢業(yè)設(shè)計 畢業(yè)論文(38頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、目 錄 第1章 緒論 2 1.1 PID控制系統(tǒng)研究的重要意義 2 1.2 PID控制系統(tǒng)參數(shù)整定的研究狀況 2 1.3本論文的研究方向和主要工作 3 第2章 PID控制參數(shù)整定方法 5 2.1 PID控制原理 5 2.2 常用PID參數(shù)整定方法及缺點 6 2.3 PID控制參數(shù)整定的常見方法 6 第3章遺傳算法的概述 8 3.1遺傳算法的發(fā)展史 8 3.2遺傳算法的基本原理 8 3.2.1遺傳算法的基本操作 8 3.2.2遺傳算法的主要特點 9 3.3遺傳算法的優(yōu)化設(shè)計 10 3.3.1遺傳算法的運算過程 10 3.3.2遺傳算法的構(gòu)成要素 11 3.3
2、.3遺傳算法的應(yīng)用步驟 11 3.4遺傳算法的應(yīng)用 12 第4章基于遺傳算法的PID整定 14 4.1基于遺傳算法的PID參數(shù)整定優(yōu)點 14 4.2基于遺傳算法的PID整定的實現(xiàn) 15 4.2.1 編碼和解碼 15 4.2.2初始種群的確定 15 4.2.3適配函數(shù)的確定 15 4.2.4遺傳算子的確定 16 4.2.5遺傳算法的操作 16 4.2.6利用遺傳算法優(yōu)化PID控制參數(shù)的具體步驟 17 4.3 基于遺傳算法的PID整定的程序設(shè)計 17 4.3.1 遺傳算法復(fù)制算子的實現(xiàn) 17 4.3.2 遺傳算法交叉算子的實現(xiàn) 18 4.3.3 遺傳算法變異算子的實現(xiàn)
3、18 第5章 基于遺傳算法的PID參數(shù)的尋優(yōu)設(shè)計及仿真 20 5.1 基于遺傳算法的直流調(diào)速系統(tǒng) 20 5.1.1直流調(diào)速系統(tǒng)的簡單介紹 20 5.1.2 直流電動機的數(shù)學(xué)模型 22 5.1.3 基于遺傳算法的PID參數(shù)的整定的具體步驟 24 5.2仿真結(jié)果 26 5.3遺傳算法整定PID參數(shù)的程序 26 結(jié)論 35 致 謝 36 第1章 緒 論 1.1 PID控制系統(tǒng)研究的重要意義 在工業(yè)過程控制中,PID控制是歷史最悠久,生命力最強的控制方式。它是迄今為止最通用的控制方法,大多數(shù)反饋回路用該方法或較小的變形來控制[2]。我們今天所熟悉的PID控制器產(chǎn)生并發(fā)
4、展于1915-1940年期間。盡管自1940年以來,許多先進控制方法不斷推出,但是PID控制是工業(yè)過程控制中應(yīng)用最廣的策略之一,由于其算法簡單、魯棒性好和可靠性高,被廣泛應(yīng)用于工業(yè)過程控制,尤其適用于可建立精確數(shù)學(xué)模型的確定性控制系統(tǒng)。如被廣泛應(yīng)用于冶金化工、電力、輕工和機械等工業(yè)過程控制中。據(jù)日本電氣計測器工業(yè)會先進控制動向調(diào)查委員會1990年統(tǒng)計,在日本有91%的控制回路采用的是PID控制器控制。在美國,據(jù)控制工程雜志(Control Engineering)編輯K.J.Kkompass估計,有90%以上的工業(yè)控制器采用的是PID調(diào)節(jié)器。而在我國現(xiàn)在PID控制器的應(yīng)用就更加普遍。據(jù)估計:我
5、們國家過程工業(yè)中需要50萬個PID參數(shù)自整定控制器。PID控制器的發(fā)展經(jīng)歷了液動式、氣動式、電動式幾個階段,目前正由模擬控制器向數(shù)字化、智能化控制器的方向發(fā)展。這些數(shù)字化、智能化的控制器有著傳統(tǒng)的模擬控制器所無法比擬的優(yōu)點,如:可以靈活的改變控制參數(shù)可以靈活的改變控制策略等。而實際工業(yè)生產(chǎn)過程往往具有非線形、時變不確定性,難以建立精確的數(shù)學(xué)模型,應(yīng)用常規(guī)PID控制器不能達到理想的控制效果;在實際生產(chǎn)現(xiàn)場中,由于受到參數(shù)整定方法煩雜的困擾,常規(guī)PID控制器參數(shù)往往整定不良、性能不佳,對運行工況的適應(yīng)性很差,對產(chǎn)品質(zhì)量、原料消耗、能耗等都會帶來不利的影響,更嚴(yán)重的會影響到生產(chǎn)裝置的安全操作。因此P
6、ID控制器參數(shù)的整定優(yōu)化成為人們關(guān)注的問題,它直接影響控制效果的好壞,并和系統(tǒng)的安全、經(jīng)濟運行有著密不可分的關(guān)系。針對這些問題,長期以來,人們一直在尋求PID控制器參數(shù)的自動整定技術(shù),以適應(yīng)復(fù)雜的工況和高指標(biāo)的控制要求。因此對PID控制系統(tǒng)進行研究具有重要的意義。 1.2 PID控制系統(tǒng)參數(shù)整定的研究狀況 電氣自動化技術(shù)是多種學(xué)科的交叉綜合,控制理論經(jīng)過了經(jīng)典控制理論和現(xiàn)代控制理論兩個具有里程碑意義的重要階段。在科學(xué)理論和實際應(yīng)用上都取得了輝煌的成就。當(dāng)前,國內(nèi)外控制界把復(fù)雜系統(tǒng)的控制作為控制科學(xué)與工程學(xué)科發(fā)展的前沿方向,大型復(fù)雜工業(yè)過程作為重要的背景領(lǐng)域,以其特有的復(fù)雜性推動著這一學(xué)科的
7、發(fā)展。在過去的二十幾年中,以模糊推理、神經(jīng)網(wǎng)絡(luò)和遺傳算法等為主要內(nèi)容的智能控制技術(shù)取得了長足的發(fā)展,在一些非線性或難以建立對象解析模型的系統(tǒng)控制中發(fā)揮著重要作用,引起了眾多研究者的關(guān)注。隨著微處理器技術(shù)的發(fā)展和數(shù)字智能式控制器的實際應(yīng)用,人們一直尋求的PID控制器參數(shù)的自動整定技術(shù)成為現(xiàn)實。同時,隨著現(xiàn)代控制理論(如智能控制、自適應(yīng)模糊控制、神經(jīng)網(wǎng)絡(luò)技術(shù)和遺傳算法等)研究和應(yīng)用的發(fā)展與深入,為控制復(fù)雜無規(guī)則系統(tǒng)開辟了新途徑。目前國內(nèi)外關(guān)于PID參數(shù)整定方法進行了大量的研究和開發(fā)工作。Astrom和Hagglund于1988年出版了著作《PID控制器自整定》。特別是近年來,許多重要國際雜志不斷發(fā)
8、表新的研究成果。如Automatica,IEEE Trans.on Automatic Control等。值得提出的是,Astrom和Hagglund于1995年再次出版了《PID控制器:理論、設(shè)計及整定(第二版)》[8]。在過去的幾十年中,回路整定技術(shù)已經(jīng)有了很大的發(fā)展和改進,產(chǎn)生了各種行之有效的整定方法,工程上的整定方法有衰減曲線法、Zieglar-Nichols階躍響應(yīng)法、誤差積分準(zhǔn)則ISTE最優(yōu)設(shè)定方法、快速整定法和繼電法等。而在參數(shù)優(yōu)化過程中多采用梯度法、單純形法和智能方法。衰減曲線法、Zieglar-Nichols法和快速整定是經(jīng)驗的總結(jié),而不是最優(yōu)解;繼電法會使被控系統(tǒng)振蕩;而
9、優(yōu)化中的梯度法需對目標(biāo)函數(shù)微分,同時梯度法與單純形法會陷入局部最優(yōu)點;而ISTE最優(yōu)設(shè)定方法和智能方法是針對一類特定被控對象的。近年來,出現(xiàn)了許多新型PID控制器,如瑞典著名學(xué)者K.J.Astrom等人推出的智能型PID自整定控制器,富士MJCREX智能控制器,東芝TOSDIC2自由度PID自整定調(diào)節(jié)器等[2]。以及Fuzzy_PID混合控制,預(yù)測PID控制。本文采用遺傳算法進行PID 參數(shù)整定與優(yōu)化,這是一種尋求全局最優(yōu)的優(yōu)化方法,且無需對目標(biāo)函數(shù)微分,可提高參數(shù)優(yōu)化水平,簡化優(yōu)化的解析計算過程。 1.3本論文的研究方向和主要工作 迄今為止,有關(guān)PID控制及其參數(shù)整定算法的討論,仍然是控
10、制領(lǐng)域?qū)W科研究的一個重要分支[2]。盡管自二十世紀(jì)以來,PID經(jīng)歷了近百年的發(fā)展,涌現(xiàn)出許多杰出的成就。但是就參數(shù)整定方面而言,大量的工業(yè)需求背景仍然渴求我們在此領(lǐng)域作出更加深入的研究。最終的目的是希望通過盡量少的先驗信息,尋找更加簡單、實用和直觀的參數(shù)整定方法,在設(shè)定值變化的響應(yīng)、負(fù)載干擾衰減等方面達到更好的性能指標(biāo)。就智能PID控制來講,這種技術(shù)有待進一步研究,將自適應(yīng)、自整定和增益計劃設(shè)定有機結(jié)合。遺傳算法簡稱GA(genetic algorithms) ,是1962 年由美國的Holland 提出的一種模仿生物進化過程的最優(yōu)化方法。遺傳算法是一種基于自然選擇和生物進化的并行搜索尋優(yōu)技術(shù)
11、[10]。如果已知一個問題的解屬于某個確定的范圍,那么就可以在這個范圍內(nèi)隨機生成一定數(shù)量的該問題的備選解。遺傳算法把這些備選解表示成一組“染色體”(在計算機編程時,一般用二進制碼串表示),將它們置于問題的“環(huán)境”中,根據(jù)達爾文“適者生存”的原理從中選擇適應(yīng)環(huán)境的“染色體”進行復(fù)制(再生),通過交叉、變異兩種基因操作產(chǎn)生出新的更適應(yīng)環(huán)境的“染色體”群,這樣一代代的不斷進化,群體中各個體適應(yīng)度不斷提高,最后收斂到一個最適應(yīng)環(huán)境的個體上,求得問題的最優(yōu)解。 正是由于遺傳算法特殊的仿生機理,使它能夠在一個復(fù)雜空間進行魯棒搜索空間基本上不需要什么限制性的假設(shè)條件。因此,將遺傳算法引入到PID控制參數(shù)整
12、定當(dāng)中,進行了一些初步的有益的探索。結(jié)合PID參數(shù), ,的整定是否合理最優(yōu)的具體情況,進一步探討遺傳算法在PID控制中應(yīng)用的問題。圍繞課題主要進行了以下工作: (1) 熟悉常規(guī)PID控制的原理、缺點及其在工業(yè)應(yīng)用上的重要性,并介紹了幾種工程中常用的參數(shù)整定方法和基于遺傳算法整定的PID控制系統(tǒng)的優(yōu)缺點; (2) 對選定的直流電機建立數(shù)學(xué)模型并分析調(diào)速系統(tǒng)的可控性; (3) 對遺傳算法的原理及基礎(chǔ)知識進行了初步的研究,并結(jié)合電機模型整定出控制系統(tǒng)的PID參數(shù); (4) 熟悉Matlab的對控制系統(tǒng)進行仿真研究。 第2章 PID控制參數(shù)整定
13、方法 2.1 PID控制原理 在模擬控制系統(tǒng)中,控制器最常用的控制規(guī)律是PID控制。常規(guī)的PID控制系統(tǒng)原理框圖如圖2.1。系統(tǒng)由模擬控制器和被控對象組成。 PID控制器是一種線性控制器,它根據(jù)給定值與實際輸出值構(gòu)成控制偏差: (2.1) 將偏差的比例(P),積分(I)和微分(D)通過線性組合構(gòu)成控制量,對被控對象進行控制。其控制規(guī)律: (2.2) 或?qū)懗蓚鬟f函數(shù)的形式:
14、 (2.3) 式中——比例系數(shù);——積分時間常數(shù);——微分時間常數(shù)。簡單的說,PID控制器各校正環(huán)節(jié)的作用如下: (1)比例環(huán)節(jié) 即時成比例地反映控制系統(tǒng)的偏差信號,偏差一旦產(chǎn)生,控制器立即產(chǎn)生控制作用,以減少偏差。 (2)積分環(huán)節(jié) 主要消除系統(tǒng)的靜差,以提高系統(tǒng)的無差度。積分作用的強弱取決于積分時間常數(shù)。越大,積分作用越弱,反之越強。 (3)微分環(huán)節(jié) 反映偏差信號的變化趨勢,并能在偏差信號變的太大之前,在系統(tǒng)中引入個有效的早期修正信號,從而加快系統(tǒng)的動作速度,減小調(diào)節(jié)時間。 2.2 常用PID參數(shù)整定方法及缺點 PID控制是一種線性控制,
15、它首先根據(jù)給定值R與實際測量值C構(gòu)成控制偏差,然后將偏差的比例、積分和微分通過線性組合構(gòu)成控制量,對被控對象進行控制,故稱PID控制,其傳遞函數(shù)形式為: (2.4) 在PID參數(shù)整定時,一般認(rèn)為增大比例常數(shù)將加快系統(tǒng)的響應(yīng),有利于減少靜態(tài)誤差,但過大的比例常數(shù)會使系統(tǒng)產(chǎn)生較大的超調(diào),產(chǎn)生振蕩;增加積分常數(shù)將減少積分作用,有利于減少超調(diào)使系統(tǒng)穩(wěn)定,但系統(tǒng)消除靜差的速度變慢; 增加微分常數(shù)有利于加快系統(tǒng)的響應(yīng),使超調(diào)減小,穩(wěn)定性增加,但對于干擾信號的抑止能力減弱。這樣的認(rèn)識對于設(shè)計的初始階段是非常重要的,但它僅僅是一個指導(dǎo)性原則,不能保證按照此原則設(shè)計的系統(tǒng)
16、都可以滿足控制要求。對PID參數(shù)的整定,目前常用工程整定法和理論設(shè)計法[25]。 2.3 PID控制參數(shù)整定的常見方法 ⑴經(jīng)驗試湊法 人們在長期的實踐和經(jīng)驗中發(fā)現(xiàn),各種被控對象其PID參數(shù)都有一定的范圍,通過模擬、運行并觀察被控系統(tǒng)的響應(yīng)曲線,根據(jù)各參數(shù)對系統(tǒng)響應(yīng)的大致影響反復(fù)試湊參數(shù),以達到滿意的控制效果 ⑵Ziegler – Nichols法 設(shè)計時先置和為零,控制規(guī)律為純比例控制,改變比例常數(shù),通過運行和觀察系統(tǒng)對階躍輸入的響應(yīng),當(dāng)系統(tǒng)達到臨界振蕩狀態(tài),此時的臨界比例常數(shù)記為,臨界周期為,參數(shù)按下式計算: (2.5) 式中
17、為振蕩頻率。工程整定法方法簡單,易于掌握,雖然它們是一種近似的經(jīng)驗方法,但相當(dāng)實用。經(jīng)過工程實踐檢驗,這種設(shè)計方法能夠給予控制系統(tǒng)提供較好的工作性能,但控制器參數(shù)的整定沒有考慮系統(tǒng)的任何特性要求,只能提供給系統(tǒng)一個穩(wěn)定的狀態(tài),一個大致的工作區(qū)間⑴,所以只能是一種比較粗糙的參數(shù)設(shè)置或初步估計,無法使系統(tǒng)運行最佳。 ⑶理論設(shè)計法 對于一個特定的系統(tǒng),采用理論設(shè)計法對其進行頻域設(shè)計,首先按照給定的穩(wěn)態(tài)誤差指標(biāo),可以求得的值;其次,由時域指標(biāo)確定閉環(huán)阻尼系數(shù)和自然振蕩頻率。因為閉環(huán)自然頻率對應(yīng)開環(huán)增益穿越頻率,希望的相角裕量PM可以由閉環(huán)阻尼系數(shù)求出。因此,在處,補償?shù)南到y(tǒng)增益為1,相角,可導(dǎo)出:
18、 (2.6) 得出: (2.7) 理論設(shè)計法基于被控對象的數(shù)學(xué)模型,如傳遞函數(shù)、頻率特性等等,通過計算直接求得此狀態(tài)下的參數(shù),控制效果比工程法好,但如果系統(tǒng)比較復(fù)雜,理論計算就會變得相當(dāng)復(fù)雜、繁瑣,使用不方便,而計算中的簡化使求得的參數(shù)也不能保證系統(tǒng)運行最佳。 通過以上討論,我們知道PID參數(shù)整定困難的原因在于不能從系統(tǒng)全局考慮。工程整定法是從被控系統(tǒng)穩(wěn)定的角度出發(fā),而理論設(shè)計法只保證了滿足系統(tǒng)的頻域或某一特性的要求。在實際的設(shè)計中, PID
19、控制參數(shù)的選擇不僅需要熟練的技巧,而且往往都非常費時,需要反復(fù)調(diào)整才能獲得滿意的效果,因此需要一種即能滿足系統(tǒng)全面性能又比較方便的PID參數(shù)整定方法?;谝陨显?,這里主要對基于遺傳算法整定的PID控制系統(tǒng)進行研究。 第3章遺傳算法的概述 3.1遺傳算法的發(fā)展史 遺傳算法早期的研究大多以對自然系統(tǒng)的計算機模擬為主[11]。如Fraser的模擬研究,他提出了和現(xiàn)在的遺傳算法十分相似的概念和思想。Holland和DeJong的創(chuàng)造性研究成果改變了早期遺傳算法研究的無目標(biāo)性和理論指導(dǎo)的缺乏。其中,Holland于1975年出版的著名著作<<自然和人工系統(tǒng)中的
20、適應(yīng)性行為>>(Adaptation in Natural and Artificial Systems)系統(tǒng)地闡述了遺傳算法的基本理論和方法,并提出了對遺傳算法的理論研究和發(fā)展極為重要的模式理論。這一理論首次確認(rèn)了結(jié)構(gòu)重組遺傳操作對于獲得隱并行性的重要性。同年,De Jong的重要論文<<遺傳自適應(yīng)系統(tǒng)到的行為分析>>將Holland的模式理論與他的計算實驗結(jié)合起來,并提出了諸如代溝等新的遺傳操作技術(shù)??梢哉J(rèn)為,De Jong所作的研究工作是遺傳算法發(fā)展過程中的一個里程碑。 遺傳算法研究的興起是在80年代末和90年代初期,1983年,Holland的學(xué)生David Goldberg將遺傳算
21、法應(yīng)用于管道煤氣系統(tǒng)的優(yōu)化,很好地解決了這一非常復(fù)雜的問題。1989年,David Goldberg出版了 Genetic Algorithms in Search,Optimization and Machine Learning一書,這本可能是遺傳算法領(lǐng)域被引用次數(shù)最多的書為這一領(lǐng)域奠定了堅實的科學(xué)基礎(chǔ)。80年代中期,Axelrod和Forrest合作,采用遺傳算法研究了博奕論中的一個經(jīng)典問題--囚徒困境[9]。進入80年代,無論是理論研究還是應(yīng)用研究都成了十分熱門的課題。尤其是遺傳算法的應(yīng)用領(lǐng)域也不斷擴大。目前遺傳算法所涉及的主要領(lǐng)域有自動控制、規(guī)劃設(shè)計、組合優(yōu)化、圖象處理、信號處理、人
22、工生命等??梢?,遺傳算法的應(yīng)用研究已從初期的組合優(yōu)化求解,拓展到了許多更新,更工程化的應(yīng)用方面。經(jīng)過近10年的努力,遺傳算法已成為信息科學(xué)、計算機科學(xué)、運籌學(xué)和應(yīng)用數(shù)學(xué)等學(xué)科所共同關(guān)注的熱點研究領(lǐng)域[15]。 3.2遺傳算法的基本原理 3.2.1遺傳算法的基本操作 復(fù)制(Reproduction Operator)是從一個舊種群中選擇生命力強的個體位串產(chǎn)生新種群的過程。根據(jù)位串的適配值拷貝,也就是指具有高適配值的位串更有在下 一代中產(chǎn)生一個或多個子孫,它模仿了自然現(xiàn)象,應(yīng)用了達爾文的適者生存理論,復(fù)制操作可以通過隨機方法來實現(xiàn)[12]。若用計算機程序來實現(xiàn),可考慮首先產(chǎn)生0~1之間均勻
23、分布的隨機數(shù),若某串的復(fù)制概率為40%,則當(dāng)產(chǎn)生的隨機數(shù)在0~0.40之間時,該串被復(fù)制,否則被淘汰。此外,可以通過計算方法實現(xiàn),其中較典型的幾種方法為適應(yīng)度比例法、期望值法、排位次法等。適應(yīng)度比例法較常用。 交叉(Crossover Operator) 復(fù)制操作能從舊種群中選擇出有優(yōu)秀者,但是不能創(chuàng)造新的染色體。而交叉模擬了生物進化過程中的繁殖現(xiàn)象,通過兩個染色體的交換組合,來產(chǎn)生新的優(yōu)良品種[12]。它的過程為:在匹配池中任選兩個染色體,隨機選擇一點或多點交換點位置,交換雙親染色體交換點右邊部分,即可得到兩個新的染色體數(shù)字串。交換體現(xiàn)了自然界中信息交換的思想。交叉有一點交叉、多點交叉、還
24、有一致交叉、順序交叉和周期交叉。一點交叉是最基本的方法,應(yīng)用較廣。它是指染色體切斷點有一處。例如: A:101100 1110→101100 0101 B:001010 0101→001010 1110 變異(Mutation Operator) 變異運算用來模擬生物在自然的遺傳環(huán)境中由于各種偶然因數(shù)引起的基因突變,它以很小的概率隨機地改變遺傳基因(表示染色體的符號串的某一位)的值。在染色體以二進制編碼的系統(tǒng)中,它隨機地將染色體的某一個基因由1變?yōu)?,或者由0變?yōu)?。若只有選擇和交叉,而沒有變異,則無法在初始基因組合以外的空間進行搜索,使
25、進化過程在早期就陷入局部解而進入終止過程,從而影響解的質(zhì)量。為了在盡可能大的空間中獲得質(zhì)量較高的優(yōu)化解,必須采用變異操作。 3.2.2遺傳算法的主要特點 (1) 遺傳算法是對參數(shù)的編碼進行操作,而非對參數(shù)本身; (2) 遺傳算法是從許多點開始并行操作,而非局限于一點; (3) 遺傳算法通過目標(biāo)函數(shù)來計算適配值,而不需要其他推導(dǎo),從而對問題的依賴性較小; (4) 遺傳算法的尋優(yōu)規(guī)則是由概率決定,而非確定性的; (5) 遺傳算法在解空間進行高效啟發(fā)式搜索,而非盲目地窮舉或完全隨機搜索; (6) 遺傳算法對于待尋優(yōu)的函數(shù)基本無限制,它既不要求函數(shù)連續(xù),也不要求函數(shù)可微,既可以是數(shù)學(xué)解析
26、式所表示的顯函數(shù),又可以是映射矩陣甚至是神經(jīng)網(wǎng)絡(luò)的隱函數(shù),因此應(yīng)用范圍較廣; (7) 遺傳算法具有并行計算的特點,因而可以通過大規(guī)模并行計算來提高計算速度; (8) 遺傳算法更適合大規(guī)模復(fù)雜問題的優(yōu)化; (9) 遺傳算法計算簡單,功能強。 3.3遺傳算法的優(yōu)化設(shè)計 3.3.1遺傳算法的運算過程 遺傳算法中最優(yōu)解的搜索過程也是模仿生物的進化過程,通過染色體之間的交叉和染色體的變異來完成[12]。通過所謂的遺傳算子(genetic operators)作用于群體 中,進行遺傳操作,從而得到新一代群體。遺傳算子包括選擇算子,交叉算子,變異算子。圖3.1是遺傳算法的運算過程示意圖:
27、 由該圖可以看出,使用上述三種遺傳算子(選擇算子,交叉算子,變異算子)的遺傳算法的主要運算過程如下所述: 步驟一:初始化。 設(shè)置進化代數(shù)計數(shù)器;設(shè)置最大進化代數(shù);隨機生成個個體作為初始群體; 步驟二:個體評價。計算群體中各個個體的適應(yīng)度; 步驟三:選擇運算。將選擇算子作用于群體; 步驟四:交叉運算。將交叉算子作用于群體; 步驟五:變異運算。將變異算子作用于群體。群體經(jīng)過選擇,交叉,變異運算之后得到下一代群體; 步驟六:終止條件判斷。若 ,則:,轉(zhuǎn)到步驟二;若,則以進化過程中得到的具有最大適應(yīng)度的個體作為最優(yōu)解輸出,終止計
28、算。 3.3.2遺傳算法的構(gòu)成要素 (1) 染色體編碼方法。 基本遺傳算法使用固定長度的二進制符號串兒來表示群體中的個體,其等位基因是由二值符號集{0,1}所組成的。初始群體中各個個體的基因值可用均勻分布的隨機數(shù)來生成。 (2) 個體適應(yīng)度評價。 基本遺傳算法按與個體適應(yīng)度成正比的概率來決定當(dāng)前群體中每個個體遺傳到下一代群體中的機會多少。為正確計算這個概率,這里要求所有個體的適應(yīng)度必須為正或零。至于,必須預(yù)先確定好由目標(biāo)函數(shù)值到個體適應(yīng)度之間的轉(zhuǎn)換規(guī)則,特別是要預(yù)先確定好當(dāng)目標(biāo)函數(shù)值為負(fù)數(shù)時的處理。 (3) 遺傳算子。 使用下述三種遺傳算子: A. 選擇運算使用比例選擇算子;
29、 B. 交叉運算使用單點交叉算子; C.變異運算使用基本位變異算子或均勻變異算子。 (4) 基本遺傳算法的運行參數(shù)。 基本遺傳算法有下述4個運行參數(shù)需要提前設(shè)定: A.:群體大小。一般取為 20~100; B. :遺傳運算終止進化代數(shù)。一般取為 100~500; C.:交叉概率。一般取為 0.4~0.99; D.:變異概率。一般取為 0.0001~0.1。 3.3.3遺傳算法的應(yīng)用步驟 (1) 確定決策變量及其各種約束條件,即確定出個體的表現(xiàn)型和問題的解 空間。 (2) 建立優(yōu)化模型,即確定出目標(biāo)函數(shù)的類型(是求目標(biāo)函數(shù)的最大值還是最 小值?)及其數(shù)學(xué)
30、描述形式或量化方法。 (3) 確定表示可行解的染色體編碼方法,也即確定出個體的基因型及遺傳 算法的搜索空間。 (4) 確定解碼方法,即確定出由個體基 因型 到個體表現(xiàn)型 的對應(yīng)關(guān)系或轉(zhuǎn)換方法。 (5) 確定個體適應(yīng)度的量化評價方法,即確定出由目標(biāo)函數(shù)值到個體 適應(yīng)度的轉(zhuǎn)換規(guī)則。 (6) 設(shè)計遺傳算子,即確定出選擇運算,交叉運算,變異運算等遺傳算子的具 體操作方法。 (7) 確定遺傳算法的有關(guān)運行參數(shù),如,, ,等參數(shù)。 由上述構(gòu)造步驟可以看出,可行解的編碼方法,遺傳算子的設(shè)計是構(gòu)造遺傳算法時需要考慮的兩個主要問題,也是設(shè)計遺傳算法時的兩個關(guān)鍵步驟。對不同的
31、優(yōu)化問題需要使用不同的編碼方法和不同操作的遺傳算子,它們與所求解的具體問題密切相關(guān),因而對所求解的理解程度是遺傳算法應(yīng)用成功與否的關(guān)鍵。 3.4遺傳算法的應(yīng)用 遺傳算法提供了一種求解復(fù)雜系統(tǒng)優(yōu)化問題的通用框架,它不依賴于問題的具體領(lǐng)域,對問題的種類有很強的魯棒性,所以廣泛應(yīng)用于很多學(xué)科[8]。下面是它的一些主要應(yīng)用領(lǐng)域: (1)函數(shù)優(yōu)化。函數(shù)優(yōu)化是遺傳算法的經(jīng)典應(yīng)用領(lǐng)域,也是對遺傳算法進行性能評價的常用算例。很多人構(gòu)造出了各種各樣的復(fù)雜形式的測試函數(shù),有連續(xù)函數(shù)也有離散函數(shù),有低維函數(shù)也有高維函數(shù),有確定函數(shù)也有隨機函數(shù)等。用這些幾何特性各具有特色的函數(shù)來評價遺傳算法的性能,更能反映算
32、法的本質(zhì)效果。而對一些非線性、多模型、多目標(biāo)的函數(shù)優(yōu)化問題,用其他優(yōu)化方法較難求解,而遺傳算法卻可以方便得到較好的結(jié)果。 (2)組合優(yōu)化。隨著問題規(guī)模的增大,組合優(yōu)化問題的搜索空間也急劇擴大,有時在目前的計算機上用枚舉法或甚至不可能求出其精確最優(yōu)解。對這類復(fù)雜問題,人們已經(jīng)意識到應(yīng)把主要精力放在尋求其滿意解上,而遺傳算法是尋求最優(yōu)解的最佳工具之一。例如,遺傳算法已經(jīng)在求解旅行商問題、背包問題等方面得到成功的應(yīng)用。 (3)生產(chǎn)調(diào)度問題。生產(chǎn)調(diào)度問題在很多情況下所建立起來的數(shù)學(xué)模型難以精確求解,即使經(jīng)過一些簡化之后可以進行求解,也會因為簡化太多而使求得結(jié)果與實際相差太遠。現(xiàn)在遺傳算法已成為解決
33、復(fù)雜調(diào)度問題的有效工具,在單件生產(chǎn)車間調(diào)度、流水線生產(chǎn)車間調(diào)度、生產(chǎn)規(guī)劃等方面遺傳算法得到了有效的應(yīng)用。 (4)自動控制。在自動控制領(lǐng)域中很多與優(yōu)化相關(guān)的問題需要求解,遺傳算法已在其中得到了初步的應(yīng)用,并顯示出了良好的效果。例如用遺傳算法進行航空控制系統(tǒng)的優(yōu)化、基于遺傳算法的PID控制器等。 (5)圖象處理。圖象處理是計算機視覺中的一個重要研究領(lǐng)域。在圖象處理過程中,如掃描、特征提取、圖象分割等不可避免地會存在一些誤差,這些誤差會影響圖象處理效果。如何使其誤差變小,遺傳算法發(fā)揮了重要的作用。
34、 第4章基于遺傳算法的PID整定 4.1基于遺傳算法的PID參數(shù)整定優(yōu)點 目前PID參數(shù)的優(yōu)化方法有很多,如間接尋優(yōu)法,梯度法,爬山法等,而在熱工系統(tǒng)中單純形法、專家整定法則應(yīng)用較廣[14]。雖然這些方法都具有良好的尋優(yōu)特性,但卻存在著一些弊端,單純形法對初值比較敏感容易陷入局部最優(yōu)化解,造成尋優(yōu)失敗。專家整定法則需要太多的經(jīng)驗,不同目標(biāo)函數(shù)對應(yīng)不同的經(jīng)驗,而整理知識庫則是一項長時間的工程。因此我們選取了遺傳算法來進行參數(shù)尋優(yōu)。該方法是一種不需要任何初始信息并可以尋求全局最優(yōu)解的高效的優(yōu)化組合方法。遺傳算法作為一種全局優(yōu)化算法,得到了越來越廣泛的應(yīng)用。近年來,它在控制
35、上應(yīng)用日益增多。采用遺傳算法進行PID三個參數(shù)的整定,具有以下優(yōu)點: (1) 與單純形法相比,遺傳算法同樣具有良好的尋優(yōu)特性,且克服了單純形法參數(shù)初值的敏感性。在初始條件選擇不當(dāng)?shù)那闆r下,遺傳算法在不需要給出調(diào)節(jié)器初始參數(shù)的情況下,仍能尋找到合適的參數(shù),使控制目標(biāo)滿足要求。同時單純形答難以解決多值函數(shù)問題以及在多參數(shù)尋優(yōu)(如串級系統(tǒng))中,容易造成尋優(yōu)失敗或時間過長,而遺傳算法的特性決定了它能很好地克服以上問題。 (2) 與專家整定法相比,它具有操作方便、速度快的優(yōu)點,不需要復(fù)雜的規(guī)則,只通過字串進行簡單的復(fù)制、交叉、變異,便可以達到尋優(yōu)。避免了專家整定法中前期大量的知識庫整理工作及大量的仿
36、真實驗。 (3) 遺傳算法是從許多點開始并行操作,在解空間進行高效啟發(fā)式搜索,克服了從單點出發(fā)的弊端以及搜索的盲目性,從而使尋優(yōu)速度更快,避免了過早陷入局部最優(yōu)解。 (4) 遺傳算法不僅使用于單目標(biāo)尋優(yōu),而且也使用于多目標(biāo)尋優(yōu)。根據(jù)不同的控制系統(tǒng),針對一個或多個目標(biāo),遺傳算法均能在規(guī)定的范圍內(nèi)尋找到合適的參數(shù)。 4.2基于遺傳算法的PID整定的實現(xiàn) 4.2.1 編碼和解碼 我們把待尋優(yōu)的參數(shù)用一個二進制數(shù)來表示。若參數(shù)a的變化范圍為[ ,] ,用m 位二進制數(shù)b來表示,則它們的關(guān)系為: (4
37、.1) 將所有表示參數(shù)的二進制數(shù)串接起來就組成了一個長的二進制字串。該字串的每一位只有0或1兩種取值。該字串即為遺傳算法可以操作的對象。此過程為編碼。上述過程的反過程為解碼。 4.2.2初始種群的確定 適應(yīng)函數(shù)應(yīng)同目標(biāo)函數(shù)相關(guān),遺傳算法尋優(yōu)就是因為需要編程來實現(xiàn)各過程,所以采用計算機隨機產(chǎn)生初始種群,針對二進制編碼而言,先產(chǎn)生0~1之間均分布的隨機數(shù),然后規(guī)定產(chǎn)生的隨機數(shù)0~0.5之間代表0,0.5~1之間代表1 。此外,考慮到計算的復(fù)雜程度來規(guī)定種群的大小。種群中字串的個數(shù)越大, 其代表性越廣泛, 最終進化到最優(yōu)解的可能性越大, 但勢必造成計算時間的增加。因此其個數(shù)一般選為10 ~ 5
38、0。 4.2.3適配函數(shù)的確定 一般的尋優(yōu)方法在約束條件下可以求得滿足條件的一組參數(shù),在設(shè)計中是從該組參數(shù)中尋找一個最好的。衡量一個控制系統(tǒng)的指標(biāo)有三個方面,即穩(wěn)定性、正確性和快速性。而上升時間反映了系統(tǒng)的快速性,上升時間越短,控制進行的就越快,系統(tǒng)品質(zhì)也就越好。 如果單純追求系統(tǒng)的動態(tài)特性,得到的參數(shù)很可能使控制信號過大,在實際應(yīng)用中會因系統(tǒng)中固有的飽和特性而導(dǎo)致系統(tǒng)不穩(wěn)定,為了防止控制能量過大,在目標(biāo)函數(shù)中加入控制量。因此為了使控制效果更好,我們給出了控制量、誤差和上升時間作為約束條件。因為適應(yīng)函數(shù)同目標(biāo)函數(shù)有關(guān),所以目標(biāo)函數(shù)確定后,直接將其作為適配函數(shù)進行參數(shù)尋優(yōu),最優(yōu)的控制參數(shù)也
39、就是在滿足約束條件下使最大時,所對應(yīng)的控制器參數(shù)。 4.2.4遺傳算子的確定 遺傳算法有三個算子:選擇概率,交叉概率和變異概率。選擇概率通過適配值來確定,這里不再贅講。交叉概率決定了交叉的次數(shù), 過小導(dǎo)致搜索停滯不前; 而太大也會使高適配置的結(jié)構(gòu)被破壞掉。因此, 交叉概率一般選取0.25 ~ 0.8 之間。變異概率一般為0.001 ~ 0.1 ,太大會引起不穩(wěn)定,太小難以尋到全局最優(yōu)解。 4.2.5遺傳算法的操作 首先利用適應(yīng)度比例法進行復(fù)制。即通過適配函數(shù)求得適配值,進而求每個串對應(yīng)的復(fù)制概率。復(fù)制概率與每代字串的個數(shù)的乘積為該串在下一代中應(yīng)復(fù)制的個數(shù)。復(fù)制概率大的在下一代中將有較多
40、的子孫,相反則會淘汰。 其次進行單點交叉,交叉概率為,從復(fù)制的成員中以的概率選取字串組成匹配池,而后對匹配池的成員隨機匹配,交叉的位置也是隨機確定的。 最后以概率進行變異。假如每代有15個字串,每個字串12位,則共有1512=180個串位,期望的變異串位數(shù)為1800.01≈2(位),即每代中有兩個串位要由1變?yōu)?或0變?yōu)?。 初始種群通過復(fù)制、交叉及變異得到了新一代種群,該種群經(jīng)過解碼后代入適配函數(shù),觀察是否滿結(jié)束條件,若不滿足,則重復(fù)以上操作直到滿足為止。結(jié)束條件由具體問題所定,只要各目標(biāo)參數(shù)在規(guī)定范圍內(nèi),則終止計算。以上操作過程可以用圖4.1來表示。 4.2.6利用遺傳算法優(yōu)化
41、PID控制參數(shù)的具體步驟 (1) 確定每個參數(shù)的大致范圍和編碼長度,進行編碼; (2) 隨機產(chǎn)生個個體構(gòu)成初始種群; (3) 將種群中各個體解碼成對應(yīng)的參數(shù)值,用此參數(shù)求代價函數(shù)及適應(yīng)函數(shù)值,取; (4) 應(yīng)用復(fù)制、交叉和變異算子對種群進行操作,產(chǎn)生下一代種群; (5) 重復(fù)步驟(3)和(4),直至參數(shù)收斂或達到預(yù)定的指標(biāo)。 4.3 基于遺傳算法的PID整定的程序設(shè)計 4.3.1 遺傳算法復(fù)制算子的實現(xiàn) 本文采用最簡單的輪盤賭選擇法,為選擇交配個體,需要進行多輪操作,每一輪產(chǎn)生一個[0,1]均勻隨機數(shù),將該隨機數(shù)作為選擇指針來確定被選個體。Matlab程序?qū)崿F(xiàn)如下: k=1;
42、
for i=1:1:size
for j=1:1:size
If Ch_P(i)>=Fi_S(j)&Ch_P(i) 43、d);
for i=1:2:(Size-1)
temp=rand;
if PC>temp %Crossover Condition
for j=n:1:30
E=Temp(i,j);
Temp(i,j)=Temp(i+1,j);
Temp(i+1,j)=E;
End
end
end
4.3.3 遺傳算法變異算子的實現(xiàn)
變異及個體以很小的概率或步長產(chǎn)生轉(zhuǎn)變。變量轉(zhuǎn)變的概率或步長與維數(shù)成反比,與種群大小無關(guān)。變異本身是一種局部隨機搜索,與選擇、交叉算子結(jié)合,保證了GA的有效性,使其具有局部的隨機搜索能力。對于二進制個體,變異即變量的翻轉(zhuǎn)。Ma 44、tlab程序?qū)崿F(xiàn)如下:
pm=0.001-[1:1:Size]* (0.001)/Size; %Bigger Fi, smaller Pm
for i=1:1:Size
for j=1:1:2*Codelen
Temp=rand;
if pm>temp %Mutation Condition
if Temp(i,j)==0
Temp(i,j)=1;
else
Temp(i,j)=0;
end
end
end
end
第5章 基于遺傳算法的直流調(diào)速系統(tǒng)PID參數(shù)的尋優(yōu)設(shè)計及仿真
45、5.1 基于遺傳算法的直流調(diào)速系統(tǒng)
5.1.1直流調(diào)速系統(tǒng)的簡單介紹
運動控制系統(tǒng)中應(yīng)用最普遍的是自動調(diào)速系統(tǒng),在工程實踐中,有許多機械要求在一定范圍內(nèi)進行速度的平滑調(diào)節(jié),并且要求有良好的靜態(tài)、動態(tài)性能。自動調(diào)速系統(tǒng)主要包括直流調(diào)速系統(tǒng)和交流調(diào)速系統(tǒng)。直流調(diào)速系統(tǒng)的主要優(yōu)點在于調(diào)速范圍廣、靜差率小、穩(wěn)定性好以及具有良好的動態(tài)性能。在高性能的拖動技術(shù)領(lǐng)域中,相當(dāng)長的時期內(nèi)幾乎都采用直流電力拖動系統(tǒng)。按供電方式不同,它可分為交流拖動的直流發(fā)電機機組供電、水銀整流器供電、晶閘管供電和脈寬調(diào)制電源(PWM)供電等類型。
目前,我國直流調(diào)速控制的發(fā)展趨勢主要有以下幾個方面:
⑴提高調(diào)速系統(tǒng) 46、的單機容量。
⑵提高電力電子器件的生產(chǎn)水平,使變流器結(jié)構(gòu)變得簡單、緊湊和。
⑶提高控制單元水平,使其具有控制、監(jiān)視 、保護、診斷及自復(fù)原等多種功能。
不同的生產(chǎn)機械,因生產(chǎn)工藝的不同,對控制系統(tǒng)的技術(shù)指標(biāo)也有所不同。歸納起來有下列三個方面是:
⑴調(diào)速。在一定的最高轉(zhuǎn)速和最低轉(zhuǎn)速范圍內(nèi),有級或無級地調(diào)節(jié)轉(zhuǎn)速。
⑵穩(wěn)速。以一定的精度在要求的轉(zhuǎn)速上穩(wěn)定運行,不因各種可能的外來擾動(負(fù)載變化、電網(wǎng)電壓波動等)而產(chǎn)生過大的轉(zhuǎn)速波動,以確保產(chǎn)品質(zhì)量。
⑶加、減速控制。對頻繁啟、制動的設(shè)備要求盡可能快地加、減速,縮短啟、制動時間,以提高生產(chǎn)效率,對不宜經(jīng)受劇烈速度變化的機械,則要求啟、制動盡 47、可能的平穩(wěn)。
以上三方面要求,可具體轉(zhuǎn)化為調(diào)速系統(tǒng)的穩(wěn)態(tài)和動態(tài)兩方面的性能指標(biāo)。
㈠穩(wěn)態(tài)性能指標(biāo)
所謂穩(wěn)態(tài)性能指標(biāo)是指系統(tǒng)穩(wěn)定運行時的性能指標(biāo),如調(diào)速系統(tǒng)穩(wěn)定運行時的調(diào)速范圍和靜差率等
①調(diào)速范圍
根據(jù)這個指標(biāo),為調(diào)速范圍小的系統(tǒng),為調(diào)速范圍中等的系統(tǒng),為寬調(diào)速范圍的系統(tǒng)現(xiàn)代交直流調(diào)速控制系統(tǒng)的調(diào)速范圍可以做到
②靜差率
其中,是理想空載轉(zhuǎn)速,為額定轉(zhuǎn)速。它與機械特性的硬度有關(guān),特性越硬,靜差率越小,轉(zhuǎn)速穩(wěn)定度越高。一般所提的靜差率要求是指系統(tǒng)在最低速時的靜差率指標(biāo)。
㈡動態(tài)性能指標(biāo)
調(diào)速系統(tǒng)在動態(tài)過程中的指標(biāo)稱為動態(tài)性能指標(biāo)。由于實際系統(tǒng)存在著電磁和機械慣性,因此, 48、轉(zhuǎn)速調(diào)節(jié)時總有一個動態(tài)過程。衡量交直流調(diào)速系統(tǒng)動態(tài)性能指標(biāo)可分為跟隨性能指標(biāo)和抗擾性能指標(biāo)兩類。
①跟隨性能指標(biāo)
交直流調(diào)速系統(tǒng)的跟隨性能指標(biāo)一般用零初始條件下,系統(tǒng)對階躍輸入信號的輸出響應(yīng)過程來表示,系統(tǒng)對階躍輸入的典型跟隨過程如圖5.1所示
圖5.1
其主要跟隨性能指標(biāo)有:
a.上升時間:在階躍響應(yīng)過程中,輸出量從零開始,第一次上升到穩(wěn)態(tài)值所經(jīng)歷的時間
b.超調(diào)量:在階躍響應(yīng)過程中,輸出量超出穩(wěn)態(tài)值的最大偏差與穩(wěn)態(tài)值之比的百分值即
超調(diào)量反映了系統(tǒng)的相對穩(wěn)定性,超調(diào)量越小,相對穩(wěn)定性越好,即動態(tài)響應(yīng)比較平穩(wěn)。
c.調(diào)節(jié)時間:在階躍響應(yīng)過程中,輸出衰減到與穩(wěn)態(tài)值 49、之差進入或的允許誤差范圍之內(nèi)所需的最小時間。調(diào)節(jié)時間是用來衡量系統(tǒng)整個調(diào)節(jié)過程快慢的,調(diào)節(jié)時間越小,系統(tǒng)響應(yīng)的快速性越好。在實際系統(tǒng)中,快速性和穩(wěn)定性往往是相互矛盾的。減小了超調(diào)量往往就延長了過渡過程調(diào)節(jié)時間;縮短了過渡過程調(diào)節(jié)時間卻又增大了超調(diào)量。對于一般要求的系統(tǒng),可以根據(jù)生產(chǎn)工藝的要求,哪一方面的性能是主要的,就以哪一方面為主。對于特殊要求的較高性能的系統(tǒng),還可以考慮采用一些綜合性的優(yōu)化性能指標(biāo)。
②抗擾動性能指標(biāo)
當(dāng)控制系統(tǒng)在穩(wěn)定運行過程 中受到電動機負(fù)載變化、電網(wǎng)電壓波動等干擾因素的影響時,會引起輸出量的變化,經(jīng)歷一段動態(tài)過程后,系統(tǒng)總能達到新的穩(wěn)態(tài)。這一恢復(fù)過程就是系統(tǒng)的抗擾過 50、程。一般以系統(tǒng)穩(wěn)定運行中突加一個使輸出量降低的擾動以后的過渡過程作為典型的抗過程,其性能指標(biāo)有動態(tài)降落和恢復(fù)時間,由于本設(shè)計不考慮,故不作表述。
5.1.2 直流電動機的數(shù)學(xué)模型
直流電動機電樞回路的電壓方程式為
在零初始條件下,對式()兩側(cè)進行拉氏變換得
則電壓 與電流間的傳遞函數(shù)為
式中,為電樞回路電磁 時間常數(shù),
又直流電動機的運動方程式為
由式()可得
式中,為電樞電流;為負(fù)載電流;為電動機的機電時間常數(shù),
同理,對上式兩側(cè)進行拉氏變換得
直流電動機的動態(tài)結(jié)構(gòu)圖如圖5.2所示
(a)
(b)
圖5.2直流電機的動態(tài)結(jié)構(gòu)圖
(a 51、) 簡化前;(b)簡化后
直流電動機傳遞函數(shù)中主要參數(shù)的工程計算方法討論:
⑴電磁時間常數(shù),而,,為整流裝置的內(nèi)阻, 、分別為電樞電感與電樞電阻。
⑵機電常數(shù),為系統(tǒng)總的轉(zhuǎn)動慣量
,,、、為電動機的額定參數(shù)
選定電機的參數(shù): ,,,,
=95.5
根據(jù)式子可以計算出選定的電機的傳遞函數(shù)為
采樣間為1ms,輸人指令為階躍信號。
遺傳算法PID控制器的結(jié)構(gòu)如圖5.3所示:
該系統(tǒng)由一個標(biāo)準(zhǔn)PID控制修正PID參數(shù)的遺傳算法??刂破鞯妮敵鰹?
(5.3)
5.1.3 基于遺傳算法的PID參數(shù)的整定的具體步驟
第一步: 52、確定編碼方法。
用長度為10位的二進制編碼串可以表示從0到1023之間的1024個不同的數(shù),故將的定義域離散化為1023個均等的區(qū)域,包括兩個端點在內(nèi)共有1024個不同的離散點。參數(shù)的取值范圍為[0,20],的取值范圍為[0,10],的取值范圍為[0,1]。對于從離散點0到20,依次讓它們分別對應(yīng)于從0000000000(0)到1111111111(1023)之間的二進制編碼;對于從離散點0到1,依次讓它們分別對應(yīng)于從0000000000(0)到1111111111(1023)之間的二進制編碼。用長度為10位的二進制編碼串來分別表示三個決策變量,再將它們連接在一起所組成的30位二進制數(shù)形成了 53、個體的基因型,表示一個可行解。使用這種編碼方法,解空間和遺傳算法的搜索空間具有一一對應(yīng)的關(guān)系。例如
就表示一個個體的基因型,其中前10位表示,中間10位和最后10位分別表示。
第二步:確定解碼方法。
解碼時需要先將30位長的二進制編碼串切斷為3個10位長的二進制編碼串,然后分別將它們轉(zhuǎn)換為對應(yīng)的十進制整數(shù)代碼,分別記為。依據(jù)前述個體編碼方法和對定義域的離散化方法可知,將代碼轉(zhuǎn)換為變量。根據(jù)解碼公式得:
(5.3)
第三步 54、:確定初始群體
初始化過程非常簡單,產(chǎn)生一個染色體群體,其中每個染色體都是30位的向量。每個染色體的所有30位都是隨機初始化。
第四步:評價函數(shù)
為獲取滿意的過程動態(tài)特性,采用誤差絕對值時間積分性能作為參數(shù)選擇的最小目標(biāo)函數(shù)。為了防止控制能量過大,在目標(biāo)函數(shù)中加入控制輸入的平方項。選用下式作為參數(shù)選取的最優(yōu)指標(biāo):
(5.6)
式中,為系統(tǒng)誤差,為控制器輸出,為上升時間,為權(quán)值。
為了避免超調(diào),采用了懲罰功能,即一旦產(chǎn)生超調(diào),將超調(diào)量作為最優(yōu)指標(biāo)的一項,此時最優(yōu)指標(biāo)為
55、 (5.7)
式中,為權(quán)值,且。取,,,。
適應(yīng)函數(shù)值,取。評價函數(shù)起著環(huán)境的作用,它們的適應(yīng)值被用來評價潛在解。例如,三個染色體:
分別把對應(yīng)的值代入中。我們選擇評價值最好的染色體作為父代進行復(fù)制。
第五步:確定遺傳算子。
在遺傳算法的變化階段,我們將使用兩個經(jīng)典的遺傳算子:變異交叉。變異以等于變異率的概率改變?nèi)旧w上的一位或多位上的基因。假定選擇染色體上第5位基因來進行變異。變異后將變成
再將該染色體的適應(yīng)值于的比較,取優(yōu)秀的進行復(fù)制。
下面以染色體和來說明交叉算子。假定交叉點隨機地選擇在第5位后:
產(chǎn)生的兩個子代是:
選取適應(yīng)值比其父代優(yōu)秀的進行 56、復(fù)制。
5.2仿真結(jié)果
采用二進制編碼方式,用長度為10位的二進制編碼串來分別表示三個決策變量。遺傳算法中使用的樣本個數(shù)Size=30,交叉概率和變異概率分別為:。參數(shù)的取值范圍為[0,20],的取值范圍為[0,1],取,,,。經(jīng)過100代進化,獲得的優(yōu)化參數(shù)如下:最優(yōu)個體為:
BestS=[011011101100001110000000000000]
PID優(yōu)化參數(shù)為,性能指標(biāo)
5.3遺傳算法整定PID參數(shù)的程序
%pid.m
%GA(Generic Algorithm) Program is to optimize Parameters of PID
clear all; 57、
close all;global rin yout timef
G=100;
Size=30;
CodeL=10;
MinX(1)=zeros(1);
MaxX(1)=20*ones(1);
MinX(2)=zeros(1);
MaxX(2)=10*ones(1);
MinX(3)=zeros(1);
MaxX(3)=1.0*ones(1);
E=round(rand(Size,3*CodeL)); %Initial Code!
BsJ=0;
for kg=1:1:G
time(kg)=kg;
for s=1:1:Size
m=E(s,:);
y1=0 58、;y2=0;y3=0;
m1=m(1:1:CodeL);
for i=1:1:CodeL
y1=y1+m1(i)*2^(i-1);
end
Kpid(s,1)=(MaxX(1)-MinX(1))*y1/1023+MinX(1);
m2=m(CodeL+1:1:2*CodeL);
for i=1:1:CodeL
y2=y2+m2(i)*2^(i-1);
end
Kpid(s,2)=(MaxX(2)-MinX(2))*y2/1023+MinX(2);
m3=m(2*CodeL+1:1:3*CodeL);
for i=1:1:CodeL
y3=y3+m3(i)*2^(i-1 59、);
end
Kpid(s,3)=(MaxX(3)-MinX(3))*y3/1023+MinX(3);
%****** Step 1 : Evaluate BestJ ******
Kpidi=Kpid(s,:);
[Kpidi,BsJ]=pidzi(Kpidi,BsJ);
BsJi(s)=BsJ;
end
[OderJi,IndexJi]=sort(BsJi);
BestJ(kg)=OderJi(1);
BJ=BestJ(kg);
Ji=BsJi+1e-10;
fi=1./Ji;
% Cm=max(Ji);
% fi=Cm-Ji; 60、 %Avoiding deviding zero
[Oderfi,Indexfi]=sort(fi); %Arranging fi small to bigger
% Bestfi=Oderfi(Size); %Let Bestfi=max(fi)
% BestS=Kpid(Indexfi(Size),:); %Let BestS=E(m), m is the Indexfi belong to max(fi)
Bestfi=Oderfi(Size); % Let Bestfi=max(fi) 61、
BestS=E(Indexfi(Size),:); % Let BestS=E(m), m is the Indexfi belong to max(fi)
kg
BJ
BestS;
%****** Step 2 : Select and Reproduct Operation******
fi_sum=sum(fi);
fi_Size=(Oderfi/fi_sum)*Size;
fi_S=floor(fi_Size); %Selecting Bigger round fi value
kk=1;
for i 62、=1:1:Size
for j=1:1:fi_S(i) %Select and Reproduce
TempE(kk,:)=E(Indexfi(i),:);
kk=kk+1; %kk is used to reproduce
end
end
%************ Step 3 : Crossover Operation ************
pc=0.60;
n=ceil(20*rand);
for i=1:2:(Size-1)
temp=rand;
if 63、pc>temp %Crossover Condition
for j=n:1:20
TempE(i,j)=E(i+1,j);
TempE(i+1,j)=E(i,j);
end
end
end
TempE(Size,:)=BestS;
E=TempE;
%************ Step 4: Mutation Operation **************
%pm=0.001;
pm=0.001-[1:1:Size]*(0.001)/Size; %Bigger fi, s 64、maller pm
%pm=0.0; %No mutation
%pm=0.1; %Big mutation
for i=1:1:Size
for j=1:1:3*CodeL
temp=rand;
if pm>temp %Mutation Condition
if TempE(i,j)==0
TempE(i,j)=1;
else
TempE(i,j)=0;
65、 end
end
end
end
%Guarantee TempE(Size,:) belong to the best individual
TempE(Size,:)=BestS;
E=TempE;
end
Bestfi
BestS
Kpidi
Best_J=BestJ(G)
子程序:
function [Kpidi,BsJ]=pid_gaf(Kpidi,BsJ)
global rin yout timef
ts=0.001;
sys=tf(83.33,[3.19,113.88,1]);
dsys=c2d(s 66、ys,ts,z);
[num,den]=tfdata(dsys,v);
rin=1.0;
u_1=0.0;u_2=0.0;
y_1=0.0;y_2=0.0;
x=[0,0,0];
B=0;
error_1=0;
tu=1;
s=0;
P=100;
for k=1:1:P
timef(k)=k*ts;
r(k)=rin;
u(k)=Kpidi(1)*x(1)+Kpidi(2)*x(2)+Kpidi(3)*x(3);
if u(k)>=10
u(k)=10;
end
if u(k)<=-10
u(k)=-10;
end
yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;
error(k)=r(k)-yout(k);
%------------ Return of PID parameters -------------
u_2=u_1;u_1=u(k);
y_2=y_1;y
- 溫馨提示:
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)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 領(lǐng)導(dǎo)班子2024年度民主生活會對照檢查材料范文(三篇)
- 金融工作主題黨課講稿范文(匯編)
- 鍋爐必備學(xué)習(xí)材料
- 鍋爐設(shè)備的檢修
- 主題黨課講稿:走中國特色金融發(fā)展之路加快建設(shè)金融強國(范文)
- 鍋爐基礎(chǔ)知識:啟爐注意事項技術(shù)問答題
- 領(lǐng)導(dǎo)班子2024年度民主生活會“四個帶頭”對照檢查材料范文(三篇)
- 正常運行時影響鍋爐汽溫的因素和調(diào)整方法
- 3.鍋爐檢修模擬考試復(fù)習(xí)題含答案
- 司爐作業(yè)人員模擬考試試卷含答案-2
- 3.鍋爐閥門模擬考試復(fù)習(xí)題含答案
- 某公司鍋爐安全檢查表
- 3.工業(yè)鍋爐司爐模擬考試題庫試卷含答案
- 4.司爐工考試題含答案解析
- 發(fā)電廠鍋爐的運行監(jiān)視和調(diào)整