陸鳳儀,任 重,徐格寧,董 青,徐 彤
(1.太原科技大學(xué) 機(jī)械工程學(xué)院,山西 太原 030024; 2.上海云童機(jī)械有限公司,上海 200126)
在結(jié)構(gòu)優(yōu)化設(shè)計(jì)中,通常將某一要求(如截面最小、質(zhì)量最輕等)作為目標(biāo),使其在給定的約束條件下得到最優(yōu)結(jié)果,如起重機(jī)一般將自重作為優(yōu)化目標(biāo),通過優(yōu)化截面尺寸實(shí)現(xiàn)減重目的.實(shí)現(xiàn)方法包括:準(zhǔn)則法、數(shù)學(xué)歸納法、混合法等,傳統(tǒng)方法伴隨著設(shè)計(jì)周期長、結(jié)果偏大的問題,因此,現(xiàn)多采用啟發(fā)式算法實(shí)現(xiàn).
文獻(xiàn)[1]利用改進(jìn)人工蜂群算法對(duì)16 t/10.5~22.5 m橋式起重機(jī)主梁截面進(jìn)行優(yōu)化,提出了基于差分進(jìn)化算法(Differential Evolution Algorithm,DE)的人工魚群算法(Artificial Fish Swarm Algorithm,AFSA),并引入遺傳算法(Genetic Algorithm,GA)中的交叉、變異算子提高其全局收斂性.文獻(xiàn)[2]利用改進(jìn)微粒群算法(Particle Swarm Optimization,PSO)對(duì)32 t/25.5 m橋式起重機(jī)主梁進(jìn)行優(yōu)化,通過改進(jìn)慣性權(quán)重、加速因子值使算法具有較好的全局、局部搜索能力.
雖然針對(duì)單一優(yōu)化算法中存在早熟現(xiàn)象明顯、收斂速度慢、尋優(yōu)精度不足、對(duì)初始種群敏感等缺陷[3]提出過各種改進(jìn),但無法面面俱到,為此誕生了混合、并行算法.Hua等[4]提出一種結(jié)合GA和Levenberg-Marquardt(LM)的混合算法,充分利用了GA和LM的優(yōu)點(diǎn),分別抑制它們局部收斂不足、全局搜索能力差的特點(diǎn),如圖1(a)所示,其結(jié)果受GA生成的初始解影響,穩(wěn)定性較差.Tang等[5]提出一種結(jié)合GA和模擬退火算法(Simulated Annealing Algorithm,SAA)的混合算法,將SAA嵌入GA交叉算子中,揚(yáng)長避短,但兩者均為基于概率機(jī)制的算法,如圖1(b)所示,因此,穩(wěn)定性方面較差.Farnad等[6]提出結(jié)合GA,PSO和共生生物搜索算法(Symbiotic Organisms Search,SOS)的混合算法,該算法分3個(gè)階段:GA擴(kuò)大種群數(shù)量并將最好種群傳遞給下一階段,PSO通過自主學(xué)習(xí)使種群得到進(jìn)化而后傳遞下一階段,SOS通過優(yōu)勝劣汰選擇最優(yōu)結(jié)果,如圖1(c)所示,由于初始算法為GA,使得該算法具有一定的概率性.Tsoulos等[7]提出并行遺傳算法,將一組工作劃分成兩小組,同時(shí)進(jìn)行運(yùn)算,如圖1(d)所示.Orhan[8]開發(fā)了一種基于交叉和變異機(jī)制的混合蟻群算法,將遺傳算法引入蟻群算法,解決了易陷入局部最優(yōu)問題.
上述改進(jìn)均將GA作為起始算法,初始解直接決定最后結(jié)果的精度,使得優(yōu)化結(jié)果具有一定的概率性.因此,本文提出一種混行算法,如圖1(e)所示,最大限度降低不確定結(jié)果出現(xiàn)的概率.
圖1 國內(nèi)外混合、并行算法框圖Fig.1 Diagram of hybrid and parallel algorithm running at home and abroad
以“揚(yáng)長避短”為理念,本文提出混行算法的概念.區(qū)別于混合、串行算法,混行是將串行與并行按照一定規(guī)則相結(jié)合,運(yùn)算過程中分別利用串行、并行算法優(yōu)勢,達(dá)到“快、準(zhǔn)、穩(wěn)”的求解目標(biāo).
2.1.1GA
GA是一種模擬自然選擇和生物進(jìn)化的啟發(fā)式算法,其中交叉算子提供全局搜索能力,變異算子提供局部搜索能力[9].為避免陷入局部最優(yōu),本文分別對(duì)交叉算子進(jìn)行改進(jìn).
傳統(tǒng)交叉算子采用隨機(jī)選擇父代染色體中幾個(gè)基因起始位置(兩染色體被選擇位置、數(shù)量相同),然后交換兩者位置,交叉即完成.這種交叉方式存在一定問題:簡單隨機(jī)重組可減緩搜索速度、出現(xiàn)局部收斂或早熟收斂等[10],所以設(shè)計(jì)了如圖2所示的改進(jìn)方法.父代染色體中隨機(jī)生成發(fā)生交叉的基因個(gè)數(shù)(位置不連續(xù)),交換時(shí)采用隨機(jī)生成的交叉順序,可提高其全局收斂性.Matlab交叉算子改進(jìn)部分程序如圖3所示.
2.1.2AFSA
AFSA是一種通過人工魚來模擬魚群的覓食、聚群、追尾行為,達(dá)到尋優(yōu)目標(biāo)的啟發(fā)式算法[11-12].以下為其幾種典型行為:
(1) 覓食行為(AF_prey).數(shù)學(xué)表達(dá)式為
Xi/next=Xi+Random(Step),Yi≤Yj
(1)
式中:Yj為狀態(tài)Xj對(duì)應(yīng)的食物濃度;Xi為第i條人工魚的狀態(tài);Random(Step)為[0,Step]間的隨機(jī)數(shù);di,j=‖Xj-Xi‖為人工魚個(gè)體之間的距離.
圖2 交叉算子改進(jìn)示意圖Fig.2 Improved schematic diagram of crossover operator
圖3 交叉算子改進(jìn)程序Fig.3 Crossover operator improvement program
(2) 聚群行為(AF_swarm).設(shè)人工魚當(dāng)前狀態(tài)為Xi,搜索其臨域內(nèi)(即di,j≤Visual)的伙伴數(shù)目nf和中心位置Xc,若對(duì)應(yīng)的食物濃度Yc/nf>δYi(伙伴中心具有較多食物,且不太擁擠),則向伙伴中心Xc移動(dòng)一步,否則執(zhí)行覓食行為.其數(shù)學(xué)表達(dá)式為
(2)
(3) 追尾行為(AF_follow).設(shè)當(dāng)前人工魚狀態(tài)為Xi,搜索其臨域內(nèi)(即di,j≤Visual)伙伴中Yi為最大的Xi,且滿足Yc/nf>δYi(伙伴Xi具有較多食物,且不太擁擠),Xi臨域內(nèi)伙伴數(shù)目為nf,則朝伙伴Xi前進(jìn)一步,否則執(zhí)行覓食行為.其數(shù)學(xué)表達(dá)式為
(3)
(4) 隨機(jī)行為(AF_random).人工魚在視野范圍內(nèi)隨機(jī)選擇一個(gè)狀態(tài),然后向其移動(dòng),以便更大范圍內(nèi)尋覓食物或伙伴,該行為為覓食行為的缺省行為.
魚群通過側(cè)向反饋機(jī)制覓食,這導(dǎo)致其易陷入局部最優(yōu),因此,提出增加干擾行為,增加跳出局部最優(yōu)解的概率.DE[13]中的變異算子可以擴(kuò)大魚群間差異性,且隨機(jī)性小、可控性強(qiáng),所以在覓食、聚群、追尾后增設(shè)干擾行為,其數(shù)學(xué)形式為[14]
(4)
式中:F為縮放因子;Xr1為基向量;Xr2,Xr3為差向量.
混行算法流程圖如圖4所示,執(zhí)行步驟如下.
步驟1確定變量個(gè)數(shù),輸入對(duì)應(yīng)變量范圍.
步驟2執(zhí)行并行算法模塊:① AFSA部分,計(jì)算每條人工魚適應(yīng)度值,執(zhí)行聚群、追尾(覓食、隨機(jī)行為伴隨聚群、追尾發(fā)生)行為,分別生成新個(gè)體,計(jì)算新個(gè)體適應(yīng)度值,判斷兩者大小,選擇較小個(gè)體替換原種群中對(duì)應(yīng)的個(gè)體;② 判斷新個(gè)體是滿足變量條件,如不滿足則取對(duì)應(yīng)變量的上下限取代原有值;③ 對(duì)新生成的個(gè)體實(shí)施干擾行為,擴(kuò)大魚群間差異性;④ 判斷是否滿足迭代要求,如不滿足則繼續(xù)執(zhí)行步驟①,如滿足則跳出循環(huán),輸出運(yùn)行結(jié)果1;⑤ GA部分,計(jì)算單個(gè)染色體適應(yīng)度值,執(zhí)行交叉、變異行為,待所有個(gè)體循環(huán)結(jié)束后,記錄當(dāng)代中最優(yōu)個(gè)體,替換最差個(gè)體;⑥ 判斷新染色體是否滿足變量條件,如不滿足則取對(duì)應(yīng)變量的上下限取代原有值;⑦ 判斷是否滿足迭代要求,如不滿足則繼續(xù)執(zhí)行步驟⑤,如滿足則跳出循環(huán),輸出運(yùn)行結(jié)果2.
步驟3對(duì)比運(yùn)行結(jié)果1和2,保留優(yōu)勝值.
步驟4根據(jù)橋式起重機(jī)板厚選擇原則重新設(shè)定變量范圍,設(shè)置對(duì)應(yīng)的步長.
步驟5將根據(jù)新范圍生成的數(shù)值矩陣代入解析法中,驗(yàn)證滿足約束條件的解.
步驟6校核二次優(yōu)化后生成的解,分別判斷其是否滿足要求,保留符合要求的結(jié)果.
步驟7輸出優(yōu)化結(jié)果,混行算法結(jié)束.
圖4 混行算法流程圖Fig.4 Flowchart of a mixed-line algorithm
為實(shí)現(xiàn)起重機(jī)結(jié)構(gòu)的輕量化設(shè)計(jì),如圖5所示,q為主梁自重均布載荷,F(xiàn)1,F(xiàn)2為輪壓,s為跨度.現(xiàn)多采用優(yōu)化算法來實(shí)現(xiàn)尺寸優(yōu)化,從而達(dá)到起重機(jī)減重目的[15].尺寸優(yōu)化主要通過主梁截面面積來表達(dá),數(shù)學(xué)表達(dá)式為
(5)
式中:Ai為不同結(jié)構(gòu)截面面積.
圖5 主梁力學(xué)模型簡圖Fig.5 Schematic diagram of mechanical model of main girder
當(dāng)小車位于跨中時(shí),主梁承受最大彎矩,跨中截面各驗(yàn)算點(diǎn)的彎曲正應(yīng)力和切應(yīng)力為
σ0x=Mx/Wx
(6)
式中:Mx計(jì)算截面對(duì)強(qiáng)軸(x軸)的彎矩;Wx為計(jì)算截面對(duì)強(qiáng)軸(x軸)的抗彎截面系數(shù);F為梁的剪切力;S為梁在最大剪切力截面的毛截面最大靜矩;Ix為梁在最大剪切力截面的毛截面慣性矩;δ為梁腹板厚度.
強(qiáng)度約束條件為
(7)
式中:M為危險(xiǎn)截面承受的彎矩;y為截面中性軸到驗(yàn)算點(diǎn)的垂直距離;[σ]為許用應(yīng)力,[σ]=235/1.48=158.78 MPa.
剛度約束條件為
(8)
式中:Yc為集中載荷位于跨中時(shí)主梁最大變形;[Y]為許用靜位移,[Y]=L/500.
幾何約束條件為
(9)
式中:x1為上、下翼緣板厚度;x2為主腹板厚度;x3為副腹板厚度;x4為主副腹板間距;x5為腹板高度.
為驗(yàn)證混行算法的實(shí)用性,以32 t/22.5 m橋式起重機(jī)主梁截面作為優(yōu)化工程實(shí)例.考慮結(jié)果的對(duì)比性,載荷參數(shù)采用文獻(xiàn)[2]中數(shù)據(jù),如表1所示.
表1 橋式起重機(jī)參數(shù)Tab.1 Parameters of bridge crane
并行模塊運(yùn)行結(jié)束后,需根據(jù)求解結(jié)果重新設(shè)定變量范圍與對(duì)應(yīng)步長,設(shè)置如下:
(10)
通常梁的上、下翼緣板采用相同厚度,腹板厚度為6~14 mm,兩者均取2的整倍數(shù).因此,設(shè)置上、下翼緣板厚度取值步長為2 mm[16],主副腹板(翼緣板寬度)間距及腹板高度的取值步長x4,x5為10 mm,如表2所示.
表2 二次優(yōu)化參數(shù)設(shè)置Tab.2 Two-time optimization parameter settings mm
按照排列組合的方式將所有結(jié)果排列,采用解析法對(duì)其進(jìn)行校核,從中選出最優(yōu)組合作為二次優(yōu)化的結(jié)果(見表3).
混行算法在Matlab中運(yùn)行,參數(shù)采用表1中數(shù)據(jù),運(yùn)行結(jié)果如表4所示.
表3 x1選取6 mm時(shí)排列組合結(jié)果Tab.3 x1 selection of 6 mm time combination results
注:表中x5代表1 500,1 510,1 520,1 530,1 540,1 550,1 560,1 570,1 580,1 590,1 600.
表4 箱型梁優(yōu)化結(jié)果Tab.4 Optimization results of box girder
通過工程驗(yàn)證,結(jié)果滿足強(qiáng)度、剛度以及幾何約束條件.證明混行算法可以應(yīng)用于橋式起重機(jī)主梁尺寸優(yōu)化設(shè)計(jì).
針對(duì)單一優(yōu)化算法中存在早熟現(xiàn)象明顯、對(duì)初始種群敏感等缺陷,本文提出一種全新的混行算法運(yùn)用于橋式起重機(jī)主梁輕量化設(shè)計(jì).混行算法以“揚(yáng)長避短”為設(shè)計(jì)理念,分別運(yùn)用不同算法優(yōu)勢,取長補(bǔ)短從而達(dá)到“快、準(zhǔn)、穩(wěn)”的求解目標(biāo).結(jié)果表明:在32 t/22.5 m橋式起重機(jī)主梁截面優(yōu)化過程中采用混行算法是合理的,對(duì)截面優(yōu)化任務(wù)的最小化是成功的.