吳若園,羅文廣,覃永新,藍紅莉,龐 娜
(1.廣西科技大學 電氣與信息工程學院,廣西 柳州 545006;2.廣西汽車零部件與整車技術重點實驗室,廣西 柳州 545006)
汽車行駛工況既能為傳統(tǒng)汽車設計提供動力匹配參考,降低燃油消耗率,減少污染物排放,也有助于設計新能源汽車高效動力系統(tǒng)和儲能系統(tǒng),通過合理分配電池功率降低能源消耗,提升行駛里程,對汽車工業(yè)發(fā)展具有重要意義[1-3],是目前的主要研究熱點。除了目前已有的如新歐洲駕駛循環(huán)(new European driving cycle,NEDC)、世界輕型車測試循環(huán)(world light vehicle test cycle,WLTC)以及中國輕型車行駛工況(China light-duty vehicle test cycle,CLTC)等標準工況外,一些國家和地區(qū)也自行建立了符合當?shù)剀囕v行駛情況的行駛工況,如都柏林工況[4]、南京工況[5]、上海工況[6]等。同時,研究人員根據(jù)當?shù)剀囕v行駛情況建立了許多行駛工況識別模型,如學習向量化(learning vector quantization,LVQ)識別模型[7]、神經(jīng)網(wǎng)絡識別模型[8]等。
行駛工況特征參數(shù)最優(yōu)子集是建立高性能工況識別模型的必要前提。Montazeri-GH等[9]建立了一種基于單一行駛工況特征參數(shù)的工況識別模型,但是對于復雜的行駛情況,這種僅基于車速的識別方法是不可靠的。羅玉濤等[10]將平均行駛車速和行駛距離這2個參數(shù)作為模糊控制器的輸入變量僅能模糊辨識工況,而用時間等10個參數(shù)作為特征參數(shù)進行聚類分析,能得到更量化的工況類別屬性。由此可見,為了提高工況識別的準確率,選擇作為識別模型輸入的特征參數(shù)數(shù)量要在合理范圍內(nèi):若數(shù)量太少,則汽車行駛特點無法全面表征;若數(shù)量太多,則會造成維數(shù)災難,加重計算負擔。針對行駛工況特征參數(shù)選擇問題,Wang等[11]利用數(shù)理統(tǒng)計方法篩選出5個特征參數(shù),并用LVQ網(wǎng)絡對增程式電動客車行駛工況進行識別;鄧濤等[12]用統(tǒng)計直方圖選出了9個特征參數(shù),參數(shù)之間有顯著差異,代表的行駛特點具有全面性,使LVQ神經(jīng)網(wǎng)絡識別模型準確率達到98.8%;仇多洋[13]通過直方圖和盒形圖方法篩選出各典型工況下存在較大差異的特征參數(shù),最終選出平均速度等14個特征參數(shù)作為基于粒子群優(yōu)化的LVQ行駛工況識別模型的輸入?yún)?shù)。
特征參數(shù)選擇算法主要基于Filter和Wrapper 2種框架進行運算?;贔ilter框架特征參數(shù)選擇算法是按照特征的重要性進行排序后“過濾”掉無關特征形成特征子集[14]。Munirathinam等[15]提出了一種基于Filter框架的特征選擇模型Noisy Feature Removal-Relief (NFR-reliefF),有效地解決了高維數(shù)據(jù)的分類問題;Jha等[16]提出的多模態(tài)多目標優(yōu)化(multi-modal multi-objective optimization,MMO)的Filter框架特征選擇算法,不僅在準確度上有優(yōu)勢,而且為決策者提供了更多的最優(yōu)子集?;赪rapper框架特征參數(shù)選擇算法通過評估封裝在一起的分類器性能確定特征子集[17-18],已被廣泛地用于情感分類[19]、早期糖尿病預測[20]、基因選擇和癌癥分類[21]等。上述2種框架的特征參數(shù)選擇算法都是針對特定的特征參數(shù)全集進行計算,而對行駛工況特征參數(shù)分析后發(fā)現(xiàn),分段參數(shù)部分的參數(shù)邊界是不確定的,通常由研究人員按照經(jīng)驗或者根據(jù)需要定義,不同的參數(shù)邊界對應的是不同的特征參數(shù)全集。迄今為止,對于這種特征參數(shù)選擇算法的研究甚少,田毅等[22]采用內(nèi)外兩層循環(huán)的混合搜索算法,用自適應遺傳算法搜索優(yōu)化分段參數(shù)部分的參數(shù)邊界,并用浮動搜索算法選擇出了混合動力汽車特征參數(shù)最優(yōu)子集。
針對行駛工況特征參數(shù)選擇問題,將實車采集的數(shù)據(jù)預處理后進行運動學片段劃分及主成分分析和聚類分析,產(chǎn)生訓練分類器的訓練數(shù)據(jù)集和測試數(shù)據(jù)集,并提出了一種基于智能混合搜索算法的行駛工況特征參數(shù)選擇方法,將適用于全局搜索的粒子群算法(particle swarm optimization,PSO)與局部搜索能力較強的禁忌搜索算法(taboo search,TS)相結(jié)合,選擇出行駛工況特征參數(shù)最優(yōu)子集,使工況識別模型的識別準確率得到很大程度的提高。
電動汽車城市道路行駛數(shù)據(jù)來源于“工業(yè)和信息化部—中國汽車工況信息化系統(tǒng)”。按照電動汽車在城市道路行駛情況對以下5種不良數(shù)據(jù)進行處理:
1) 由于GPS信號丟失導致采集數(shù)據(jù)的時間不連續(xù),用以秒為單位計時方式描述時間變量,各個數(shù)據(jù)對應第1 s,第2 s,…,第ns,使原始數(shù)據(jù)在時間上連續(xù)。
2) 據(jù)《城市道路行駛規(guī)范》,在城市道路行駛的車輛不得超過100 km/h,因此超速的數(shù)據(jù)用前1 s的數(shù)據(jù)替換。
3) 對于汽車加、減速度異常的數(shù)據(jù)進行速度插值處理。
4) 將長時間停車、堵車及以小于10 km/h的車速斷續(xù)行駛情況按怠速情況處理。
5) 將怠速行駛超過180 s的數(shù)據(jù)按180 s處理[23]。
同時,使用平均濾波法[23]去除原始數(shù)據(jù)的噪聲,并去除停車時產(chǎn)生的毛刺。將處理完成的數(shù)據(jù)進行運動學片段劃分,并使用主成分分析和聚類分析[24-25]將2 923個運動學片段分為4個聚類,分別代表電動汽車的4種城市道路行駛工況,如圖1所示。
圖1 定義的4類電動汽車城市道路行駛工況
特征參數(shù)全集需具有全面性以保證從中選擇出的最優(yōu)子集所含的特征參數(shù)能很好地代表汽車行駛情況,保證工況識別模型的準確性。采用22個特征參數(shù)作為行駛工況特征參數(shù)全集,分為3個部分[26]:標準參數(shù)部分、波動參數(shù)部分和分段參數(shù)部分。
3) 分段參數(shù)部分是對工況曲線變化規(guī)律的定性分析:速度小于v1(大于v1小于v2、大于v2小于v3、大于v3)的時間占總時間的百分比ηv1(ηv1-v2、ηv2-v3、ηv3)、減速度小于r2(小于r1大于r2、大于r1)的時間占減速時間的百分比ηr2(ηr1-r2、ηr1)、加速度小于a1(大于a1小于a2、大于a2)的時間占加速時間的百分比ηa1(ηa1-a2、ηa2)。其中v1、v2、v3為有關車速的參數(shù)邊界,單位是km/h;r1、r2為有關減速度的參數(shù)邊界,單位是m/s2;a1、a2為有關加速度的參數(shù)邊界,單位是m/s2。
通過分析行駛工況特征參數(shù)全集可知,分段參數(shù)部分的參數(shù)邊界不確定。為了得到最優(yōu)的特征參數(shù)全集,在進行行駛工況特征參數(shù)選擇時,需要先對分段參數(shù)部分的參數(shù)邊界進行優(yōu)化。但是如果直接使用特征參數(shù)全集作為行駛工況識別模型的輸入則存在維數(shù)災難問題,增加訓練分類器的時間開銷[27]。
作為評價特征參數(shù)子集優(yōu)劣的基礎,測試數(shù)據(jù)集直接影響識別模型的性能[27]。在建立工況識別所需的測試數(shù)據(jù)集時,先確定行駛工況的分類類別,按照數(shù)據(jù)預處理的情況可知,分類類別為4類:電動汽車在交通擁擠度較高的城市道路低速行駛、頻繁起/停工況,在交通擁擠度較低的城市道路行駛工況,在城市郊區(qū)混合行駛工況以及在城市快速道路行駛工況。
汽車在行駛過程中車速實時變化,為了保證汽車行駛工況識別模型的實時性,將各類城市行駛工況數(shù)據(jù)按照時間長度180 s等間隔分為2 500個速度小片段,共10 000個速度小片段。分別從各類工況數(shù)據(jù)中隨機抽取20%的樣本作為訓練分類器的訓練數(shù)據(jù)集,余下的80%的樣本作為測試數(shù)據(jù)集。
由分析可知,分段參數(shù)部分的參數(shù)邊界v1、v2、v3、r1、r2、a1、a2不確定,需要先對邊界進行優(yōu)化,現(xiàn)有的特征參數(shù)選擇方法并不適用于對未知特征參數(shù)全集進行特征選擇。而確定了邊界得到確定的特征參數(shù)全集后,采用現(xiàn)有的特征參數(shù)選擇算法對擁有22個特征參數(shù)的中小規(guī)模的全集求解。
行駛工況特征參數(shù)選擇的步驟如下:
1) 確定分段參數(shù)部分的參數(shù)邊界v1、v2、v3、r1、r2、a1、a2,由此計算特征參數(shù)全集。
2) 任意一組參數(shù)邊界對應一個特征參數(shù)全集,設Sw是特征參數(shù)全集上的一個特征參數(shù)子集。
3) 訓練一個行駛工況分類器,并測試其工況識別準確度。識別準確度的計算公式為:
(1)
4) 一般情況下,當Racc最大時,選取特征參數(shù)個數(shù)最少的Sw,作為當前行駛工況特征參數(shù)的最優(yōu)子集。
行駛工況特征參數(shù)選擇,一是對邊界的搜索,二是對子集的搜索。針對這2種搜索對象,選取全局搜索算法和局部搜索算法構成混合搜索算法進行最優(yōu)子集的選擇。在模式識別問題中,Wrapper方法雖然計算量大,但是考慮到整個特征子集對分類效果的影響,所得到的特征參數(shù)子集,其分類器準確度通常要優(yōu)于Filter方法[28-29]。因此選用能使分類器準確度更高的Wrapper方法進行行駛工況特征選擇,使工況分類效果更好。
搜索機制是Wrapper方法的核心[30]。尋找最優(yōu)的行駛工況特征參數(shù)邊界,生成特征參數(shù)全集,是特征參數(shù)選擇問題的全局搜索,選擇智能搜索算法比較合理。粒子群算法作為演化算法的代表,在特征選擇中有利于優(yōu)化搜索機制,常被用來尋優(yōu)特征子集[31]。因此,選擇操作簡單卻搜索效率高的粒子群算法作為全局搜索算法。對全局搜索得到的行駛工況特征參數(shù)全集進行最優(yōu)子集搜索,是特征選擇問題的局部搜索。對于中小規(guī)模的數(shù)據(jù)集進行搜索時,智能搜索算法易陷入局部最優(yōu)。因此選用具有較強“爬山”能力的禁忌搜索算法作為局部搜索算法,搜索時可以克服演化算法容易陷入早熟的缺陷,跳出局部最優(yōu)解,與演化算法結(jié)合可增加獲得更好的全局最優(yōu)解的概率[31]。
隨機森林是一種靈活度高的新興機器學習算法,相比于其他分類器,它在準確率方面有很大優(yōu)勢。隨機森林由決策樹組成,就分類問題而言,每棵決策樹都是一個分類器。隨機森林的建立分為以下3個步驟:① 用bootstrap方法抽取訓練樣本構成訓練數(shù)據(jù)集,每個樣本均構建一棵決策樹;② 構成決策樹的樣本如樹干一樣進行“分叉”,當各分支屬于同一類時終止“分叉”;③ 各決策樹組成隨機森林,每棵決策樹對輸入樣本進行分類并投票,隨機森林進行匯總并將投票次數(shù)最多的類別作為最終輸出[32]。
采用粒子群-禁忌(particle swarm optimization-taboo search,PSO-TS)的智能混合搜索算法總體流程是計算標準參數(shù)和波動參數(shù)后,用粒子群算法搜索和優(yōu)化分段參數(shù)部分的參數(shù)邊界后得到確定的分段參數(shù),由此計算出特征參數(shù)全集,用禁忌搜索算法搜索全集可產(chǎn)生使分類器識別準確度達到最高且含有較少參數(shù)個數(shù)的特征參數(shù)最優(yōu)子集。
基于粒子群算法的特征參數(shù)邊界優(yōu)化模型由優(yōu)化參數(shù)、約束條件和目標函數(shù)構成。
1) 優(yōu)化參數(shù):v1、v2、v3、r1、r2、a1、a2。
2) 約束條件:對于優(yōu)化參數(shù)v1、v2、v3、r1、r2、a1、a2的約束區(qū)間確定如下:
0≤v1 0≤|r1|<|r2|≤|rmax| 0≤a1 (2) 式中:vmax為最大速度,rmax為最大減速度,amax為最大加速度。 3)目標函數(shù):對于工況識別模型來說,分類器的識別準確度最為重要,因此粒子群算法的目標函數(shù)為: f1=Racc1 (3) 式中:f1為粒子群算法的目標函數(shù)值;Racc1為全局搜索中分類器的識別準確度。 粒子群算法中,代表優(yōu)化問題可行解的粒子由目標函數(shù)確定其適應度,并根據(jù)自身搜索到的最優(yōu)解pid和整個粒子群的粒子歷代搜索中的最優(yōu)解pgd來更新速度和位置以保證盡可能地朝最優(yōu)解所在區(qū)域“飛去”[33]。粒子根據(jù)下述公式更新速度和位置[31]: (4) zid(t+1)=zid(t)+vid(t+1) (5) 式中:vid(t+1)表示第i個粒子在t+1次迭代中第d維上的速度;zid(t+1)表示第i個粒子在t+1次迭代中第d維上的位置;ω為慣性權重,取ω=0.8;c1、c2為加速常數(shù),c1=c2=0.5;rand( )為0~1之間的隨機數(shù)。此外,為使粒子速度不致過大,設置速度上限vidmax,當vid(t+1)>vidmax時,vid(t+1)=vidmax;當vid(t+1)<-vidmax時,vid(t+1)=-vidmax。 在每一次迭代中,首先在滿足約束條件的情況下有不同數(shù)值組合的v1、v2、v3、r1、r2、a1、a2,每一組v1、v2、v3、r1、r2、a1、a2都能相對應地計算出一組行駛工況特征參數(shù)全集,利用計算得到的特征參數(shù)全集訓練分類器,記錄分類器的識別準確度,從中選擇出分類器識別準確度最高的那一組v1、v2、v3、r1、r2、a1、a2,此時該組的分類器識別準確度為本次全局極值,與歷史全局極值進行比較后保留更優(yōu)的結(jié)果,最后每組的v1、v2、v3、r1、r2、a1、a2取值根據(jù)自身最高的分類器識別準確度和全局最高的分類器識別準確度調(diào)整數(shù)值后進入下一次迭代。直到迭代次數(shù)epoch=30時,滿足粒子群算法終止條件,輸出最優(yōu)的v1、v2、v3、r1、r2、a1、a2,并計算行駛工況特征參數(shù)全集。其中,最大迭代次數(shù)是根據(jù)實驗確定的。取最大迭代次數(shù)為10、20、30、40、50到100進行實驗,發(fā)現(xiàn)迭代次數(shù)較少時,雖然算法耗時短,但分類器分類效果不理想;當?shù)螖?shù)增加到30時,分類器準確度達到87%;當?shù)螖?shù)繼續(xù)增加時,分類器準確度變化不大,始終保持在87.15%以下,甚至出現(xiàn)了低于87%的情況,而算法運行時間卻大幅增加。因此在綜合考慮求解過程中所耗時間和分類器準確度后選擇30作為PSO的最大迭代次數(shù)。 特征參數(shù)PSO全局搜索流程如圖2所示。 圖2 特征參數(shù)PSO全局搜索流程框圖 在特征參數(shù)全集中搜索到具有較少特征參數(shù)個數(shù)的最優(yōu)子集,以提高計算效率并保證分類器識別準確度達到最高。這里采用禁忌搜索算法進行搜索。該算法中使用禁忌表記錄搜索情況,在后續(xù)搜索中盡量避開已搜索的對象,避免迂回搜索和陷入局部最優(yōu)解[34]。采用禁忌搜索算法進行特征參數(shù)選擇的步驟為: 1) 設置參數(shù),輸入初始特征合集,即輸入行駛工況特征參數(shù)全集,并置空禁忌表。設置參數(shù)如下:最大迭代次數(shù)max_iter=100,禁忌表長度taboo_size=50。其中最大迭代次數(shù)同樣是綜合考慮算法運行所耗時間和分類器準確度后選擇的。固定最大迭代次數(shù)后,經(jīng)多次實驗可知:在禁忌表長度為50時,達到最優(yōu)解的迭代步數(shù)較少,算法的收斂性較好,故選擇50作為禁忌表長度。評價函數(shù)采用加權法建立: f2=WARacc2+WFNSW (6) 式中:f2為禁忌搜索算法的評價值;WA為分類器識別準確度的權重;Racc2為局部搜索中分類器的識別準確度;WF為特征參數(shù)子集中特征參數(shù)個數(shù)的權重;NSW為特征參數(shù)子集中特征參數(shù)個數(shù)。由于Racc2和NSW為不同數(shù)量級,它們的權重值要相適應,一般來說,WA應高于WF,因此取WA=0.995,WF=0.005。 2) 從鄰域中選擇若干個評價值最佳的特征子集產(chǎn)生候選子集并判斷候選子集中的最優(yōu)子集是否優(yōu)于全局最好解,若是,則選擇該最優(yōu)子集;若不是,則選擇候選子集中未被禁忌的最優(yōu)子集。 3) 更新當前子集和禁忌表。 4) 判斷是否達到最大迭代次數(shù)max_iter=100,若滿足,則輸出最優(yōu)子集。 特征參數(shù)最優(yōu)子集TS搜索流程如圖3所示。 分類標簽Yj=0、1、2、3分別代表圖1所界定的4種電動汽車城市道路行駛工況。訓練數(shù)據(jù)集選取了2 015個速度小片段,測試數(shù)據(jù)集中數(shù)據(jù)個數(shù)k,即速度小片段數(shù)量取值為8 061,其中正確分類的數(shù)據(jù)個數(shù)為7 073。采用式(1)可以計算得到分類器識別準確度為87.74%。優(yōu)化后的特征參數(shù)邊界如表1所示。 圖3 特征參數(shù)最優(yōu)子集TS搜索流程框圖 參數(shù)數(shù)值參數(shù)數(shù)值v1/(km·h-1)0a1/(m·s-2)0.09v2/(km·h-1)13.93a2/(m·s-2)2.52v3/(km·h-1)77.42r1/(m·s-2)-0.61r2/(m·s-2)-2.27 4.2 最優(yōu)子集中特征參數(shù)個數(shù)對分類器準確度的影響 圖4為隨機森林分類器的識別準確度與最優(yōu)子集中特征參數(shù)個數(shù)的關系曲線。由圖可見,最優(yōu)子集的特征參數(shù)個數(shù)過少時,分類器因為缺少足夠的行駛特征導致識別準確度較低;隨著參數(shù)個數(shù)的增加,分類器識別準確度不斷增加,當參數(shù)個數(shù)增加至11~15時,分類器的識別準確度保持在最高水平附近;此后參數(shù)個數(shù)繼續(xù)增加,分類器識別準確度開始下降。顯然,過少的特征參數(shù)不能很好地表征汽車行駛特征,恰當數(shù)量的特征參數(shù)則能保持分類器識別準確度處于較高水準,而當特征參數(shù)過多時容易造成維數(shù)災難,一些不能很好地表征行駛特征的特征參數(shù)會干擾分類器的識別能力,不僅會造成分類器識別準確度下降,而且浪費計算時間。 圖4 隨機森林分類器的識別準確度與最優(yōu)子集中特征參數(shù)個數(shù)的關系 遺傳算法作為一種經(jīng)典的智能算法,與粒子群算法同樣被歸類為仿生算法、全局優(yōu)化算法和隨機搜索算法。將遺傳算法用于邊界優(yōu)化的混合搜索算法遺傳-禁忌搜索算法(genetic algorithm-taboo search,GA-TS)與PSO-TS進行對比,計算結(jié)果如表2所示。 表2 采用不同全局優(yōu)化算法的混合搜索算法的計算結(jié)果 從表2中可以得到,對于2種混合搜索算法選擇出的行駛工況特征參數(shù),標準參數(shù)部分兩者的選擇完全一致,由此可見,標準參數(shù)能很好地表征汽車行駛狀態(tài),對行駛工況分類起到很大作用。采用PSO-TS選擇出最優(yōu)子集的特征參數(shù)個數(shù)較GA-TS少,且在計算時間和分類器識別準確度上都有優(yōu)勢,主要原因是:遺傳算法采用染色體一對一交叉的方法保留最優(yōu)個體,而粒子群算法中的所有粒子都在能夠記錄自身和種群的最優(yōu)值并朝最優(yōu)個體移動,因此粒子群算法在信息共享方面具有全局性,較遺傳算法的小范圍信息共享有更高效率,個體也會以更快速度收斂于最優(yōu)值。粒子群算法無需進行交叉和變異,只是通過粒子更新位置和速度找到最優(yōu)解,在參數(shù)選擇、計算效率等方面粒子群算法較遺傳算法更有優(yōu)勢。 1) 對電動汽車城市道路行駛過程中采集到的速度數(shù)據(jù)進行處理和運動學片段劃分,并使用主成分分析和k-means聚類分析得到4種行駛工況作為搜索算法中分類器的訓練數(shù)據(jù)集和測試數(shù)據(jù)集。 2) 混合搜索算法通過粒子群算法搜索優(yōu)化分段參數(shù)部分的參數(shù)邊界,根據(jù)得到的邊界計算特征參數(shù)全集,使用禁忌搜索算法對特征參數(shù)全集進行搜索,選擇最能代表電動汽車城市道路行駛特征的特征參數(shù)組成最優(yōu)子集,用于訓練工況識別模型可以提高識別模型的效率和準確度。 3) 對選擇的最優(yōu)子集進行分析,得到隨機森林分類器識別準確度與最優(yōu)子集中參數(shù)個數(shù)之間的關系。另外,通過計算說明了粒子群算法作為混合搜索算法中的全局優(yōu)化算法,相較于遺傳算法可以選擇個數(shù)更少的特征參數(shù)形成最優(yōu)子集,并可提高搜索效率和分類器識別準確度。 今后的工作將針對PSO-TS混合搜索算法選取合適的算法參數(shù)進一步研究,并對算法進行改進以提高分類器的識別準確度。3.3 特征參數(shù)最優(yōu)子集搜索
4 計算結(jié)果及分析
4.1 特征參數(shù)最優(yōu)子集
4.3 不同全局優(yōu)化算法的計算結(jié)果及分析
5 結(jié)論