本發(fā)明涉及分子蒸餾最優(yōu)控制技術(shù)領(lǐng)域,具體涉及一種基于BP網(wǎng)絡(luò)的啟發(fā)式動態(tài)規(guī)劃(Heuristic Dynamic Programming HDP)分子蒸餾系統(tǒng)的最優(yōu)控制方法。
背景技術(shù):
分子蒸餾技術(shù),又稱短程蒸餾技術(shù),具有操作溫度低、蒸餾壓強低、受熱時間短等特點,適用于高沸點、熱敏、高粘度物質(zhì)的提取、分離和精制,在諸如精細(xì)化工、藥品、香精、食用添加劑、石化實際工程領(lǐng)域的應(yīng)用中,具有常規(guī)蒸餾技術(shù)無法比擬的優(yōu)勢。然而由于分子蒸餾系統(tǒng)參數(shù)多、耦合、非線性、滯后性等特點,傳統(tǒng)控制技術(shù)無法滿足現(xiàn)在工業(yè)生產(chǎn)高效、節(jié)能要求,限制了分子蒸餾的最大產(chǎn)能。為了進一步提高分子蒸餾生產(chǎn)過程的自動化水平、穩(wěn)定性以及最大產(chǎn)能,需要探求新的控制方式。
在現(xiàn)有的分子蒸餾設(shè)備上,刮膜電機轉(zhuǎn)速、蒸發(fā)溫度以及壓力的控制多是采用工業(yè)上最常用的PID控制技術(shù),相應(yīng)的多個控制量的控制必然是通過解耦之后,用多路PID完成控制的。但在分子蒸餾系統(tǒng)中,參數(shù)之間的耦合非常嚴(yán)重,在解耦過程中,必然會忽略很多因素,導(dǎo)致各個參數(shù)的運行實際值也不符合他們的設(shè)定值,最終使得整個系統(tǒng)控制精確度變差,在分子蒸餾系統(tǒng)中表現(xiàn)為參數(shù)之間的匹配不合理,最終導(dǎo)致被分離物的純度和得率不理想。自適應(yīng)動態(tài)規(guī)劃由人工智能和控制領(lǐng)域交匯發(fā)展形成的,以傳統(tǒng)的最優(yōu)控制為理論基礎(chǔ),融合人工智能的先進方法,為大規(guī)模復(fù)雜非線性系統(tǒng)優(yōu)化控制問題的解決提供了方案。自適應(yīng)動態(tài)規(guī)劃的基本思想是利用函數(shù)近似結(jié)構(gòu),逼近動態(tài)規(guī)劃中的性能指標(biāo)函數(shù)和控制策略,以滿足最優(yōu)性原理從而獲得最優(yōu)控制和最優(yōu)性能指標(biāo)函數(shù)。啟發(fā)式動態(tài)規(guī)劃(HDP)是自適應(yīng)動態(tài)規(guī)劃的一種,也是應(yīng)用最普遍的一種,在分子蒸餾中,該方法的使用避免了分子蒸餾的建模及解耦問題,它能夠直接給出分子蒸餾系統(tǒng)所需的最優(yōu)控制量。
技術(shù)實現(xiàn)要素:
為了解決傳統(tǒng)方法確定的分子蒸餾工藝參數(shù)不準(zhǔn)確,餾出物的純度和得率低的問題,本發(fā)明提供基于BP網(wǎng)絡(luò)的HDP分子蒸餾系統(tǒng)的最優(yōu)控制方法,實現(xiàn)分子蒸餾的工藝參數(shù)的最優(yōu)化,為系統(tǒng)提供最優(yōu)的控制量u。
本發(fā)明的方法首先要建立起模型網(wǎng)絡(luò)、評價網(wǎng)絡(luò)、執(zhí)行網(wǎng)絡(luò)、定義效用函數(shù),如下:
模型網(wǎng)絡(luò)采用具有n+m個輸入層神經(jīng)元、km個隱含層神經(jīng)元和n個輸出層神經(jīng)元的結(jié)構(gòu),n+m個輸入分別為系統(tǒng)k時刻的狀態(tài)向量x(k)的n個分量以及執(zhí)行網(wǎng)絡(luò)對狀態(tài)向量x(k)的控制向量u(k)的m個分量,n個輸出則是對系統(tǒng)在k+1時刻的狀態(tài)向量x(k+1)的預(yù)測向量的n個分量;模型網(wǎng)絡(luò)的隱含層采用雙極性sigmoidal函數(shù),輸出層采用線性函數(shù)purelin,模型網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
評價網(wǎng)絡(luò)采用具有n個輸入層神經(jīng)元、kj個隱含層神經(jīng)元和1個輸出層神經(jīng)元的結(jié)構(gòu),n個輸入是系統(tǒng)k時刻的狀態(tài)向量x(k)的n個分量,輸出是與輸入狀態(tài)對應(yīng)的最優(yōu)性能指標(biāo)的估計;評價網(wǎng)絡(luò)的隱含層采用雙極性sigmoidal函數(shù),輸出層采用線性函數(shù)purelin,評價網(wǎng)絡(luò)的結(jié)構(gòu)如圖3所示。
執(zhí)行網(wǎng)絡(luò)采用具有n個輸入層神經(jīng)元、ku個隱含層神經(jīng)元和m個輸出層神經(jīng)元的結(jié)構(gòu),n個輸入是系統(tǒng)在k時刻的狀態(tài)向量x(k)的n個分量,m個輸出則是與輸入狀態(tài)向量x(k)對應(yīng)的控制向量u(k)的m個分量;執(zhí)行網(wǎng)絡(luò)的隱藏層采用雙極性sigmoidal函數(shù),輸出層采用線性函數(shù)purelin,執(zhí)行網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
效用函數(shù)定義為U(k)=xT(k)Ax(k)+uT(k)Bu(k),其中A、B為正定矩陣,x(k)為狀態(tài)向量,u(k)為控制向量。
在分子蒸餾系統(tǒng)中,蒸發(fā)面溫度、蒸發(fā)器內(nèi)真空度、進料速度、一級刮膜電機轉(zhuǎn)速、二級刮膜電機轉(zhuǎn)速是影響被分離物得率和純度的主要因素,并且這幾個量都是可測的,所以選擇蒸發(fā)面溫度、蒸發(fā)器內(nèi)真空度、進料速度、一級刮膜電機轉(zhuǎn)速和二級刮膜電機轉(zhuǎn)速作為控制向量u(k),得率和純度作為分子蒸餾系統(tǒng)的狀態(tài)向量x(k)。
本發(fā)明基于BP網(wǎng)絡(luò)的HDP分子蒸餾系統(tǒng)的最優(yōu)控制方法,具體包括以下步驟:
步驟一:采用梯度下降法訓(xùn)練模型網(wǎng)絡(luò):如圖1所示,模型網(wǎng)絡(luò)的輸入包括分子蒸餾系統(tǒng)在k時刻的控制向量u(k)、狀態(tài)向量x(k),輸出為k+1時刻的狀態(tài)向量x(k+1),模型網(wǎng)絡(luò)的結(jié)構(gòu)為7—14—2即輸入層包含7個節(jié)點、隱層包含14個節(jié)點、輸出層包含2個節(jié)點;
步驟1.1、隨機初始化模型網(wǎng)絡(luò)的權(quán)值wm1,wm2(wm1為輸入層到隱層的權(quán)值,wm2為隱層到輸出層之間的權(quán)值),設(shè)置訓(xùn)練次數(shù)c,允許誤差ε,學(xué)習(xí)效率lm;
步驟1.2、以多組真實實驗數(shù)據(jù)建立實驗樣本庫,即,將分子蒸餾系統(tǒng)在k時刻的控制向量u(k)、狀態(tài)向量x(k)作為模型網(wǎng)絡(luò)的輸入向量M(k)=[u(k) x(k)]T,將k+1時刻的狀態(tài)向量x(k+1)作為模型網(wǎng)絡(luò)的輸出向量為x(k+1),建立具有映射對應(yīng)關(guān)系的多組實驗數(shù)據(jù)組作為實驗樣本;從實驗樣本庫中選擇N個樣本訓(xùn)練模型網(wǎng)絡(luò);
步驟1.3、模型網(wǎng)絡(luò)的正向計算:
步驟1.4、計算誤差
式中,x(k+1)是模型網(wǎng)絡(luò)k+1時刻的期望輸出,是模型網(wǎng)絡(luò)的預(yù)測輸出;模型網(wǎng)絡(luò)的權(quán)值按下面的式子進行更新:
步驟1.5、判斷誤差(式中,x(k+1)是模型網(wǎng)絡(luò)k+1時刻的期望輸出,是模型網(wǎng)絡(luò)的預(yù)測輸出)是否小于ε,若誤差大于ε且訓(xùn)練次數(shù)小于c,則轉(zhuǎn)到步驟1.6;若誤差小于ε或訓(xùn)練次數(shù)大于等于c則轉(zhuǎn)步驟1.8;
步驟1.6、更新權(quán)值wm1和wm2,如下:
①wm2更新:
wm2(k+1)=wm2(k)+Δwm2(k) (6)
②wm1更新:
wm1(k+1)=wm1(k)+Δwm1(k) (8)
步驟1.7、返回步驟1.3;
步驟1.8、模型網(wǎng)絡(luò)訓(xùn)練完成;
步驟二:定義效用函數(shù)U(k)=U[x(k),u(k),k]:對于分子蒸餾系統(tǒng),效用函數(shù)定義為U(k)=xT(k)Ax(k)+uT(k)Bu(k),其中A為5階單位陣、B為2階單位陣;
步驟三:確定執(zhí)行網(wǎng)絡(luò)與評價網(wǎng)絡(luò)的結(jié)構(gòu)并初始化神經(jīng)網(wǎng)絡(luò):執(zhí)行網(wǎng)絡(luò)的結(jié)構(gòu)為2—8—5,輸入層到隱含層的權(quán)值為wa1,隱含層到輸出層的權(quán)值為wa2,學(xué)習(xí)效率為la;評價網(wǎng)絡(luò)的結(jié)構(gòu)為2—5—1,輸入層到隱含層的權(quán)值為wc1,隱含層到輸出層的權(quán)值為wc2,學(xué)習(xí)效率為lc,允許誤差為εc,設(shè)定訓(xùn)練次數(shù)為nc,已訓(xùn)練次數(shù)為c(初始值c=0);
步驟四:從已有的實驗數(shù)據(jù)中,選擇N組數(shù)據(jù)作為訓(xùn)練樣本,并設(shè)定分子蒸餾系統(tǒng)的初始狀態(tài)x(k);
步驟五:將x(k)作為執(zhí)行網(wǎng)絡(luò)(如圖4所示)的輸入,產(chǎn)生控制向量u(k),得到u(k)的計算過程如下:
步驟六:求解效用函數(shù)U(k)的值:
U(k)=xT(k)Ax(k)+uT(k)Bu(k)
步驟七:將x(k)輸入到評價網(wǎng)絡(luò),得到k時刻的計算過程如下:
步驟八:將當(dāng)前階段的狀態(tài)x(k)與執(zhí)行網(wǎng)絡(luò)輸出的控制向量u(k)作為輸入向量M(k)輸入到模型網(wǎng)絡(luò)(如圖2所示)得到k+1時刻狀態(tài)向量x(k+1),得到x(k+1)的計算過程如下:
步驟九:將狀態(tài)x(k+1)輸入到評價網(wǎng)絡(luò)獲得的計算過程如下:
步驟十:計算評價網(wǎng)絡(luò)誤差Ec(k),并判斷Ec(k)與εc的大?。蝗绻鸈c(k)大于εc,則轉(zhuǎn)步驟十一,如果Ec(k)<=εc則轉(zhuǎn)步驟十二;誤差Ec(k)的計算如下式所示:
其中,
步驟十一:更新評價網(wǎng)絡(luò)的權(quán)值wc1和wc2,評價網(wǎng)絡(luò)的訓(xùn)練也采用梯度下降法,權(quán)值更新過程如下:
步驟11.1、wc2的更新:
wc2(k+1)=wc2(k)+Δwc2(k)
步驟11.2、wc1的更新:
wc1(k+1)=wc1(k)+Δwc1(k)
步驟十二:計算執(zhí)行網(wǎng)絡(luò)的誤差Ea:
步驟十三:更新執(zhí)行網(wǎng)絡(luò)的權(quán)值wa2和wa1:執(zhí)行網(wǎng)絡(luò)的訓(xùn)練以最小化為目標(biāo),訓(xùn)練也采用梯度下降法,權(quán)值更新過程如下:
步驟13.1、wa2的更新:
式中,共m個,wm1u=wm1(1:m,:)即wm1的前m行;wa2(k+1)=wa2(k)+Δwa2(k)
步驟13.2、wa1的更新:
式中共m個,wa2(k+1)=wa2(k)+Δwa2(k);
步驟十四:判斷訓(xùn)練是否失敗,如果失敗(Ec(k+1)>εc),返回步驟五,否則轉(zhuǎn)步驟十五;
步驟十五:判斷是否達到最大訓(xùn)練次數(shù),如果達即c>nc,轉(zhuǎn)步驟十六,否則,令c=c+1,k=k+1;如果c<=na轉(zhuǎn)步驟五,進行下一次訓(xùn)練;
步驟十六:訓(xùn)練結(jié)束,此時HDP的執(zhí)行網(wǎng)絡(luò)產(chǎn)生的u(k)能夠使目標(biāo)函數(shù)J(k)最小,即此時的u(k)是分子蒸餾系統(tǒng)的最優(yōu)控制向量。
本發(fā)明的有益效果是:該方法能夠從已積累的生產(chǎn)數(shù)據(jù)中挖掘規(guī)律,給出分子蒸餾系統(tǒng)的最優(yōu)的控制量,并使得影響?zhàn)s出物產(chǎn)品質(zhì)量的關(guān)鍵因素得到合理有效的控制,從而保證產(chǎn)品的純度和得率在規(guī)定范圍內(nèi),有效地提高企業(yè)的生產(chǎn)效率,節(jié)約能源,降低企業(yè)的生產(chǎn)成本。
附圖說明
圖1是本發(fā)明中HDP算法的基本結(jié)構(gòu)示意圖。
圖2是本發(fā)明中模型網(wǎng)絡(luò)的結(jié)構(gòu)示意圖。
圖3是本發(fā)明中評價網(wǎng)絡(luò)的結(jié)構(gòu)示意圖。
圖4是本發(fā)明中執(zhí)行網(wǎng)絡(luò)結(jié)構(gòu)圖示意圖。
具體實施方式
下面結(jié)合附圖和實例對本發(fā)明做進一步詳細(xì)說明。
如圖1所示,本發(fā)明采用基于BP網(wǎng)絡(luò)的HDP算法(HDP的執(zhí)行網(wǎng)絡(luò)、模型網(wǎng)絡(luò)、評價網(wǎng)絡(luò)都采用BP神經(jīng)網(wǎng)絡(luò))來實現(xiàn)分子蒸餾的最優(yōu)控制,根據(jù)產(chǎn)品的指標(biāo)要求,通過設(shè)定效用函數(shù)U可以靈活的調(diào)整控制代價與控制效果之間的關(guān)系。圖中x(k)為系統(tǒng)k時刻的狀態(tài)向量,x(k+1)為系統(tǒng)k+1時刻的狀態(tài)向量,J(k)為系統(tǒng)的性能指標(biāo)函數(shù)(即代價函數(shù)),J(k+1)為系統(tǒng)k+1時刻代價函數(shù),U(k)為效用函數(shù),γ為折扣因子,u(k)為系統(tǒng)k時刻的控制向量。動態(tài)規(guī)劃的目的是選擇一個控制序列u(i),i=k,k+1,...,l,使得代價函數(shù)最小化。
本發(fā)明以分子蒸餾法提取五味子精油的生產(chǎn)實驗為例,實驗以干燥果實五味子為原料,首先,通過超臨界CO2萃取裝置萃取得到五味子粗油,然后以該五味子粗油為原料,通過長春工業(yè)大學(xué)的mds-80-II自動控制二級刮膜式分子蒸餾裝置進行分子蒸餾,提取五味子精油的實驗。
本發(fā)明的方法是以實驗采集的真實數(shù)據(jù)為樣本數(shù)據(jù),對樣本數(shù)據(jù)進行統(tǒng)計、分析、整合,并在此基礎(chǔ)上設(shè)計基于BP網(wǎng)絡(luò)的HDP分子蒸餾系的最優(yōu)控制方法,給出分子蒸餾系統(tǒng)的最優(yōu)輸入,保證餾出物的純度和得率。
本發(fā)明基于BP網(wǎng)絡(luò)的HDP分子蒸餾系的最優(yōu)控制方法包括以下步驟:
步驟一:建立模型網(wǎng)絡(luò),其結(jié)構(gòu)為7—14—2,初始化模型網(wǎng)絡(luò)的權(quán)值wm1、wm2,設(shè)定學(xué)習(xí)效率lm、訓(xùn)練次數(shù)c、允許誤差ε。選擇100組數(shù)據(jù)作為訓(xùn)練樣本,50組數(shù)據(jù)作為測試樣本。輸入樣本M(k)=[u(k)x(k)]T(k=1,2,...,100),期望輸出樣本為x(k),其中控制向量u(k)的5個分量分別為蒸發(fā)面溫度、蒸發(fā)器內(nèi)真空度、進料速度、一級刮膜電機轉(zhuǎn)速和二級刮膜電機轉(zhuǎn)速,x(k)的兩個分量分別為餾出物的純度和得率。將這100個訓(xùn)練樣本按發(fā)明內(nèi)容中步驟一所述的方式訓(xùn)練模型網(wǎng)絡(luò),并用50個測試樣本進行測試,直到得到一個可靠的能夠準(zhǔn)確預(yù)測出分子蒸餾系統(tǒng)下一個狀態(tài)的模型網(wǎng)絡(luò),否則重新設(shè)定上述參數(shù),再進行訓(xùn)練。
步驟二:定義效用函數(shù)U(k)=U[x(k),u(k),k]。對于分子蒸餾系統(tǒng),效用函數(shù)定義為U(k)=xT(k)Ax(k)+uT(k)Bu(k),其中A為5階單位陣、B為2階單位陣。
步驟三:確定評價網(wǎng)絡(luò)與執(zhí)行網(wǎng)絡(luò)的結(jié)構(gòu),并初始化它們的權(quán)值。定義學(xué)習(xí)效率lc(評價網(wǎng)絡(luò)的學(xué)習(xí)效率)、la(執(zhí)行網(wǎng)絡(luò)的學(xué)習(xí)效率)及折扣因子γ的值。執(zhí)行網(wǎng)絡(luò)的結(jié)構(gòu)為2—8—5,輸入層到隱含層的權(quán)值為wa1,隱含層到輸出層的權(quán)值為wa2;評價網(wǎng)絡(luò)的結(jié)構(gòu)為2—5—1,輸入層到隱含層的權(quán)值為wc1,隱含層到輸出層的權(quán)值為wc2,評價網(wǎng)絡(luò)允許誤差εc,設(shè)定學(xué)習(xí)次數(shù)nc,已學(xué)習(xí)次數(shù)c(c的初始值為0)并從采集的實驗數(shù)據(jù)中取100個樣本數(shù)據(jù)用于訓(xùn)練評價網(wǎng)絡(luò)與執(zhí)行網(wǎng)絡(luò)。
步驟四:從步驟三所給的訓(xùn)練樣本中任取一個樣本作為蒸餾系統(tǒng)的初始狀態(tài)x(k)(k=1,2,...,100),并將其輸入執(zhí)行網(wǎng)絡(luò)產(chǎn)生控制向量u(k)。
步驟五:將x(k)輸入到評價網(wǎng)絡(luò),產(chǎn)生J(k)。
步驟六:求解效用函數(shù)U(k)的值。
步驟七:將當(dāng)前階段的狀態(tài)x(k)與執(zhí)行網(wǎng)絡(luò)輸出的控制動作u(k)輸入到模型網(wǎng)絡(luò)得到k+1時刻狀態(tài)計算過程如發(fā)明內(nèi)容中的公式(1)、(2)、(3)所示。
步驟八:將狀態(tài)x(k+1)輸入到評價網(wǎng)絡(luò)獲得
步驟九:計算評價網(wǎng)絡(luò)誤差Ec(k),并判斷Ec(k)與εc的大小。如果Ec(k)大于εc,則轉(zhuǎn)步驟十,如果Ec(k)<=εc則轉(zhuǎn)步驟十一。
步驟十:更新評價網(wǎng)絡(luò)的權(quán)值,計算過程如發(fā)明內(nèi)容中步驟十一所示,此時的m等于2。
步驟十一:更新執(zhí)行網(wǎng)絡(luò)的權(quán)值,計算過程如發(fā)明內(nèi)容中步驟十三所示,此時的m等于2。
步驟十二:判斷訓(xùn)練是否失敗,如果失敗,返回步驟四。
步驟十三:判斷是否達到最大訓(xùn)練次數(shù)100次,如果達到,轉(zhuǎn)步驟十四,否則令c=c+1,k=k+1,轉(zhuǎn)步驟四,進行下一次訓(xùn)練。
步驟十四:訓(xùn)練結(jié)束,此時HDP的執(zhí)行網(wǎng)絡(luò)產(chǎn)生的u(k)能夠使目標(biāo)函數(shù)J(k)最小,即此時的u(k)是分子蒸餾系統(tǒng)的最優(yōu)控制向量。
在分子蒸餾實驗過程中,本發(fā)明充分利用了非線性擬合能力較強的神經(jīng)網(wǎng)絡(luò)和動態(tài)規(guī)劃算法,通過將兩種方法相結(jié)合,使各自的優(yōu)點充分發(fā)揮,能在很大的程度上克服傳統(tǒng)方法的缺陷,完成網(wǎng)絡(luò)的訓(xùn)練、檢驗和最優(yōu)評價,為生產(chǎn)過程的決策和控制提供可靠的依據(jù)。本發(fā)明利用BP神經(jīng)網(wǎng)絡(luò)算法建立了分子蒸餾系統(tǒng)的模型網(wǎng)絡(luò)、評價網(wǎng)絡(luò)以及執(zhí)行網(wǎng)絡(luò)。模型網(wǎng)絡(luò)能夠準(zhǔn)確預(yù)測出系統(tǒng)的下一個狀態(tài),評價網(wǎng)絡(luò)能夠?qū)刂菩ЧM行評價,執(zhí)行網(wǎng)絡(luò)能夠根據(jù)上一個狀態(tài)給出此時的最優(yōu)控制量。本發(fā)明的方法與傳統(tǒng)的方法相比,算法簡單,計算精度高,有很強的自學(xué)習(xí)能力。