馮青,張承嫄,余隋懷,陳登凱
(1.西安科技大學(xué),西安 710054;2.西北工業(yè)大學(xué) 現(xiàn)代設(shè)計與集成制造技術(shù)教育部重點實驗室,西安 710072)
艦艇設(shè)計具有其特殊性及復(fù)雜性,隨著智能設(shè)計的發(fā)展,智能化的布局優(yōu)化方法已經(jīng)滲透到船舶設(shè)計的各個領(lǐng)域,從艙室整體劃分到管道布局都有所涉及[1-3]。艦艇居住艙室作為士兵生活娛樂的主要場所,屬具合理的空間布局決定著船員生活休息狀態(tài),其布局優(yōu)化研究也顯得尤為重要。
目前對于布局問題的求解,主要應(yīng)用的方法有遺傳算法[4]、粒子群算法[5]、魯棒優(yōu)化等[6]。如王運龍等[7]將能量法與遺傳算法結(jié)合求解客艙室內(nèi)布局。熊炳旭[8]結(jié)合模擬退火算法和遺傳算法求解,縮小了局部最優(yōu)解范圍。隨著遺傳算法研究的深入,部分學(xué)者也將改進遺傳算法應(yīng)用于布局研究,突破傳統(tǒng)遺傳算法壁壘,如應(yīng)用多目標遺傳算法求解載人潛水器艙內(nèi)布局[9,10]、電動牽引車總成布局[11]等。但針對艦艇居住艙室布局優(yōu)化的研究尚少,方法創(chuàng)新性低,制約艦艇整體設(shè)計效率的提升。
現(xiàn)階段針對艦艇居住艙室內(nèi)部布局優(yōu)化的研究尚存在以下問題:1)居住艙室內(nèi)的布局研究多僅限于郵輪豪華艙室、作業(yè)艙室等。針對艦艇居住艙室的研究較少,如何考慮其特殊性,將自動化的布局設(shè)計方法應(yīng)用于艦艇居住艙室設(shè)計,還有待深入。2)目前對艙室布局問題求解多應(yīng)用傳統(tǒng)遺傳算法,在編碼方式和選擇運算上都存在一定的局限性,限制了運算速度,整體求解過程自動化程度低,且對多目標優(yōu)化問題存在求解困難。本文綜合考量了艦艇居住艙室的特殊性,提出一種結(jié)合能量法與NSGA-Ⅱ算法的求解方法,量化艦艇布局中的特殊需求,簡化計算方式,并實現(xiàn)方案的自動布局及優(yōu)選。
艦艇室內(nèi)布局設(shè)計相對于普通居住環(huán)境更為復(fù)雜,由于艦艇的外板線型、艙室總體布局劃分、結(jié)構(gòu)層高,房間中風、管、電走向的影響,船上居住艙室普遍具有整體空間低矮、狹窄、密閉等特點[12]。如圖1所示。
圖1 某艦艇士兵居住艙室實景圖Fig.1 Real picture of the living quarters of soldiers on a ship
艙室內(nèi)屬具擺放遵循特定的規(guī)則,如船舶居住艙室中的屬具設(shè)備一般都是緊貼艙室四壁進行布置的,這樣可以有效地利用艙室空間,不會顯得艙室狹小,令居住人員心情舒暢[13]。床鋪需布置在靠船舷一側(cè),方向與船長一致,保證船員的睡眠舒適性。為滿足布局優(yōu)化中屬具擺放的特殊要求,本文采用能量法的思想對待布空間進行數(shù)學(xué)模型量化。
能量法原是固體力學(xué)中的一種方法,是功與能量相關(guān)方法的統(tǒng)稱,通過能量的疊加與轉(zhuǎn)化來解決彈性構(gòu)件的靜力學(xué)問題[14]。能量法方程固定,形式統(tǒng)一,更適用于計算機編程計算。在艙室布局優(yōu)化中,借助能量法在思想,結(jié)合人工勢場法[15],將待布空間劃分為若干個能量區(qū)域,根據(jù)適宜布置屬具的程度為區(qū)域賦予能量值,最終通過對比屬具覆蓋區(qū)域能量值和的大小篩選方案。
由于艦船居住艙室中屬具大都緊貼艙壁進行布置,在建立艙室能量空間時,可以通過對艙室四壁賦值建立艙室數(shù)學(xué)模型。賦值的大小反應(yīng)艙壁適宜布置屬具的程度,當屬具緊貼艙壁布置即可獲得能量值。圖2以某空間為例說明能量法的賦值計算過程。
圖2 艙室單元四壁能量賦值及待布單元在艙內(nèi)布置方案Fig.2 Energy assignment of four walls of cabin unit and arrangement scheme of unit to be distributed in cabin
圖2 a)依據(jù)布置需求為待布空間四壁賦予a、b、c、d這4個能量值,屬具緊貼艙壁布置即可獲得對應(yīng)的能量值,未貼艙壁布置則能量值為0。圖2 b)中①~⑥布局方案表示了待布單元在艙室中的布置情況。待布單元即需要布置的屬具,如床鋪,桌椅,衣柜等。這些屬具設(shè)備一般為不規(guī)則圖形,為方便計算,且考慮到設(shè)備的功能要求和使用人員舒適度,為待布置的屬具設(shè)備建立姿態(tài)空間[7],即包含實現(xiàn)使用功能的屬具空間。姿態(tài)空間相較于原有屬具單元更大,一般幾何化為矩形進行計算。例如④方案表示艙內(nèi)有兩個待布單元,一個不貼四壁,一個貼合兩個艙壁,以此類推。方案①到⑥獲得的總能量值的大小為待布單元貼合艙壁數(shù)量對應(yīng)能量值的疊加,各方案具體獲得能量值見表1。
表1 艙室單元能量值求解Tab.1 The energy value of the cabin unit is solved
在為艦艇艙壁賦值過程中,需綜合考慮艙室人員中心活動區(qū)域,動線及門等特殊單元的位置。圖2中Y軸為船長方向,指向船首,X軸為船寬方向,指向船舷。因床鋪需沿船長方向布置,Y軸賦值普遍高于X軸。由于門等固定單元的限制,有門的一側(cè)賦值低于沒有門的一側(cè),依據(jù)以上艙室布局需求,圖2艙壁賦值大小關(guān)系為b=d>c>a。為方便計算,a、b、c、d的取值以艙壁數(shù)量而定,一般取10以內(nèi)的整數(shù),按適宜布置程度呈依次遞減。本例艙室有四面艙壁,a、b、c、d可取1~4的整數(shù)進行計算。依據(jù)能量法量化待布艙室布局規(guī)則,建立NSGA-Ⅱ算法中的目標函數(shù)。
布局問題的研究起始于1831年Gauss 對“格(Lattice)”裝填布局問題的研究,在理論上是屬于切段裝填問題和約束滿足問題[16]。艦艇居住艙室布局設(shè)計屬于布局優(yōu)化中的裝填問題,即在給定的艙室空間中對屬具設(shè)備進行隨機排布。其布局約束主要處理待布空間內(nèi)待布物體的擺放及物體間的相互關(guān)系問題。求解過程中以一種形式化的符號描述待布艙室及待布屬具,經(jīng)過數(shù)學(xué)模型計算后再轉(zhuǎn)化為布局方案輸出,布局求解屬于多項式復(fù)雜程度的非確定性問題(Non-deterministic polynomial,NP)問題,遺傳算法在其中應(yīng)用廣泛。
遺傳算法[17]是一種基于生物遺傳和進化機制的隨機搜索算法,具有較強的全局搜索能力,適用于解決復(fù)雜系統(tǒng)優(yōu)化問題,缺點是運行速度較慢,且容易受參數(shù)的影響[18]。布局問題往往涉及多目標求解,即優(yōu)化目標在兩個及以上的遺傳算法。以最大化目標值為例,設(shè)有n個決策變量,m個目標變量,以及多個約束條件。多目標遺傳算法優(yōu)化模型可描述為[19]:
式中:F(x) 為目標函數(shù);x為維數(shù)為n的決策變量,構(gòu)成決策空間;fm(x) 為維數(shù)為m的目標變量,構(gòu)成目標空間;gj(x)為維數(shù)為j的不等式約束;hk(x)為維數(shù)為k的等式約束。
NSGA-Ⅱ算法是基于Pareto 改進的多目標遺傳算法,2000年由Deb 等人提出,相較于在傳統(tǒng)遺傳算法在運算速度和算法魯棒性得到進一步提高[20],計算復(fù)雜度降低。NSGA-Ⅱ算法在選擇操作中加入了精英策略,使父代中的優(yōu)秀個體保留在子代,保證最優(yōu)解不被淘汰。并采用了擁擠度的概念,通過判斷同一非支配層中個體周圍的擁擠程度,改善同一支配層面的種群多樣性,在全局搜索上優(yōu)于傳統(tǒng)遺傳算法算法[21]。NSGA-Ⅱ算法求解多目標優(yōu)化問題的基本運算流程為:對隨機產(chǎn)生初始種群N 進行非劣(Pareto)前沿分級,通過交叉變異得到新一代種群(父級與子集合并的種群);再次通過Pareto 前沿分級并進行擁擠度計算,選擇合適個體組成新種群后進行交叉變異;以此類推,直到最優(yōu)解產(chǎn)生。
基于能量法的NSGA-Ⅱ算法求解艦艇居住艙室布局流程如圖3所示。輸入待布空間和待布屬具的基本參數(shù),即明確待布空間的大小和方向,待布屬具的姿態(tài)空間大??;再利用能量法對待布空間的四壁賦值,準備運算;依據(jù)遺傳算法編碼方式進行編碼,進入NSGA-Ⅱ算法流程求解最優(yōu)解;得到Pareto最優(yōu)解集后選取點并將其轉(zhuǎn)化為布局方案并輸出;經(jīng)方案篩選與評價,如不符合需求則返回Pareto 最優(yōu)解集進行重新選擇;得到滿意的方案后,還需經(jīng)人工調(diào)整,輸出最優(yōu)布局。
圖3 NSGA-Ⅱ算法實現(xiàn)流程圖Fig.3 NSGA-Ⅱ algorithm implementation flow chart
在進行二維平面的艙室布置計算時,需對待布空間和待布屬具建立數(shù)學(xué)模型。能量法確定待布艙室四壁的能量值,待布空間經(jīng)姿態(tài)空間計算后簡化為矩形單元進入算法流程,NSGA-Ⅱ具體算法設(shè)計如下:
1)設(shè)計變量
布局設(shè)計主要是對屬具單元在空間中的位置進行排列組合,因此,選擇待布屬具中心點位置坐標作為位置參數(shù)Xi(i=1,2,···,n)進行計算,即
式中:xi為待布單元i中心點的x坐標;yi為待布單元i中心點的y坐標;n為待布單元的數(shù)量。
2)目標函數(shù)
(1)多人士兵艙室中,人員活動干擾較大。為保證艙室內(nèi)人員活動空間錯開,動線產(chǎn)生的干擾較小,同一類型的屬具之間距離越遠越好,用F1(X)來描述,越大越好,在運算過程中求解最大值。
式中:mi為待布單元優(yōu)先布置權(quán)系數(shù),按屬具排布的重要度賦值。賦值以屬具種類數(shù)量而定,10以下為宜。
(2)中心活動區(qū)域是屬具擺放后的剩余空間,因?qū)倬邤[放占地面積一定,剩余空間面積也固定。但剩余空間是否具有整體性,方便人員活動,還需判斷。為保證艙室布置中心活動區(qū)域最大,用F2(X)表示各屬具中心點到艙室中心點的距離之和,F(xiàn)2(X)越大越好。在運算過程中該目標函數(shù)求解最大值。
式中Xa為活動區(qū)中心點位置參數(shù)
(3)能量法對屬具單元擺放的方向、位置進行了規(guī)范,為滿足約束條件,待布屬具所獲整體能量值越大越好,此處用F3(X)表示。在運算過程中,求解最大值。
式中:exi為待布單元沿X軸的能量值;eyi為待布單元沿Y軸的能量值;si為待布單元沿X軸方向的長度;qi為待布單元沿Y軸方向的長度;L為待布空間沿X軸方向的長度;W為待布空間沿Y軸方向的長度;a,b,c,d為圖2中四壁的能量值。
3)約束條件
建立艙室優(yōu)化布置的約束條件時,主要考慮以下幾類約束。
(1)屬具布置不能超出艙室邊界,即
(2)屬具之間,彼此不干涉,即
以某艦艇靠近船艏區(qū)域的兩個20人居住艙室(居住艙A、居住艙B)為例進行布局優(yōu)化設(shè)計,艙室布局如圖4所示。利用MATLAB 編程軟件對能量法改進的NSGA-Ⅱ算法進行驗證,因居住艙靠近船艏,存在角度不大的斜面,為方便計算,將待布空間處理為矩形,如圖5所示。
圖4 船艏艙室能量值圖Fig.4 Bow room energy value diagram
圖5 居住艙室?guī)缀位瘓DFig.5 Geometric diagram of accommodation
艦艇士兵艙室的布局應(yīng)滿足相應(yīng)規(guī)范及人機工程學(xué)原則,如床鋪長度 ≥ 1 900 mm,寬度650 mm,單人床鋪需配置照明燈及床簾。床鋪之間無障礙寬度為76.2 cm。每10個人應(yīng)當配備一張寫字臺。每個士兵需要配備不小于0.1 m3的儲物空間等。依此規(guī)劃艙室內(nèi)待布屬具(床、書桌、儲物柜)的數(shù)量和大小,并對各類屬具加入姿態(tài)空間處理,見表2。
表2 待布艙室及待布單元數(shù)據(jù)Tab.2 Data of waiting room and waiting unit
待布空間平面圖如圖6所示,根據(jù)艦艇居住艙室設(shè)計的具體需求為艙壁賦值,適宜布置屬具的艙壁賦值越大,反之則越小。圖中Y軸沿船長方向,X軸指向船舷方向,因床鋪應(yīng)沿船長方向布置,門所在的艙壁不適宜布置過多屬具,所以需確保Y軸的艙壁賦值大于X軸,無門一側(cè)的賦值大于有門一側(cè)的賦值。具體賦值見圖6。運算過程中,滿足F3(X)運算條件者即可獲得能量值。
圖6 待布艙室能量值圖Fig.6 Energy value diagram of the room to be laid
運算過程中,以各待布屬具的中心點為參數(shù)進行求解,si,qi取值由屬具擺放方向和屬具大小而定。因書桌單元和儲物單元布置方向不確定,si,qi取值在計算中互換,進行兩輪迭代。床單元布置方向需與船長保持一致,因此床單元取值固定,取si=1 900 mm,取qi=700 mm。門單元和樓梯單元因位置固定,所以在運算過程中固定賦值,具體取值見表2。參數(shù)設(shè)置好后隨機賦值形成初始化種群,進入目標函數(shù)運算,即
式中:F1(X)為艙室內(nèi)各類家具中心點的距離,越大越好;F2(X)為艙室中心活動區(qū)域的大小,越大越好;F3(X)為艙室內(nèi)各屬具擺放后獲得的能量值和,越大越好;Xa為待布空間中心點,居住艙室A 取值為(2 000,5 000);居住艙室B 取值為(10 000,5 000);mi為待布屬具的重要度,按士兵適用屬具的頻率進行重要度大小的賦值,在該艙室布局中,mi取值床單元 >儲物單元 >書桌單元;取床單元mi=3,儲物單元mi=2,書桌單元mi=1。
在NSGA-Ⅱ算法運算過程中,經(jīng)過多種嘗試,最終取種群規(guī)模50,迭代次數(shù)50,進行優(yōu)化計算并得到Pareto 最優(yōu)解集,最終輸出47組解決方案,如圖7所示。隨機選取其中4個點位,驗證算法有效性,表3以方案1為例顯示具體數(shù)據(jù)輸出數(shù)據(jù)結(jié)果。
表3 方案1布局優(yōu)化結(jié)果Tab.3 Scheme 1 Layout optimization results
圖7 艙室布局方案Pareto 最優(yōu)解集Fig.7 Cabin layout scheme Pareto optimal solution set
依據(jù)圖7選中方案,繪制初始艙室布局圖,如圖8所示。經(jīng)過核定,該算法輸出的布局方案符合艦艇設(shè)計要求。
圖8 NSGA-Ⅱ輸出方案Fig.8 NSGA-Ⅱ output scheme
因士兵艙室為多人居住空間,需要整體性較大的活動空間滿足多人同時活動。現(xiàn)引入有效活動空間指標對輸出方案進行篩選。有效活動空間是指艙內(nèi)除去屬具及屬具周圍無法利用的狹小空間后,所剩余的活動空間面積,具體計算公式為
式中:S為有效活動空間面積;A為室內(nèi)空間總面積;S1為屬具占用空間的面積;S2為無法利用的狹小空間占用的面積。
S2包括人員無法出入的空間面積及人員無法展開有效活動的空間面積。在實際計算過程中,可將待布空間用屬具單元到艙壁的延長線進行劃分,分區(qū)后判斷區(qū)域空間可否被利用。4個方案具體劃分情況如圖8所示??臻g能否被利用依據(jù)如下標準:1)進入子空間的寬度不小于800 mm;2)子空間對應(yīng)地面面積不小于0.753 m2[22]。根據(jù)判斷標準,4套方案的有效活動空間面積大小如圖8陰影部分所示。
根據(jù)表4可知,方案2的有效活動空間最大?,F(xiàn)選擇方案2作為最終方案,建立三維模型,并通過計算機仿真設(shè)計繪制效果圖[23]。方案2在設(shè)計過程中考量了艦艇士兵艙室布局中可能遇到的情況,結(jié)合船艙特點對靠墻的書桌單元進行組合設(shè)計,擴大中心活動區(qū)域。最終設(shè)計方案如圖9所示。經(jīng)評價,圖9的最終設(shè)計方案符合艦艇士兵艙室設(shè)計需求,在小空間內(nèi)最大限度的滿足人員活動及空間利用。
表4 方案有效活動空間計算Tab.4 Scheme active space calculation
圖9 居住艙室最終效果圖及細節(jié)展示圖Fig.9 Living room final effect drawing and detail display drawing
能量法將艦艇布局設(shè)計的原則量化,NSGA-Ⅱ算法拓寬設(shè)計的可能性,進行全局搜索并獲取最優(yōu)解,計算機將整套方法實現(xiàn)自動化,合理快速的實現(xiàn)空間布局優(yōu)化,解放人力應(yīng)用于更具有創(chuàng)造性的空間設(shè)計。現(xiàn)方法在求解同類復(fù)雜空間布局方面具有相對優(yōu)勢,但目前求解主要適用于二位平面布局的輸出,對涉及高度的三維空間還需引入更多的參數(shù)進行迭代,且現(xiàn)階段求解并未加入室內(nèi)燈光、通風、人機工程學(xué)等相關(guān)因素的運算。因此,進一步優(yōu)化工作的重點即是如何加入多因素的運算,并在算法求解過程中耦合多目標優(yōu)化,獲得符合設(shè)計原則的最優(yōu)解集。