王 健,彭 飛,閔少松
(海軍工程大學(xué)船海學(xué)院,湖北武漢 430033)
在潛艇進(jìn)行現(xiàn)代化改裝的過程中,對整個艇的重量重心控制是關(guān)系到艦艇能否保持其基本生存能力特性(穩(wěn)性、不沉性)的重要問題。所以改裝過程中要進(jìn)行重量重心的計算調(diào)整與控制,使?jié)撏У男阅軡M足要求。隨著計算機(jī)的應(yīng)用與發(fā)展,自動化、參數(shù)化、智能化的優(yōu)勢日益明顯,現(xiàn)階段的手動調(diào)整與控制潛艇重量重心的方法已漸露劣勢,難以快速跟蹤設(shè)計的變化,所以迫切需要對潛艇改裝中重量重心的快速調(diào)整方法進(jìn)行研究。
目前,國內(nèi)外艦船的重量重心控制工作主要體現(xiàn)在設(shè)計儲備、設(shè)計過程中的重量重心控制及建造過程中的重量重心控制等。我國在艦艇設(shè)計階段確定重量重心多為估算值,而美國海軍在DDG-51 施工設(shè)計的重量重心計算中,是采用計算機(jī)三維輔助設(shè)計管路、電纜,并提取重量資料,同時輔以誤差修正的方法進(jìn)行計算[1-2]。在后續(xù)的重量重心計算調(diào)整工作中,我國大都靠手工進(jìn)行,效率低下,計算精度不一,參數(shù)化以及自動化程度不高[3]。相對而言,重量重心的調(diào)整控制在飛機(jī)、半淺平臺等領(lǐng)域有更好的發(fā)展[4]。如計算機(jī)輔助重量工程(CAWE)系統(tǒng)對飛機(jī)重心的調(diào)整,使用重心云圖動態(tài)地反應(yīng)飛機(jī)壓載改變的情況,形象、快速地求得滿足要求的方案[5],以及利用貪婪自適應(yīng)搜索機(jī)制實現(xiàn)滿足一定條件的貨物裝載問題的最優(yōu)方案搜索[6]。
基于艦艇自身的特殊性,以及現(xiàn)階段潛艇改裝過程中手動調(diào)整重量重心的現(xiàn)狀,上述研究成果并不能完全適合提高艦艇改裝過程中重量重心調(diào)整與控制的自動化程度。本文將開展如何應(yīng)用Matlab 軟件對潛艇改裝過程中重量重心的快速調(diào)整與控制方法的研究,從而更好地提高其自動化、參數(shù)化水平。
潛艇改裝過程中,設(shè)備的移動、增減,都會改變潛艇的重量重心,使得潛艇的性能改變,所以需要移動或增減壓鐵使得潛艇的重量重心滿足新的設(shè)計要求。
通過對潛艇改裝過程中重量重心調(diào)整問題的分析,將調(diào)整壓鐵來改變潛艇重量重心的問題抽象為數(shù)學(xué)模型中的求最優(yōu)解的問題。
在改裝過程中,欲保證改裝后的潛艇性能滿足要求,需要通過移動、增減壓鐵,使得潛艇的重量保持不變,重心的改變量在一定的范圍內(nèi),結(jié)合實際,要求重心在縱向、橫向的改變量為0,在垂向的改變量滿足穩(wěn)性的要求,并且升高的越小對穩(wěn)性越有利,也越有利于潛艇的改裝。這個范圍可根據(jù)潛艇性能的要求計算求得。
當(dāng)重量重心滿足上述要求,且在垂向的改變最小時,壓鐵的調(diào)整方案最優(yōu)。
分別定義矩陣A,B,C,D,E,其中:
1)A 為潛艇改裝時改變設(shè)備的重量矩陣。
A=(p1,p2,……,pm)T,p1……pm為所有改變設(shè)備的重量值;
2)B 為潛艇改裝時改變設(shè)備的重心高矩陣:
B=(z1,z2,,……,zm)T,z1……zm為所有改變設(shè)備的重心高度,與矩陣A 相對應(yīng);
3)C 為潛艇改裝前壓鐵的重量分布矩陣:
C=(p1,p2,……,pn)T,p1……pn為潛艇各站壓鐵的重量值;
4)D 為潛艇改裝前全艇壓鐵的重心高矩陣:
D=(z1,z2,……,zn)T,z1……zn為改裝前各站壓鐵重心在垂向的高度,與矩陣C 相對應(yīng);
5)E 為潛艇改裝過程中所調(diào)整壓鐵的重量矩:
E=(p1,p2,……,pn)T,p1……pn為改裝后各站壓鐵的重量值,相應(yīng)壓鐵位置與矩陣C 相對應(yīng)。
根據(jù)實際工程問題可知,在潛艇改裝過程中,重量重心的調(diào)整,是通過調(diào)整壓鐵的重量和位置,計算出全艇改裝后總的重量矩,除以總重量得到新的重心位置,反復(fù)調(diào)整計算,得到改變量最小的重心。其中要求全艇改裝前后重量保持不變,即改變設(shè)備的重量與改變壓鐵的重量和等于0,即
改裝后全艇的重量矩為M后,即
M設(shè)為改裝后所有改變設(shè)備的重量矩,即
M壓為改裝后增減壓鐵的重量矩,即
M 為原艇的總重量矩。
因此,新的重心高為Z新,即
P 為全艇總的重量。
全艇重心高改變量
Z 為潛艇改裝前的重心高。
求Δh 最小時的矩陣E,即
調(diào)整后新的壓鐵布置情況的矩陣為
經(jīng)過分析可知,上述問題為運籌學(xué)中的標(biāo)準(zhǔn)線性規(guī)劃問題。其中,對使得改裝過程中重心高改變值最小時的壓鐵調(diào)整方案的求解問題,可應(yīng)用線性回歸中的單純形法進(jìn)行求解。
單純形法的基本思路:根據(jù)問題的標(biāo)準(zhǔn),從可行域中某個基可行解(一個頂點),轉(zhuǎn)換到另一個基可行解(頂點),并且使目標(biāo)函數(shù)達(dá)到最值時,問題就得到了最優(yōu)解[7]。求解的過程分為4 步,分別是:
1)找出初始可行基,確定初始基可行解,建立初始單純形表。
2)檢驗各非基變量Pi的檢驗數(shù),若檢驗數(shù)小于等于0,則已得到最優(yōu)解,可停止計算,否則轉(zhuǎn)入下一步。
3)根據(jù)目標(biāo)函數(shù),確定換入變量。
4)進(jìn)行迭代運算,得到新的單純形表,重復(fù)步驟2~步驟4,直到停止,即可求出最優(yōu)解。
本文應(yīng)用Matlab 軟件中的linprog 函數(shù)實現(xiàn)上述算法,以此求得在滿足潛艇改裝過程中重量保持不變、重心改變量在一定范圍內(nèi)要求時的壓鐵調(diào)整矩陣。
結(jié)合實際情況,潛艇改裝過程艇上壓鐵調(diào)整在增減的同時,也可以進(jìn)行移動,并且因為壓鐵布置空間大小、位置等都有嚴(yán)格的要求,對于每個肋位的壓鐵重量、高度要求均有一定限制。對于一些特殊部位,不能對壓鐵進(jìn)行調(diào)整。
因此,在基本算法的基礎(chǔ)上,同樣基于上述壓鐵布置情況和設(shè)備改變情況,以計算出的只增加或減少壓鐵后新的壓鐵分布情況作為初始條件,對算法進(jìn)行進(jìn)一步的優(yōu)化,并添加相應(yīng)的約束條件。通過Matlab 進(jìn)行數(shù)學(xué)模型的建立,計算得出潛艇重量矩改變最小時的壓鐵布置情況,用此時的重量矩除以總重量得到新的重心高,從而獲得到重心位置改變量,與預(yù)期要求比較,判斷方案的可行性。
規(guī)定用x,y,z 來表示重心的縱向、橫向、垂向的位置。以中縱剖面、中橫剖面與基線的交點為坐標(biāo)原點,并規(guī)定向船首、右舷以及向上為正。
在改裝過程中,設(shè)備(或壓鐵)重量的增加為正,減少為負(fù),并且要求每個肋位的壓鐵總重量不得超過10 t。
另外假定某型艇的正常排水量下的重量重心、進(jìn)行改裝的相關(guān)數(shù)據(jù)均已知,其中包括新增設(shè)備、拆除設(shè)備、移動設(shè)備的重量重心,以及全艇的壓鐵布置情況。新增設(shè)備的重量重心信息如表1 所示。
表1 新增設(shè)備、移動設(shè)備重量重心Tab.1 Weight center of new equipment and mobile equipment
全艇的壓鐵分布情況如表2 所示.
基于上述壓鐵布置情況和設(shè)備改變情況,應(yīng)用初始算法和Matlab 程序進(jìn)行重量重心調(diào)整的快速計算,得到的結(jié)果如表3 所示。
程序運行結(jié)果為重心高改變7.0265。
表2 全艇壓鐵分布情況Tab.2 Distribution of iron in the whole submarine
表3 壓鐵調(diào)整情況Tab.3 Iron adjustment
結(jié)合實際工作中壓鐵的改變更靈活,功能更多樣的特點,進(jìn)行既可以同時增加、減少,也可以移動壓鐵時的重量重心調(diào)整計算。計算結(jié)果如表4 所示。
表4 壓鐵調(diào)整情況Tab.4 Iron adjustment
利用Matlab 進(jìn)行多次不同初始條件時重量重心的控制與調(diào)整的計算,得到結(jié)果如表5 所示。
表5 不同初始條件時的重量重心調(diào)整計算Tab.5 Calculation of weight center of gravity in different initial conditions
應(yīng)用設(shè)計程序進(jìn)行潛艇重量重心調(diào)整與傳統(tǒng)手動調(diào)整進(jìn)行對比可知:
1)在輸入條件已知的情況下,程序調(diào)整僅需1~2 s,而手工調(diào)整則需要數(shù)分鐘到數(shù)十分鐘完成,大大提高了重量重心調(diào)整的自動化程度以及調(diào)整效率;
程序運行結(jié)果為重心高改變7.021 8。
2)通過對不同初始條件時重量重心的調(diào)整結(jié)果對比分析可知,增減的同時并移動壓鐵的情況使得重心升高量更小,對艦艇改裝更有利,方案更優(yōu);
3)運用計算機(jī)進(jìn)行調(diào)整可避免因為人的主、客觀因素引起的誤差,從而得到更好的結(jié)果。
本文在潛艇改裝的背景下,針對現(xiàn)在重量重心調(diào)整與控制方法自動化、參數(shù)化程度不高、精度不一,多靠手工調(diào)整的現(xiàn)狀,以Matlab 軟件為基礎(chǔ),應(yīng)用數(shù)學(xué)建模的方法將實際的改裝問題抽象成數(shù)學(xué)模型,進(jìn)行改裝過程中只增減壓鐵時重量重心的快速調(diào)整,以及在增減壓鐵的同時,移動壓鐵的重量重心快速調(diào)整的方法研究。建立各情況下的最優(yōu)解的算法,實現(xiàn)計算機(jī)自動調(diào)整壓鐵來控制重量重心。后續(xù)還可以利用CATIA 軟件給用戶預(yù)留的二次開發(fā)接口與Matlab 軟件相結(jié)合,實現(xiàn)三維模型重量重心的自動讀取與存儲與現(xiàn)有程序相結(jié)合,進(jìn)行快速調(diào)整與計算。