錢 坤,蘇國韶
(廣西大學(xué)土木建筑工程學(xué)院,廣西 南寧 530004)
在農(nóng)田水利基礎(chǔ)設(shè)施建設(shè)中,灌溉渠道建設(shè)費(fèi)用占較大比重。渠道斷面優(yōu)化設(shè)計可有效地減少渠道的工程量,為工程建設(shè)節(jié)省大量投資。因此,渠道斷面優(yōu)化設(shè)計在渠道建設(shè)中具有重要作用。
常規(guī)的渠道斷面優(yōu)化設(shè)計一般采用試算法,該方法簡單但需要反復(fù)試算,存在計算量大、累積誤差大、計算精度不佳等缺點(diǎn)。為此,一些學(xué)者將無量綱分析法[1]、黃金分割法[2]應(yīng)用于渠道斷面優(yōu)化中,取得了一定的成效,但渠道斷面優(yōu)化往往是一個非線性的多峰值優(yōu)化問題,這些方法在搜索最優(yōu)斷面時容易陷入局部最優(yōu)解。近年來,人們將遺傳算法[3]、擴(kuò)展微分進(jìn)化算法[4]等全局智能優(yōu)化算法引入渠道斷面優(yōu)化設(shè)計中,為獲取全局最優(yōu)解提供了可能。
蜂群算法是一種建立在蜜蜂自組織模型和群體智能基礎(chǔ)上的新型智能優(yōu)化算法,具有原理簡單、全局性好、收斂速度快等特點(diǎn),是當(dāng)前優(yōu)化研究領(lǐng)域的熱點(diǎn)。目前,蜂群算法已被成功應(yīng)用于函數(shù)優(yōu)化、動態(tài)規(guī)劃、車間調(diào)度等優(yōu)化領(lǐng)域中[5-10]。迄今為止,蜂群算法已出現(xiàn)各種不同的版本,其中具有代表性的有Karaboga[11]提出的人工蜂群算法(artificial bee colony algorithm,簡稱 ABC算法)。研究表明,與遺傳算法、粒子群優(yōu)化算法、差分進(jìn)化算法相比較,ABC算法在求解多變量、多峰值的全局優(yōu)化問題上具有更好的適應(yīng)性和魯棒性[12]。
筆者擬采用ABC算法對梯形渠道斷面進(jìn)行多目標(biāo)優(yōu)化設(shè)計,尋求既考慮水力條件又考慮經(jīng)濟(jì)條件的最優(yōu)斷面,為渠道斷面優(yōu)化設(shè)計提供一種新的途徑。
ABC算法是一種模擬蜜蜂種群采蜜過程的仿生算法。蜜蜂是一種群居生物,能夠在復(fù)雜的環(huán)境下以極高的效率采集花蜜。研究表明,蜂群采蜜過程中,蜜蜂按任務(wù)角色分為3種類型:偵查蜂、精英蜂、跟隨蜂,它們通過搖擺舞、氣味等多種方式進(jìn)行信息交流,協(xié)同完成采蜜任務(wù)。
ABC算法的基本原理是:將蜂群搜索最優(yōu)花粉源的過程視為優(yōu)化過程。首先,精英蜂分頭尋找花粉源,跟隨蜂在一個固定區(qū)域等待,精英蜂搜索到花粉后與周圍的精英峰進(jìn)行信息交流,選擇花粉價值大的花粉源,然后回到固定區(qū)域,通過特定的舞蹈告知跟隨蜂花粉源的價值大小,跟隨蜂根據(jù)花粉源收益度的大小飛向相應(yīng)的花粉源并在附近進(jìn)行采蜜,花粉源的收益度越大則吸引的跟隨蜂越多,以此提高蜂群搜索局部最優(yōu)花粉源的能力;采完局部花蜜后,精英蜂繼續(xù)搜索更好的花粉源,其中某些精英蜂始終無法搜索到更好的花粉源,則這些精英蜂飛出蜂群當(dāng)前所在區(qū)域,成為偵查蜂,隨機(jī)地飛向其他地方搜索更好的花粉源,以此來提高蜂群搜索全局最優(yōu)花粉源的能力。通過這樣一個分工協(xié)作尋找花粉源的過程,蜂群就能夠以很高的效率在一定的搜索空間下獲取最優(yōu)花粉源。
ABC算法的具體實(shí)現(xiàn)步驟如下:
第1步 初始化:隨機(jī)生成初始種群,初始種群的生成方法是從給定范圍內(nèi)隨機(jī)選擇,均勻分布于尋優(yōu)空間。設(shè)精英蜂數(shù)量為Ne,跟隨蜂數(shù)量為Ns,Ns=Ne,精英蜂群體Z={X1,X2,…,XNe},精英蜂個體 Xi={Xi,1,Xi,2,…,Xi,M},其中 i=1,2,…,N e,M為問題解的空間維數(shù)。X i∈R M,R M為精英蜂個體的集合,Xi的各個分量由式(1)產(chǎn)生:
式中:Xi,jmax,Xi,jmin分別為Xi的第j個分量的上限和下限;rand()表示0~1區(qū)間均勻分布的隨機(jī)數(shù)。
初始跟隨蜂的生成方法同精英蜂。設(shè)定由精英蜂生成偵查蜂的條件以及算法的收斂準(zhǔn)則(誤差允許值或最大迭代次數(shù))。
第2步 計算種群每個個體的收益度ti:
式中:fi為目標(biāo)函數(shù)值。
進(jìn)行精英蜂X i領(lǐng)域搜索,即通過式(3)產(chǎn)生新一代(第二代)精英蜂 Xi1:
式中:X i,X s分別為上一代(第一代)2個不同的精英蜂個體,要求 i≠s。
第3步 計算第二代精英蜂每個個體的收益度ti,按式(4)分配精英蜂 Xi的跟隨蜂數(shù)量,并由式(5)產(chǎn)生第三代蜂群Xi2:
式中:X i1,X s1分別為第二代2個不同的精英蜂個體,要求 i≠s。
第4步 貪婪選擇:計算新一代蜂群每個個體的收益度 ti,比較新一代蜂群個體與上一代蜂群個體的收益度大小,選擇收益度大的個體組成新蜂群。
第5步 生成偵查蜂:經(jīng)過貪婪選擇后,對于收益度ti沒有變化的次數(shù)達(dá)到設(shè)定值的精英蜂個體,按照式(6)變?yōu)閭刹榉鋁 z i,X z i的各個分量為
第6步 不滿足收斂條件時,返回第2步;反之,循環(huán)結(jié)束。
以某灌區(qū)的梯形斷面渠道(圖1)為例[4]進(jìn)行斷面優(yōu)化設(shè)計,設(shè)計流量Qd=3.2m3/s,邊坡系數(shù)m=1.5,渠道比降i=0.0005,渠床糙率系數(shù)n=0.025,渠道不沖流速vcs=0.8m/s,不淤流速vcd=0.4 m/s,求渠道底寬b和設(shè)計水深h的最優(yōu)值。
對渠道斷面優(yōu)化問題進(jìn)行數(shù)學(xué)建模,然后采用ABC算法進(jìn)行求解。
圖1 渠道斷面示意圖
梯形斷面渠道設(shè)計一般按明渠均勻流進(jìn)行水力計算,明渠均勻流公式為
式中:Qc為渠道的計算流量,m3/s;A為渠道的過水?dāng)嗝婷娣e,m2;χ為濕周,m。
在本算例中,渠道的m,n,i已知,b和h為設(shè)計變量。
2.2.1 目標(biāo)函數(shù)1
渠道斷面優(yōu)化同時滿足2個目標(biāo):①計算流量接近設(shè)計流量(當(dāng)Qc與Qd的差值微小時,認(rèn)為斷面的計算流量等于設(shè)計流量);②渠道過水?dāng)嗝娴拿娣e最小,以獲得開挖工程量最小的經(jīng)濟(jì)斷面。目標(biāo)函數(shù)設(shè)為
式中:λ為平衡系數(shù),作用是平衡式(8)右邊2項的量綱與數(shù)值,本算例中,λ=10-5m-2。
目標(biāo)函數(shù)1為復(fù)雜多峰值函數(shù),見圖2,給傳統(tǒng)梯度優(yōu)化方法獲取全局最優(yōu)解帶來了較大困難。
圖2 目標(biāo)函數(shù)1對數(shù)值的空間曲面
2.2.2 目標(biāo)函數(shù)2
以滿足流量條件為單一目標(biāo),目標(biāo)函數(shù)設(shè)為
目標(biāo)函數(shù)2也是一個復(fù)雜多峰值函數(shù),見圖3。
圖3 目標(biāo)函數(shù)2對數(shù)值的空間曲面
渠道斷面的平均流速值應(yīng)在不淤流速vcd與不沖流速vcs之間;根據(jù) m=1.5,符合規(guī)范的寬深比b/h的取值范圍為(0.606,3.198),故目標(biāo)函數(shù)1和目標(biāo)函數(shù)2的約束條件均設(shè)為
ABC算法參數(shù)設(shè)置:維數(shù)M=2,種群總數(shù)N=10,精英蜂轉(zhuǎn)化成偵查蜂的條件為:連續(xù)20次精英蜂的收益度ti不發(fā)生變化,精英蜂和跟隨蜂的數(shù)量Ne=Ns=5。搜索范圍:0.5m≤b≤5m,1 m≤h≤5m。收斂條件均設(shè)為<10-5。
約束條件處理:尋優(yōu)過程中,當(dāng)個體蜜蜂不符合上述約束條件時,其收益度加上大數(shù)進(jìn)行懲罰;反之,按原收益度評價個體蜜蜂的品質(zhì)。
為了驗證算法尋優(yōu)的魯棒性,反復(fù)計算20次。計算結(jié)果表明,采用ABC算法進(jìn)行2個復(fù)雜多峰值函數(shù)優(yōu)化時,20次計算的收斂成功率達(dá)到100%,說明ABC算法具有較高的尋優(yōu)魯棒性。渠道斷面優(yōu)化結(jié)果見表1。以目標(biāo)函數(shù)的對數(shù)值作為縱坐標(biāo),目標(biāo)函數(shù)對數(shù)值隨迭代次數(shù)的變化曲線見圖4、圖5。
表1 渠道斷面優(yōu)化結(jié)果
圖4 目標(biāo)函數(shù)1對數(shù)值的變化曲線
圖5 目標(biāo)函數(shù)2對數(shù)值的變化曲線
圖4和圖5表明,無論是目標(biāo)函數(shù)1還是目標(biāo)函數(shù)2,目標(biāo)函數(shù)值隨迭代次數(shù)下降的速度都非???說明了ABC算法的快速收斂性。
優(yōu)化結(jié)果還表明,采用上述2種目標(biāo)函數(shù)優(yōu)化結(jié)果均滿足斷面的水力條件。與采用目標(biāo)函數(shù)2相比,采用目標(biāo)函數(shù) 1渠道過水?dāng)嗝婷娣e減小了0.303 m2,說明采用目標(biāo)函數(shù)1較為合理。
a.以梯形渠道斷面為例,采用全局性好、魯棒性強(qiáng)、收斂速度快的人工蜂群算法對渠道斷面的流量和工程量優(yōu)化問題進(jìn)行求解,研究結(jié)果表明,該方法能獲得令人滿意的結(jié)果。
b.研究表明,既考慮水力條件又考慮經(jīng)濟(jì)條件的多目標(biāo)優(yōu)化結(jié)果較僅考慮水力條件的單目標(biāo)優(yōu)化結(jié)果更為合理。本文僅考慮渠道的單一斷面優(yōu)化,實(shí)際上,影響渠道工程量的因素還有斷面形式、渠道比降、糙率系數(shù)、邊坡系數(shù)等,關(guān)于復(fù)雜因素下渠道的優(yōu)化設(shè)計將另文闡述。
[1]FLYNN E L.渠道斷面優(yōu)化設(shè)計[J].江西水利科技,1991,17(2):167-174.
[2]門寶輝,黃金柏,李樹橋.黃金分割法在渠道斷面設(shè)計中的應(yīng)用[J].東北農(nóng)業(yè)大學(xué)學(xué)報,2000,31(3):283-287.
[3]鮑衛(wèi)鋒,黃介生,孔祥元,等.基于遺傳算法的渠道斷面最優(yōu)設(shè)計[J].中國農(nóng)村水利水電,2005(5):75-78.
[4]倪士超,遲道才.基于擴(kuò)展微分進(jìn)化算法的渠道斷面優(yōu)化設(shè)計[J].人民長江,2009,40(13):81-82.
[5]BASTURK B,KARABOGA D.An artificialbee colony(ABC)algorithm fornumeric function optimization[C]//IEEE Swarm Intelligence Symposium 2006.Indianapolis:IEEE,2006.
[6]BASTURK B,KARABOGA D.A powerful and efficient algorithm for numerical function optimization:artificial bee colony(ABC)algorithm[J].Global Optim,2007,39(3):459-471.
[7]CHANG H S.ConvergingmArriage in honey-bees optimization and application to stochastic dynamic programming[J].Journal of Global Optimization,2006,35:423-441.
[8]KOUDIL M,BENATCHBA K,TARABET A,et al.Using artificialbees to solve partitioning and scheduling problems in codesign[J].AppliedmAthematics and Computation,2007,186(2):1710-1722.
[9]吳晶晶.基于人工蜂群算法的作業(yè)車間調(diào)度優(yōu)化[J].鄭州輕工業(yè)學(xué)院學(xué)報:自然科學(xué)版,2007,22(6):51-53.
[10]丁海軍,李峰磊.人工蜂群算法在TSP問題上的應(yīng)用及參數(shù)改進(jìn)[J].中國科技信息,2008(3):159-161.
[11]KARABOGA D.An idea based on honey bee swarm for optimization,technicalreport[R].Turkey:Erciyes University,2005.
[12]BASTURK B,KARABOGA D.On the performance of artificial bee colony(ABC)algorithm[J].Appl Soft Comput,2008,8(1):687-697.