• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于改進(jìn)遺傳算法的PID參數(shù)整定研究*

      2019-01-02 06:56:44王文慶
      關(guān)鍵詞:適應(yīng)度交叉遺傳算法

      王文慶 楊 楠

      (西安郵電大學(xué)自動(dòng)化院 西安 710121)

      1 引言

      遺傳算法(GA)[1]是一種基于生物進(jìn)化模擬的啟發(fā)式智能優(yōu)化算法,主要由Holland教授從20世70年代逐漸發(fā)展起來,其基本策略為將生物的種群代表一組實(shí)際問題的解,然后對(duì)此種群進(jìn)行選擇、交叉、變異等操作獲得新生種群,逐漸接近最優(yōu)解[2]。

      自從PID控制器生產(chǎn)以來,就成為自動(dòng)化生產(chǎn)過程中使用頻率最高、使用范圍最廣的控制器[3]。在控制領(lǐng)域之中,盡管各類型新型控制器層出不窮,但PID控制器依舊因?yàn)樽陨斫Y(jié)構(gòu)原理簡(jiǎn)單、適用性強(qiáng)、魯棒性強(qiáng)等突出的優(yōu)點(diǎn)[4],處于主導(dǎo)地位。由于PID控制器的比例參數(shù)、微分參數(shù)、積分參數(shù)可以直接影響控制器控制效果的優(yōu)劣[5],所以參數(shù)整定即為PID控制器設(shè)計(jì)的核心問題[6]。

      將傳統(tǒng)PID與智能控制算法相結(jié)合,從而可以產(chǎn)生許多的改進(jìn)型PID控制器[7]遺傳算法作為一種新型的智能控制算法[8],其本質(zhì)上是一種較為高效、并行、全局搜索的方法[9],但是由于標(biāo)準(zhǔn)遺傳算法中遺傳算子的靜態(tài)特征不能滿足種群的動(dòng)態(tài)進(jìn)化要求;交叉概率和變異概率的固定造成搜索過程較為遲緩和難以產(chǎn)生新個(gè)體[10],從而使得算法產(chǎn)生趨于局部最優(yōu)和收斂精度不高等問題[11]。本次研究使用改進(jìn)的遺傳算法在Matlab中進(jìn)行PID參數(shù)整定,并選用典型受控對(duì)象,進(jìn)行仿真,進(jìn)一步驗(yàn)證。

      2 遺傳算法的基本概念和應(yīng)用步驟

      2.1 遺傳算法的基本概念

      編碼:通過某種編碼方式將染色體抽象為跟編碼方式對(duì)應(yīng)的特定符號(hào),并且為按照一定順序排成的串。

      適應(yīng)度:對(duì)染色體進(jìn)行編碼后,每個(gè)個(gè)體對(duì)應(yīng)一個(gè)具體問題的解,每個(gè)解對(duì)應(yīng)一個(gè)函數(shù)值。函數(shù)值為適應(yīng)度,函數(shù)為適應(yīng)度函數(shù)。適應(yīng)度值大小是遺傳算法對(duì)于一個(gè)個(gè)體好壞程度的唯一評(píng)價(jià)標(biāo)準(zhǔn)。

      復(fù)制:從父代中選擇適應(yīng)度值高的字符串從而生成新一代的過程。適應(yīng)度值越高的字符串越可能獲得生成新一代的可能[12]。

      交叉:模擬生物進(jìn)化中的繁殖過程,兩個(gè)染色體之間通過交叉而重組形成新染色體,從而產(chǎn)生新的優(yōu)秀品種。

      變異:模擬生物進(jìn)化[13]過程中的基因突變方法,以很小的概率隨機(jī)地改變?nèi)旧w字符串某一位的值。

      2.2 遺傳算法的應(yīng)用步驟

      1)確定可以表示可行解的染色體編碼方法,從而產(chǎn)生初始種群。

      2)確定個(gè)體適應(yīng)度函數(shù),計(jì)算個(gè)體適應(yīng)度值,適應(yīng)度值高的個(gè)體被選擇的概率高。

      3)設(shè)計(jì)選擇算子,交叉算子,遺傳算子從而進(jìn)行遺傳操作。

      4)設(shè)計(jì)終止條件,如果滿足終止條件,則進(jìn)入第5)步,否則重新計(jì)算其適應(yīng)度。

      5)輸出種群中適應(yīng)度最高的值作為最優(yōu)解。基本遺傳算法的5個(gè)運(yùn)行參數(shù)[14]:

      M:種群的大小,即群體所包含個(gè)體的數(shù)量,一般可以取20到100;

      G:代溝,即兩代之間不相同的染色體數(shù)目,無重疊G=1,有重疊0<G<1;

      Max Gen:終止進(jìn)化代數(shù),一般可以取100到1000;

      Pc:交叉概率,一般可以取0.4到0.9;Pm:變異概率,一般可以取0.0001到0.1。

      3 改進(jìn)的遺傳算法

      3.1 編碼及初始種群的產(chǎn)生

      基本遺傳算法采用的是二進(jìn)制編碼,所以其編碼解碼操作簡(jiǎn)單便捷,且選擇、交叉、變異等遺傳操作易于實(shí)現(xiàn)。然而,面對(duì)一些精度要求很高的、多目標(biāo)的連續(xù)函數(shù)優(yōu)化時(shí),二進(jìn)制編碼有其局限性。例如,從某字符串表示的解到一個(gè)臨近的解的轉(zhuǎn)變,需要多次改變多個(gè)位的字符即海明懸崖;越高的精度,需要越長(zhǎng)的字符串,增加了遺傳算法計(jì)算的復(fù)雜性。為了改進(jìn)這些問題,本文采用浮點(diǎn)數(shù)編碼進(jìn)行編碼,浮點(diǎn)數(shù)編碼是指?jìng)€(gè)體的每個(gè)基因值用某一范圍內(nèi)的一個(gè)浮點(diǎn)數(shù)來表示,個(gè)體的編碼長(zhǎng)度等于決策變量的個(gè)數(shù)。本系統(tǒng)中有三個(gè)待優(yōu)化參數(shù)Kp,Ki,Kd,可將三個(gè)參數(shù)組合成一個(gè)三維向量,作為遺傳算法中每個(gè)獨(dú)立的個(gè)體,其中0≤Kp≤20,0≤Ki≤1,0≤Kd≤1。定義染色體編碼如下:

      其中 Kp,Ki,Kd分別表示 PID 控制器的比例參數(shù),積分參數(shù),微分參數(shù);G表示個(gè)體。

      3.2 計(jì)算適應(yīng)度

      適應(yīng)度函數(shù)是用來區(qū)分種群中個(gè)體好壞的唯一標(biāo)準(zhǔn)。遺傳算法在進(jìn)化搜索中,以適應(yīng)度函數(shù)作為唯一依據(jù),利用種群中每個(gè)個(gè)體的適應(yīng)度值來進(jìn)行搜索。作為參數(shù)選擇的最小目標(biāo)函數(shù)選用誤差絕對(duì)值時(shí)間積分性能,加入輸入的平方項(xiàng)[15]從而防止控制能量過大??闪钅繕?biāo)函數(shù)為如下的形式:

      其中e(t)為系統(tǒng)誤差,u(t)為控制器的輸出,w1,w2,w3,為權(quán)值,tu為調(diào)節(jié)時(shí)間。

      由于遺傳算法需要的是適應(yīng)度函數(shù),所以需要將目標(biāo)函數(shù)改為適應(yīng)度函數(shù),它的數(shù)值是大于等于0的,并且其值越大越容易被認(rèn)可。對(duì)于不同的問題,適應(yīng)度函數(shù)定義的方式也不同,本次研究采用適應(yīng)度函數(shù)為

      3.3 選擇

      此次研究采用均勻排序的方法,對(duì)群體中的所有個(gè)體計(jì)算其適應(yīng)度,根據(jù)每個(gè)個(gè)體的適應(yīng)度值占總體適應(yīng)度的比例將這個(gè)概率作為適應(yīng)度概率。概率如下所示:

      其中Fcx為某代第x個(gè)個(gè)體的適應(yīng)度值,F(xiàn)∑為某代所有個(gè)體的適應(yīng)度之和。

      此方法可有效避免適應(yīng)度值高的個(gè)體被淘汰,以及隨機(jī)排序中個(gè)體選擇概率相同的情況。

      3.4 交叉

      對(duì)于那些被選擇的個(gè)體,以某種交叉方式交換兩個(gè)字符串相對(duì)應(yīng)的基因,從而產(chǎn)生兩個(gè)新的個(gè)體,新的個(gè)體組合其父代的特點(diǎn),采用算數(shù)交叉的方法,交叉后相鄰的第i個(gè)個(gè)體和第i+1個(gè)個(gè)體如下:

      其中Pc1=0.9,Pc2=0.6。

      3.5 變異

      在群體中隨機(jī)選擇一個(gè)進(jìn)行過交叉的個(gè)體,以一定的概率隨機(jī)改變被選擇個(gè)體字符串中某字符的值,變異概率如下:

      其中,為每代平均適應(yīng)度,為群體中最大適應(yīng)度,為要變異個(gè)體的適應(yīng)度值,為交叉的兩個(gè)個(gè)體中較大的適應(yīng)度值;β∈[0 1]為一個(gè)隨機(jī)數(shù);kpmax和kpmin分別為基因kp的上限和下限;kimax和kimin分別為基因ki的上限和下限;kdmin和kdmin分別為基因kd的上限和下限。

      4 PID控制器

      4.1 典型的PID控制器

      PID控制是一種線性控制方法,對(duì)偏差信號(hào)進(jìn)行比例、積分、微分運(yùn)算,將三種運(yùn)算的結(jié)果相加,就得到PID控制器的輸出【10】。其原理框圖如下:

      圖1 PID控制原理框圖

      也可將其改寫為傳遞函數(shù)形式:

      其中:r(t)為輸入,e(t)為設(shè)定輸入與實(shí)際輸出的差,u(t)為控制器輸出,y(t)為系統(tǒng)輸出,kp為比例參數(shù),Ti積分時(shí)間常數(shù),Td為微分時(shí)間常數(shù),積分參數(shù) ki=kp/Ti,微分參數(shù)為 kd=kp*Td,kp、ki、kd即為本文中的尋優(yōu)參數(shù)。

      4.2 基于改進(jìn)遺傳算法的PID控制器設(shè)計(jì)

      改進(jìn)的遺傳算法模塊和典型PID控制器構(gòu)成了改進(jìn)遺傳算法的PID控制器。PID控制器對(duì)控制對(duì)象進(jìn)行閉環(huán)循環(huán)控制,改進(jìn)的遺傳算法模塊依據(jù)系統(tǒng)的運(yùn)行參數(shù),不斷進(jìn)行計(jì)算以此優(yōu)化三個(gè)參數(shù)的數(shù)值,直到計(jì)算出最優(yōu)參數(shù)。改進(jìn)的遺傳算法模塊將 PID 控制器的 Kp,Ki,Kd,三個(gè)參數(shù)組合在一起作為改進(jìn)遺傳算法的每個(gè)獨(dú)立個(gè)體。根據(jù)遺改進(jìn)的傳算法流程進(jìn)行編碼,對(duì)種群進(jìn)行選擇、交叉、變異操作,當(dāng)種群不斷迭代繁殖,直到找到全局最優(yōu)解。

      圖2 改進(jìn)的遺傳算法PID控制器設(shè)計(jì)圖

      5 仿真實(shí)驗(yàn)結(jié)果

      基本遺傳算法PID參數(shù)整定仿真結(jié)果如下圖3、圖 4 所 示 ,其 中 Kp=18.7069,Ki=0.2463,Kd=0.6443。

      圖3 基本遺傳算法PID階躍響應(yīng)圖

      改進(jìn)的遺傳算法PID參數(shù)整定仿真結(jié)果如圖5和 圖 6所 示 ,其 中 Kp=18.4772,Ki=0.2348,Kd=0.0229。

      圖4 基本遺傳算法目標(biāo)函數(shù)值優(yōu)化曲線

      圖5 改進(jìn)遺傳算法PID階躍響應(yīng)圖

      圖6 改進(jìn)遺傳算法目標(biāo)函數(shù)值優(yōu)化曲線

      根據(jù)以上仿真結(jié)果可知,本文中改進(jìn)遺傳算法一定程度上加快了整定速度,提高算法收斂精度,保證了優(yōu)化效果,具有一定可行性。

      6 結(jié)語

      PID參數(shù)的設(shè)定是PID控制器設(shè)計(jì)的核心環(huán)節(jié),本文在基本遺傳算法基礎(chǔ)上進(jìn)行改進(jìn),并以改進(jìn)的遺傳算法與PID參數(shù)定相結(jié)合,在Matlab上進(jìn)行仿真,實(shí)驗(yàn)結(jié)果可以表明:改進(jìn)的遺傳算法PID控制器要與基本遺傳算法PID控制器相比較,有更快的整定速度,更精確的收斂精度,更良好的控制優(yōu)化效果。

      猜你喜歡
      適應(yīng)度交叉遺傳算法
      改進(jìn)的自適應(yīng)復(fù)制、交叉和突變遺傳算法
      “六法”巧解分式方程
      基于自適應(yīng)遺傳算法的CSAMT一維反演
      一種基于遺傳算法的聚類分析方法在DNA序列比較中的應(yīng)用
      基于遺傳算法和LS-SVM的財(cái)務(wù)危機(jī)預(yù)測(cè)
      連一連
      基于空調(diào)導(dǎo)風(fēng)板成型工藝的Kriging模型適應(yīng)度研究
      基于改進(jìn)的遺傳算法的模糊聚類算法
      基于Fast-ICA的Wigner-Ville分布交叉項(xiàng)消除方法
      雙線性時(shí)頻分布交叉項(xiàng)提取及損傷識(shí)別應(yīng)用
      五华县| 潼关县| 元氏县| 南皮县| 武陟县| 平山县| 平江县| 青冈县| 剑川县| 周至县| 昆山市| 获嘉县| 常宁市| 五家渠市| 康乐县| 甘德县| 安达市| 建德市| 汤原县| 巴彦县| 安多县| 银川市| 吉木萨尔县| 仁化县| 武定县| 安岳县| 长寿区| 合山市| 丘北县| 阳春市| 道孚县| 莱芜市| 方城县| 肥城市| 涞水县| 布拖县| 离岛区| 高州市| 长沙县| 华安县| 泸水县|