【正文】
算法是一個迭代過程,遺傳操作是在種群中進行的,產生初始種群,規(guī)模為N,即種群由 N 個個體組成,經 GA 操作,生成一代一代新種群 (每代 N個個體 )。 2. 事件驅動的編程機制 。 在該課題中, 被控對象為電加熱器,要對其實現(xiàn)高精度的恒溫控制 ,且調節(jié)時間盡可能短 。最優(yōu)控制理論的應用,加上計算機的高速運算能力,賦予 了 PID 參數(shù)優(yōu)化這樣的多變量最優(yōu)化問題新的生命力, PID 控制器的最優(yōu)化整定方法是針對特定的系統(tǒng)建立數(shù)學模型,運用各種數(shù)值解法按照一定的性能指標進行優(yōu)化。 Visual 的新特性 2. Inter 功能的增強 、語言和向導方面的新增特性 ActiveX 控件更加輕松方便 。 5 第二章 遺傳算法概述 什么是遺傳算法 遺傳算法( geic algorithms)簡稱 GA。 50 年代末到 60年代初,受一些生物學家用計算機對生物系統(tǒng)進行模擬的啟發(fā), Holland 開始應用模擬遺傳算子研究適應性。一般通過隨機方法確定起始的一群個體,稱為種群,在種群中根據(jù)適應值或某種競爭機制選擇個體(適應值就是解的滿意程度,可以由外部顯式適應度函數(shù)計算,也可以由系統(tǒng)本身產生,如由協(xié)同演化時不同對策的博奕確定,或者由個體在群體中的存活量和繁殖量確定。 初始群體的生成: 每個編碼對應問題的一個解,稱為染色體或個體。接著就像自然界中一樣,利用選擇機制從群體中隨機挑選個體作為繁殖過程前的個體樣本。使用這種編碼方法,解空間和遺傳 算法的搜索空間就具有一一對應的關系。對于問題求解角度來講,就是選擇出和最優(yōu)解較接近的中間解。 15 圖 33 遺傳算法的執(zhí)行過程 遺傳算法的應用 遺傳算法在很多領域都得到應用; 比如 從神經網絡研究的角 度上考慮,最關心的是遺傳算法在神經網絡的應用。對遺傳算法,還需要進一步研究其數(shù)學基礎理論;還需要在理論上證明它與其它優(yōu)化技術的優(yōu)劣及原因;還需研究硬件化的遺傳算法;以及遺傳算法的通用編程和形式 等。 閉環(huán)控制系統(tǒng) 閉環(huán)控制系統(tǒng) (closedloop control system)的特點是系統(tǒng)被控對象的輸出 (被控制量 )會反送回來影響控制器的輸出,形成一個或多個閉環(huán)。 二、積分( I)控制 福州大學本科生畢業(yè)設計(論文) 20 在積分控制中,控制器的輸出與輸入誤差訊號的積分成正比關 系。 二.PID控制器參數(shù) Kp、 KI、 KD的整定 21 1. 湊試法 : 1) PID 參數(shù)對系統(tǒng)性能指標的影響(在只有某種控制起主要作用時) KP 響應加快 太大 超調大 靜態(tài)誤差變小 振蕩 KI T/TI 穩(wěn)態(tài)誤差消除加快 太大 超調大 振蕩 KD TD/T 響應加快 太大 對干擾敏感 超調變小 超調變大 2) 湊試法步驟 湊試的先后順序是:先 KP、 后 KI、再 KD。 ①適當減小 KD;②加強硬件與軟件抗干擾措施,例如采用軟件濾波等。近年來,遺傳算法在控制上的應用日益增多。 為獲取滿意的過渡過程動態(tài)特性,采用誤差絕對值時間積分性能指標作為參數(shù)選擇的最小目標函數(shù)。 Next kg For k = 1 To P Call MMI2(k) Call CurveGenerator(timef(k) * 1, yout(k) * 1) 39。采用了增量式 PID 算式,初始溫度為 50度。cm = ji(1) 39。由此可見,相對于其他傳統(tǒng)的整定方法,遺傳算法的 PID 控制可以得到較為滿意的結果。 If u(k) = 10 * rin Then u(k) = 10 * rin End If 圖 51 10 倍限幅值 最高溫度 50 最低溫度 50 調節(jié)時間 65 拍 福州大學本科生畢業(yè)設計(論文) 38 If u(k) = * rin Then u(k) = * rin End If 圖 52 倍限幅值 最高溫度 最低溫度 50 調節(jié)時間 59 拍 調節(jié)時間變短了,但是出現(xiàn)了超調,并且從途中可見,三個 PID 參數(shù)也相差較大,因此設計程序時應 注意限幅值的設定。 遺傳算法 本身 具有并行計算的特點,因而可以通過大規(guī)模并行計算來提高計算速度;同時它也更適合大規(guī)模復雜問題的優(yōu)化,計算也比較簡單,功能也是很強 的 。通過本次設計,我加深了對控制算法和計算機控制系統(tǒng)課程的認識;在對書本知識的實際應用過程中,熟悉 了 VB 語言編程,并且對 MATLAB 語言也有了更進一步的掌握 , 相信這次畢業(yè)設計對我今后的學習和工作將起到莫大的幫助。 遺傳算法的改進空間還很大,如上面所述,改變交叉的方法就可以產生不同的結果。 5.遺傳算法具有隱含的并行性 37 第五 章 基于遺傳算法 PID 整定 的進一步探討 限幅值 為了得到更好的控制效果,在限幅值的取值中應多試幾個數(shù)字得到最好的效果。變異 Dim pm(10) As Double Dim pm_rand(1 To 10, 1 To 3) As Double Dim mean(3) As Double, dif(3) As Double For i = 1 To 10 pm(i) = i * / 10 pm_rand(i, 1) = Rnd pm_rand(i, 2) = Rnd pm_rand(i, 3) = Rnd Next i For i = 1 To 3 mean(i) = (MaxX(i) + minx(i)) / 2 dif(i) = MaxX(i) minx(i) Next i For i = 1 To 10 For j = 1 To 3 If pm(i) pm_rand(i, j) Then TempE(i, j) = mean(j) + dif(j) * (Rnd ) End If Next j Next i End Sub 35 實數(shù)編碼遺傳算法的效果 各個子程序調試完畢,便可以進行整體 運算。I, x(2) = eerror(k) 2 * error_1 + error_2 39。D,參數(shù)整定范圍 minx(3) = 0: MaxX(3) = 1 39。適應值評估 Call SARP 39。 PID 控制程序的調試可采用仿真調試法,即物理仿真調試或數(shù)字仿真調試。 ( 3)遺傳算法是從多點開始并行操作,在解空間具有高效啟發(fā)式搜索,克服了從單點出發(fā)的弊端及搜索的盲目性。②但若發(fā)現(xiàn)減小 KP超調反而變大,同時系統(tǒng)又有響應遲緩現(xiàn)象,則應適當增大 比例系數(shù) KP。 PID 數(shù)字控制器的參數(shù)整定 一.采樣周期T的選擇 T的選擇范圍: Tmin T T 采 Tmax 其中 Tmin:應不小于控制程序執(zhí)行時間+執(zhí)行機構動作時間+傳感器的反應時間 此外還要考慮計算精度等。 、 、 分別為控制器的比例、積分、微分系數(shù)。 可編程控制器 (PLC) 是利用其閉環(huán)控制模塊來實現(xiàn) PID 控制,而可編程控制器 (PLC)可以直接與 ControlNet 相連,如Rockwell 的 PLC5 等。變異概 率 Pm 太小時難以產生新的基因結構,太大使遺傳算法成了單純的隨機搜索。 對其的第 1, 4 位置的基因進行變異,則有 S\’=001111 單靠變異不能在求解中得到好處。以為選中 bi 為下一代個體的次數(shù)。 11 遺傳算法中一般有以下幾種編碼方式 o 二進制編碼 o實型編碼 o 有序編碼 o變長串編碼 o 樹型編碼 下面主要介紹二進制編碼和實型編碼方式 二進制編碼:用長度為 10 位的二進制編碼串分別表示兩個決策變量 x1 和 x2。 變異:變異首先在群體中隨機選擇一個個體,對于選中的個體以一定的概率隨機地改 變串結構數(shù)據(jù)中某個串的值。它可以是位串、實數(shù)、有序串、樹或圖, Holland 最初的遺傳算法是基于二進制串的,類似于生物染色體結構,易于用生物遺傳理論解釋,各種遺傳操作也易于實 現(xiàn)。另外,可以證明,采用二進制編碼式,算法處理的模式最多。遺傳算法以一種群體中的所有個體為對象,并利用隨機化技術指導對一個被編碼的參數(shù)空間進行高效搜索。同時優(yōu)化是基于模型,對模型響應的評價大大加快,可以在較短的時間得到最優(yōu)化結果。 5. 支持多種數(shù)據(jù)庫系統(tǒng)的訪問 。 PID 控制器問世至今已有近 60 年的歷史了,它以其結構簡單、穩(wěn)定性好、工作可靠、調整 方便而成為工業(yè)控制主要和可靠的技術工具。當被控對象的結構和參數(shù)不能完全掌握,或得不到精確的數(shù)學模型時,控制理論的其它設計技術難以使用,系統(tǒng)的控制器的結構和參數(shù)必須依靠經驗和現(xiàn)場調試來確定,這時應用PID 控制技術最為方便。 6. Active 技術 。 PID 控制器參數(shù)的優(yōu)化設計是一個組合優(yōu)化問題。其中,選擇、交叉和變異構成了遺傳算法的遺傳操作;參數(shù)編碼、初始群體 的設定、適應度函數(shù)的設計、遺傳操作設計、控制參數(shù)設定五個要素組成了遺傳算法的核心內容。但是, 在具體問題中,直接采用解空間的形式進行編碼,可以直接在解的表現(xiàn)型上進行遺傳操作,從而易于引入特定領域的啟發(fā)式信息,可以取得比二進制編碼更高的效率。另外,可以證明,采用二進制編碼式,算法處理的模式最多。同生物界一樣, GA 中變異發(fā)生的概率很低,通常取值在 ~ 之間。10 位的二進制串可以表示從 0~ 1023 之間的 1024 個不同的數(shù),故將 x1, x2 的定義域離散化為 1023 個均等的區(qū)域,包括兩個斷點在內共有 1024 個不同的點。 (1)適應度 較高的個體,繁殖下一代的數(shù)目較多。但是,它能保證算法過程不會產生無法進化的單一群體。一般取 Pm= 0 .01— 0. 2。還有可以實現(xiàn) PID 控制功能的控制器,如 Rockwell 的Logix 產品系列,它可以直接與 ControlNet 相連,利用網絡來實現(xiàn)其遠程控制功能。 一、比例( P)控制 比例控制是一種最簡單的控制方式。 T 采 :由采樣定理確定的采樣周期。 ( 3) 系統(tǒng)出現(xiàn)擾動時偏差消除太慢。從而使尋優(yōu)速度更快,避免了過早陷入局部最優(yōu)解。 設被控對象的傳遞函數(shù)為: 。選擇復制 Call CROSSOVER 39。I,參數(shù)整定范圍 For i = 1 To 10 kpid(i, 1) = minx(1) + (MaxX(1) minx(1)) * Rnd Next i For i = 1 To 10 kpid(i, 2) = minx(2) + (MaxX(2) minx(2)) * Rnd Next i For i = 1 To 10 kpid(i, 3) = minx(3) + (MaxX(3) minx(3)) * Rnd Next i End Sub PID 控制 為獲取滿意的過度過程動態(tài)特性,采用誤差絕對值時間積分性能指標 ITAE 作為參數(shù)選擇的最小目標函數(shù)。D, error_2 = error_1 error_1 = eerror(k) If s = 0 Then If yout(k) And yout(k) Then tu = timef(k) s = 1 End If End If Next k For i = 1 To P Ji(i) = * Abs(eerror(i)) + * u(i) ^ 2 * B = B + Ji(i) If i 1 Then erry(i) = yout(i) yout(i 1) End If If erry(i) 0 Then B = B + 100 * Abs(erry(i)) End If Next i BsJ = B + * tu * 10 BsJi(j) = BsJ Next j End Sub 適應值評估 Private Sub evaluate() 39。主程序見附錄。原則上,限幅值應為 2 到 10 倍的設定控制值,在本例中即設定的溫度 rin。因此值得對其進行進一步的研究,以期得到更好的效果。