







摘 要:為提高果蠅優(yōu)化算法(FOA)的尋優(yōu)效率和精度,針對標準果蠅算法在全局范圍內搜索能力不均勻導致的問題,提出一種步長改進策略。該策略在運行過程中根據(jù)當前果蠅群體中最優(yōu)個體位置,動態(tài)地對果蠅前進步長進行調整,使果蠅算法能夠平衡在全局范圍內的搜索能力,增強初期收斂速度和后期收斂精度。通過經(jīng)典測試函數(shù)對改進算法進行仿真研究,結果表明:在保證尋優(yōu)成功率的同時,該文所提出改進算法的收斂精度和速度均得到顯著提高。風電機組滑模控制器參數(shù)尋優(yōu)中的應用實例也表明該算法的有效性。
關鍵詞:果蠅優(yōu)化算法;風電機組;滑模控制;最大功率點跟蹤
文獻標志碼:A 文章編號:1674-5124(2017)03-0101-05
Abstract: In order to improve the optimizing efficiency and precision of fruit fly optimization algorithm(FOA), an improved step-length strategy is proposed aiming at the problems caused by the unbalanced searching ability of standard FOA in global scope. The strategy can dynamically adjust the moving step length of fruit fly during operation according to the optimal fruit fly position in current population, so that the searching ability of FOA is balanced in global scope, which improves convergence rate at initial stage and precision at later stage. After the simulation research for improved algorithm based on several kinds of classical test functions, the results show that while ensuring the success ratio of optimization, the convergence accuracy and speed of the algorithm proposed in the article are significantly improved. Besides, the application case of parameter optimization for sliding mode controller of wind turbine unit also indicated the effectiveness of the proposed algorithm.
Keywords: FOA; wind turbine unit; sliding mode control; MPPT
0 引 言
中國臺灣學者潘文超受到果蠅覓食行為的啟發(fā),于2011年提出了基于群體智能的果蠅優(yōu)化算法[1](fruite fly optimization algorithm,F(xiàn)OA)。該方法實現(xiàn)簡單,全局尋優(yōu)能力較強,尋優(yōu)精度較高,可應用于科學計算和工程領域。但是,F(xiàn)OA算法與傳統(tǒng)的優(yōu)化算法類似,仍存在初期搜索速度慢、易陷入局部最優(yōu),而導致收斂耗時,收斂精度較低,尤其對于多局部極值、高維的較復雜優(yōu)化問題。
針對FOA算法存在的問題,國內外學者在其基礎上進行了大量研究,文獻[2]基于社會認知因子和變異算子,提出了多策略果蠅優(yōu)化算法(SFOA),加快了收斂速度。文獻[3]將Levy飛行策略引入果蠅算法,提出了雙子群果蠅優(yōu)化算法(LFOA),取得了較好的收斂精度。文獻[4]將多種群協(xié)同搜索策略與標準果蠅算法相結合,平衡了全局搜索能力和局部開發(fā)能力。文獻[5]將混沌算法融入果蠅優(yōu)化算法中,構成自適應混沌果蠅優(yōu)化算法(ACFOA),具有比標準FOA更好的全局搜索能力。
以上改進策略均在一定程度上提高了果蠅算法的尋優(yōu)能力,但未考慮到果蠅算法與其他智能算法(如粒子群算法、遺傳算法)所不同的是其在全局范圍內搜索能力并不是均勻分布的[6],導致全局最優(yōu)點非零點時尋優(yōu)效率低下。本文針對這個缺點,提出了等效步長改進策略,根據(jù)當前果蠅位置對果蠅前進步長進行實時修正,平衡了全局范圍內的搜索能力,提高了搜索效率。
1 果蠅算法實現(xiàn)過程
果蠅算法具體步驟[7]如下:
1)參數(shù)初始化。對果蠅群體位置初始化為X1和Y1都為隨機數(shù),果蠅種群規(guī)模Sizepop,最大迭代次數(shù)maxgen。
2)賦予每只果蠅利用自身嗅覺搜尋事物的能力,此后果蠅飛行位置為(Xi,Yi)。
3)計算果蠅位置與原點的距離Di和味道濃度判定值Si:
4)將Si帶入味道濃度判定函數(shù)(fitness function)中,得到味道濃度判定值:
5)尋找味道濃度中最高的果蠅個體,即:
6)記錄最佳味道濃度判定值bestsmell與其坐標,其余果蠅利用視覺向該位置飛去,Smellbest為味道濃度歷史最優(yōu)值:
Smellbest=bestsmellX_axis=X(bestindex)Y_axis=Y(bestindex)
7)重復步驟2)~5)直到達到結束條件,若本次濃度判定值更大,則執(zhí)行步驟6)。
2 改進的果蠅算法
2.1 標準果蠅算法缺陷分析
根據(jù)式(1)~式(2)可知,味道濃度判定值是果蠅與原點間距離的倒數(shù),該種計算方式會導致味道濃度判定值Si的搜索范圍不僅與果蠅前進步長K有關,而且與當前果蠅位置有關。
在同一個果蠅前進步長下,當果蠅位置不同時,味道濃度判定值搜索范圍也有所不同。因此果蠅算法存在如下缺陷:
缺陷1):當果蠅前進步長K固定時,標準果蠅算法呈現(xiàn)出“味道濃度判定值較大時,搜索范圍大;味道濃度判定值較小時,搜索范圍小”的特性。
缺陷2):考慮到實際問題中,被優(yōu)化函數(shù)的最優(yōu)點往往不位于原點處,在這種情況下,果蠅算法這種特性反而會使其容易跨過全局最優(yōu)點而難以尋找到最優(yōu)值。
2.2 基于等效步長策略的改進果蠅算法
直觀地講,直接給定味道濃度判定值搜索半徑即可平衡在全局范圍內的搜索能力。基于上述思路,本文提出一種考慮當前最優(yōu)果蠅個體位置的等效步長策略,即設味道濃度判定值的搜索半徑為等效果蠅步長,用Keq表示,其計算公式為
可以看出,等效步長Keq的含義為:當果蠅前進步長為K、上代最佳果蠅個體與原點間距離為Dbest時味道濃度判定值Si的近似搜索半徑,對其進行變換可得:
給定等效搜索步長Keq后,根據(jù)式(4)可以計算出當前位置果蠅個體所需要的搜索半徑,避免果蠅位置對搜索能力的影響。
3 仿真實驗及性能分析
3.1 標準測試函數(shù)
分別選取Michalewicz、Shubert兩個全局最優(yōu)點不在原點處的測試函數(shù)和Spher、Griewank兩個全局最優(yōu)點在原點處的測試函數(shù),其具體表達式如表1所示。
3.2 實驗結果及分析
分別采用PSO、基本FOA和本文所提出的改進FOA(表示為MFOA)3種算法對測試函數(shù)進行求解,每個測試函數(shù)獨立運行20次,并求取20次尋優(yōu)結果的平均值、最優(yōu)值、最差值、標準方差及成功率,其實驗結果如表2所示。
圖1給出了4個測試函數(shù)的收斂曲線(為了便于觀察,對f3和f4函數(shù)的目標函數(shù)值取以10為底的對數(shù))。可以看出:對于全局最優(yōu)點不在原點的測試函數(shù),標準FOA算法很難收斂,本文所提出改進FOA收斂效果明顯要好于標準FOA和PSO算法;對于全局最優(yōu)點位于原點的測試函數(shù),標準FOA要好于PSO算法,但等效步長改進的FOA效果要好于前兩者,收斂精度更高。
4 應用實例
滑模控制是目前風電機組轉速控制中的熱門[8-10]。但由于其控制器參數(shù)較多,存在參數(shù)整定困難的問題,限制了其發(fā)展,本文應用改進FOA算法對其進行尋優(yōu)。
4.1 風電機組轉速控制器設計
設轉速跟蹤誤差及其導數(shù)為狀態(tài)變量:
根據(jù)文獻[11]中提出的非奇異快速終端滑模面設計轉速控制器,簡便起見,直接給出控制器結構:
由式(5)~式(7)即組成了滑模轉速控制器,控制器輸出為式(6)和式(7)之和,可以看出,α、β、k、p、q、g、h等參數(shù)需要整定,考慮到p、q、g、h為正奇數(shù)[11],因此直接給定其取值:p/q=15/13;g/h=9/7。此時α、β、k3個參數(shù)需要進行整定。使用傳統(tǒng)的試湊法進行整定時工作量很大,實際效果也不理想,因此采用本文提出的改進果蠅算法求取滑模控制器參數(shù)最優(yōu)解。
4.2 仿真驗證
基于Matlab/Simulink平臺搭建2.4 MW風電機組仿真模型,其轉速控制策略如圖2所示。
機組參數(shù)如下:葉片長度R=42 m,最大風能利用系數(shù)Cpmax=0.48,最佳葉尖速比λopt=8.1,低速軸轉動慣量J=6.516 e5 kg·m2,最佳轉速風速比Kopt=0.193。
4.2.1 滑模控制器參數(shù)尋優(yōu)
本文選取以積分型誤差指標ITAE為基礎的目標函數(shù),同時為了保證收斂速度,增加懲罰函數(shù)t|s|,形成新的目標函數(shù)如下[12]:
設算法迭代次數(shù)100次,等效果蠅步長Keq為2,仿真時間為20 s,風速在5 s時由5 m/s階躍至10 m/s。適應度曲線如圖3所示,可以看出,改進FOA在優(yōu)化參數(shù)時速度更快,精度更高。兩種算法所得參數(shù)階躍響應對比如圖4所示。由圖4和表3可以看出兩種算法的尋優(yōu)結果都可以達到無超調,但等效步長FOA的尋優(yōu)結果上升時間更短且無穩(wěn)態(tài)誤差,其動態(tài)性能要好于標準FOA的尋優(yōu)結果。
4.2.2 多變風速下仿真
為了體現(xiàn)尋優(yōu)后參數(shù)在轉速跟蹤過程中的效果,將等效步長FOA尋優(yōu)所得參數(shù)帶入模型中進行仿真,結果如圖5所示,可以看出,使用尋優(yōu)參數(shù)后轉速控制器跟蹤效果較好,其跟蹤誤差在設定值的1%左右。進一步通過對功率進行積分的方法獲得該時間段內葉輪所捕獲的總風能,如表4所示,其中捕獲效率為葉輪捕獲風能與總風能之比。
可以看出,在仿真的300 s過程中,使用尋優(yōu)參數(shù)時所捕獲風能比經(jīng)驗參數(shù)時增加了120 kJ左右,其捕獲效率提升了大約0.19%,提升并不明顯,其主要原因是該組經(jīng)驗參數(shù)是作者經(jīng)過多次仿真所總結得出的,已經(jīng)較為接近尋優(yōu)所得參數(shù),但這種方法需要耗費大量時間且當機組參數(shù)發(fā)生改變時必須重新進行整定;而通過本文所提出的算法進行尋優(yōu)時,只需要花費少量時間且當機組參數(shù)發(fā)生變化時只需重新尋優(yōu)即可。
5 結束語
針對果蠅算法在優(yōu)化全局最優(yōu)點非原點問題時所存在的缺陷,提出了一種等效步長改進策略。該策略通過當前果蠅位置動態(tài)調整果蠅前進步長,平衡了果蠅在不同位置處的搜索能力。通過對4個標準測試函數(shù)的仿真,驗證了經(jīng)過等效步長改進后的FOA與標準FOA相比尋優(yōu)速度更快、精度更高。同時,將改進FOA算法應用到風電機組滑模控制器當中,進一步證明了該策略的有效性。
參考文獻
[1] 王克甫,薛鵬,黃全振,等. 求解旅行商問題的改進果蠅算法[J]. 計算機工程與設計,2014,38(4):2789-2821.
[2] 鐘偉民,牛進偉,梁毅,等. 多策略果蠅優(yōu)化算法及其應用[J]. 化工學報,2015,66(12):4888-4894.
[3] 張前圖,房立清,趙玉龍. 具有Levy飛行特征的雙子群果蠅優(yōu)化算法[J]. 計算機應用,2015,35(5):1348-1352.
[4] YUAN X F, DAI X S, ZHAO J G. On a novel multi-swarm fruit fly optimization algorithm and its application[J].Applied Mathematics and Computation,2014(233):260-271.
[5] 韓俊英,劉成忠. 自適應混沌果蠅優(yōu)化算法[J]. 計算機應用,2013,33(5):1313-1316.
[6] SHAN D, CAO G H, DONG H J. LGMS-FOA:An improved fruit fly optimization algorithm for solving optimization problems[J]. Mathematical Problems in Engineering,2013:108768.
[7] PAN W T. A new fruit fly optimization algorithm:Taking the financial distress model as an example[J]. Knowledge-Based Systems,2012,26(9):69-74.
[8] 茅靖峰. 基于擴張狀態(tài)觀測的永磁直驅風力發(fā)電系統(tǒng)MPPT自適應滑模控制[J]. 電力系統(tǒng)保護與控制,2014,
42(18):58-65.
[9] 鄭雪梅,李琳,徐殿國,等. 雙饋風力發(fā)電系統(tǒng)最大風能追蹤滑模變結構控制[J]. 控制理論與應用,2010,27(7):923-926.
[10] BARAMBONES O. Sliding mode control strategy for wind turbine power maximization[J]. Energies,2012(5):2310-2330.
[11] 李升波,李克強,王建強,等. 非奇異快速的終端滑模控制方法[J]. 信息與控制,2009,38(1):1-8.
[12] 張敏,唐東成,張君躍,等. 基于微粒群算法的永磁同步發(fā)電機滑模控制[J]. 計算機工程與應用,2015,51(22):266-270.
(編輯:劉楊)