晉 春, 毛罕平, 馬國鑫, 王奇瑞, 石 強
(1. 江蘇大學 農(nóng)業(yè)工程學院, 江蘇 鎮(zhèn)江 212013; 2. 江蘇科技大學 電子信息學院, 江蘇 鎮(zhèn)江 212003)
溫室通過調(diào)控室內(nèi)環(huán)境以促進作物生長發(fā)育,提升作物產(chǎn)量和品質(zhì),從而獲得高經(jīng)濟效益,但是,運行成本一直是制約其發(fā)展的主要因素.在保證作物高產(chǎn)條件下降低溫室環(huán)境調(diào)控成本,以尋求經(jīng)濟效益最大化,一直是國內(nèi)外學者長期關注的熱點問題[1].本質(zhì)上,這是個動態(tài)優(yōu)化問題,也稱之為最優(yōu)控制問題,即通過建立性能目標函數(shù),在一定的約束條件下尋求使性能目標最優(yōu)的控制策略.
溫室環(huán)境的最優(yōu)控制,最早可以追溯到20世紀80年代,文獻[2]首次建立以經(jīng)濟效益為最優(yōu)目標的溫室環(huán)境控制問題,并利用Pontryagin極大值理論(Pontryagin′s maximum principle,PMP)求解該問題.文獻[3]拓展了經(jīng)濟效益最優(yōu)目標的溫室環(huán)境控制問題,并進一步分析了其PMP最優(yōu)條件和求解方法,仿真結(jié)果表明比傳統(tǒng)方法可提高經(jīng)濟效益多達15%.文獻[4-5]利用偽譜法工具箱PROPT計算,實現(xiàn)玫瑰溫室中輸入能源最低下的最優(yōu)控制方案.文獻[6-7]利用工具箱PROPT實現(xiàn)中國日光溫室內(nèi)自適應閉環(huán)控制、帶LED補光的雙閉環(huán)最優(yōu)控制,在減少能耗成本、提高作物經(jīng)濟效益、在線可實施性等方面都取得不錯的結(jié)果.文獻[8]運用差分進化(differential evolution,DE)算法進行了短時間尺度下經(jīng)濟效益目標最優(yōu)的溫室環(huán)境控制仿真研究.
動態(tài)優(yōu)化問題的求解方法可以歸納為兩大類[9]:間接法和直接法.間接法主要通過Pontryagin極大值理論將最優(yōu)控制問題轉(zhuǎn)化為兩點邊界問題,進行解析求解;直接法則通過離散化方法,將最優(yōu)控制問題近似轉(zhuǎn)化為非線性規(guī)劃(nonlinear programming,NLP)問題,進行數(shù)值近似求解.常用的直接法主要有控制向量參數(shù)化法、有限元正交配置法、偽譜法、智能優(yōu)化方法等.一般來說,間接法求解精度高,但是依賴于目標問題的梯度信息,最優(yōu)條件計算復雜,只適用低階的或者復雜性較低的最優(yōu)控制問題;而直接法對初值的精度要求更低,其收斂域更寬廣,計算效率高,是當前求解最優(yōu)控制問題的主流方法[10].智能優(yōu)化算法,因其不依賴于問題的梯度信息,并具有全局優(yōu)化、計算簡單、易編程實現(xiàn)等優(yōu)點,在最優(yōu)控制問題的求解上也引起了廣泛關注[11],同時也在溫室環(huán)境最優(yōu)控制上得到應用[12-13].該類方法的思想是采用分段常量近似表示控制變量,從而形成NLP問題,再利用諸如遺傳算法(genetic algorithm,GA)、DE、粒子群算法(particle swarm optimization,PSO)等智能算法直接求解.其中,GA方法成熟,適用于混合整數(shù)變量等復雜優(yōu)化問題.
隨著溫室環(huán)境智能化控制需求的不斷提升,對溫室環(huán)境最優(yōu)控制問題求解效率和控制精度提出更高的要求.溫室環(huán)境系統(tǒng)復雜,調(diào)控設備具有開關切換、連續(xù)與非連續(xù)控制等混合特性,導致常規(guī)的優(yōu)化算法計算復雜、求解效率低.此外,其控制約束較多,存在許多相互制約作用,如CO2供給與通風、通風與加熱等之間相互制約作用,致使常規(guī)的優(yōu)化算法控制精度較差,容易引起設備操作不當、相互沖突等問題.因此文中運用改進遺傳算法(improved genetic algorithm,IGA),以實現(xiàn)溫室環(huán)境動態(tài)優(yōu)化問題的有效、實用求解.引入一種精確懲罰函數(shù),以解決GA不能直接處理狀態(tài)變量路徑約束的問題;引入工程經(jīng)驗規(guī)則、精英保留、多種群進化等改進策略,以解決標準遺傳算法(standard genetic algorithm,SGA)易出現(xiàn)未成熟收斂和后期收斂速度慢的問題,并獲得滿足實際控制需求的控制方案.
當前,溫室環(huán)境系統(tǒng)建模主要以機理模型的研究為主[14].考慮到文中的控制目標函數(shù)含作物的經(jīng)濟效益指標,這里采用含有作物生長變量的van Henten模型[3],表達為
(1)
(2)
(3)
(4)
式中:Xd是溫室作物的干物質(zhì)量,kg·m-2;XT是室內(nèi)空氣溫度,℃;Xh是室內(nèi)空氣絕對濕度,kg·m-3;Xc是室內(nèi)CO2質(zhì)量濃度,kg· m-3;Uq是加熱速率,W·m-2;Uc是CO2供給率,kg· m-2·s-1;Uv是特定通風率,m·s-1;Vrad是室外太陽輻射強度,W·m-2;VT是室外空氣溫度,℃;Vc是室外CO2質(zhì)量濃度,kg·m-3;Vh是室外空氣濕度,kg·m-3.各模型參數(shù)的定義與數(shù)值, 詳見文獻[3]和文獻[6].
在van Henten模型的基礎上,定義nx維的狀態(tài)變量x∈Rnx(nx=4)、nu維的控制變量u∈Rnu(nu=3)、nd維的外部天氣輸入量d∈Rnd(nd=5),分別為
x=[XdXTXhXc]T,
(5)
u=[uqucuv]T,
(6)
d=[VradVTVcVhVw]T,
(7)
式中:Vw是室外風速,m·s-1;控制變量u∈Rnu由加熱操作uq、通風窗操作uv和CO2供給操作uc構(gòu)成.uq設置為開關控制量,uq∈[0,1],則Uq=uq·Qheat,q,Qheat,q為恒定加熱功率,150 W·m-2.uc設為開關控制量,uc∈[0,1],則Uc=ucφinj,c,φinj,c為恒定CO2供給速率,1.2×10-6kg·m-2·s-1.
通風窗操作uv設置為連續(xù)控制變量,uv∈(0,2).它是通風窗操作的綜合指令,決定了迎風窗開度uws和背風窗開度uls:
(8)
(9)
這樣,特定通風率Uv再由uws和uls計算出:
(10)
那么,溫室環(huán)境系統(tǒng)模型可簡化表示為
(11)
式中:f(x,u,d,t)代表溫室環(huán)境系統(tǒng)的系列狀態(tài)方程式(1)-(4);t是時間變量.
溫室環(huán)境控制的本質(zhì)是為作物提供適宜的室內(nèi)生長環(huán)境,以獲得高經(jīng)濟效益,但是能耗成本也不容忽視.這是個多目標的動態(tài)優(yōu)化問題.在預知作物銷售價格、能耗價格系數(shù)時,以經(jīng)濟效益,即作物經(jīng)濟收入減去能耗總成本,作為單目標優(yōu)化函數(shù)(性能指標J),描述為
(12)
Φ(Xd(tf))=cpr1+cpr2Xd(tf),
(13)
L(x,u,t)=cquq+cco2uc,
(14)
式中:t0為起始時刻;tf為終止時刻;Xd(tf)是終止時刻的作物干物質(zhì)值.作物經(jīng)濟收入函數(shù)Φ(Xd(tf))是作物市場價格cpr1、cpr2和干物質(zhì)Xd(tf)的擬合函數(shù);能耗成本函數(shù)L(x,u,t)主要考慮加熱uq的成本、CO2供給uc的成本,不計通風成本[3].
為保證室內(nèi)環(huán)境適宜作物生長,避免出現(xiàn)極端惡劣情況,在整個時域內(nèi)溫室環(huán)境因子必須控制適當范圍內(nèi),這在動態(tài)優(yōu)化問題中被定義為狀態(tài)變量x的路徑約束,形如:
xi,min≤xi≤xi,max,i∈nx,
(15)
式中:xi,max、xi,min表征狀態(tài)變量x約束范圍的上、下界值.對于文中3個狀態(tài)變量XT、XRh、Xc,對應的邊界值參如表1所示.表1中XRh是室內(nèi)空氣的相對濕度,由空氣絕對濕度Xh與飽和水氣壓Xh,sat的比值轉(zhuǎn)換得到;Xc進行了量綱一處理.
表1 變量約束范圍的邊界值
根據(jù)前面的定義,控制變量u∈Rnu中uq∈[0,1]、uc∈[0,1]都為開關控制量(整數(shù)型).uv∈(0,2)為連續(xù)控制量.控制變量的約束條件統(tǒng)一表達為
uj,min≤uj≤uj,max,j∈nu,
(16)
式中:uj,max和uj,min表征控制量u約束范圍的上、下界,也列于表1中.
進而,經(jīng)濟效益最優(yōu)目標下的溫室環(huán)境動態(tài)優(yōu)化問題可以表述為問題1(P1):在給定溫室環(huán)境系統(tǒng)動態(tài)方程組式(1)-(4)、初始狀態(tài)值x(t0)=x0時,滿足控制變量約束條件式(13)和狀態(tài)變量約束條件式(12)下,尋求最優(yōu)控制輸入量u*(t),以使性能指標J最大化.綜合表達為
xi,min≤xi(t)≤xi,max,i∈nx,
uj,min≤uj(t)≤uj,max,j∈nu.
(17)
遺傳算法求解動態(tài)優(yōu)化問題的基本思想是首先將控制變量在控制時域上離散化,轉(zhuǎn)化為有限維參數(shù)的輸入向量組,使動態(tài)優(yōu)化問題轉(zhuǎn)化為有限維參數(shù)的NLP問題,再利用模擬生物基因進化的遺傳操作進行問題解的尋優(yōu).
首先對控制時域[t0,tf]分段化,形成一組有限維的時間網(wǎng)格節(jié)點.這樣在各時間節(jié)點上,控制變量用一類基函數(shù)近似表示,被離散化成一組有限維的輸入?yún)?shù)向量,從而將動態(tài)優(yōu)化問題轉(zhuǎn)化為有限維參數(shù)的NLP問題.根據(jù)基函數(shù)的不同,控制變量有多種近似策略,如分段常數(shù)、分段線性、分段樣條函數(shù)等.對于遺傳算法求解動態(tài)優(yōu)化問題,常采用分段常數(shù)近似法,如圖1所示.
圖1 分段常數(shù)近似法
具體實現(xiàn)過程如下:
首先,將整個控制時域[t0,tf]等分成Nc個子區(qū)間[tk-1,tk],k=1,2,…,Nc,Nc記為時間網(wǎng)格數(shù).時間節(jié)點tk滿足:
0=t0≤t1≤…≤tNc-1≤tNc=tf,
(18)
在Nc確定后,tk為固定的時間切換點.
假設控制變量u∈Rnu的第j個分量為uj(t)(j=1,2,…,nu),根據(jù)分段常數(shù)近似法,uj(t)可表示為
(19)
記:參數(shù)向量組σ∈Rnu×Nc,σ=[σq,σv,σc],則控制時域[t0,tf]上連續(xù)時域變量u∈Rnu就由離散時間節(jié)點tk(k=0,1,…,Nc-1)上σ確定,可表示為u(tk|σ).因此,問題1(P1)所表示的動態(tài)優(yōu)化問題,轉(zhuǎn)換為有限維參數(shù)σ的非線性規(guī)劃問題2(P2):
P2: maxJ(u)=Φ(Xd(tf|σ))-L(x(t|σ),σ,t),
xi,min≤xi(t|σ)≤xi,max,xi(t|σ)∈RNc,i∈nx,
(20)
其中:
Φ(Xd(tf|σ))=cpr1+cpr2Xd(tNc|σ) ,
(21)
(22)
式中:x(t|σ)表示在時刻t由參數(shù)向量組σ計算所得的狀態(tài)變量x值.
有限維參數(shù)σ的非線性規(guī)劃問題2(P2),可采用GA等智能算法進行求解.遺傳算法是一種借鑒生物界自然選擇和遺傳機制的隨機全局搜索和優(yōu)化算法,不依賴于問題的梯度信息,通過隨機選擇、交叉和變異操作,使種群不斷繁衍進化,求得問題的最優(yōu)解.編/解碼、選擇、交叉、變異和適應度函數(shù)是遺傳算法的主要組成部分.盡管遺傳算法有許多優(yōu)點,但早熟收斂和后期搜索遲鈍是標準遺傳算法(SGA)主要存在的2個問題,通常對選擇、交叉、變異3個操作進行改進,以提高算法的有效性.此外,考慮到溫室環(huán)境控制的特殊性,引入工程經(jīng)驗規(guī)則,修正種群個體的基因(碼串),以獲得滿足工程要求的控制方案.
1) 編/解碼.遺傳算法通常使用固定長度的二進制符號串來表示種群中的個體.對于文中控制變量uq∈[0,1]、uc∈[0,1],都為開關控制量,編碼時可直接采用一位的二進制數(shù)表示.群體中的個體數(shù)量Nvars,也就是控制變量u∈Rnu離散化后的參數(shù)向量組σ∈Rnu×Nc長度,可計算為
Nvars=nuNc.
(23)
為了獲得滿足工程要求的解,需要對隨機產(chǎn)生的種群個體基因(碼串)進行修正,這里引入工程經(jīng)驗規(guī)則:CO2供給時停止通風,以及夜間不供給CO2.
2) 選擇.選擇是根據(jù)適應度函數(shù)選擇適應性強的個體來繁殖下一代的過程.選擇操作的目的就是為了避免有用遺傳信息的丟失,提高全局收斂性和計算效率.SGA采用輪盤賭選擇方法,令fi表示群體中第i個體的適應度值,∑fi表示群體的適應度函數(shù)值的總和,則它被選中的概率就為其適應度值所占的份額fi/∑fi.該選擇方法的誤差較大,有時甚至連適應度較高的個體也選不上.有效的改進方法之一是采用有條件的精英保留策略,直接將最佳的個體傳遞到下一代.另外,多種群遷移策略也是一種有效方法,通過多個群體并行進化、子群體間交換優(yōu)良個體,增加群體的多樣性,加快較好個體在群體中傳播,從而提高收斂速度和解的精度.
3) 交叉.交叉是把 2個父代個體的部分結(jié)構(gòu)加以交換重組而生成新個體.交叉的目的是為了能產(chǎn)生下一代新的個體,提高算法的全局搜索能力.交叉操作是遺傳算法區(qū)別于其他進化算法的重要特征,常用單點交叉、雙點交叉、均勻交叉、算法交叉等方式.交叉率pc決定交叉操作被使用的頻度,pc越大,產(chǎn)生新個體的速度越快,但優(yōu)良個體的結(jié)構(gòu)被很快破壞;pc過小會使搜索過程緩慢.pc影響算法的性能和收斂性,針對不同的優(yōu)化問題,需要反復試驗來確定,一般取值范圍為0.40~0.99.
4) 變異.變異是以較小概率對某些個體的某些位進行改變, 進而產(chǎn)生新的個體,是產(chǎn)生新的個體的輔助方法,但是必不可少的步驟,可以避免搜索過程陷于局部最優(yōu).相對于交叉運算決定了算法的全局搜索能力,變異運算決定了算法的局部搜索能力,維持群體多樣性的同時,防止出現(xiàn)早熟現(xiàn)象.同樣,變異率pm影響著算法的性能和收斂性,也需要多次試驗來確定,一般取為10-4~10-1.
5) 適應度函數(shù).適應度是度量群體中個體達到或者有助于找到最優(yōu)解的優(yōu)良程度,遺傳算法在搜索過程中基本不利用外部信息,僅以個體的適應度來搜索.計算個體適應度的函數(shù)即為適應度函數(shù),通常由目標函數(shù)變換而成的.對于Matlab遺傳算法工具箱GADS,適應度函數(shù)要求非負、最小化,因此取性能指標J的倒數(shù)為適應度函數(shù),即f=1/J.
對于形如式(15)的狀態(tài)變量不等式約束,GA不能直接處理.一般利用靜態(tài)罰函數(shù)方法來間接處理,即在原目標函數(shù)基礎上增加懲罰項,構(gòu)成新的目標函數(shù).這里,采用精準罰函數(shù)[15]:
(24)
式中:Gi為狀態(tài)變量的第i個不等式約束條件;ρ為懲罰系數(shù).對于雙邊界約束的式(15),需要轉(zhuǎn)變?yōu)?個Gi≤0式.
對應于文中3個狀態(tài)變量XT、Xh和Xc,在時間節(jié)點tk上的懲罰值分別記為P(XT(tk|σ))、P(Xh(tk|σ))和P(Xc(tk|σ)).增加罰函數(shù)項后,式(19)中能耗成本函數(shù)L(x(t|σ),σ,t)更新為
(25)
考慮到Matlab自帶遺傳算法工具箱GADS的通用、便捷、易編程等特點,用戶只需要設置各類參數(shù)就能實現(xiàn)遺傳算法的優(yōu)化計算功能.文中將利用工具箱GADS完成算法的實現(xiàn),精英保留策略、多種群遷移等改進策略也通過相關的參數(shù)設置來實現(xiàn).運用遺傳算法實現(xiàn)溫室環(huán)境最優(yōu)問題的求解時,主程序流程大致由控制變量離散化、GA參數(shù)設置、GA命令調(diào)用、結(jié)果輸出與顯示等部分組成.以改進的遺傳算法(IGA)為例,詳細實現(xiàn)步驟如下:
step1控制變量離散化.設定控制時域[t0,tf]、時域區(qū)間分段數(shù)Nc.確定控制變量u∈Rnu,采用分段常數(shù)近似法,產(chǎn)生GA輸入量σ∈Rnu×Nc.按照σq、σc、σv順序組合成一維數(shù)組形式.根據(jù)表1中各控制變量u∈Rnu約束范圍,設定輸入量σ的取值范圍[LB,UB].
控制變量uq∈[0,1]、uc∈[0,1],都為開關控制量,需要設定對應的參數(shù)組σq、σc為整數(shù)型.因此,指定GA控制參數(shù)“IntCon”為[1,2Nc],即可將輸入量σ中的前1到2Nc個分量設定為整數(shù)取值.
step2設定GA控制參數(shù)“options”,主要包含群體大小“PopulationSize”、迭代次數(shù)“Generations”、收斂精度“TolFun”、交叉率“CrossoverFraction”等;其他參數(shù)都采用默認值.
通過參數(shù)“EliteCount”設置為一個正整數(shù),可以實現(xiàn)精英保留策略的改進方法.默認值為2,表示每代中選擇2個優(yōu)良個體傳遞到下一代.
設置群體大小“PopulationSize”為一個長度大于1的向量,則可實現(xiàn)多種群并行進化策略,子種群的數(shù)量等于向量的長度,每個子種群的大小是向量的對應項值.子種群間個體遷移可以通過設置方向“Direction”、間隔“Interval”、百分比“Fraction”來進行控制.
step3調(diào)用工具箱GADS的GA命令函數(shù),完成優(yōu)化計算.GA命令調(diào)用的基本格式為
[x,fval]=ga(@objfun,Nvars,[], [],[],[],
LB,UB, IntCon, options),
其中:x,fval為最優(yōu)解及其對應的適應度值;objfun為種群個體的適應度計算函數(shù).對于工具箱GADS,只需要執(zhí)行上述GA命令就可實現(xiàn)遺傳算法的全部操作.而objfun函數(shù)是用戶程序設計的核心,其具體實現(xiàn)步驟為① 讀取遺傳操作后的種群,運用工程經(jīng)驗規(guī)則,修正種群編碼;進行解碼、生成參數(shù)向量組σ.② 讀取室外氣候數(shù)據(jù)d,通過插值方法配置在時間節(jié)點tk(k= 0,1,…,Nc)上.③ 基于溫室環(huán)境系統(tǒng)模型,求解狀態(tài)變量x∈Rnx×Nc.設定t0時刻的狀態(tài)變量初始值x0,根據(jù)微分方程式(1)-(4),采用四/五階變步長龍格-庫塔法,順序求解出各時間節(jié)點tk(k= 1,2,…,Nc)上狀態(tài)變量值x.④ 適應度計算. 基于式(18)、(22)、(12),分別計算作物經(jīng)濟收入Φ、能耗成本L(含懲罰項)和經(jīng)濟效益目標值J.將經(jīng)濟效益最大化的目標值J進行倒數(shù)變換,返回適應度值f.
step4輸出最優(yōu)解,計算并顯示相關結(jié)果.
計算機配置為酷睿雙核i5-4460,主頻3.2 GHz,內(nèi)存12 G.仿真試驗平臺采用Matlab2016a軟件,GA算法實現(xiàn)采用Matlab自帶的遺傳算法工具箱GADS.
用于算法仿真的室外天氣數(shù)據(jù),來自室外氣象站(江蘇省鎮(zhèn)江市江蘇大學農(nóng)業(yè)工程學院溫室)記錄的實際數(shù)據(jù).控制時域取3 d,t0=0 h,tf=72 h.根據(jù)溫室系統(tǒng)模型需求,選取較冷的3 d室外天氣數(shù)值(2018年1月29日到31日),采樣時間為1 min,如圖2所示.室外CO2質(zhì)量濃度取恒定值360×10-6.
圖2 3 d室外天氣數(shù)值
針對給定的溫室環(huán)境動態(tài)優(yōu)化問題2(P2)的求解,在SGA基礎上,逐步增加處理狀態(tài)變量路徑約束的懲罰項、帶有工程約束規(guī)則和多種群進化的改進策略,實現(xiàn)未含有懲罰項的標準遺傳算法SGA(no)、含有懲罰項的標準遺傳算法SGA(penalty)和含有懲罰項的改進遺傳算法IGA(penalty)3種算法的對比.在設定的控制時間3 d下,時間網(wǎng)格數(shù)Nc都取為144個,即每個控制變量u∈Rnu離散為144個參數(shù)的向量組,則計算出GA輸入量的個數(shù)Nvars為432個.
GA控制參數(shù)設置影響到算法性能.為了獲得良好的計算效果,并提高程序的計算速率,文中通過對不同參數(shù)組合重復試驗,確定種群大小取100,迭代次數(shù)取200次,收斂精度取1×10-4.對于采用多種群并行進化的改進遺傳算法,設置2個種群,大小為50,精英保留個數(shù)為10個,遷移率為0.1,其他參數(shù)采用GA工具箱默認值.
在圖2所示的室外天氣作用下,狀態(tài)變量的求解結(jié)果如圖3所示.
圖3 3種方法的狀態(tài)變量優(yōu)化軌跡
圖3b-d中水平線虛線表征表1中狀態(tài)變量約束的邊界值.可見,SGA(no) 優(yōu)化的狀態(tài)量軌跡明顯出現(xiàn)超出規(guī)定邊界值的現(xiàn)象,不滿足作物生長對環(huán)境值的嚴格要求,說明GA本身對狀態(tài)變量路徑約束條件的處理能力非常弱.而增加懲罰項后,SGA(penalty)和IGA(penalty) 的優(yōu)化結(jié)果始終保持在規(guī)定的界限范圍內(nèi),表明懲罰函數(shù)大大提高了GA處理路徑約束條件的能力,提升了GA算法的有效性、實用性.從圖3b、d中室內(nèi)溫度XT、室內(nèi)CO2質(zhì)量濃度Xc的優(yōu)化軌跡來看,SGA(penalty) 的優(yōu)化結(jié)果沒有明顯的規(guī)律性,而IGA(penalty) 的優(yōu)化結(jié)果,特別是Xc,在2個白天時段(9~18 h、57~64 h)維持較高的數(shù)值,與室外太陽輻射強度Vrad關聯(lián)性很大,符合溫室環(huán)境控制的實際物理規(guī)律.通常,室外光照強時,需要較高的室內(nèi)溫度、CO2質(zhì)量濃度,這將有助于作物光合作用,從而促進作物生長發(fā)育.反之光照弱時,作物光合作用也較弱,作物生長緩慢,無須維持較高的室內(nèi)溫度、CO2質(zhì)量濃度.
圖3a表明了優(yōu)化的結(jié)果也符合作物生長發(fā)育規(guī)律.在選定的3 d中,9~16 h、57~64 h 2個白天時段內(nèi)較高的室外太陽輻射強度、室內(nèi)溫度、室內(nèi)CO2質(zhì)量濃度將促使作物生長,因此干物質(zhì)Xd增長較快.而在32~41 h白天時段,室外光強低,由于所優(yōu)化出室內(nèi)溫度、室內(nèi)CO2質(zhì)量濃度也較低,致使光合作用產(chǎn)物較低,Xd增長非常小.圖3c主要顯示出空氣相對濕度的變化狀況,通??諝鉁囟容^高時,相對濕度就較低.
各方法的控制變量優(yōu)化結(jié)果如圖4所示.
圖4 3種方法的控制變量優(yōu)化軌跡
總體來看,作為隨機搜索算法的GA,優(yōu)化結(jié)果的波動性較大.由于性能指標中不包含通風成本,致使圖4b中各方法的通風操作隨機性都較大.圖4a中IGA(penalty) 的加熱uq動作較多,是為了維持較高的室內(nèi)溫度所致.圖4c中,相比于其他2種方法,IGA(penalty) 的CO2供給uc動作最少,只需要維持2個白天時段(9~18 h、57~64 h)內(nèi)CO2質(zhì)量濃度較高即可,另外與圖4b中uv在時序上不沖突.而其他2種方法優(yōu)化的uv和uc沖突情況很頻繁,嚴重削弱了CO2供給的作用效果,在經(jīng)濟上是不可取的,也不符合實際溫室控制中的物理規(guī)律.可見,帶有工程約束規(guī)則的改進遺傳算法,有效提高了控制品質(zhì),可獲得滿足工程要求的控制方案.
進一步優(yōu)化結(jié)果中幾個關鍵的性能指標如表2所示.為避免算法單次運行的差異性,統(tǒng)計了算法運行10次的結(jié)果.表2中迭代次數(shù)是算法滿足終止條件時的迭代運算次數(shù),表征算法的收斂速度. 在SGA(no)多次仿真結(jié)果中,狀態(tài)變量軌跡多次超出設定界限,溫度值甚至出現(xiàn)低于0 ℃,導致模型計算出的總干物質(zhì)Xd為負值,失去比較意義.因此,這里僅比較SGA(penalty)和IGA(penalty)的優(yōu)化結(jié)果.可以看出,相對于SGA(penalty),IGA(penalty)優(yōu)勢較為明顯,迭代次數(shù)降低接近20次,體現(xiàn)出多種群并行進化等改進策略的作用效果,有效提升了算法的收斂速度.此外, 雖然IGA(penalty) 的總干物質(zhì)Xd平均值下降了2.51%,但是能耗成本L、經(jīng)濟利潤J全部指標值占有優(yōu)勢,能耗成本L平均值降低了約12.62%,最大可降低41.36%;經(jīng)濟利潤J平均值略提高了0.60%,最大能夠提高1.34%.可見,帶有改進策略的IGA(penalty)算法有效提高了性能指標值.
表2 2種方法的性能指標對比
綜合來看,針對經(jīng)濟效益最優(yōu)目標的溫室環(huán)境控制問題,采用懲罰函數(shù)的遺傳算法求解方法可以有效滿足狀態(tài)變量路徑約束條件,但是控制變量的解還會違背了溫室控制實際的物理規(guī)律,說明GA算法本身在溫室環(huán)境動態(tài)優(yōu)化控制問題的求解上,有效性、實用性不能滿足工程應用要求,這可能也是智能算法應用于溫室環(huán)境優(yōu)化控制上相關研究文獻較少的一個原因.而通過引入工程經(jīng)驗規(guī)則、精英保留、多種群并行進化等改進措施,IGA(penalty)算法優(yōu)化效果提升明顯,算法性能和控制品質(zhì)得以有效提升,控制變量的優(yōu)化結(jié)果更符合實際的溫室控制物理規(guī)律,控制方案可行性更高.
針對一種整數(shù)變量控制下經(jīng)濟效益最優(yōu)目標的溫室環(huán)境控制問題,在標準遺傳算法的層面上,采用懲罰函數(shù)以處理狀態(tài)變量路徑約束條件;引入整數(shù)變量設置和工程經(jīng)驗規(guī)則來修正遺傳編碼,以構(gòu)建滿足實際控制需求的解空間;采用精英保留、多種群并行進化等改進措施以提升算法性能.仿真試驗表明,相比標準遺傳算法,所提方法能夠有效提升收斂速度、提高控制品質(zhì),能耗成本最大可降低41.36%,經(jīng)濟利潤最大能提高1.34%,顯示出其潛在的應用價值.