張英杰,趙芳芳
(湖南大學 信息科學與工程學院,湖南 長沙 410082)
免疫克隆選擇算法是一種高性能優化方法,其良好的自學習和自適應能力,為函數優化等具體數學模型問題提供了很好的解決方案[1].但傳統的免疫克隆選擇算法也存在一些固有缺陷,如:采用二進制編碼方式的算法易出現維數災難且搜索效率不高等問題;高斯變異雖具有較強的局部搜索能力但易陷入局部極值、在迭代后期出現停止不前等現象;柯西變異與高斯變異相比雖然更易跳出局部極值點,但在進行更精確的局部搜索方面性能降低.為此,國內外相關研究學者提出新的算子來改進算法,更好地提高算法的全局搜索能力和收斂速度[2-5].
云模型是一種用語言值描述的某個定性概念與其定量表示之間的不確定性轉換模型,同時具有隨機性和穩定性,為定性與定量相結合的信息處理提供了有力手段.近年來,進化算法研究學者也對其十分關注:文獻[6]利用云發生器代替遺傳算法中的交叉、變異算子,提出一種云遺傳算法(CGA),在函數優化中取得了良好效果;文獻[7]利用云模型對粒子進化和變異進行統一建模,提出了一種云變異粒子群算法(CHPSO),該算法有較強的全局搜索能力,適用于多峰值函數的優化.
本文將云模型理論與克隆選擇算法相結合,提出一種改進算法——混沌云克隆選擇算法(Chaotic Cloud Clonal Selection Algorithm,CCCSA).旨在通過引用混沌初始化,以提高群體的質量;利用基本云發生器產生的云算子實現變異操作,改善抗體的多樣性,以達到總體提高算法優化性能的目的.
假定連續優化問題可描述為式(1)形式:

式中:抗原對應于f(x),其為n維解空間S上的連續實函數;抗體xi對應于解的值;函數值對應于抗體和抗原的親和度.其中,抗體xi采用十進制編碼方式以提高算法的求解精度與增大搜索空間.
一般的混沌初始化算法的思想是:首先產生一定量的混沌序列進行全局搜索,再對搜索結果進行排序,從中擇優選擇初始化群體,這樣有助于求解效率的提高和解質量的改善[8].本文采用混沌序列中的Logistic映射來初始化種群.典型的一維Logistic映射表達式如式(2)所示[9]:

式中:k為迭代次數;μ為控制系統混沌行為的參數,其取值區間為(0,r],當μ=4,控制系統呈現出完全的混沌狀態;yk為混沌變量;y0∈(0,1)是混沌變量的初始值,且y0≠0.5.
這里,D 維的混沌向量Yi可描述為式(3):

式中:優化變量xi由式(4)計算生成:

計算目標函數值,從N個初始群體中選擇性能較好的m個解作為初始解,即隨機產生m個初始抗體.
為了提高克隆選擇算法的動態尋優性能及變異的有效性,本文利用云模型云滴的隨機性和穩定傾向性特點,由云模型基本云發生器算法實現變異操作.隨機性可以保持個體多樣性從而避免搜索陷入局部極值,而穩定傾向性又可以很好地保護較優個體從而對全局最優值進行自適應定位[10].云變異算子實現算法可描述為:
Step 1Ex=xi,(xi為抗體),
Step 2En=(xmax(j)-xmin(j))/c1,
Step 3He=En/c2,
Step 4 執行正態云的基本生成算法,并生成隨機數Temp,更新抗體.
其中,Ex代表父本抗體的優良特征;En代表抗體變異的大概范圍;He決定抗體變異的離散程度,表征進化的穩定性,He過大,會在一定程度上喪失“穩定傾向性”,He過小,又在一定程度上喪失”隨機性”;xmax(j),xmin(j)分別為第j維變量的最大值與最小值.兼顧算法的效率和精度,本文實驗取c1=2.9,c2=10.
1)克隆選擇算子
在算法進化過程中,遵循親和度較高的個體被遺傳到下一代的概率較大而親和度較低的個體被遺傳到下一代的概率較小的原則,故選擇克隆算子如式(5)所示:

式中:Nc為克隆后的抗體群規模;β為克隆系數,用來控制克隆的規模;round為取整函數;b為大于1的常數以確保每個抗體都存在一定數量的克隆個體.按此算子進行克隆操作,算法可在很大程度上使高親和力抗體中的優秀基因得以更好的保存和發展.
2)克隆抑制算子
采用精英保留策略,對進化結果進行有選擇的抑制操作.克隆算子操作的源抗體與克隆抗體經變異算子作用后得到的臨時抗體群共同形成一個集合Ab′,克隆抑制算子對抗體群Ab′進行再選擇,抑制親和度低的抗體,保留親和度高的抗體進入新的抗體種群,該操作有利于加強算法的局部搜索能力.
3)種群更新算子
種群更新操作是對種群中親和度較低的抗體進行更新,從抗體種群中刪除這些抗體并用混沌算法生成的新抗體替代.該操作有利于保持抗體的多樣性、探索新的可行解空間區域與加強全局搜索能力.
Step 1 解初始化.采用混沌算法生成種群規模為N的初始種群Ab′;
Step 2 評價機制.對種群中的每一個可行解進行適應度評價,并按親和度從大到小進行排序;
Step 3 終止判斷.判斷是否滿足算法終止條件(當前進化代數大于最大迭代代數或函數值達到所接受的精度),若滿足,則輸出計算結果并終止;否則,繼續尋優運算;
Step 4 免疫選擇.選擇m個親和度較高的抗體形成免疫記憶庫M;
Step 5 克隆操作.對記憶庫M中的每個抗體按克隆算子進行克隆,得到克隆抗體群Abc;
Step 6 變異操作.對Abc抗體群中每個抗體按照云變異算子進行變異,得到變異抗體群Abm;
Step 7 抑制操作.刪除Ab,Abm抗體群中親和度較低的抗體,得到抗體群Abs;
Step 8 更新操作.用混沌算法生成的n個新的抗體替代Abs中親和度較低的抗體,返回Step 3.
采用文獻[7]中的16個經典函數進行測試.實驗參數設置為:種群大小為100,最大迭代代數為1 000,每個函數獨立運行30 次.CGA 數據來自于文獻[6],CHPSO 數據來自于文獻[7].實驗結果如表1所示.
表1中,參考值是指函數的理論最小值,平均代數是指最佳適應度與參考適應度之差的絕對值小于10-3時,其進化代數多次獨立實驗的平均值,‘-’表示在1 000次迭代后最佳值實驗結果不理想,所以未計算其最佳值、平均值和平均代數.
CCCSA 利用了基于抗體的免疫進化機制和正態云模型的穩定傾向性、隨機性以及混沌的遍歷性特點.穩定傾向性能較好地保護最優抗體從而實現對最優值的自適應定位,隨機性能保持個體多樣性從而有效地防止算法陷入局部極值,遍歷性能提高初始種群的質量從而加快算法的收斂速度.由表1可知,除F7,F15和F16這些高維、變量范圍較大的函數外,CCCSA 對其余函數的算法性能明顯優于CGA;綜合算法精度和收斂速度,CCCSA 整體性能優于CHPSO 算法.

表1 CCCSA &CGA,CHPSO 優化結果比較Tab.1 The comparison of CCCSA &CGA,CHPSO on function test
自抗擾控制器是由我國學者韓京清提出的新一代非線性控制器,簡稱ADRC[11-12].其基本結構如圖1 所示.可見,ADRC 主要由跟蹤微分器TD(Tracking Differentiator)、擴 張 狀 態 觀 測 器ESO(Extended Stte Observer)和非線性狀態誤差反饋控制律NLSEF(Non-Linear State Error Feedback)3部分構成,是在汲取經典PID 不依賴于對象模型的思想精髓基礎上,改進經典PID 固有缺陷而形成的新型控制器.

圖1 自抗擾控制的基本結構Fig.1 The structure diagram of the ADRC
這種控制器只需要對象的輸入u、輸出y和控制器的目標值,不依靠受控對象的精確模型,因此更適應于廣泛地控制工程實踐.但自抗擾控制器進行參數整定時,需要設置參數β01,β02,β03,β1,β2,參數眾多難以調整,制約了這一優良控制器在工程中的廣泛應用,因此,ADRC的參優化整定也成為自抗擾控制理論的研究熱點[13].鑒于此,本文將改進算法CCCSA應用到自抗擾控制器參數優化整定中,期望進一步提高控制系統的調節精度和抗干擾性能.
為驗證本文算法對ADRC 參數優化整定的有效性選取如式(6)所示的時滯對象[11]:

該對象由于純遲延的存在,因此當對象受到干擾而引起被調量改變時,控制器產生的控制作用不能即時對干擾產生抑制作用.含有純滯后環節的閉環抵制系統必然存在較大的超調量和較長的調節時間[1 4].
因此,為了獲取滿意的控制效果和過渡過程的動態特性,同時為了解決控制量過大和超調量較大的問題,采用式(7)的適應度評價函數:

式中:e(t)為系統誤差,u(t)為控制器輸出,tu為上升時間.在該實驗中,采樣時間取為0.1s,輸入令為單位階躍信號,權值w1=0.999,w2=0.015,w3=2,w4=100.設置ADRC 控制器的時滯系數,TD 的快慢因子r0取800,濾波因子h0取1,控制器的非線性系數[α01,α02]為[0.75,1.25],ESO 的非線性系數取[0.5,0.25],線性區間δ取0.01,參數β1,β2的取值范圍為[0,1],參數β01,β02,β03的取值范圍為[0,50].
實驗1 階躍響應
對系統施加一個單位階躍輸入信號,采用本文算法CCCSA,PSO[11]和CSA[15]3種優化算法得到的控制器參數見表2,仿真結果如圖2、圖3所示.由圖2和圖3可知,經CCCSA算法整定參數的二階自抗擾控制器具有更好的控制效果,其控制的滯后系統的性能指標(上升時間,超調量和穩態誤差)遠遠優于PSO 算法以及CSA整定的自抗擾控制器.

表2 3種算法階躍響應實驗性能指標Tab.2 The parameter of ADRC_step_response
實驗2 抗擾動測試
在系統的輸入通道中加入一個幅值為0.1的方波(35s~40s)擾動,仿真結果如圖4 和圖5 所示.由圖4 和圖5 可知,CCCSA 優化的控制系統與PSO、CSA 優化的控制系統相比,系統在40s后出現的波動更小,且系統能較快的重新回到穩態.
實驗3 魯棒性實驗
采用Monte-Carlo方法定量比較采用CCCSA方法整定的ADRC 和采用PSO,CSA 方法整定的ADRC的魯棒性.這里只給出了系統模型的比例參數在-20%~20%內隨機攝動的情形.根據單位階躍定值響應,計算ts,σ% 和ITAE,重復實驗1 000次,仿真結果如表3和圖6所示.由表3可知,CCCSA 的各項指標明顯優于PSO 和CSA.顯然,通過CCCSA 優化整定參數的自抗擾控制器具有更強的魯棒性.
由上述實驗可知,在相同的輸入給定作用下,本文算法整定的控制系統具有更優良的控制性能以及較強的抗干擾性能.

圖5 局部精細曲線Fig.5 The local refined curve

圖2 目標收斂曲線Fig.2 The objective function convergence curve

圖3 階躍響應曲線Fig.3 The step response curve

圖4 擾動后的階躍響應曲線Fig.4 The step response curve

圖6 3種算法整定的控制系統魯棒性比較Fig.6 The compare of robustness

表3 自抗擾控制器魯棒性實驗性能指標Tab.3 Roubustness of performance for adjusted ADRC
傳統的克隆選擇算法在函數優化尋優已表現出良好的算法性能,但也存在一些固有的缺陷.本文利用云模型云滴的隨機性和穩定傾向性以及混沌系統的隨機性、遍歷性,提出一種混沌云克隆選擇算法(CCCSA).該算法的主要思想是通過利用混沌遍歷性產生初始種群,由云模型基本云發生器實現免疫算法中的變異算子,完成進化過程,實現改善算法整體性能的目的.
經典函數測試實驗結果,驗證本文算法有較快的收斂速度,較強的全局搜索能力和較好的魯棒性.在以時滯系統為受控對象的ADRC 參數整定優化應用實例中,優化的控制系統具有優良的控制性能與魯棒性以及較強的抗干擾能力,進一步驗證了該算法的有效性.
[1]DE CASTRO L N,ZUBEN F V.The clonal selection algorithm with engineering applications[C]//Procedings of the Gentetic and Evolutionary Computation Conference,Workshop on Artificial Immune Systems and Their Applications,July,2000:36-37.
[2]楊明慧,彭玉樓,傅明.實數編碼的克隆選擇算法的網絡入侵檢測[J].計算機工程與應用,2005,10(28):135-136.
YANG Ming-hui, PENG Yu-lou, FU Ming. Network intrusion detection based on real coded clone selection algorithm [J].Computer Engineering and Applications,2005,10(28):135-136.(In Chinese)
[3]陶新民,劉福榮,劉玉,等.定向多尺度變異克隆選擇優化算法[J].控制與決策,2011,2(26):175-181.
TAO Xin-min,LIU Fu-rong,LIU Yu,etal.Clone selection optimization algorithm with directional multi-scale mutation[J].Control and Decision,2011,2(26):175-181.(In Chinese)
[4]鄧雪峰,唐俊.一種新型的克隆選擇算法[J].計算機應用研究,2011,28(1):332-334.
DENG Xue-feng,TANG Jun.Novel clone selection algorithm[J].Application Research of Computers,2011,28(1):332-334.(In Chinese)
[5]宋丹,賴旭芝,吳敏.基于等級變異的克隆選擇算法[J].模式識別與人工智能,2011,24(3):438-443.
SONG Dan,LAI Xu-zhi,WU Min.Clonal selection algorithm based on grade variation[J].PR &AI,2011,24(3):438-443.(In Chinese)
[6]戴朝華,朱云芳,陳維榮,等.云遺傳算法及其應用[J].電子學報,2007,35(7):1419-1424.
DAI Chao-hua,ZHU Yun-fang,CHEN Wei-rong,etal.Cloud model based genetic algorithm and its applications[J].Acta Electronica Sinica,2007,35(7):1419 - 1424.(In Chinese)
[7]張英杰,邵歲峰,JULIUS N.一種基于云模型的云變異粒子群算法[J].模式識別與人工智能,2011,24(1):90-96.ZHANG Ying-jie,SHAO Sun-feng,JULIUS N.Cloud hypermutat-ion particle swarm optimization algorithm [J].PR &AI,2011,24(1):90-96.(In Chinese)
[8]KANSO A,SMAOUI N.Logistic chaotic maps for binary numbers generations[J].Chaos Solitons & Fractals,2009,40(5):2557-2568.
[9]王興元,王明軍.二維Logistic映射的混沌控制[J].物理學報,2008,2(57):731-736.
WANG Xing-yuan,WANG Ming-jun.Chaotic control of the coupled Logistic map[J].Acta Phys Sin,2008,2(57):731-736.(In Chinese)
[10] 張光衛,何銳,劉禹,等.基于云模型的進化算法[J].計算機學報,2008,31(7):1082-1091.
ZHANG Gong-wei,HE Rui,LIU Yu,etal.An evolutionary algorithm based on cloud model [J].Chinese Journal of Computers,2008,31(7):1082-1091.(In Chinese)
[11] 史永麗,侯朝楨,蘇海濱.基于粒子群優化算法的自抗擾控制器設計[J].系統仿真學報,2008,20(2):433-436.
SHI Yong-li,HOU Chao-zhen,SU Hai-bin.Autodisturbance rejection controller design based on particle swarm optimization algorithm [J].Journal of System Simulation,2008,20(2):433-436.(In Chinese)
[12] 劉朝華,張英杰,章兢,等.基于免疫雙態微粒群的混沌系統自抗擾控制[J].物理學報,2011,60(1):1-9.
LIU Zhao-hua,ZHANG Ying-jie,ZHANG Jing,etal.Active disturbance rejection control of a chaotic system based on immune binary-state particle swarm optimization algorithm[J].Acta Phys Sin,2011,60(1):1-9.(In Chinese)
[13] 孫亮,吳根忠.自抗擾控制器優化設計及其應用[J].系統電機與控制應用,2010,37(3):26-30.
SUN Liang,WU Gen-zhong.Application and optimize design of active disturbance rejection controller [J].Motor and Control Application,2010,37(3):26-30.(In Chinese)
[14] 韓京清.時滯對象的自抗擾控制 [J].控制工程,2008,15(1):7-11.
HAN Jing-qing. Auto-disturbances rejection control for time-delay systems[J].Control Engineering of China,2008,15(1):7-11.(In Chinese)
[15] 任海鵬,朱峰.基干免疫克隆選擇算法的無刷直流電動機速度自抗擾控制器優化設計 [J].電機與控制學報,2010,14(9):69-74.
REN Hai-peng,ZHU Feng.Optimal design of speed adaptive disturbance rejection controller for brushless DC motor based on immune clonal selection algorithms[J].Electric Machines and Control,2010,14(9):69-74.(In Chinese)