2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  第一章 緒論</b></p><p>  1.1 課題研究對象</p><p>  PID控制是最早發(fā)展起來的控制策略之一,由于其算法簡單,魯棒性好及可靠性高,被廣泛應(yīng)用于過程控制與運(yùn)動控制中,尤其適用于可建立精確數(shù)學(xué)模型的確定性系統(tǒng)。然而實際工業(yè)生產(chǎn)過程中往往具有非線性、時變不確定性,難以建立精確的數(shù)學(xué)模型,應(yīng)用常規(guī)的PID控制器不能

2、達(dá)到理想的控制效果,而且在實際生產(chǎn)現(xiàn)場中,由于受到參數(shù)整定方法的復(fù)雜的困擾,常規(guī)PID控制器參數(shù)往往整定不良、性能不佳,對運(yùn)行工況的實用性很差[1]。</p><p>  現(xiàn)代中小規(guī)模的控制工程通常采用基于IPC的控制系統(tǒng),系統(tǒng)具有數(shù)據(jù)采集、控制與管理功能。如能進(jìn)一步采用先進(jìn)控制算法,便可以設(shè)計出低成本的先進(jìn)控制系統(tǒng)。</p><p>  在該課題中,被控對象為電加熱器,要對其實現(xiàn)高精度的

3、恒溫控制,且調(diào)節(jié)時間盡可能短。硬件采用ADVANTECH的IPC和PCL-1800多功能卡,用VB編寫基于遺傳算法整定的PID控制算法的控制程序,主要是采用實數(shù)編碼。</p><p>  1.2 PID整定方法的發(fā)展</p><p>  在工程實際中,應(yīng)用最為廣泛的調(diào)節(jié)器控制規(guī)律為比例積分微分控制,簡稱PID控制,又稱PID調(diào)節(jié)。</p><p>  PID控制器問

4、世至今已有近60年的歷史了,它以其結(jié)構(gòu)簡單、穩(wěn)定性好、工作可靠、調(diào)整方便而成為工業(yè)控制主要和可靠的技術(shù)工具。當(dāng)被控對象的結(jié)構(gòu)和參數(shù)不能完全掌握,或得不到精確的數(shù)學(xué)模型時,控制理論的其它設(shè)計技術(shù)難以使用,系統(tǒng)的控制器的結(jié)構(gòu)和參數(shù)必須依靠經(jīng)驗和現(xiàn)場調(diào)試來確定,這時應(yīng)用PID控制技術(shù)最為方便。即當(dāng)我們不完全了解一個系統(tǒng)和被控對象﹐或不能通過有效的測量手段來獲得系統(tǒng)的參數(shù)的時候,便最適合用PID控制技術(shù)【2】。 </p><

5、p>  隨著計算機(jī)技術(shù)和最優(yōu)控制理論的發(fā)展,PID參數(shù)的整定方法發(fā)生了很大的變化,出現(xiàn)了一些基于計算機(jī)的PID參數(shù)最優(yōu)整定方法。最優(yōu)控制理論的應(yīng)用,加上計算機(jī)的高速運(yùn)算能力,賦予了PID參數(shù)優(yōu)化這樣的多變量最優(yōu)化問題新的生命力,PID控制器的最優(yōu)化整定方法是針對特定的系統(tǒng)建立數(shù)學(xué)模型,運(yùn)用各種數(shù)值解法按照一定的性能指標(biāo)進(jìn)行優(yōu)化。常用的性能指標(biāo)有各種積分型指標(biāo),如ISE、IAE、ISTE、ITAE等指標(biāo)。近年來,隨著智能控制理論的發(fā)

6、展,專家系統(tǒng)、模糊控制以及神經(jīng)網(wǎng)絡(luò)日益受到控制界的重視,出現(xiàn)了一些智能優(yōu)化手段,主要有專家智能型PID參數(shù)自整定技術(shù)、基于模糊推理的PID自尋優(yōu)技術(shù)、其他的如啟發(fā)式搜索、霍普費爾德神經(jīng)網(wǎng)絡(luò)、模擬退火、遺傳算法(GA)智能整定技術(shù)。</p><p>  1.3 VB主要功能和特點</p><p>  Visual Basic 是Microsoft 公司開發(fā)的Windows 應(yīng)用程序開發(fā)工

7、具,Visual ——“可視化的”,是一種開發(fā)圖形戶界面(GUI)的方法。1991年推出 VB1.0,1992、1993、1995、1997、1998,2000相繼推出:2.0, 3.0, 4.0, 5.0, 6.0,VB.Net(7.0)版本。5.0 ,6.0包含三種版本(學(xué)習(xí)版、專業(yè)版和企業(yè)版)</p><p>  英文Visual的意思是“視覺的”,“可視的Baisc”這個名字可能抽象了點,但實際上它卻是

8、最直觀的編程方法,之所以叫做“可視”,你只要看到VB的界面就會明白,實際上你無需編程,就可以完成許多步驟。</p><p>  在VB中引入了控件的概念,在Windows中控件的身影無處不在,如按鈕、文本框等,VB把這些控件模式化,并且每個控件都有若干屬性用來控制控件的外觀,工作方法,能夠響應(yīng)用戶操作(事件)。這樣你就可以象在畫板上一樣,隨意點幾下鼠標(biāo),一個按鈕就完成了,這些在以前的編程語言下是要經(jīng)過相當(dāng)復(fù)雜的工

9、作的。</p><p><b>  VB的特點如下:</b></p><p>  1. 具有面向?qū)ο蟮目梢暬O(shè)計工具;</p><p>  2. 事件驅(qū)動的編程機(jī)制;</p><p>  3. 提供了易學(xué)易用的應(yīng)用程序集成開發(fā)環(huán)境;</p><p>  4. 結(jié)構(gòu)化的程序設(shè)計語言;</p&g

10、t;<p>  5. 支持多種數(shù)據(jù)庫系統(tǒng)的訪問;</p><p>  6. Active技術(shù);</p><p>  7. VB 6.0在開發(fā)環(huán)境上、網(wǎng)絡(luò)功能等的增強(qiáng);</p><p>  8. 完備的help聯(lián)機(jī)幫助功能。</p><p>  Visual Basic6.0的新特性 </p><p>  

11、1.數(shù)據(jù)訪問的新特性 </p><p>  2. Internet功能的增強(qiáng) </p><p>  3.控件、語言和向?qū)Х矫娴男略鎏匦?lt;/p><p>  4.高度可移植化的代碼 </p><p>  5.創(chuàng)建ActiveX控件更加輕松方便 </p><p>  6.在線幫助更加完善。 </p><

12、p>  我們知道現(xiàn)代中小規(guī)模的控制工程通常采用基于IPC的控制系統(tǒng),系統(tǒng)具有數(shù)據(jù)采集、控制與管理功能。如能進(jìn)一步采用先進(jìn)控制算法如遺傳算法,便可以設(shè)計出低成本的先進(jìn)控制系統(tǒng)。但是目前,關(guān)于遺傳算法的書籍大部分都針對它的理論方面。主要是采用MATLAB進(jìn)行編程仿真。雖然可以取得很好的仿真效果,但畢竟缺少使用性。而采用VB編程實現(xiàn),可以提供一個很好的人機(jī)界面,并且需要時即可以與外接設(shè)備進(jìn)行連接通訊,這樣便可以投入到應(yīng)用中。因此,鑒于實

13、用性方面的考慮,最后以VB進(jìn)行編制程序。</p><p>  圖1-1 VB集成開發(fā)環(huán)境</p><p>  1.4 PID參數(shù)的遺傳算法尋優(yōu)</p><p>  遺傳算法(GA)是一種建立在生物界自然選擇原理和自然遺傳機(jī)制的隨機(jī)化搜索法,它模擬了生物界中的生命進(jìn)化機(jī)制,在人工系統(tǒng)中實現(xiàn)特定目標(biāo)的優(yōu)化。遺傳算法是一個迭代過程,遺傳操作是在種群中進(jìn)行的,產(chǎn)生初始種群,

14、規(guī)模為N,即種群由N個個體組成,經(jīng)GA操作,生成一代一代新種群(每代N個個體)。從每一代種群中選出適應(yīng)度f高的優(yōu)質(zhì)個體,在解空間中,直到滿足要求的收斂指標(biāo),即得到問題最優(yōu)解【2】。</p><p>  在運(yùn)用遺傳算法對PID參數(shù)尋優(yōu)的個體評價過程中,許多個體所對應(yīng)的參數(shù)都可能使實際過程系統(tǒng)失控,這在應(yīng)用中是不能接受的,因此采用的是基于模型的PID控制器參數(shù)優(yōu)化,對過程不產(chǎn)生任何影響;同時優(yōu)化是基于模型,對模型響應(yīng)

15、的評價大大加快,可以在較短的時間得到最優(yōu)化結(jié)果。 PID控制器參數(shù)的優(yōu)化設(shè)計是一個組合優(yōu)化問題。遺傳算法求解組合優(yōu)化問題所涉及的主要問題有參數(shù)編碼方案、適應(yīng)度函數(shù)設(shè)計、遺傳算法參數(shù)選擇等。在優(yōu)化問題的實際應(yīng)用中,合理處理以上問題,構(gòu)造合適的遺傳算法框架,是遺傳算法的關(guān)鍵所在。</p><p><b>  遺傳算法概述</b></p><p>  2.1 什么是

16、遺傳算法 </p><p>  遺傳算法(genetic algorithms)簡稱GA。我們知道達(dá)爾文的自然選擇學(xué)說是一種被人們廣泛接受的生物進(jìn)化學(xué)說。這種學(xué)說認(rèn)為,生物要生存下去,就必須進(jìn)行生存斗爭。生存斗爭包括種內(nèi)斗爭、種間斗爭以及生物跟無機(jī)環(huán)境之間的斗爭三個方面。在生存斗爭中,具有有利變異的個體容易存活下來,并且有更多的機(jī)會將有利變異傳給后代;具有不利變異的個體就容易被淘汰,產(chǎn)生后代的機(jī)會也少的多。因此,

17、凡是在生存斗爭中獲勝的個體都是對環(huán)境適應(yīng)性比較強(qiáng)的。達(dá)爾文把這種在生存斗爭中適者生存,不適者淘汰的過程叫做自然選擇。它表明,遺傳和變異是決定生物進(jìn)化的內(nèi)在因素。自然界中的多種生物之所以能夠適應(yīng)環(huán)境而得以生存進(jìn)化,是和遺傳和變異生命現(xiàn)象分不開的。正是生物的這種遺傳特性,使生物界的物種能夠保持相對的穩(wěn)定;而生物的變異特性,使生物個體產(chǎn)生新的性狀,以致于形成新的物種,推動了生物的進(jìn)化和發(fā)展。遺傳算法是模擬達(dá)爾文的遺傳選擇和自然淘汰的生物進(jìn)化過

18、程的計算模型。它的思想源于生物遺傳學(xué)和適者生存的自然規(guī)律,是具有“生存+檢測”的迭代過程的搜索算法。遺傳算法以一種群體中的所有個體為對象,并利用隨機(jī)化技術(shù)指導(dǎo)對一個被編碼的參數(shù)</p><p>  2.2 遺傳算法的發(fā)展.</p><p>  早在20世紀(jì)50年代就有將進(jìn)化原理應(yīng)用于計算機(jī)科學(xué)的努力,但缺乏一種普遍的編碼方法,只能依賴于變異而非交配產(chǎn)生新的基因結(jié)構(gòu)。50年代末到60年代初

19、,受一些生物學(xué)家用計算機(jī)對生物系統(tǒng)進(jìn)行模擬的啟發(fā),Holland開始應(yīng)用模擬遺傳算子研究適應(yīng)性。在Bagley1967年關(guān)于自適應(yīng)下棋程序的論文中,他應(yīng)用遺傳算法搜索下棋游戲評價函數(shù)的參數(shù)集,并首次提出了遺傳算法這一術(shù)語。1975年Holland出版了遺傳算法歷史上的經(jīng)典著作《自然和人工系統(tǒng)中的適應(yīng)性》,系統(tǒng)闡述了遺傳算法的基本理論和方法,并提出了模式定理(schemata theorem),證明在遺傳算子選擇、交叉和變異的作用下,具有

20、低階、短定義距以及平均適應(yīng)度高于群體平均適應(yīng)度的模式在子代中將以指數(shù)級增長,這里的模式是某一類字符串,其某些位置有相似性。同年,DeJong完成了他的博士論文《遺傳自適應(yīng)系統(tǒng)的行為分析》,將Holland的模式理論與他的計算試驗結(jié)合起來,進(jìn)一步完善了選擇、交叉和變異操作,提出了一些新的遺傳操作技術(shù)。</p><p>  進(jìn)入80年代后,遺傳算法得到了迅速發(fā)展,不僅理論研究十分活躍,而且在越來越多的應(yīng)用領(lǐng)域中得到應(yīng)

21、用。1983年,Holland的學(xué)生Goldberg將遺傳算法應(yīng)用于管道煤氣系統(tǒng)的優(yōu)化,很好地解決了這一非常復(fù)雜的問題。1989年,Goldberg出版了《搜索、優(yōu)化和機(jī)器學(xué)習(xí)中的遺傳算法》一書,這本可能是遺傳算法領(lǐng)域被引用次數(shù)最多的書為這一領(lǐng)域奠定了堅實的科學(xué)基礎(chǔ)。80年代中期,Axelrod和Forrest合作,采用遺傳算法研究了博奕論中的一個經(jīng)典問題--囚徒困境。在機(jī)器學(xué)習(xí)方面,Holland自提出遺傳算法的基本理論后就致力于研究

22、分類器系統(tǒng)(classifier system),Holland 希望系統(tǒng)能將外界刺激進(jìn)行分類,然后送到需要的地方去,因此命名為分類器系統(tǒng),這里的classifier是指一個二進(jìn)制串,代表一類情況。分類器系統(tǒng)將某一條件是否為真與串的某一位相對應(yīng),從而將產(chǎn)生式系統(tǒng)中的規(guī)則編碼為二進(jìn)制串,這樣就可以應(yīng)用遺傳算法來進(jìn)行演化,同時引入了基于經(jīng)濟(jì)學(xué)原理的信用分配機(jī)制--桶隊(bucket brigade)算法來確定規(guī)則的相對強(qiáng)度[4]。</

23、p><p>  Holland和Santa Fe的Arthur等人合作,用分類器系統(tǒng)模擬了一些經(jīng)濟(jì)現(xiàn)象,得到了滿意的結(jié)果。遺傳算法已有了許多發(fā)展,但一般來說,其基本過程是:首先采用某種編碼方式將解空間映射到編碼空間(可以是位串、實數(shù)、有序串、樹或圖,Holland最初的遺傳算法是基于二進(jìn)制串的,類似于生物染色體結(jié)構(gòu),易于用生物遺傳理論解釋,各種遺傳操作也易于實現(xiàn)。另外,可以證明,采用二進(jìn)制編碼式,算法處理的模式最多。

24、但是,在具體問題中,直接采用解空間的形式進(jìn)行編碼,可以直接在解的表現(xiàn)型上進(jìn)行遺傳操作,從而易于引入特定領(lǐng)域的啟發(fā)式信息,可以取得比二進(jìn)制編碼更高的效率。實數(shù)編碼一般用于數(shù)值優(yōu)化,有序串編碼一般用于組合優(yōu)化。),每個編碼對應(yīng)問題的一個解,稱為染色體或個體。一般通過隨機(jī)方法確定起始的一群個體,稱為種群,在種群中根據(jù)適應(yīng)值或某種競爭機(jī)制選擇個體(適應(yīng)值就是解的滿意程度,可以由外部顯式適應(yīng)度函數(shù)計算,也可以由系統(tǒng)本身產(chǎn)生,如由協(xié)同演化時不同對策

25、的博奕確定,或者由個體在群體中的存活量和繁殖量確定。),使用各種遺傳操作算子(包括雜交,變異,倒位等等)產(chǎn)生下一代(下一代可以完全替代原種群,即非重疊種群;</p><p>  遺傳算法發(fā)展的簡要回顧1950s,將進(jìn)化原理應(yīng)用于計算機(jī)科學(xué)的初步努力。50年代末到60年代初,Holland應(yīng)用模擬遺傳算子研究適應(yīng)性。1967年,Bagley的論文中首次提出了遺傳算法這一術(shù)語。1975年,Holland的經(jīng)典

26、著作《自然和人工系統(tǒng)中的適應(yīng)性》出版,系統(tǒng)闡述了遺傳算法的基本理論和方法。1975年,DeJong的博士論文《遺傳自適應(yīng)系統(tǒng)的行為分析》,將Holland的模式理論與他的計算試驗結(jié)合起來。1983年,Holland的學(xué)生Goldberg將遺傳算法應(yīng)用于管道煤氣系統(tǒng)的優(yōu)化,取得了很好的效果。</p><p>  2.3遺傳算法的研究方向及應(yīng)用領(lǐng)域</p><p>  在遺傳算法的研究中,

27、可以看到主要有三類研究方向:1. 研究遺傳算法本身的理論基礎(chǔ)。2. 用遺傳算法作為工具解決工程問題,主要是進(jìn)行優(yōu)化,關(guān)心的是是否能在傳統(tǒng)方法上有所提高。3. 用遺傳算法研究演化現(xiàn)象,一般涉及到人工生命和復(fù)雜性科學(xué)領(lǐng)域。</p><p>  遺傳算法的一些應(yīng)用領(lǐng)域,主要在以下幾個方面:</p><p>  控制方面:煤氣管道控制,防避導(dǎo)彈控制,機(jī)器人控制</p><

28、p>  規(guī)劃方面:生產(chǎn)規(guī)劃,并行機(jī)任務(wù)分配</p><p>  設(shè)計方面:VLSI布局,背包問題,圖劃分問題</p><p>  圖像處理:模式識別,特征抽取</p><p>  信號處理:濾波器設(shè)計</p><p>  機(jī)器人方面:路徑規(guī)劃</p><p>  人工生命:生命的遺傳進(jìn)化</p>&

29、lt;p>  人工神經(jīng)網(wǎng)絡(luò):權(quán)值訓(xùn)練和網(wǎng)絡(luò)結(jié)構(gòu)生成</p><p>  2.4遺傳算法的主要步驟</p><p>  編碼:它首先采用某種編碼方式將解空間映射到編碼空間。它可以是位串、實數(shù)、有序串、樹或圖,Holland最初的遺傳算法是基于二進(jìn)制串的,類似于生物染色體結(jié)構(gòu),易于用生物遺傳理論解釋,各種遺傳操作也易于實現(xiàn)。另外,可以證明,采用二進(jìn)制編碼式,算法處理的模式最多。但是,在具

30、體問題中,直接采用解空間的形式進(jìn)行編碼,可以直接在解的表現(xiàn)型上進(jìn)行遺傳操作,從而易于引入特定領(lǐng)域的啟發(fā)式信息,可以取得比二進(jìn)制編碼更高的效率。實數(shù)編碼一般用于數(shù)值優(yōu)化,有序串編碼一般用于組合優(yōu)化。</p><p>  初始群體的生成:每個編碼對應(yīng)問題的一個解,稱為染色體或個體。一般通過隨機(jī)方法確定起始的一群個體,稱為種群。隨機(jī)產(chǎn)生N個初始串結(jié)構(gòu)數(shù)據(jù),每個串結(jié)構(gòu)數(shù)據(jù)稱為一個個體, N個個體構(gòu)成了一個群體。GA以這N

31、個串結(jié)構(gòu)數(shù)據(jù)作為初始點開始迭代。</p><p>  適應(yīng)性值評估檢測:適應(yīng)性函數(shù)表明個體或解的優(yōu)劣性。不同的問題,適應(yīng)性函數(shù)的定義方式也不同。</p><p>  復(fù)制選擇:選擇的目的是為了從當(dāng)前群體中選出優(yōu)良的個體,使它們有機(jī)會作為父代為下一代繁殖子孫。遺傳算法通過選擇過程體現(xiàn)這一思想,進(jìn)行選擇的原則是適應(yīng)性強(qiáng)的個體為下一代貢獻(xiàn)一個或多個后代的概率大。選擇實現(xiàn)了達(dá)爾文的適者生存原則。&

32、lt;/p><p>  交換:交換操作是遺傳算法中最主要的遺傳操作。通過交換操作可以得到新一代個體,新個體組合了其父輩個體的特性。交換體現(xiàn)了信息交換的思想。</p><p>  變異:變異首先在群體中隨機(jī)選擇一個個體,對于選中的個體以一定的概率隨機(jī)地改變串結(jié)構(gòu)數(shù)據(jù)中某個串的值。同生物界一樣,GA中變異發(fā)生的概率很低,通常取值在0.001~0.01之間。變異為新個體的產(chǎn)生提供了機(jī)會。</p

33、><p>  第三章遺傳算法的原理與實現(xiàn)</p><p><b>  3.1基本算法</b></p><p>  利用遺傳算法解最優(yōu)化問題,首先應(yīng)對可行域中的個體進(jìn)行編碼,然后在可行域中隨機(jī)挑選指定群體大小的一些個體組成作為進(jìn)化起點的第一代群體,并計算每個個體的目標(biāo)函數(shù)值,即該個體的適應(yīng)度。接著就像自然界中一樣,利用選擇機(jī)制從群體中隨機(jī)挑選個體作為

34、繁殖過程前的個體樣本。選擇機(jī)制保證適應(yīng)度較高的個體能夠保留較多的樣本;而適應(yīng)度較低的個體則保留較少的樣本,甚至被淘汰。在接下去的繁殖過程中,遺傳算法提供了交叉和變異兩種算法對挑選后的樣本進(jìn)行交換和基因突變[5]。交叉算法交換隨機(jī)挑選的兩個個體的某些位,變異算子則直接對一個個體中的隨機(jī)挑選的某一位進(jìn)行突變。這樣通過選擇和繁殖就產(chǎn)生了下一代群體。重復(fù)上述選擇和繁殖過程,直到結(jié)束條件得到滿足為止。進(jìn)化過程最后一代中的最優(yōu)解就是用遺傳算法解最優(yōu)

35、化問題所得到的最終結(jié)果。</p><p>  遺傳算法的準(zhǔn)備工作: 1)數(shù)據(jù)轉(zhuǎn)換操作,包括表現(xiàn)型到基因型的轉(zhuǎn)換和基因型到表現(xiàn)型的轉(zhuǎn)換。前者是把求解空間中的參數(shù)轉(zhuǎn)化成遺傳空間中的染色體或者個體(encoding),后者是它的逆操作(decoding)2)確定適應(yīng)度計算函數(shù),可以將個體值經(jīng)過該函數(shù)轉(zhuǎn)換為該個體的適應(yīng)度,該適應(yīng)度的高低要能充分反映該個體對于解得優(yōu)秀程度。遺傳算法的基本步驟遺傳算法是具有"

36、;生成+檢測"(generate-and-test)的迭代過程的搜索算法。</p><p>  基本過程為:1)編碼,創(chuàng)建初始集團(tuán)2)集團(tuán)中個體適應(yīng)度計算3)評估適應(yīng)度4)根據(jù)適應(yīng)度選擇個體5)被選擇個體進(jìn)行交叉繁殖,6)在繁殖的過程中引入變異機(jī)制7)繁殖出新的集團(tuán),回到第二步</p><p>  圖3-1 遺傳算法的過程</p><p> 

37、 3.2遺傳算法的構(gòu)成要素</p><p>  通過前面的介紹我們知道,遺傳算法的主要步驟包括編碼、初始群體的生成、適應(yīng)性值評估檢測、復(fù)制選擇、交換、變異。因此,遺傳算法的主要構(gòu)成要素有染色體編碼方法,個體適應(yīng)度評價,遺傳算子和遺傳算法的運(yùn)行參數(shù)。</p><p>  3.2.1染色體編碼方法及初始化</p><p>  遺傳算法中一般有以下幾種編碼方式</p

38、><p>  o二進(jìn)制編碼o實型編碼o有序編碼o變長串編碼o樹型編碼</p><p>  下面主要介紹二進(jìn)制編碼和實型編碼方式</p><p>  二進(jìn)制編碼:用長度為10位的二進(jìn)制編碼串分別表示兩個決策變量x1和x2。10位的二進(jìn)制串可以表示從0~1023之間的1024個不同的數(shù),故將x1,x2的定義域離散化為1023個均等的區(qū)域,包括兩個斷點在內(nèi)共有1024個不同的

39、點。從離散點-2.048到離散點2.048,依次讓它們分別對應(yīng)于從0000000000(0)~111111111(1023)之間的二進(jìn)制編碼。再將分別表示x1和x2的兩個10位長的二進(jìn)制編碼串連接在一起,組成一個20位長的二進(jìn)制編碼串,就構(gòu)成了這個函數(shù)優(yōu)化問題的染色體編碼方法。使用這種編碼方法,解空間和遺傳算法的搜索空間就具有一一對應(yīng)的關(guān)系。例如:x:0000110111 1101110001就表示一個個體的基因型,其中前十位表示x1,

40、后十位表示x2[11]。</p><p>  采用二進(jìn)制編碼后需要解碼,解碼時需要將20位長的二進(jìn)制編碼串切斷為兩個10位長的二進(jìn)制編碼串,然后分別將它們轉(zhuǎn)換為對應(yīng)的二進(jìn)制整數(shù)代碼,分別記為y1和y2。依據(jù)個體編碼方法和對定義域的離散化方法可知,將代碼y轉(zhuǎn)換為x的解碼公式為:</p><p>  X=4.0968×y/1023-2.048</p><p>

41、  例如,對個體下:000110111 1101110001,它由兩個代碼組成:</p><p>  Y1=55 Y2=881</p><p>  上述兩個代碼經(jīng)過解碼后,可得到兩個實際的值:</p><p>  X1=-1.828 X2=1.476</p><p><b>  實型編碼:</b></p>

42、<p>  實型編碼算法的個體的每一位由0-9組成;</p><p>  串長由變量的個數(shù)、精度、上下界決定; </p><p>  總串(長)=所有變量的串(長)相加; </p><p>  一個變量對應(yīng)的串長計算??; </p><p>  解析一個變量串對應(yīng)的實際值 X = min + 串的結(jié)果*精度;</p>&

43、lt;p>  初始化:選擇一個群體,即選擇一個串或個體的集合bi,i=1,2,...n。這個初始的群體也就是問題假設(shè)解的集合。一般取n=30-160。通常以隨機(jī)方法產(chǎn)生串或個體的集合bi,i=1,2,...n。問題的最優(yōu)解將通過這些初始假設(shè)解進(jìn)化而求出。</p><p>  3.2.2復(fù)制(reproduction operator)</p><p>  根據(jù)適者生存原則選擇下一代的

44、個體。在選擇時,以適應(yīng)度為選擇原則。適應(yīng)度準(zhǔn)則體現(xiàn)了適者生存,不適應(yīng)者淘汰的自然法則。給出目標(biāo)函數(shù)f,則f(bi)稱為個體bi的適應(yīng)度。以為選中bi為下一代個體的次數(shù)。(1)適應(yīng)度較高的個體,繁殖下一代的數(shù)目較多。(2)適應(yīng)度較小的個體,繁殖下一代的數(shù)目較少;甚至被淘汰。這樣,就產(chǎn)生了對環(huán)境適應(yīng)能力較強(qiáng)的后代。對于問題求解角度來講,就是選擇出和最優(yōu)解較接近的中間解。</p><p>  選擇算子運(yùn)算的過程如

45、下:</p><p>  首先從舊的種群中選擇適應(yīng)度高的染色體,放入匹配集(緩沖區(qū)),為以后染色體交換、變異,產(chǎn)生新的染色體作準(zhǔn)備。選擇方法——適應(yīng)度比例法(轉(zhuǎn)輪法)某染色體被選的概率:Pc</p><p>  xi 為種群中第i個染色體</p><p>  為第i個染色體的適應(yīng)度值</p><p>  為種群種所有染色體的適應(yīng)度值之和<

46、;/p><p><b>  具體步驟</b></p><p>  1)計算各染色體適應(yīng)度值</p><p>  2)累計所有染色體適應(yīng)度值,記錄中間累加值S - mid 和最</p><p>  后累加值 sum = ∑f(xi)</p><p>  3) 產(chǎn)生一個隨機(jī)數(shù) N,0< N <

47、 sum</p><p>  4) 選擇對應(yīng)中間累加值S - mid 的第一個染色體進(jìn)入交換集</p><p>  5) 重復(fù)(3)和(4),直到獲得足夠的染色體。</p><p>  圖3-2 用轉(zhuǎn)輪方法進(jìn)行選擇</p><p>  表3-1 轉(zhuǎn)輪方法各部分比例</p><p>  以下是10個染色體種群按比例的選擇

48、過程</p><p>  表3-2被選的染色體個數(shù)</p><p>  表3-3被選的染色體</p><p>  3.2.3 交叉(crossover operator)</p><p>  復(fù)制不能創(chuàng)新,交換解決染色體的創(chuàng)新</p><p>  對于選中用于繁殖下一代的個體,隨機(jī)地選擇兩個個體的相同位置,按交叉概率P

49、。在選中的位置實行交換。這個過程反映了隨機(jī)信息交換;目的在于產(chǎn)生新的基因組合,也即產(chǎn)生新的個體。交叉時,可實行單點交叉或多點交叉。 具體步驟</p><p>  先對配對庫中的個體進(jìn)行隨機(jī)配對.然后在配對的2個個體中設(shè)置交叉點,交換2個個體的信息后產(chǎn)生下一代.比如( | 代表簡單串的交叉位置) ( 0110|1, 1100|0 ) --交叉--> (01100,11001) (

50、01|000, 11|011 ) --交叉--> (01011,11000)2個父代的個體在交叉后繁殖出了下一代的同樣數(shù)量的個體.復(fù)雜的交叉在交叉的位置,交叉的方法,雙親的數(shù)量上都可以選擇.其目的都在于盡可能的培育出更優(yōu)秀的后代。</p><p>  3.2.4變異(mutation operator)</p><p>  根據(jù)生物遺傳中基因變異的原理,以變異概率Pm對某些個體的

51、某些位執(zhí)行變異。在變異時,對執(zhí)行變異的串的對應(yīng)位求反,即把1變?yōu)?,把0變?yōu)?。變異概率Pm與生物變異極小的情況一致,所以,Pm的取值較小,一般取0.01-0.2。 例如有個體S=101011。 對其的第1,4位置的基因進(jìn)行變異,則有 S\’=001111 單靠變異不能在求解中得到好處。但是,它能保證算法過程不會產(chǎn)生無法進(jìn)化的單一群體。因為在所有的個體一樣時,交叉是無法產(chǎn)生新的個體的,這時只能靠變異產(chǎn)生新的個體。也就是說,變異增

52、加了全局優(yōu)化的特質(zhì)。</p><p>  圖3-3遺傳算法的執(zhí)行過程</p><p>  3.3 遺傳算法的應(yīng)用</p><p>  遺傳算法在很多領(lǐng)域都得到應(yīng)用;比如從神經(jīng)網(wǎng)絡(luò)研究的角度上考慮,最關(guān)心的是遺傳算法在神經(jīng)網(wǎng)絡(luò)的應(yīng)用。在遺傳算法應(yīng)用中,應(yīng)先明確其特點和關(guān)鍵問題,才能對這種算法深入了解,靈活應(yīng)用,以及進(jìn)一步研究開發(fā)[6]。</p><

53、p>  3.3.1、遺傳算法的應(yīng)用關(guān)鍵 </p><p>  遺傳算法在應(yīng)用中最關(guān)鍵的問題有如下3個 1.串的編碼方式 這本質(zhì)是問題編碼。一般把問題的各種參數(shù)用二進(jìn)制編碼,構(gòu)成子串;然后把子串拼接 構(gòu)成“染色體”串。串長度及編碼形式對算法收斂影響極大。 2.適應(yīng)函數(shù)的確定 適應(yīng)函數(shù)(fitness function)也稱對象函數(shù)(object function),這是問題求解品質(zhì)

54、的測 量函數(shù);往往也稱為問題的“環(huán)境”。一般可以把問題的模型函數(shù)作為對象函數(shù);但有時需要另行構(gòu)造。 3.遺傳算法自身參數(shù)設(shè)定 遺傳算法自身參數(shù)有3個,即群體大小n、交叉概率Pc和變異概率Pm。 群體大小n太小時難以求出最優(yōu)解,太大則增長收斂時間。一般n=30-160。交叉概率Pc 太小時難以向前搜索,太大則容易破壞高適應(yīng)值的結(jié)構(gòu)。一般取Pc=0.25-0.75。變異概 率Pm太小時難以產(chǎn)生新的基因結(jié)構(gòu),太大使遺傳算法成了單純的隨機(jī)

55、搜索。一般取Pm=0 .01—0.2。</p><p>  3.3.2遺傳算法的應(yīng)用舉例</p><p>  設(shè)函數(shù)f(x)=x^2,求其在區(qū)間[0,31]的最大值</p><p>  變異概率取0.001</p><p>  表3-4初始種群和它的適應(yīng)度值</p><p>  表3-5染色體的交叉運(yùn)算</p&g

56、t;<p>  3.4遺傳算法的不足</p><p>  遺傳算法雖然可以在多種領(lǐng)域都有實際應(yīng)用,并且也展示了它潛力和寬廣前景;但是, 遺傳算法還有大量的問題需要研究,目前也還有各種不足。首先,在變量多,取值范圍大或無給定范圍時,收斂速度下降;其次,可找到最優(yōu)解附近,但無法精確確定最擾解位置;最后,遺傳算法的參數(shù)選擇尚未有定量方法。對遺傳算法,還需要進(jìn)一步研究其數(shù)學(xué)基礎(chǔ)理論;還需要在理論上證明它與其

57、它優(yōu)化技術(shù)的優(yōu)劣及原因;還需研究硬件化的遺傳算法;以及遺傳算法的通用編程和形式等。</p><p>  第四章 基于遺傳算法的PID控制器參數(shù)優(yōu)化</p><p>  4.1什么是PID調(diào)節(jié) </p><p>  目前工業(yè)自動化水平已成為衡量各行各業(yè)現(xiàn)代化水平的一個重要標(biāo)志。同時,控制理論的發(fā)展也經(jīng)歷了古典控制理論、現(xiàn)代控制理論和智能控制理論三個階段。智能控

58、制的典型實例是模糊全自動洗衣機(jī)等。自動控制系統(tǒng)可分為開環(huán)控制系統(tǒng)和閉環(huán)控制系統(tǒng)。一個控制系統(tǒng)包括控制器﹑傳感器﹑變送器﹑執(zhí)行機(jī)構(gòu)﹑輸入輸出接口。控制器的輸出經(jīng)過輸出接口﹑執(zhí)行機(jī)構(gòu)﹐加到被控系統(tǒng)上﹔控制系統(tǒng)的被控量﹐經(jīng)過傳感器﹐變送器﹐通過輸入接口送到控制器。不同的控制系統(tǒng)﹐其傳感器﹑變送器﹑執(zhí)行機(jī)構(gòu)是不一樣的。比如壓力控制系統(tǒng)要采用壓力傳感器。電加熱控制系統(tǒng)的傳感器是溫度傳感器。目前,PID控制及其控制器或智能PID控制器(儀表)已經(jīng)很

59、多,產(chǎn)品已在工程實際中得到了廣泛的應(yīng)用,有各種各樣的PID控制器產(chǎn)品,各大公司均開發(fā)了具有PID參數(shù)自整定功能的智能調(diào)節(jié)器(intelligent regulator),其中PID控制器參數(shù)的自動調(diào)整是通過智能化調(diào)整或自校正、自適應(yīng)算法來實現(xiàn)。有利用PID控制實現(xiàn)的壓力、溫度、流量、液位控制器,能實現(xiàn)PID控制功能的可編程控制器(PLC),還有可實現(xiàn)PID控制的PC系統(tǒng)等等。 可編程控制器(PLC) 是利用其閉</p>&

60、lt;p>  4.1.1 PID調(diào)節(jié)器的三個參數(shù)</p><p>  PID控制器就是根據(jù)系統(tǒng)的誤差利用比例積分微分計算出控制量,控制器輸</p><p>  出和控制器輸入(誤差)之間的關(guān)系在時域中可用公式表示如下:</p><p>  公式中 表示誤差、控制器的輸入, 是控制器的輸出, 為比例系數(shù)、 積分時間常數(shù)、為微分時間常數(shù)。式又可表示為:</p

61、><p>  公式中 和 分別為 和 的拉氏變換, , 。 、 、 分別為控制器的比例、積分、微分系數(shù)。 </p><p>  一、比例(P)控制 </p><p>  比例控制是一種最簡單的控制方式。其控制器的輸出與輸入誤差訊號成比例關(guān)系。當(dāng)僅有比例控制時系統(tǒng)輸出存在穩(wěn)態(tài)誤差(Steady-state error)。 </p><p>  二、

62、積分(I)控制 </p><p>  在積分控制中,控制器的輸出與輸入誤差訊號的積分成正比關(guān)系。 </p><p>  對一個自動控制系統(tǒng),如果在進(jìn)入穩(wěn)態(tài)后存在穩(wěn)態(tài)誤差,則稱這個控制系統(tǒng)是有穩(wěn)態(tài)誤差的或簡稱有差系統(tǒng)(System with Steady-state Error)。為了消除穩(wěn)態(tài)誤差,在控制器中必須引入“積分項”。積分項對誤差取決于時間的積分,隨著時間的增加,積分項會增大。這樣

63、,即便誤差很小,積分項也會隨著時間的增加而加大,它推動控制器的輸出增大使穩(wěn)態(tài)誤差進(jìn)一步減小,直到等于零。 </p><p>  因此,比例+積分(PI)控制器,可以使系統(tǒng)在進(jìn)入穩(wěn)態(tài)后無穩(wěn)態(tài)誤差[7]。 </p><p>  三、微分(D)控制 </p><p>  在微分控制中,控制器的輸出與輸入誤差訊號的微分(即誤差的變化率)成正比關(guān)系。 </p>

64、<p>  自動控制系統(tǒng)在克服誤差的調(diào)節(jié)過程中可能會出現(xiàn)振蕩甚至失穩(wěn)。其原因是由于存在有較大慣性的組件(環(huán)節(jié))和(或)有滯后(delay)的組件,使力圖克服誤差的作用,其變化總是落后于誤差的變化。解決的辦法是使克服誤差的作用的變化要有些“超前”,即在誤差接近零時,克服誤差的作用就應(yīng)該是零。這就是說,在控制器中僅引入“比例”項往往是不夠的,比例項的作用僅是放大誤差的幅值,而目前需要增加的是“微分項”,它能預(yù)測誤差變化的趨勢,這樣

65、,具有比例+微分的控制器,就能夠提前使克服誤差的控制作用等于零,甚至為負(fù)值,從而避免了被控量的嚴(yán)重地沖過頭。 </p><p>  所以對有較大慣性和(或)滯后的被控對象,比例+微分(PD)的控制器能改善系統(tǒng)在調(diào)節(jié)過程中的動態(tài)特性。 </p><p>  4.1.2 PID數(shù)字控制器的參數(shù)整定</p><p>  一.采樣周期T的選擇</p><

66、p><b>  T的選擇范圍:</b></p><p>  Tmin < T < T采 < Tmax</p><p><b>  其中</b></p><p>  Tmin:應(yīng)不小于控制程序執(zhí)行時間+執(zhí)行機(jī)構(gòu)動作時間+傳感器的反應(yīng)時間</p><p>  此外還要考慮計算精度

67、等。</p><p>  T采:由采樣定理確定的采樣周期。</p><p>  Tmax:由穩(wěn)定性條件確定的采樣周期。</p><p>  實際T的選擇范圍應(yīng)在Tmin 與T采之間。</p><p>  二.PID控制器參數(shù)Kp、KI、KD的整定</p><p><b>  湊試法:</b><

68、;/p><p>  PID參數(shù)對系統(tǒng)性能指標(biāo)的影響(在只有某種控制起主要作用時)</p><p>  KP 響應(yīng)加快 太大 超調(diào)大 </p><p>  靜態(tài)誤差變小 振蕩</p><p>  KI T/TI 穩(wěn)態(tài)誤差消除加快 太大 超調(diào)大 </p>

69、<p><b>  振蕩</b></p><p>  KD TD/T 響應(yīng)加快 太大 對干擾敏感 </p><p>  超調(diào)變小 超調(diào)變大</p><p><b>  湊試法步驟</b></p><p>  湊試的先后順序是:先KP、后

70、KI、再KD。</p><p>  整定目標(biāo)是:反應(yīng)快、超調(diào)小、穩(wěn)態(tài)誤差能滿足要求。</p><p>  (1).(無積分、微分作用)逐步增大比例系數(shù)KP,若出現(xiàn)振蕩,則取KP為發(fā)生振蕩時的KP的一半,即 KP =0.5K振。</p><p> ?。?).若穩(wěn)態(tài)誤差不滿足要求,則適當(dāng)增大積分系數(shù)KI(比例系數(shù)KP可略為減小。)</p><p>

71、; ?。?).若快速性不滿足要求,則適當(dāng)增大微分系數(shù)KD。</p><p><b>  常見情況分析</b></p><p>  采用PID控制算法的控制系統(tǒng),若出現(xiàn)下列現(xiàn)象,請問應(yīng)如何整定PID參數(shù)。</p><p><b>  系統(tǒng)出現(xiàn)振蕩。</b></p><p> ?、僖话闱闆r應(yīng)適當(dāng)減小KP

72、或KI,也可適當(dāng)調(diào)整KD。②若系統(tǒng)同時又有響應(yīng)遲緩、偏差消除太慢的問題,則應(yīng)適當(dāng)增大比例系數(shù)KP、積分系數(shù)KI或微分系數(shù)KD。③采樣周期太長也會影響穩(wěn)定性,此時應(yīng)縮短采樣周期。</p><p><b>  系統(tǒng)超調(diào)太大。</b></p><p> ?、僖话闱闆r應(yīng)適當(dāng)減小KP或KI,也可適當(dāng)調(diào)整KD。②但若發(fā)現(xiàn)減小KP超調(diào)反而變大,同時系統(tǒng)又有響應(yīng)遲緩現(xiàn)象,則應(yīng)適當(dāng)增大

73、比例系數(shù)KP。</p><p>  系統(tǒng)出現(xiàn)擾動時偏差消除太慢。</p><p>  適當(dāng)增大KP或KI。</p><p><b>  對干擾太敏感。</b></p><p>  ①適當(dāng)減小Kd;②加強(qiáng)硬件與軟件抗干擾措施,例如采用軟件濾波等。</p><p>  擴(kuò)充臨界比例度法(基本步驟)

74、</p><p>  預(yù)選采樣周期T(足夠短);注意有純滯后時T應(yīng)小于純滯后時間 ?。</p><p>  增大KP 使系統(tǒng)出現(xiàn)振蕩,測臨界振蕩周期Ts與臨界比例系數(shù)Ks。</p><p>  選擇控制度(表示數(shù)字控制器相對于模擬控制器的控制效果,用兩者誤差平方之比來表示,工程用上一般可取Q=1.05)。</p><p>  擴(kuò)充響應(yīng)曲線法(

75、基本步驟)</p><p>  設(shè)一給定值并給一階躍輸入信號;</p><p><b>  測響應(yīng)曲線;</b></p><p><b>  用圖解法求與Tm;</b></p><p>  基于數(shù)學(xué)模型的方法(二階工程設(shè)計法)</p><p><b>  自整定方法

76、</b></p><p>  控制理論方法,例如,自校正PID控制算法。</p><p>  人工智能方法,例如,采用專家系統(tǒng)技術(shù)或神經(jīng)元網(wǎng)絡(luò)技術(shù)。</p><p>  4.2基于遺傳算法的PID整定</p><p>  PID控制是最早發(fā)展起來的控制策略之一,因此PID控制參數(shù)的優(yōu)化成為人們關(guān)注的問題,它直接影響控制效果的好壞,

77、并和系統(tǒng)的安全、經(jīng)濟(jì)運(yùn)行有著密不可分的關(guān)系。傳統(tǒng)的整定方法有基本的時間長度PID控制算法、變參數(shù)的PID控制算法等。這里采用基于遺傳算法整定的PID控制算法,因為采用遺傳算法進(jìn)行PID三個系數(shù)的整定,具有以下優(yōu)點:</p><p> ?。?)與單純形法相比,遺傳算法同樣具有良好的尋優(yōu)特性,且它克服了單純形法參數(shù)初值的敏感性。在初始條件選擇不當(dāng)?shù)那闆r下,遺傳算法在不需要給出調(diào)節(jié)器初始參數(shù)的情況下,仍能尋找到合適的參

78、數(shù),使控制目標(biāo)滿足要求。</p><p> ?。?)與專家整定法相比,它具有操作方便,速度快的優(yōu)點,不需要復(fù)雜的規(guī)則,只通過簡單的復(fù)制、交叉、變異,便可以達(dá)到尋優(yōu)。避免了專家整定法中前期大量知識庫整理工作及大量的仿真實驗。</p><p> ?。?)遺傳算法是從多點開始并行操作,在解空間具有高效啟發(fā)式搜索,克服了從單點出發(fā)的弊端及搜索的盲目性。從而使尋優(yōu)速度更快,避免了過早陷入局部最優(yōu)解。

79、</p><p>  (4)遺傳算法不僅適用于單目標(biāo)尋優(yōu),而且也適用于多目標(biāo)尋優(yōu),根據(jù)不同的控制系統(tǒng),針對一個或多個目標(biāo),遺傳算法均能夠在規(guī)定的范圍內(nèi)尋找到合適參數(shù)。</p><p>  目前,遺傳算法作為一種全局優(yōu)化算法,得到越來越多的應(yīng)用。近年來,遺傳算法在控制上的應(yīng)用日益增多。</p><p>  4.3 基于遺傳算法的PID整定原理</p>&

80、lt;p>  1.參數(shù)的確定及表示</p><p>  首先確定參數(shù)范圍,該范圍一般是由用戶給定的,然后由精度的要求,對其編碼。</p><p><b>  2.選取初始種群</b></p><p>  因為需要編程來實現(xiàn)各過程,所以采用計算機(jī)隨機(jī)產(chǎn)生種群。</p><p><b>  3.適配函數(shù)的確定

81、</b></p><p>  一般的尋優(yōu)方法在約束條件下可以求得滿足條件的一組參數(shù),在設(shè)計中是從改組參數(shù)中尋找一個最好的。衡量一個控制系統(tǒng)的指標(biāo)有三個,即穩(wěn)定性、準(zhǔn)確性和快速性。而上升時間反映了系統(tǒng)的快速性,上升時間越短,控制進(jìn)行的就越快,系統(tǒng)的品質(zhì)也就越好。但是如果單純的追求系統(tǒng)的動態(tài)特性,得到的參數(shù)很可能使控制信號過大,在實際應(yīng)用中會因系統(tǒng)中固有的飽和特性而導(dǎo)致系統(tǒng)不穩(wěn)定,為了防止控制能量過大,在

82、目標(biāo)函數(shù)中加入控制量[8]。因此為了使控制效果更好,我們給出了控制量、誤差和上升時間作為約束條件。因為適應(yīng)函數(shù)與目標(biāo)函數(shù)相關(guān),所以目標(biāo)函數(shù)確定以后,直接將其作為適配函數(shù)進(jìn)行參數(shù)尋優(yōu)。最優(yōu)的控制參數(shù)也就是在滿足約束條件下使f(x)最大時,x對應(yīng)的控制器參數(shù)[13]。</p><p>  利用遺傳算法優(yōu)化KP,KI,KD的具體步驟如下</p><p>  確定每個參數(shù)的大致范圍和編碼長度,進(jìn)行

83、編碼</p><p>  隨機(jī)產(chǎn)生n各個體構(gòu)成初始種群P(0)</p><p>  將種群中各個體解碼成對應(yīng)的參數(shù)值,用次參數(shù)求代價函數(shù)值J及適應(yīng)函數(shù)值f,取f=1/J</p><p>  應(yīng)用復(fù)制、交叉、變異算子對種群P(t)進(jìn)行操作,產(chǎn)生下一代種群p(t+1)</p><p>  重復(fù)步驟3和4,直至參數(shù)收斂或達(dá)到預(yù)定的目標(biāo)。</p

84、><p>  4.4 PID控制算法的程序?qū)崿F(xiàn)</p><p>  在考慮PID控制算法的程序?qū)崿F(xiàn)時,可將PID控制算式改寫成:</p><p>  其中KP:比例系數(shù)</p><p><b>  Ki:積分系數(shù)</b></p><p><b>  Kd:微分系數(shù)</b><

85、;/p><p>  PID控制算式還可改寫成:</p><p>  其中KP:比例系數(shù)</p><p>  Kip:積分系數(shù)Ki與比例系數(shù)KP之比值</p><p>  Kdp:微分系數(shù)Kd與比例系數(shù)KP之比值</p><p>  在針對某種對象經(jīng)過多次試驗歸納出比較好的Kip與Kdp的經(jīng)驗數(shù)據(jù)后,式(5.3.2)的參數(shù)

86、整定可采用歸一參數(shù)整定法。</p><p>  PID控制程序的調(diào)試可采用仿真調(diào)試法,即物理仿真調(diào)試或數(shù)字仿真調(diào)試。</p><p>  設(shè)被控對象的傳遞函數(shù)為:</p><p><b>  。</b></p><p>  取采樣周期T=5秒。則廣義對象的z傳遞函數(shù)為:</p><p>  數(shù)字仿

87、真所需的被控制量的差分表達(dá)式為:</p><p>  y(k)=0.9927y(k-1)+0.00905u(k-27) </p><p>  4.5 基于實數(shù)編碼遺傳算法的PID整定原理</p><p>  本例中被控對象為一階模型</p><p>  采樣時間為5s,輸入指令為一階躍信號。</p><p>  為獲取

88、滿意的過渡過程動態(tài)特性,采用誤差絕對值時間積分性能指標(biāo)作為參數(shù)選擇的最小目標(biāo)函數(shù)。為了防止控制能量過大,在目標(biāo)函數(shù)中加入控制輸入的平方項。選用下式作為參數(shù)選取的最優(yōu)指標(biāo)</p><p>  式中,e(t)為系統(tǒng)誤差,u(t)為控制器輸出,為上升時間,w1,w2,w3為權(quán)值。</p><p>  為了避免超調(diào),采用了懲罰功能,即一旦產(chǎn)生超調(diào),將超調(diào)量作為最優(yōu)指標(biāo)的一項,此時最優(yōu)指標(biāo)為:<

89、;/p><p>  If ey(t)<0 </p><p>  式中,w3為權(quán)值,且w4》w1,ey(t)=y(tǒng)(t)-y(t-1) y(t)為被拉對象輸出</p><p>  遺傳算法中使用的樣本個數(shù)為10,交叉概率和變異概率分別為:pc=0.9,Pm=0.033。參數(shù)KP的取值范圍為[0,20],KI和KD的取值范圍為[0,1],取w1=0.999,W

90、2=0.001,w4=100,w3=2.0 采用實數(shù)編碼方式,經(jīng)過一百代進(jìn)化。最后得出最優(yōu)的結(jié)果。</p><p>  本一階系統(tǒng)的模型編程如下</p><p>  Private Sub Simulating(n As Integer)</p><p>  yout(n) = 0.9927 * y_1 + 0.01099 * u_(35) </p>

91、;<p>  If n <= 35 Then yout(n) = yo </p><p><b>  End Sub</b></p><p><b>  主程序如下</b></p><p>  Private Sub Command1_Click() '主程序&

92、lt;/p><p>  Call bianma '編碼</p><p>  For kg = 1 To G 'G為代數(shù)</p><p>  'times(kg) = kg</p><p>  Call PID

93、'主程序PID控制</p><p>  Call evaluate '適應(yīng)值評估</p><p>  Call SARP '選擇復(fù)制 </p><p>  Call CROSSOVER '交叉</p><p>

94、;  Call MUTATION '變異</p><p>  TempE(10, 1) = BestS(1)</p><p>  TempE(10, 2) = BestS(2)</p><p>  TempE(10, 3) = BestS(3)</p><p>  For i = 1 To 10<

95、/p><p>  kpid(i, 1) = TempE(i, 1)</p><p>  kpid(i, 2) = TempE(i, 2)</p><p>  kpid(i, 3) = TempE(i, 3)</p><p><b>  Next i</b></p><p>  MSFlexGrid1.

96、Row = kg</p><p>  Call MMI1 ' </p><p><b>  Next kg</b></p><p>  For k = 1 To P </p><p>  Call MMI2(k)</p>&l

97、t;p>  Call CurveGenerator(timef(k) * 1, yout(k) * 1) '畫輸出曲線</p><p><b>  Next k</b></p><p><b>  Call MMI3</b></p><p><b>  End Sub<

98、/b></p><p>  圖4-1 基于遺傳算法整定的PID控制系統(tǒng)的人機(jī)界面</p><p>  4.6實數(shù)編碼遺傳算法的各程序塊介紹</p><p>  基于VB的實數(shù)編碼遺傳算法,主要設(shè)計思想如下。將編碼,PID控制,適應(yīng)值評估,復(fù)制,交叉,變異都作為一個獨立的子程序塊。由主程序產(chǎn)生初始種群,然后按照遺傳算法的基本步驟過程,調(diào)用各程序塊。開始設(shè)計程序

99、時,先設(shè)計一個界面,點擊各個按鈕,運(yùn)行各個子程序塊。這樣可以一步步調(diào)試各個子程序。下面主要介紹各子程序塊,即各步驟的VB編程實現(xiàn)。</p><p>  圖4-2 測試所用人機(jī)界面</p><p><b>  4.6.1編碼</b></p><p>  對于本一階系統(tǒng),在VB中的實現(xiàn)如下,由計算機(jī)在規(guī)定的范圍內(nèi)即KP[0-20],KI[0-1],

100、KD[0-1]之間隨機(jī)產(chǎn)生十個種群作為原始的值進(jìn)行進(jìn)化。因此它的初始值是雜亂無章的,由圖3.3便可以看出。經(jīng)過測試調(diào)整,最后的程序如下</p><p>  Private Sub bianma() '編碼</p><p>  Dim size As Integer, codel As Integer</p><p><b>  

101、BsJ = 0</b></p><p>  minx(1) = 0: MaxX(1) = 20 'P,參數(shù)整定范圍</p><p>  minx(2) = 0: MaxX(2) = 1 'D,參數(shù)整定范圍</p><p>  minx(3) = 0: MaxX(3) = 1 'I,參數(shù)整定范圍&l

102、t;/p><p>  For i = 1 To 10</p><p>  kpid(i, 1) = minx(1) + (MaxX(1) - minx(1)) * Rnd</p><p><b>  Next i</b></p><p>  For i = 1 To 10</p><p>  kpid

103、(i, 2) = minx(2) + (MaxX(2) - minx(2)) * Rnd</p><p><b>  Next i</b></p><p>  For i = 1 To 10</p><p>  kpid(i, 3) = minx(3) + (MaxX(3) - minx(3)) * Rnd</p><p&g

104、t;<b>  Next i</b></p><p><b>  End Sub</b></p><p>  4.6.2 PID控制</p><p>  為獲取滿意的過度過程動態(tài)特性,采用誤差絕對值時間積分性能指標(biāo)ITAE作為參數(shù)選擇的最小目標(biāo)函數(shù)。為了防止控制能量過大,在目便函數(shù)中加入控制輸入的平方項。選用式3作為參數(shù)選

105、取的最優(yōu)性能指標(biāo):      </p><p><b>  (3)</b></p><p>  按照要求,加入了超調(diào)懲罰功能。采用了增量式PID算式,初始溫度為50度??刂谱饔么螖?shù)為500次。yout(k)為被拉對象輸出。</p><p>  Private Sub PID()<

106、;/p><p>  Dim B As Double, s As Double, error_1 As Double</p><p>  Dim r(500) As Double, eerror(500) As Double</p><p>  Dim x(3) As Double, erry(500) As Double, error_2 As Double</p

107、><p>  For j = 1 To 10</p><p>  kpidi(j, 1) = kpid(j, 1)</p><p>  kpidi(j, 2) = kpid(j, 2)</p><p>  kpidi(j, 3) = kpid(j, 3)</p><p>  For i = 1 To 50</p>

108、;<p><b>  u_(i) = 0</b></p><p><b>  Next i</b></p><p>  y_1 = 0#: y_2 = 0#</p><p>  x(1) = 0: x(2) = 0: x(3) = 0</p><p><b>  B = 0&

109、lt;/b></p><p>  error_1 = 0</p><p><b>  tu = 1</b></p><p><b>  s = 0</b></p><p>  For k = 1 To P</p><p>  timef(k) = k * Ts</

110、p><p>  r(k) = rin</p><p>  u(k) = u_(1) + kpidi(j, 1) * x(1) + kpidi(j, 2) * x(2) + kpidi(j, 3) * x(3)</p><p>  If u(k) >= 10 * rin Then</p><p>  u(k) = 10 * rin</p

111、><p><b>  End If</b></p><p>  If u(k) <= 0 Then</p><p><b>  u(k) = 0</b></p><p><b>  End If</b></p><p>  Call Simulatin

112、g(k)</p><p>  eerror(k) = r(k) - yout(k)</p><p>  For i = 2 To 50</p><p>  u_(i) = u_(i - 1)</p><p><b>  Next i</b></p><p>  u_(1) = u(k)</p

113、><p><b>  y_2 = y_1</b></p><p>  y_1 = yout(k)</p><p>  If eerror(k) <= 0.004 Then flag = 1 'i.e. yout(k)+0.004 >= r(k)</p><p>  'x(1) = eerror

114、(k) 'Calculating P</p><p>  'x(2) = (eerror(k) - error_1) / Ts 'Calculating D</p><p>  'x(3) = x(3) + eerror(k) * Ts 'Calculating I</p><p>  x(1) = eerror

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論