張育斌+魏正英+張磊+張帥+周瑞



摘 要: 針對我國干旱半干旱地區節水灌溉中需要動態調節的問題,提出在灌溉決策中考慮非充分灌溉因素,運用Jensen乘法模型建立“灌水?收益”的數學模型,采用遺傳算法、基于SQP算法和基于有效集算法的fmincon函數求解模型,以寶雞峽灌區冬小麥為例,驗證所建模型的準確性及求解方法的可行性,對比計算結果發現,基于SQP算法的fmincon函數運算結果最優,相對遺傳算法其灌溉收益提高3%,運行時間降低60%,穩定性優異,并使用該算法進行了非充分優化灌溉下的決策系統設計。
關鍵詞: 非充分灌溉; 序列二次規劃算法; 決策; 灌水?收益模型
中圖分類號: TN876?34; TP312 文獻標識碼: A 文章編號: 1004?373X(2017)01?0115?04
Abstract: Since the dynamic adjustment is needed by the water?saving irrigation in arid and semi?arid regions, the ″irrigation?income″ mathematical model established by Jensen multiplication model taking into consideration of the deficit irrigation factor in irrigation decision?making is proposed. The genetic algorithm and fmincon function solving model based on SQP algorithm and active set algorithm are used to verify the accuracy of the established model and the feasibility of the solving method by taking the winter wheat in Baoji gorge irrigation district as the example. The contrast calculation results show that the fmincon function based on SQP algorithm has the optimal operation result, its irrigation income is increased by 3% in comparison with the genetic algorithm, operation time is reduced by 60%, and it has excellent stability. The decision?making system under deficit optimization irrigation was designed with the algorithm.
Keywords: deficit irrigation; SQP algorithm; decision?making; irrigation?income model
0 引 言
1970年美國開始了非充分灌溉的試驗,他們后來進行了冬小麥非充分優化灌溉試驗,獲得了良好的試驗效果。80年代澳大利亞的科學家進行了桃樹的非充分優化灌溉試驗,并且開發出一套虧缺條件下的灌溉方法,不僅節約了灌溉用水,而且還提高了桃樹的產量并改善了桃子的品質[1]。
國內學者對非充分優化灌溉的研究雖起步較晚,但研究進展迅速,尤其在我國西北干旱地區。文獻[2]使用多維多目標模糊優選動態規劃理論求解非充分優化灌溉模型,在非充分灌溉條件下,提高了單位灌溉水的效益。文獻[3]采用改進的遺傳算法與多維動態規劃模型,建立了非充分優化灌溉條件下的灌溉制度,應用于三江平原水稻取得了良好的效果。文獻[4]采用PSO及SM?PSO算法求解Jensen模型參數,計算擬合精度較高。
近年來,一些新技術和新算法的出現使得非充分優化灌溉理論及其工程應用的研究呈現出新的發展態勢。其中對遺傳算法的應用表現的尤為突出,文獻[5?7]均使用遺傳算法解決非充分灌溉條件下的灌溉模型計算。本文在這些研究的基礎上,研究更有效的算法來求解灌溉模型,進一步提高計算精度,為智能決策提供最優方法。
1 灌溉模型建立
2 模型求解
2.1 遺傳算法
遺傳算法是生物行為的計算機數字化模擬中的重要成果之一,它在歷經研究和歸納總結之后發展形成了遺傳算法的基礎框架[11?12]。其中編碼方法、遺傳操作、適應度函數設定等技術是遺傳算法的基本實現技術。
2.2 fmincon函數
Matlab中提供了求解此問題的函數fmincon[13],用于求解最優化問題時,可選的算法有四種:內點算法、序列二次規劃算法(SQP)、有效集算法(Active set)和基于映射牛頓法的置信域算法,Newton?Lagrange方法中提出序列二次規劃(SQP)算法是處理非線性約束優化問題的一種有效方法[14]。有效集方法是基于用等式約束二次規劃問題[15],認為每次迭代均以已知可行點作為起點,并將在該點起作用的約束作為等式約束,而對在該點不起作用的約束暫時不予考慮,這樣,就將一般約束的二次規劃問題轉化為有限個僅帶等式約束的二次規劃問題。
2.3 灌溉模型求解
分析并采用求解此問題的三種方法,為了驗證所建模型的準確性以及求解手段的可行性,應用實測的資料進行求解。實驗資料來自于陜西省寶雞峽灌區某試驗田,所測資料為2013年冬小麥六個生育階段的缺水敏感指數、最大需水值和有效降水值,如表1所示。
下求函數的最大值,在這里以灌溉水平135 mm,灌溉面積為1公頃(10 000 m2)為例,則函數方程轉化為:
在約束條件(4)下求解最大值問題。
3 灌溉模型的分析
Matlab中提供的上述三種算法均是求解最小值,因此只需在函數前加上負號轉化為求解函數的最小值即可。編寫M文件,設置相應的參數,運行結果如表2所示。
由表2預測收益列可以看出,基于SQP算法的fmincon函數預測值最高,其值為9 556元/公頃,大于遺傳算法的9 371元/公頃和基于有效集算法的fmincon函數的9 498元/公頃。
同時發現基于SQP算法的fmincon函數預測值不僅最高,而且穩定。這里所說的SQP算法的穩定性是對比遺傳算法的不穩定性而言的,借助Matlab平臺分別運行這兩種算法計算該問題100次,計算出預測收益,將每一次的運行結果統計出來繪制成圖,見圖1。
從圖1中可以清晰地看出基于SQP的fmincon函數的每一次運行結果不變,遺傳算法的不穩定性體現的淋漓盡致,導致此現象的原因是遺傳算法屬于隨機類的算法,不能穩定求出最優解。對這100次結果詳細分析如表3所示。
在100個數據中最大值為9 521元/公頃(仍小于基于SQP的fmincon函數求得的值),最小值為9 305元/公頃,均值為9 333元/公頃,預測值中9 100~9 300所占比例為21%,預測值中9 300~9 400所占比例為67%,預測值中9 400~9 600所占比例為11%,極差為216元/公頃,標準差為62.8元/公頃。
求解此問題,遺傳算法的缺點不僅體現在運行結果的不穩定性上,而且其求解的時間遠大于基于SQP的fmincon函數,如圖2所示,SQP的fmincon函數運行了9步,而遺傳算法運行了50步,運行時間約為SQP的fmincon函數的9倍。
從前面的分析中可以看出,基于SQP的fmincon函數是求解此問題的理想算法,為了全面分析出基于SQP的fmincon函數在不同灌溉水平下的運行結果,分別建立100~150 mm(以5 mm為步長)灌溉水平下的灌溉收益,灌溉產量和單位灌水量收益這三種情況,結果如表4所示,它們之間的關系如圖3~圖5所示。
從圖3~圖5可以看出,隨著灌溉水平的增加,預測產量和預測收益逐漸增加,單位灌水量收益逐漸減小,而且變化趨勢呈線性變化(R2>0.98)。
4 灌溉模型的應用
運用基于SQP的fmincon函數算法進行非充分優化灌溉下決策系統的設計,解決實際問題,需要調用Matlab中的優化工具包,并進行大量參數的設置,十分繁瑣。為了便于用戶使用,本文進行非充分優化灌溉客戶端的設計,具體指使用VB作為客戶端,在用戶頁面中輸入灌溉水平,點擊計算按鈕,后臺就可以進行運算并將運行結果顯示在用戶界面上,實現此功能需要將VB與Matlab混合編程。
啟動智能灌溉系統,輸入用戶名和密碼進入主控程序,在非充分灌溉主頁面上的灌溉水平一欄內輸入灌溉水平,系統將自動運算出冬小麥的每一個生育期的灌溉水平,同時系統將自動運算出預期的產量以及收益,如圖6所示。
5 結 論
本文針對我國干旱半干旱地區灌溉決策中考慮非充分灌溉問題,建立了非充分灌溉下“灌水?收益”模型,以遺傳算法和fmincon函數為主要方法進行計算與結果分析,并根據峽灌區某實驗田的資料進行模型的驗證,結果表明,基于SQP算法的fmincon函數方法是該模型的最優求解方法,且運行穩定、運算時間較短。為解決該模型在實際問題的應用價值,采用VB與Matlab混合編程開發了非充分優化下的決策管理系統,為大田智能診斷系統提供了良好的技術平臺,推動我國水利工程向智慧化方向發展。
參考文獻
[1] 蔡甲冰,劉鈺,雷廷武,等.精量灌溉決策定量指標研究現狀與進展[J].水科學進展,2004(4):53l?537.
[2] 陳守煜,馬建琴,邱林.多維多目標模糊優選動態規劃及其在農業灌溉中的應用[J].水利學報,2002(4):33?38.
[3] 付強,王立坤,門寶輝,等.推求水稻非充分灌溉下優化灌溉制度的新方法:基于實碼加速遺傳算法的多維動態規劃法[J].水利學報,2003(1):123?128.
[4] 張志宇,郄志紅,侯曉宇.PSO及SM?PSO算法在Jensen模型參數求解中的應用[J].水電能源科學,2013,31(7):139?142.
[5] 郄志紅,韓李明,吳鑫淼.基于改進NSGA?Ⅱ的作物灌水量與灌溉日期同步優化[J].農業機械學報,2011,42(5):106?110.
[6] 路振廣,孟春紅,王曉麗.基于遺傳算法的冬小麥優化灌溉制度研究[J].人民黃河,2009(11):76?78.
[7] 鄭和祥,史海濱,柴建華,等.基于RAGA?DP的飼草料作物非充分灌溉制度優化模型[J].農業工程學報,2007,23(11):65?70.
[8] 龔元石.Penman? Monteith 公式與FAO ?PPP?17Penman修正式計算參考作物蒸散量的比較[J].北京農業大學學報,1995,21(1):68?75.
[9] 劉鈺.參照騰發量的新定義及計算方法對比[J].水利學報,1997(6):27? 33.
[10] 張兵,張建生,黃文生.基于遺傳算法的西北旱區灌溉效益決策模型研究[J].節水灌溉,2013(1):61?65.
[11] POWELL M J D. A fast algorithm for nonlinearly constrained optimization calculations [C]// Proceedings of 1978 the 7th Biennial Conference on Numerical Analysis. Dundee: Springer, 1978: 144?157.
[12] HAN S P. A globally convergent method for nonlinear programming [J]. Journal of optimization theory and applications, 1977, 22(3): 297?309.
[13] 李明.詳解Matlab在最優化計算中的應用[M].北京:電子工業出版社,2011:236?244.
[14] 謝政,李建平.非線性最優化理論與方法[M].北京:高等教育出版社,2010:292?293.
[15] 石國春.關于序列二次規劃(SQP)算法求解非線性規劃問題的研究[D].蘭州:蘭州大學,2009.