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