陸思宇,季 盛,文逸彥
(上海船舶運輸科學研究所有限公司 航運技術與安全國家重點實驗室, 上海 200135)
近年來,隨著國際油價不斷升高、船舶營運環(huán)境日益復雜和全球排放法規(guī)越來越嚴格,航運業(yè)和造船業(yè)對智能船舶的需求不斷提升。智能船舶是當前國家正在大力發(fā)展的領域,是船舶未來的一個重要發(fā)展方向,關系到航運業(yè)和造船業(yè)的轉型升級[1]。柴油機作為智能船舶的動力核心,需在運行、維護和管理等方面實現智能化,從而使其整體性能進入一個新的層級。
為分析船舶及其主機的性能變化,通常會對二者進行建模和優(yōu)化,但在不同工況下主機的性能標準不盡相同,因此對主機工況進行劃分具有重要意義。譚笑等[2]提出基于聚類算法,根據相對風速和吃水對船舶航行工況進行劃分;張惠玲等[3]提出一種基于k均值聚類和馬爾科夫鏈的汽車工況劃分方法;林建新等[4]提出一種基于混合約束自編碼器的運用主成分分析方法和k-Means聚類算法的機動車工況智能劃分方法;孔慶好等[5]提出一種基于卷積神經網絡的農機工況識別方法;葛凌峰等[6]提出一種基于高斯混合聚類方法的電廠脫硫節(jié)能系統(tǒng)工況劃分方法。
當前的工況劃分方法多是基于單層次單階段進行工況劃分,這在實際應用中,特別是在海量實船運營數據分析中存在局限性。本文結合能反映船舶主機性能的直接因素和間接因素,提出一種基于k-Means算法的船舶主機工況二次劃分方法,為船舶及其主機的性能分析提供參考。
船舶智能化是指將信息通信、物聯網、數據分析和人工智能等技術應用到船舶上,是智能船舶的關鍵切入點,是無人船的初級階段。近年來,中國遠洋海運集團有限公司積累了大量基于船端物聯網的船舶運營數據,例如船舶狀態(tài)數據、主機運行數據和氣象數據等。通過這些數據,可對船舶的航行情況、能效等進行分析和預測,保證船舶安全高效運營。該方法以船舶大數據為基礎進行數據挖掘和分析,整體方案如下。
1) 對數據進行清洗。從數據庫中獲取船舶航行時采集并儲存的數據。該方法需獲取船舶主機運行數據,包括第一階段工況劃分和第二階段工況劃分中的相關參數,因此需進行2次數據獲取。由于在船舶航行過程中,隨著對傳感器故障、設備啟停和船舶操控等方面的要求越來越嚴格,可能會出現數據缺失、產生奇異數據的情況,因此需對獲取的數據進行缺失和異常方面的處理。
2) 基于聚類算法劃分主機工況。根據第一階段工況劃分所需的經過處理的數據,采用聚類算法對其進行分析,若單階段的聚類結果出現數據過于集中的現象,則引入第二階段工況劃分,通過特征識別,選擇與第一階段不同的參數,采用相同的方法得到第二階段工況劃分的結果。
3) 計算參數的特征值。選取平均值和標準差作為參數的特征值,其中:平均值能反映某個參數在不同取值范圍內的一般情況,可用于比較某個參數在不同取值范圍內的變化;標準差能度量一組數據的離散程度,標準差越小,意味著數據越接近平均值。[7]將平均值和標準差作為工況劃分中的評價指標。
整個主機工況劃分方案的簡要原理和步驟見圖1。
圖1 主機工況劃分方案的簡要原理和步驟
k-Means算法是最常用的聚類算法,屬于無監(jiān)督的機器學習算法,其根據未知標簽樣本的數據集內部數據的特征將數據集劃分為多個不同的類,適用于主機工況劃分[8]這種相關參數數量和總體數據量龐大、敏感度分析不易的情況,具體算法描述如下:
1) 選擇合適的k值,輸入樣本集為D={x1,x2,…,xm},輸出簇為C={C1,C2,…,Ck}。
2) 在D中隨機選擇k個樣本作為初始的k個質心向量μ1,μ2,…,μk。
3) 計算樣本xi與各質心向量μj(j=1,2,…,k)之間的距離,有
(1)
4) 重新計算Cj中的所有樣本點的質心,有
(2)
5) 若k個質心向量都沒有發(fā)生變化,則輸出簇C={C1,C2,…,Ck};若k個質心向量有變化,則重復上述步驟,直到收斂。
船舶航行過程中的主機工況本來沒有明確的分類,但受海況、船舶載況和機槳匹配等多種因素的影響,情況變得較為復雜。k-Means算法是典型的基于距離的聚類算法,其采用距離作為相似性評價指標,認為簇是由距離相互靠近的對象組成的,因此將得到緊湊且獨立的簇作為最終目標[9]。對于該方法中的主機工況劃分模型來說,首先要將每個階段選取的2個參數轉化為二維向量,而質心μj為這一類樣本的中心點。接著,對于一組二維向量,通過歐式距離公式計算其與樣本中心點的距離,將距離μj最近的點作為工況劃分輸出的Cj。以此類推,對各二維向量進行計算,重復迭代,直至質心μj不再發(fā)生變化。
k-Means算法的優(yōu)點[10]如下:
1) 原理簡單,容易實現,收斂速度快;
2) 在同類算法中,聚類效果相對較好;
3) 可解釋性較強;
4) 對時間的復雜度要求較低;
5) 在處理大數據集方面具有較高的效率,時間復雜度的變化接近線性,適合挖掘大規(guī)模數據集。
因此,采用k-Means算法對船舶主機運行數據進行挖掘,實現工況劃分,分析不同工況下主機的各項運行指標,判斷船舶及其主機性能的變化情況,進而根據船舶總體和主機內部各運行參數的變化對船舶及其主機性能做出定量化分析。
根據上述主機工況劃分方案和算法原理,以某大型干散貨船為研究對象,基于該船2021年的營運數據進行主機工況劃分。
根據先驗知識,選擇與船舶航行時的主機工況最直接關聯的主機轉速和功率作為第一階段工況劃分參數。影響船舶及其主機性能的因素除了船舶吃水、船舶污底和氣象條件等外部因素之外,大部分都是主機狀態(tài)方面的因素[11]。為分析主機的性能,通常會對影響主機性能的指標進行分析,其中主機的轉速和功率能清晰地體現主機的性能和運轉情況[12],基于這2個參數進行第一階段的主機工況劃分,劃分的結果能合理地體現主機在不同工況下的性能變化。該階段選取的2個參數能直接體現主機的性能。
獲取該船2021年的主機轉速和功率數據(每小時測量的數據),并繪制主機轉速與功率散點圖,見圖2。由圖2可知,數據散點并沒有呈現均勻分布的狀態(tài),而是呈現出總體分散、大多數點集中在轉速為50~65 r/min范圍內的狀態(tài)。因此,將轉速為50~65 r/min范圍內的數據作為聚類分析的對象,經過數據篩選和清洗的該范圍內的主機轉速與功率散點圖見圖3。
圖2 原始的主機轉速與功率散點圖
圖3 經過數據篩選和清洗的主機轉速與功率散點圖
由圖3可知,散點主要分布在圖中4個區(qū)域,主機常在這些區(qū)域運轉。為得到主機常用工況,區(qū)分這4個區(qū)域內的數據,確定聚類數k=4,將其代入k-Means算法中進行計算,結果見圖4。
圖5為第一階段工況劃分中各工況的數據量柱狀圖。由圖5可知,工況2的數據量最大,分布范圍較廣,實際應用中效果不佳,因此第二階段的主機工況劃分將集中于工況2。
圖4 第一階段工況劃分聚類結果
圖5 第一階段工況劃分中各工況的數據量柱狀圖
由于第一階段工況劃分是基于主機的轉速和功率實現的,若第二階段仍采用這2個參數劃分工況,則所得結果缺乏橫向對比,且難以應對主機運行的復雜性。在船舶航行期間,影響主機運轉效率的2個環(huán)節(jié)是做功和冷卻。對于大型二沖程低速機而言,掃氣箱具有掃排氣作用,其溫度發(fā)生變化意味著主機的運行狀況發(fā)生變化[13]。船舶設備一般采用海水冷卻[14],船舶在航行期間所處海域是不斷發(fā)生變化的,故海水溫度也是不斷發(fā)生變化的,當用溫度發(fā)生變化的海水作為冷卻介質對設備進行冷卻時,會對其運行狀況造成一定的影響。因此,該階段選取海水溫度和掃氣箱溫度作為工況劃分的參數,這2個參數能間接體現主機的性能。
由于第二階段工況劃分主要是針對工況2進行的,因此在獲取數據時應選擇第一階段參數取值范圍內的海水溫度和掃氣箱溫度,經過數據篩選和清洗之后,得出海水溫度與掃氣箱溫度散點圖,見圖6。
圖6 第二階段工況劃分中的海水溫度與掃氣箱溫度散點圖
關于第二階段聚類數k的設定:若取k=2,則在第二階段僅能得出2個工況,且這2個工況的參數取值范圍相差較大,效果并不理想;若取k=4,則得到的4個工況的參數取值范圍平均值波動較大,不符合需求。最終確定聚類數k=3,將其代入k-Means算法中進行計算,結果見圖7。
圖7 第二階段工況劃分聚類結果
第二階段工況劃分中各工況的數據量柱狀圖見圖8。由圖8可知,3個工況的平均值之差相對穩(wěn)定,符合需求。根據以上工作得出的工況1、工況2、工況3、工況4、工況2-1、工況2-2和工況2-3,整合出最終的工況劃分結果。
圖8 第二階段工況劃分中各工況的數據量柱狀圖
根據以上聚類分析結果得出每階段工況劃分的各參數取值范圍和不同工況下各參數的平均值和標準差,結果如下。
第一階段工況劃分中不同工況下各參數的取值范圍和特征值見表1。
表1 第一階段工況劃分中不同工況下各參數的取值范圍和特征值
第二階段工況劃分中不同工況下各參數的取值范圍和特征值見表2,其中“數據占比”為所占工況2的比例。
表2 第二階段工況劃分中不同工況下各參數的取值范圍和特征值
1) 由第一階段工況劃分結果可知,從工況1到工況4,平均轉速和平均功率是不斷增大的。標準差反映了一組數據的離散程度,工況2的數據占比最大,工況1的數據占比最小,在這2組工況的參數取值范圍上下限之差相同的情況下,由于工況2的數據占比遠高于工況1,即工況2的數據集中度高于工況1,導致其轉速和功率的標準差都小于工況1。工況3的數據占比略高于工況4,在數據占比和參數取值范圍差別不大的情況下,工況3的轉速標準差小于工況4,功率標準差大于工況4。但是,工況3和工況4的轉速和功率標準差都大于工況2,小于工況1。
2) 由第二階段工況劃分結果可知,從工況2-1到工況2-3,平均海水溫度不斷上升,平均掃氣箱溫度變化不大,但總體呈上升趨勢。從工況2-1到工況2-3,海水溫度的標準差隨著數據占比的提高而不斷減小,掃氣箱溫度的標準差并未出現這樣的一致性,說明工況2-3中數據量的增加并不能掩蓋其數據的分散性。
根據上述兩階段工況劃分結果,通過整合得出該船最終的主機工況劃分結果和各工況下的參數取值范圍,主要是以下6個工況:
1) 工況A,即符合工況1的各參數取值范圍;
2) 工況B,即符合工況2的各參數取值范圍和工況2-1的各參數取值范圍;
3) 工況C,即符合工況2的各參數范圍和工況2-2的各參數取值范圍;
4) 工況D,即符合工況2的各參數取值范圍和子工況2-3的各參數取值范圍;
5) 工況E,即符合工況3的各參數取值范圍;
6) 工況F,即符合工況4的各參數取值范圍。
本文采用的是基于k-Means算法的工況劃分方法,由于該算法的時間復雜度和空間復雜度較低,因此其在大型數據集中應用較為簡單高效。在未來的研究中,將考慮加入風浪對主機性能的影響,并通過自適應調整聚類數k實現工況自動劃分。
本文提出了一種基于k-Means算法的主機工況劃分方法,采用兩階段多參數的工況劃分方法,通過對實船航行過程中主機的各參數進行分析處理,提高主機工況劃分的精準度,最終得出實船基于轉速、功率、海水溫度和掃氣箱溫度的工況劃分結果及各工況下各參數的特征值。該方法沒有考慮風浪對船舶阻力的影響,同時因算法本身存在缺陷,聚類結果往往不是全局最優(yōu)解,而是收斂于局部最優(yōu)解[15]。在后續(xù)研究中,將考慮基于特征識別進行多階的工況劃分迭代。
總體而言,該算法的原理簡單,能真實有效地反饋主機運行時所處的工況,為分析和優(yōu)化船舶及其主機的性能提供參考。后續(xù)可對工況作更詳細的分析,比如在相同工況下,通過分析主機溫度和功率的變化趨勢評估主機的性能。此外,還可檢查主機在不同工作環(huán)境下可承受的溫度極限,對溫度過高或過低的情況進行預警,并開發(fā)輔助指導程序為操作人員提供指導,盡可能地防止故障發(fā)生。