王 寧, 曹萃文
(華東理工大學化工過程先進控制與優化技術教育部重點實驗室,上海 200237)
氫作為一種原料或者副產品廣泛應用于工業中,在傳統能源深加工方面起著舉足輕重的作用。煉油業是氫消耗的最大終端市場,氫是煉油廠生產高質量石化產品的重要原料。近年來,由于環境法規嚴格的限制以及原油價格越來越貴但質量越來越差,煉油廠被迫增加加氫處理流程。
目前,氫氣網絡的優化方法主要包括夾點分析法和超結構法。夾點分析法是一種基于熱力學原理的過程集成技術,于20 世紀80 年代初由英國著名學者Linnhoff 和Hindmarsh[1]提出。1996 年,Towler 等[2]首次將這種方法用于氫氣網絡。夾點分析法通常采用圖形化方法,物理意義明確,易于理解,操作簡單,但它無法直接獲得精確的操作點,對于復雜的系統不能表現出很好的效果;雖然夾點分析法對公用工程量的優化很有用,但對于多目標的優化問題,卻無法單獨使用;另外,夾點分析法無法有效處理所有的實際約束。因此,研究者對應用于氫氣網絡優化問題的數學規劃法(超結構法)進行了大量的研究[3-5]。
超結構法是一種建立與實際工程相符合的數學規劃模型的方法,它是系統工程中的一種重要研究方法,在換熱網絡、水網絡和反應器網絡等的建模和優化方面得到了廣泛的應用。2001 年,Hallale 等[6]首先提出將超結構法應用于氫氣網絡的優化問題上。超結構法可以用于包含復雜約束的氫氣網絡系統,也可以用于多目標的氫氣網絡優化問題,具有一定的靈活性,但它不像夾點分析法那樣直觀和物理意義明確,且存在不合理不貼合實際的地方。因此,有研究以一種氫夾點圖解法原理為基礎,針對現有的煉油廠氫氣網絡的超結構模型,建立夾點法約束,并融入超結構法模型進行混合建模,同時考慮最小新氫(即高純度氫氣)消耗量以及最小氫氣剩余量兩種因素下的模型[6-10]。該模型的目標是靜態目標,在氫氣網絡的優化問題中,往往將氫氣的流量和純度采用一個固定不變的設計值,但在產氫或耗氫的實際生產過程中,這些量往往隨著溫度等參數的變化而變化,因此,模型的目標也應該是動態變化的目標,存在著不確定性。
XGBoost 模型是由Chen 等[11]在2016 年提出的一種新型的深度學習模型,近年來被數據科學家廣泛使用,且因可擴展性在許多領域取得先進的成果。Lei 等[12]用了6 種機器學習方法建立預測模型,其中XGBoost 分類模型實現了最準確的預測。Guangye等[13]建立了一個多信息的短期電力負荷XGBoost 模型進行電力負荷預測,結果表明,XGBoost 預測模型相對于隨機森林、貝葉斯和K 近鄰模型在訓練速度和預測精度方面都具有優勢[14]。Xia 等[15]使用貝葉斯超參數的XGBoost 優化信用評分模型,葉倩怡[16]進行了基于XGBoost 的實體零售業銷售額預測研究,Mustapha 等[17]使用XGBoost模型對生物活性分子進行了預測[18]。XGBoost 模型在信息技術和軟件工程[19-22]、生物與醫學工程[12,17,23]、經濟與金融[15,24]等諸多領域有著卓越的表現[25],但是還未被應用到氫氣網絡工業工程中。
本文以某煉油廠實際連續重整裝置氫氣純度和氫氣產量的動態變化數據為基礎,利用文獻[7]計算得到以最小新氫消耗量和最小氫氣剩余量為目標的動態數據,首次提出采用XGBoost 模型對氫氣網絡的兩種動態目標建立動態多輸出預測模型并進行預測分析。由于神經網絡是非線性系統控制與建模的重要手段[26-27],因此,本文與BP 神經網絡模型的預測結果進行了比較,以驗證模型的有效性。
煉油廠的新氫一般較難制取,成本較高,氫氣網絡的優化要求新氫用量最小化。煉油廠通常不對氫氣設立儲罐進行余量儲存,生產過程中,多余的氫氣將排入燃料系統或者放空燃燒。因此,考慮到煉油廠的經濟效益問題,對氫氣網絡因不同工況、不同氫氣純度和不同氫氣產量的動態變化導致不同配置的氫源(產氫裝置)和氫阱(耗氫裝置)下的實時動態的最小新氫消耗量和最小氫氣剩余量進行準確的預測,能夠對氫氣網絡的合理配置與優化提供指導決策支持,減少新氫的消耗量和燃氣的排放量,以提高煉油廠的技術水平和經濟效益。
某煉油廠中,現有5 套產氫裝置,分別為2 套連續重整裝置和3 套制氫裝置。1#和2#制氫經同一套變壓吸附(PSA)裝置提純,氫純度達99.9%;3#制氫裝置由PSA 裝置將氫氣提純到99.9%,供后續用氫。目前,1#制氫裝置正處于停工狀態。除了PSA裝置外,氫氣提純裝置還包括1 套膜分離裝置[28]。
現有耗氫裝置分別為S-Zorb、潤滑油加氫、加氫裂化、4#柴油加氫、重整預加氫、苯抽提、航煤加氫、蠟油加氫處理、3#柴油加氫,分別用SK1~SK9表示。
本文是在連續重整裝置的原廠數據與在Aspen HYSYS 中實現的模擬數據的混合動態數據基礎上進行的研究。在連續重整裝置工藝中,反應溫度是操作人員用來控制質量的主要參數,通常被定義為加權平均入口溫度和加權平均床層溫度,而實際生產中操作人員可以調整反應器的入口溫度;另外,為了保持催化劑的穩定性,保持一定的氫氣循環也十分必要。由于重整為吸熱反應, 為了保持一定的反應溫度,設置4 個重疊串聯的反應器,每個反應器均設有進料加熱爐以提供反應必須的熱量。以4 個反應器溫度以及循環氫量作為輸入,氫氣的產量以及氫氣的純度作為部分輸出,利用原廠數據以及Aspen HYSYS 中建立的機理模型得到氫氣產量和氫氣純度隨4 個反應器溫度和循環氫量變化的數據源。設表示兩套連續重整裝置的動態氫氣產量(氫氣產量以流率來衡量),y3表示動態氫氣純度變量,煉油廠涉氫裝置數據匯總如表1 所示,SC1~SC7分別代表2#制氫、3#制氫、1#與2#連續重整、膜分離、潤滑油加氫干氣、1#催化干氣、3#催化干氣。和y3隨4 個反應器溫度以及循環氫量變化的數據共計39 804 組,表2列出了其中5 組數據。

表 1 煉油廠氫氣裝置數據匯總Table 1 Data collection of hydrogen plant in refinery
我們在“一種夾點法與超結構法混合的煉油廠氫氣網絡優化調度方法”[7]專利中提出一種氫氣網絡線性規劃模型目標如下:
最小新氫消耗量目標:

最小氫氣剩余量目標:

其中: Fj,k為氫源j 分配到氫阱k 的氫氣流量,為氫源j 的最大設計供應量,J 為氫源的集合,K 為氫阱的集合, J′為新氫的集合, Fj′,k為新氫 j′分配到氫阱k 的氫氣流量。
XGBoost 是一種大規模并行的Boosted Tree 的模型[11],如果只依據一棵樹進行預測,無法準確得到預測結果。因此,XGBoost 采用多棵CART 樹進行預測,將每棵樹的預測值加和作為最終的預測值。
XGBoost 模型中一共有3 種類型的參數:通用參數(General Parameters),Booster 參數(Booster Parame ters)和學習目標參數(Task Parameters)。通用參數決定了上升過程中哪種上升模型被選擇,通常是線性和樹型模型;Booster 參數取決于選擇的上升模型類型;學習目標參數決定學習策略,定義學習任務和相應的學習目標。
(1)通用參數
booster:默認值為gbtree。決定使用哪個上升模型,可以是gbtree,gblinear 或者dart。gbtree 和dart 使用基于樹的模型,而gblinear 使用線性函數。
num_feature:XGBoost 自動設置,不需要用戶設置,在boosting 提升過程中使用的特征維度,設置為特征的個數。
silent:默認值為0,設置為0 時連續打印運行信息,設置為1 時靜默模式,不打印。
(2)Booster 參數
eta:默認值為0.3,別名為learning rate,更新葉子節點權重的時候,收縮步長來防止過擬合。在每次提升計算之后,可以直接獲得新的特征權值,這樣可以使得提升過程更加穩健。

表 2 連續重整裝置氫氣純度和氫氣產量動態數據Table 2 Dynamic data of hydrogen purity and hydrogen production in continuous reforming unit

表 3 最小新氫消耗量目標和最小氫氣剩余量目標動態數據Table 3 Dynamic data of the minimum fresh hydrogen consumption and the minimum hydrogen surplus
max_depth:默認值為6,這個值為樹的最大深度,也是用來防止過擬合的。樹的深度越大,越容易過擬合。
lambda:默認值為1,L2 為正則化項的懲罰系數,用來控制XGBoost 的正則化部分。參數越大,越不容易過擬合。
n_estimatores:總共迭代的次數,即決策樹的個數。
(3)學習目標參數
eval_metric:自定義評測函數,選擇項“rmse”為均方根誤差;“mae”為平均絕對值誤差;“logloss”為負對數似然;“error”為二分類錯誤率。其值通過錯誤分類數目與全部分類數目比值得到。預測值大于0.5 被認為是正實例,其他歸為負實例。
seed:默認值為0,隨機數種子,設置其可以復現隨機數據的結果,也可用于調整參數。
本文基于XGBoost 的Python 庫,使用表3 中的39 804 組動態數據,隨機選取20%數據組成測試集,80%數據組成訓練集,以4 個反應器溫度以及循環氫數據為輸入特征,以最小新氫消耗量和最小氫氣剩余量數據為輸出,將eval_metric(自定義評測函數)設置為“mae”,learning rate 設置為0.05,max_depth 設置為4,為了防止過擬合,silent 設置為1,對于n_estimatores參數的選擇,給出模型單獨兩個輸出目標最小新氫消耗量目標和最小氫氣剩余量目標在測試集上的平均絕對值誤差(MAE)的變化過程,結果如圖1 所示,橫坐標是樹的數目,縱坐標是MAE 的值,可以發現在測試集上決策樹數目為200 時,MAE 的值就迅速降到最低,之后基本不變,因此在后面的實驗中n_estimatores參數的值設置為200,其余參數均設置為默認值。
本文含有兩個目標,因此采用了MultiOutput Regressor()函數,對于每一個目標可以訓練出一個回歸器,通過檢查對應的回歸器,可以獲取關于目標的信息,目的是訓練出多輸出的預測模型。
基于上述參數設置,以最小新氫消耗量和最小氫氣剩余量動態數據為模型輸出,訓練動態多輸出預測模型。為了更好地反映預測誤差的實際情況,衡量預測值與真實值的偏差,基于XGBoost 的動態多輸出預測模型的性能,本文采用MAE 和均方根百分誤差(RMSPE)來評估,公式如下:

為了驗證本文提出模型的有效性,采用相同數據集,相同的輸入特征和輸出,使用隱含層12 個節點的標準BP 神經網絡模型與本文模型進行預測結果對比,表5 和表6 分別顯示了基于XGBoost 的氫氣網絡動態多輸出預測模型和BP 神經網絡模型的性能指標結果。包括MAE 和RMSPE,從表中可以發現,本文預測模型兩個輸出目標的MAE 值和RMSPE值都遠小于BP 神經網絡模型的MAE 值和RMSPE值,并且本文預測模型兩個輸出目標的RMSPE 值都趨于0,可以看出在測試集上的效果很好。
圖2 示出了基于XGBoost 的氫氣網絡動態多輸出預測模型測試集樣本的最小新氫消耗量目標和最小氫氣剩余量目標的預測誤差散點圖,從圖中可以看出,大部分測試集樣本的預測誤差很小,樣本誤差散點聚集在±40~±50 之間,只有個別的點偏差較大,同樣可以發現,兩個目標的預測效果都很不錯。

圖 1 兩種目標在測試集上的MAE 變化曲線Fig. 1 MAE curves of the two targets on the test set

表 4 最小新氫消耗量和最小氫氣剩余量真實值和模型預測值數據Table 4 Real values and model predictive values of the minimum fresh hydrogen consumption and the minimum hydrogen surplus

表 5 基于XGBoost 的氫氣網絡動態多輸出預測模型性能指標Table 5 Performance indexes of the dynamic multi-output prediction model of the hydrogen network based on XGBoost

表 6 BP 神經網絡模型性能指標Table 6 Performance indexes of the back propagation neural network model
模型的5 個輸入特征與最小新氫消耗量和最小氫氣剩余量單獨兩個輸出目標的特征重要度得分如圖3 所示。圖中,縱坐標表示5 個輸入特征,f0~f4 分別表示反應器1 溫度、反應器2 溫度、反應器3 溫度、反應器4 溫度以及循環氫量,橫坐標表示特征的重要度得分(F score),根據特征重要度打分,可以分辨出特征對于模型的重要性。值得注意的是,在最小新氫消耗量目標中,反應器2 溫度(f1)以及反應器4 溫度(f3)在所有特征中的得分非常靠前,尤其是反應器4 溫度的重要度得分最高,而在最小氫氣剩余量目標中,反應器1 溫度(f0)以及反應器4 溫度(f3)在所有特征中的得分非常靠前,尤其是反應器4 溫度的重要度得分最高,也就是說,該特征是對最小新氫消耗量目標和最小氫氣剩余量目標都有著非常重要影響的特征。在最小新氫消耗量目標中,并未出現循環氫量(f4)特征,即循環氫量對于最小新氫消耗量目標并沒有影響,而在最小氫氣剩余量目標中,反應器2 溫度(f1)和反應器3 溫度(f2)的得分比較靠后,即它們對于最小氫氣剩余量目標的影響較小。

圖 2 測試集樣本兩種目標的預測誤差散點圖Fig. 2 Scatter diagram of prediction error for the two targets of the test set samples

圖 3 兩種目標特征重要度得分Fig. 3 Feature importance scores of the two targets
兩種目標的特征權重數據分別為[0.166 83、0.347 11、0.126 49、0.359 56、0]和[0.358 26、0.065 63、0.062 94、0.396 45、0.116 73],不難發現,特征權重數據與特征重要度得分的結果一致,在這些特征中對模型影響最大的是反應器4 溫度,對于最小新氫消耗量來說,循環氫量沒有影響,對于最小氫氣剩余量來說,反應器2 溫度和反應器3 溫度影響最小。
本文研究了基于XGBoost 模型的煉油廠氫氣網絡動態多輸出預測模型。以Aspen HYSYS 模擬實際反應過程對實際數據進行補充得到的隨實際生產動態環境變化的動態數據為數據源,采用“一種夾點法與超結構法混合的煉油廠氫氣網絡優化調度方法”[7]對源數據進行處理,最后使用得到的最小新氫消耗量和最小氫氣剩余量兩種目標的動態數據進行氫氣網絡動態多輸出預測,并對模型性能進行了評估。為了驗證模型的有效性,與BP 神經網絡模型進行了對比,得到了很好的預測效果。最后,本文對模型的特征重要度進行了分析,得出對于模型來說影響最大的特征是反應器4 的溫度的結論。
基于XGBoost 模型的煉油廠氫氣網絡動態多輸出預測模型可以對不同工況下的實時動態的最小新氫消耗量以及最小氫氣剩余量進行準確的預測,能夠基于預測結果對氫氣網絡的合理配置與優化提供指導決策支持,以提高煉油企業的經濟效益。