本發(fā)明涉及一種城市軌道列車自動(dòng)控制技術(shù),尤其涉及一種為列車自動(dòng)駕駛系統(tǒng)生成速度控制命令的方法。
背景技術(shù):
ATO系統(tǒng)(Automatic Train Operation)是一種用于城市軌道列車自動(dòng)化控制的控制系統(tǒng),它可以根據(jù)控制命令來(lái)控制列車沿最優(yōu)目標(biāo)曲線運(yùn)行。
城市軌道列車控制是一種典型的雙目標(biāo)優(yōu)化問(wèn)題,即在保證安全性、停車精確性和運(yùn)行平穩(wěn)性的條件下,兼顧節(jié)能和省時(shí)兩項(xiàng)指標(biāo),具體來(lái)說(shuō),要實(shí)現(xiàn)列車運(yùn)行中能耗最小,要盡可能多地采用惰行方式,以減小牽引過(guò)程中消耗的能量,但惰行距離太長(zhǎng),必然會(huì)引起列車運(yùn)行時(shí)間延長(zhǎng),不利于省時(shí)。
現(xiàn)有技術(shù)在處理前述的雙目標(biāo)優(yōu)化問(wèn)題時(shí),比較常見(jiàn)的手段是采用加權(quán)求和方法,加權(quán)求和的目的是將雙目標(biāo)優(yōu)化問(wèn)題轉(zhuǎn)換為單目標(biāo)優(yōu)化問(wèn)題進(jìn)而求解出最優(yōu)解,這種處理方式雖然簡(jiǎn)化了處理難度,但是,由于加權(quán)求和的目的完全不同于多目標(biāo)優(yōu)化,其總目標(biāo)函數(shù)無(wú)法全面反映出被優(yōu)化對(duì)象的真實(shí)情況,這就導(dǎo)致其最優(yōu)解無(wú)法體現(xiàn)出雙目標(biāo)間的關(guān)聯(lián)性。從理論上看,雙目標(biāo)優(yōu)化問(wèn)題實(shí)質(zhì)上是屬于多目標(biāo)優(yōu)化的范疇,基于現(xiàn)有的多目標(biāo)優(yōu)化理論可知,多目標(biāo)優(yōu)化的結(jié)果應(yīng)該是相互獨(dú)立、相互排斥的一組最優(yōu)解集,即某一目標(biāo)性能的優(yōu)化必然會(huì)導(dǎo)致其它目標(biāo)性能的劣化,因此多目標(biāo)優(yōu)化得到的結(jié)果應(yīng)是所有占優(yōu)解的集合,而非僅有一個(gè)最優(yōu)解,因此,加權(quán)求和方法是一種不能反映多目標(biāo)優(yōu)化問(wèn)題實(shí)質(zhì)的一種權(quán)宜之計(jì)。
縱觀現(xiàn)有理論,Pareto原理和粒子群優(yōu)化算法十分適合用來(lái)解決多目標(biāo)優(yōu)化問(wèn)題,針對(duì)Pareto原理和粒子群優(yōu)化算法在ATO系統(tǒng)中的應(yīng)用問(wèn)題,本領(lǐng)域技術(shù)人員已經(jīng)進(jìn)行了一些探索,如,第201510242340.X號(hào)中國(guó)專利申請(qǐng)公開(kāi)了一種“城市軌道交通列車ATO速度命令優(yōu)化方法”,其技術(shù)核心是利用NSGA-II方法(非劣排序遺傳算法)求解ATO速度命令Pareto解,又如,María Domínguez等提出了采用MOPSO(多目標(biāo)粒子群優(yōu)化)方法來(lái)解決相關(guān)問(wèn)題(“Multi objective particle swarm optimization algorithm for the design of efficient ATO speed profiles in metro lines”,[J].Engineering Applications of Artificial Intelligence 29(2014):43-53),該方法通過(guò)仿真實(shí)驗(yàn)證實(shí)了在收斂性和多樣性方面,多目標(biāo)粒子群優(yōu)化方法均優(yōu)于NSGA-II算法,因此,基于Pareto原理的多目標(biāo)粒子群優(yōu)化算法是一種更為優(yōu)秀的處理方法;在此基礎(chǔ)上,發(fā)明人經(jīng)過(guò)大量研究后發(fā)現(xiàn),前述的基于Pareto原理的多目標(biāo)粒子群優(yōu)化算法的收斂性和多樣性仍然可作進(jìn)一步的改善。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)背景技術(shù)中的問(wèn)題,本發(fā)明提出了一種為列車自動(dòng)駕駛系統(tǒng)生成速度控制命令的方法,所述列車自動(dòng)駕駛系統(tǒng)能根據(jù)速度控制命令對(duì)列車的速度進(jìn)行控制,其創(chuàng)新在于:所涉及的模塊包括小種群優(yōu)化模塊、上層優(yōu)化模塊和外部檔案模塊;所述小種群優(yōu)化模塊中包含有多個(gè)小種群;
所述方法包括:
1)設(shè)定基礎(chǔ)數(shù)據(jù)和約束參數(shù);所述基礎(chǔ)數(shù)據(jù)包括:線路參數(shù)、站點(diǎn)參數(shù)、列車參數(shù)、ATO系統(tǒng)參數(shù);所述約束參數(shù)包括:限速參數(shù)、停車位置參數(shù)、到站時(shí)間參數(shù)、列車工況轉(zhuǎn)換原則;
2)按如下方式設(shè)定粒子和小種群:為列車設(shè)計(jì)控制序列;所述控制序列由多個(gè)順次排列的控制階段組成,每個(gè)控制階段均對(duì)應(yīng)一種列車工況,列車工況切換時(shí)控制階段也隨之切換;列車工況切換時(shí),列車在運(yùn)行線路上所處的位置記為工況轉(zhuǎn)換點(diǎn)(本文所述運(yùn)行線路是指相鄰兩個(gè)站點(diǎn)之間的行駛線路,對(duì)于包含多個(gè)站點(diǎn)的全線線路,需按站點(diǎn)排列順序,對(duì)每?jī)蓚€(gè)相鄰的站點(diǎn)之間的行駛線路分別進(jìn)行處理);對(duì)工況轉(zhuǎn)換點(diǎn)的位置進(jìn)行調(diào)整,即可為控制序列生成多種控制模態(tài),每種控制模態(tài)及其對(duì)應(yīng)的多個(gè)工況轉(zhuǎn)換點(diǎn)記為一個(gè)粒子,粒子的維度即為控制階段數(shù)量與工況轉(zhuǎn)換點(diǎn)數(shù)量之和;設(shè)粒子數(shù)量為x、小種群數(shù)量為y,將x個(gè)粒子平均分配至y個(gè)小種群中;
3)小種群優(yōu)化模塊根據(jù)粒子群優(yōu)化算法,控制各個(gè)小種群按公式一對(duì)所轄粒子進(jìn)行粒子速度更新處理,得到各個(gè)粒子當(dāng)前的粒子速度,然后根據(jù)粒子速度,小種群按公式三對(duì)各個(gè)粒子進(jìn)行粒子位置更新處理,得到各個(gè)粒子當(dāng)前的粒子位置;進(jìn)入步驟4);
4)滿足約束參數(shù)條件的粒子位置記為可行解,不滿足約束參數(shù)條件的粒子位置記為非可行解,若某一小種群所對(duì)應(yīng)的多個(gè)粒子位置中存在可行解,則將相應(yīng)小種群記為可行小種群,若某一小種群所對(duì)應(yīng)的多個(gè)粒子位置均為非可行解,則將相應(yīng)小種群記為非可行小種群;
根據(jù)約束參數(shù),對(duì)各個(gè)小種群的狀態(tài)進(jìn)行判斷:
若所有小種群均為非可行小種群,則進(jìn)入步驟5B);若多個(gè)小種群中既存在可行小種群又存在非可行小種群,則進(jìn)入步驟5A);
5A)小種群優(yōu)化模塊將可行解輸入外部檔案模塊,同時(shí),小種群優(yōu)化模塊將每個(gè)可行小種群所對(duì)應(yīng)的可行解中的最優(yōu)者作為精英解輸入上層優(yōu)化模塊,同時(shí),小種群優(yōu)化模塊將每個(gè)非可行小種群所對(duì)應(yīng)的非可行解中的最優(yōu)者作為精英解輸入上層優(yōu)化模塊;
外部檔案模塊第一次收到可行解時(shí),若可行解的數(shù)量為1,則外部檔案模塊直接對(duì)可行解進(jìn)行保存,若可行解的數(shù)量為2個(gè)或2個(gè)以上,則外部檔案模塊對(duì)所有可行解進(jìn)行支配關(guān)系識(shí)別:對(duì)于不存在支配關(guān)系的可行解,則全部保留,對(duì)于存在支配關(guān)系的可行解,只保留支配者,移除受支配者;保留在外部檔案模塊中的可行解記為Pareto前沿解;后續(xù)迭代過(guò)程中,外部檔案模塊對(duì)新收到的可行解和Pareto前沿解整體進(jìn)行支配關(guān)系識(shí)別:對(duì)于不存在支配關(guān)系的可行解,則全部保留,對(duì)于存在支配關(guān)系的可行解,只保留支配者,移除受支配者;
上層優(yōu)化模塊收到多個(gè)精英解后,對(duì)多個(gè)精英解進(jìn)行優(yōu)化處理,得到小種群全局最優(yōu)位置,然后將小種群全局最優(yōu)位置反饋至所有小種群中,小種群根據(jù)小種群全局最優(yōu)位置對(duì)公式二中的相應(yīng)因子進(jìn)行更新;
待外部檔案模塊和上層優(yōu)化模塊的前述動(dòng)作都完成后,對(duì)迭代次數(shù)進(jìn)行判斷,若迭代次數(shù)達(dá)到設(shè)定值,則進(jìn)入步驟6),若迭代次數(shù)未達(dá)到設(shè)定值,則小種群優(yōu)化模塊從外部檔案模塊中調(diào)用Pareto前沿解并從該前沿解中提取出外部全局最優(yōu)位置,然后將外部全局最優(yōu)位置反饋至所有小種群中,小種群根據(jù)外部全局最優(yōu)位置對(duì)公式二中的相應(yīng)因子進(jìn)行更新;然后小種群按公式二對(duì)多個(gè)小種群中的多個(gè)粒子進(jìn)行粒子速度更新處理,得到各個(gè)粒子當(dāng)前的粒子速度,然后根據(jù)粒子速度,小種群按公式三對(duì)各個(gè)粒子進(jìn)行粒子位置更新處理,得到各個(gè)粒子當(dāng)前的粒子位置;返回步驟4);
5B)將每個(gè)小種群所對(duì)應(yīng)的非可行解中,與約束參數(shù)背離程度最小的非可行解作為精英解輸入上層優(yōu)化模塊中,上層優(yōu)化模塊收到多個(gè)精英解后,對(duì)多個(gè)精英解進(jìn)行優(yōu)化處理,得到種群全局最優(yōu)位置,然后將種群全局最優(yōu)位置反饋至所有小種群中,小種群根據(jù)種群全局最優(yōu)位置對(duì)公式一中的相應(yīng)因子進(jìn)行更新;然后對(duì)迭代次數(shù)進(jìn)行判斷,若迭代次數(shù)達(dá)到設(shè)定值,則進(jìn)入步驟6),若迭代次數(shù)未達(dá)到設(shè)定值,則返回步驟3);
6)若外部檔案模塊中不存在Pareto前沿解,則操作結(jié)束;若外部檔案模塊中存在Pareto前沿解,則從Pareto前沿解中選取一者,然后求解出相應(yīng)的速度控制命令;
所述公式一為:
其中,w為慣性權(quán)重,w為設(shè)定值;為相應(yīng)小種群中第d維度上第i個(gè)粒子第k次搜索時(shí)的粒子速度,為設(shè)定值;為相應(yīng)小種群中第d維度上第i個(gè)粒子第k+1次搜索時(shí)的粒子速度;c1和c2均是數(shù)值為正的常數(shù),c1和c2均為設(shè)定值;和均為[0,1]區(qū)間上的隨機(jī)數(shù),和的具體數(shù)值由小種群根據(jù)粒子群優(yōu)化算法隨機(jī)生成;為相應(yīng)小種群中第d維度上第i個(gè)粒子在第k次搜索時(shí)的自身最優(yōu)位置,為設(shè)定值,后續(xù)過(guò)程中的由各個(gè)小種群根據(jù)粒子群優(yōu)化算法自動(dòng)更新;為第d維度上第k次搜索時(shí)的小種群全局最優(yōu)位置,為設(shè)定值;為相應(yīng)小種群中第d維度上第i個(gè)粒子第k次搜索時(shí)的位置向量,為設(shè)定值;
所述公式二為:
其中,c3是數(shù)值為正的常數(shù),c3為設(shè)定值,為[0,1]區(qū)間上的隨機(jī)數(shù),的具體數(shù)值由小種群根據(jù)粒子群優(yōu)化算法隨機(jī)生成,為第d維度上第k次搜索時(shí)的外部全局最優(yōu)位置;
所述公式三為:
其中,為相應(yīng)小種群中第d維度上第i個(gè)粒子第k+1次搜索時(shí)的位置向量。
本發(fā)明的原理是:
PSO算法(也稱粒子群算法或粒子群優(yōu)化算法)是近年來(lái)新出現(xiàn)的一種進(jìn)化算法,相比于過(guò)去的爬山法、遺傳算法、神經(jīng)網(wǎng)絡(luò)算法等方法,PSO算法在解決多目標(biāo)優(yōu)化問(wèn)題時(shí)具有多方面的優(yōu)勢(shì),業(yè)內(nèi)已有將PSO算法與Pareto原理結(jié)合來(lái)處理多目標(biāo)優(yōu)化問(wèn)題的案例,本申請(qǐng)的主旨不是要對(duì)PSO算法或Pareto原理本身進(jìn)行改進(jìn),本申請(qǐng)與現(xiàn)有技術(shù)的不同點(diǎn)在于:現(xiàn)有技術(shù)在應(yīng)用PSO算法進(jìn)行單目標(biāo)優(yōu)化時(shí),有采用“小種群優(yōu)化模塊+上層優(yōu)化模塊”的雙層處理結(jié)構(gòu);在應(yīng)用PSO算法進(jìn)行多目標(biāo)優(yōu)化時(shí),未曾見(jiàn)使用“小種群優(yōu)化模塊+上層優(yōu)化模塊+外部檔案模塊”的三層處理結(jié)構(gòu)的案例。其中,針對(duì)多目標(biāo)優(yōu)化采用三層處理結(jié)構(gòu)的案例,其外部檔案模塊對(duì)Pareto前沿解的提取、甄選和存儲(chǔ)僅是為了在算法處理完成后能累積到多個(gè)Pareto前沿解,從而形成Pareto前沿解集,而在本發(fā)明中,若某次迭代過(guò)程中獲得了Pareto前沿解,則在后續(xù)迭代過(guò)程中,利用公式二將之前獲得的Pareto前沿解用于粒子速度更新,這就可以使后續(xù)迭代過(guò)程既能兼顧到單個(gè)小種群的粒子全局最優(yōu)位置(即小種群全局最優(yōu)位置)、又能兼顧到所有小種群的粒子全局最優(yōu)位置(即外部全局最優(yōu)位置),這就可以使處理過(guò)程的收斂性在迭代過(guò)程中不斷地得到改善,由此得到的處理結(jié)果更加趨近于真實(shí)情況,最終使得ATO系統(tǒng)能以更優(yōu)的控制參數(shù)來(lái)控制列車運(yùn)行。
關(guān)于PSO算法和Pareto原理以及速度控制命令求解等技術(shù)內(nèi)容,它們與本發(fā)明的改進(jìn)點(diǎn)的關(guān)聯(lián)性不大,再加上考慮到這些內(nèi)容都是現(xiàn)有技術(shù)中十分常見(jiàn)的處理手段,故本文對(duì)相關(guān)內(nèi)容介紹得較為簡(jiǎn)略,如有未盡之處,本領(lǐng)域技術(shù)人員應(yīng)參考現(xiàn)有技術(shù)來(lái)理解本發(fā)明。
為了進(jìn)一步改善本發(fā)明的處理效果,發(fā)明人還提出了如下的優(yōu)選方案:所述步驟5A)中,小種群優(yōu)化模塊按如下方式從外部檔案模塊中調(diào)用Pareto前沿解:
若外部檔案模塊中的Pareto前沿解數(shù)量只有1個(gè)時(shí),則直接調(diào)用該P(yáng)areto前沿解;
若外部檔案模塊中的Pareto前沿解數(shù)量大于1且小于4時(shí),則以隨機(jī)選擇方式任選一個(gè)Pareto前沿解;
若外部檔案模塊中的Pareto前沿解數(shù)量大于或等于4時(shí),則按如下方式處理:
1]在運(yùn)行時(shí)長(zhǎng)和能耗大小中任選一者作為參考標(biāo)準(zhǔn),參考標(biāo)準(zhǔn)的最大值和最小值所對(duì)應(yīng)的兩個(gè)Pareto前沿解分別記為兩個(gè)邊界解,其余Pareto前沿解記為非邊界解;
2]按獲取時(shí)間順序,用1至n的整數(shù)將多個(gè)非邊界解連續(xù)編號(hào),然后根據(jù)Pareto原理,計(jì)算出各個(gè)非邊界解的擁擠距離值,然后按下式計(jì)算出各個(gè)非邊界解所對(duì)應(yīng)的選取概率pi:
其中,di為第i個(gè)非邊界解的擁擠距離值,n為非邊界解的數(shù)量;
3]根據(jù)各個(gè)非邊界解所對(duì)應(yīng)的選取概率pi,采用輪盤賭選擇方法,從多個(gè)非邊界解中抽選出一者作為備用解,然后以隨機(jī)選擇方式,從兩個(gè)邊界解和備用解三者中任選一個(gè)作為外部全局最優(yōu)位置。
前述改進(jìn)方案的原理是:在具體處理時(shí),外部檔案模塊中存在的Pareto前沿解數(shù)量有可能會(huì)逐步增加(也可能不變,但不會(huì)減少),若以運(yùn)行時(shí)長(zhǎng)和能耗大小分別作為橫軸和縱軸建立坐標(biāo)系,從Pareto前沿解在坐標(biāo)系上的分布來(lái)看,Pareto前沿解有可能在坐標(biāo)系上的某些區(qū)域分布得較為集中,而在坐標(biāo)系的另一些區(qū)域上,Pareto前沿解又可能分布得較??;當(dāng)Pareto前沿解數(shù)量小于4時(shí),Pareto前沿解在坐標(biāo)系上的分布位置并無(wú)太大的技術(shù)意義,沒(méi)有必要選取特定的Pareto前沿解,因此,前述改進(jìn)方案中,對(duì)于Pareto前沿解數(shù)量小于4的情況,直接采用隨機(jī)選擇方式來(lái)進(jìn)行選??;當(dāng)Pareto前沿解數(shù)量大于或等于4時(shí),Pareto前沿解在坐標(biāo)系上的分布位置就會(huì)出現(xiàn)較為明顯的趨勢(shì)化(即在某些區(qū)域集中、在某些區(qū)域稀疏),此時(shí),若仍采用隨機(jī)選擇方式從所有Pareto前沿解中任意選取,就有可能使后續(xù)得到的Pareto前沿解繼續(xù)在坐標(biāo)系上的密集區(qū)域分布,這就不利于得到覆蓋面較寬的Pareto前沿解集,于是前述改進(jìn)方案中采用計(jì)算選取概率的方式來(lái)對(duì)選取操作進(jìn)行優(yōu)化,其中,涉及到的擁擠距離值為Pareto原理中的常見(jiàn)參數(shù),擁擠距離值小,意味著某一Pareto前沿解與周圍的Pareto前沿解較為密集,反之則較稀疏,而從選取概率的計(jì)算公式中可以看出,擁擠距離值與選取概率成反比,采用這種方式計(jì)算來(lái)計(jì)算選取概率,在后續(xù)的輪盤賭選擇方法中,可以使擁擠距離值較大的Pareto前沿解更容易被選中,這就可以使后續(xù)處理過(guò)程更容易得到分布在較為稀疏區(qū)域上的Pareto前沿解,從而提高最終得到的Pareto前沿解集的多樣性。
本發(fā)明的有益技術(shù)效果是:提出了一種為ATO系統(tǒng)生成速度控制命令的方法,該方法可以在迭代過(guò)程中,不斷地改善算法的收斂性,使處理結(jié)果更加趨近于真實(shí)情況,并最終得到更優(yōu)的速度控制命令參數(shù)。
附圖說(shuō)明
圖1、本發(fā)明的原理示意圖;
圖2、Pareto前沿解擁擠距離值示意圖;
圖3、采用現(xiàn)有方法得到的Pareto前沿解在時(shí)間-能耗坐標(biāo)系上的分布示意圖;
圖4、采用本發(fā)明方法得到的Pareto前沿解在時(shí)間-能耗坐標(biāo)系上的分布示意圖;
圖5、圖3和圖4疊放后得到的對(duì)比圖。
具體實(shí)施方式
一種為列車自動(dòng)駕駛系統(tǒng)生成速度控制命令的方法,所述列車自動(dòng)駕駛系統(tǒng)能根據(jù)速度控制命令對(duì)列車的速度進(jìn)行控制,其創(chuàng)新在于:所涉及的模塊包括小種群優(yōu)化模塊、上層優(yōu)化模塊和外部檔案模塊;所述小種群優(yōu)化模塊中包含有多個(gè)小種群;
所述方法包括:
1)設(shè)定基礎(chǔ)數(shù)據(jù)和約束參數(shù);所述基礎(chǔ)數(shù)據(jù)包括:線路參數(shù)、站點(diǎn)參數(shù)、列車參數(shù)、ATO系統(tǒng)參數(shù);所述約束參數(shù)包括:限速參數(shù)、停車位置參數(shù)、到站時(shí)間參數(shù)、列車工況轉(zhuǎn)換原則;
2)按如下方式設(shè)定粒子和小種群:為列車設(shè)計(jì)控制序列;所述控制序列由多個(gè)順次排列的控制階段組成,每個(gè)控制階段均對(duì)應(yīng)一種列車工況,列車工況切換時(shí)控制階段也隨之切換;列車工況切換時(shí),列車在運(yùn)行線路上所處的位置記為工況轉(zhuǎn)換點(diǎn);對(duì)工況轉(zhuǎn)換點(diǎn)的位置進(jìn)行調(diào)整,即可為控制序列生成多種控制模態(tài),每種控制模態(tài)及其對(duì)應(yīng)的多個(gè)工況轉(zhuǎn)換點(diǎn)記為一個(gè)粒子,粒子的維度即為控制階段數(shù)量與工況轉(zhuǎn)換點(diǎn)數(shù)量之和;設(shè)粒子數(shù)量為x、小種群數(shù)量為y,將x個(gè)粒子平均分配至y個(gè)小種群中;
3)小種群優(yōu)化模塊根據(jù)粒子群優(yōu)化算法,控制各個(gè)小種群按公式一對(duì)所轄粒子進(jìn)行粒子速度更新處理,得到各個(gè)粒子當(dāng)前的粒子速度,然后根據(jù)粒子速度,小種群按公式三對(duì)各個(gè)粒子進(jìn)行粒子位置更新處理,得到各個(gè)粒子當(dāng)前的粒子位置;進(jìn)入步驟4);
4)滿足約束參數(shù)條件的粒子位置記為可行解,不滿足約束參數(shù)條件的粒子位置記為非可行解,若某一小種群所對(duì)應(yīng)的多個(gè)粒子位置中存在可行解,則將相應(yīng)小種群記為可行小種群,若某一小種群所對(duì)應(yīng)的多個(gè)粒子位置均為非可行解,則將相應(yīng)小種群記為非可行小種群;
根據(jù)約束參數(shù),對(duì)各個(gè)小種群的狀態(tài)進(jìn)行判斷:
若所有小種群均為非可行小種群,則進(jìn)入步驟5B);若多個(gè)小種群中既存在可行小種群又存在非可行小種群,則進(jìn)入步驟5A);
5A)小種群優(yōu)化模塊將可行解輸入外部檔案模塊,同時(shí),小種群優(yōu)化模塊將每個(gè)可行小種群所對(duì)應(yīng)的可行解中的最優(yōu)者作為精英解輸入上層優(yōu)化模塊,同時(shí),小種群優(yōu)化模塊將每個(gè)非可行小種群所對(duì)應(yīng)的非可行解中的最優(yōu)者作為精英解輸入上層優(yōu)化模塊;
外部檔案模塊第一次收到可行解時(shí),若可行解的數(shù)量為1,則外部檔案模塊直接對(duì)可行解進(jìn)行保存,若可行解的數(shù)量為2個(gè)或2個(gè)以上,則外部檔案模塊對(duì)所有可行解進(jìn)行支配關(guān)系識(shí)別:對(duì)于不存在支配關(guān)系的可行解,則全部保留,對(duì)于存在支配關(guān)系的可行解,只保留支配者,移除受支配者;保留在外部檔案模塊中的可行解記為Pareto前沿解;后續(xù)迭代過(guò)程中,外部檔案模塊對(duì)新收到的可行解和Pareto前沿解整體進(jìn)行支配關(guān)系識(shí)別:對(duì)于不存在支配關(guān)系的可行解,則全部保留,對(duì)于存在支配關(guān)系的可行解,只保留支配者,移除受支配者;
上層優(yōu)化模塊收到多個(gè)精英解后,對(duì)多個(gè)精英解進(jìn)行優(yōu)化處理,得到小種群全局最優(yōu)位置,然后將小種群全局最優(yōu)位置反饋至所有小種群中,小種群根據(jù)小種群全局最優(yōu)位置對(duì)公式二中的相應(yīng)因子進(jìn)行更新;
待外部檔案模塊和上層優(yōu)化模塊的前述動(dòng)作都完成后,對(duì)迭代次數(shù)進(jìn)行判斷,若迭代次數(shù)達(dá)到設(shè)定值,則進(jìn)入步驟6),若迭代次數(shù)未達(dá)到設(shè)定值,則小種群優(yōu)化模塊從外部檔案模塊中調(diào)用Pareto前沿解并從該前沿解中提取出外部全局最優(yōu)位置,然后將外部全局最優(yōu)位置反饋至所有小種群中,小種群根據(jù)外部全局最優(yōu)位置對(duì)公式二中的相應(yīng)因子進(jìn)行更新;然后小種群按公式二對(duì)多個(gè)小種群中的多個(gè)粒子進(jìn)行粒子速度更新處理,得到各個(gè)粒子當(dāng)前的粒子速度,然后根據(jù)粒子速度,小種群按公式三對(duì)各個(gè)粒子進(jìn)行粒子位置更新處理,得到各個(gè)粒子當(dāng)前的粒子位置;返回步驟4);
5B)將每個(gè)小種群所對(duì)應(yīng)的非可行解中,與約束參數(shù)背離程度最小的非可行解作為精英解輸入上層優(yōu)化模塊中,上層優(yōu)化模塊收到多個(gè)精英解后,對(duì)多個(gè)精英解進(jìn)行優(yōu)化處理,得到種群全局最優(yōu)位置,然后將種群全局最優(yōu)位置反饋至所有小種群中,小種群根據(jù)種群全局最優(yōu)位置對(duì)公式一中的相應(yīng)因子進(jìn)行更新;然后對(duì)迭代次數(shù)進(jìn)行判斷,若迭代次數(shù)達(dá)到設(shè)定值,則進(jìn)入步驟6),若迭代次數(shù)未達(dá)到設(shè)定值,則返回步驟3);
6)若外部檔案模塊中不存在Pareto前沿解,則操作結(jié)束;若外部檔案模塊中存在Pareto前沿解,則從Pareto前沿解中選取一者,然后求解出相應(yīng)的速度控制命令;
所述公式一為:
其中,w為慣性權(quán)重,w為設(shè)定值;為相應(yīng)小種群中第d維度上第i個(gè)粒子第k次搜索時(shí)的粒子速度,為設(shè)定值;為相應(yīng)小種群中第d維度上第i個(gè)粒子第k+1次搜索時(shí)的粒子速度;c1和c2均是數(shù)值為正的常數(shù),c1和c2均為設(shè)定值;和均為[0,1]區(qū)間上的隨機(jī)數(shù),和的具體數(shù)值由小種群根據(jù)粒子群優(yōu)化算法隨機(jī)生成;為相應(yīng)小種群中第d維度上第i個(gè)粒子在第k次搜索時(shí)的自身最優(yōu)位置,為設(shè)定值,后續(xù)過(guò)程中的由各個(gè)小種群根據(jù)粒子群優(yōu)化算法自動(dòng)更新;為第d維度上第k次搜索時(shí)的小種群全局最優(yōu)位置,為設(shè)定值;為相應(yīng)小種群中第d維度上第i個(gè)粒子第k次搜索時(shí)的位置向量,為設(shè)定值;
所述公式二為:
其中,c3是數(shù)值為正的常數(shù),c3為設(shè)定值,為[0,1]區(qū)間上的隨機(jī)數(shù),的具體數(shù)值由小種群根據(jù)粒子群優(yōu)化算法隨機(jī)生成,為第d維度上第k次搜索時(shí)的外部全局最優(yōu)位置;
所述公式三為:
其中,為相應(yīng)小種群中第d維度上第i個(gè)粒子第k+1次搜索時(shí)的位置向量。
進(jìn)一步地,所述步驟5A)中,小種群優(yōu)化模塊按如下方式從外部檔案模塊中調(diào)用Pareto前沿解:
若外部檔案模塊中的Pareto前沿解數(shù)量只有1個(gè)時(shí),則直接調(diào)用該P(yáng)areto前沿解;
若外部檔案模塊中的Pareto前沿解數(shù)量大于1且小于4時(shí),則以隨機(jī)選擇方式任選一個(gè)Pareto前沿解;
若外部檔案模塊中的Pareto前沿解數(shù)量大于或等于4時(shí),則按如下方式處理:
1)在運(yùn)行時(shí)長(zhǎng)和能耗大小中任選一者作為參考標(biāo)準(zhǔn),參考標(biāo)準(zhǔn)的最大值和最小值所對(duì)應(yīng)的兩個(gè)Pareto前沿解分別記為兩個(gè)邊界解,其余Pareto前沿解記為非邊界解;
2)按獲取時(shí)間順序,用1至n的整數(shù)將多個(gè)非邊界解連續(xù)編號(hào),然后根據(jù)Pareto原理,計(jì)算出各個(gè)非邊界解的擁擠距離值,然后按下式計(jì)算出各個(gè)非邊界解所對(duì)應(yīng)的選取概率pi:
其中,di為第i個(gè)非邊界解的擁擠距離值,n為非邊界解的數(shù)量;
3)根據(jù)各個(gè)非邊界解所對(duì)應(yīng)的選取概率pi,采用輪盤賭選擇方法,從多個(gè)非邊界解中抽選出一者作為備用解,然后以隨機(jī)選擇方式,從兩個(gè)邊界解和備用解三者中任選一個(gè)作為外部全局最優(yōu)位置。
參見(jiàn)圖2,圖中以能耗E為縱軸、運(yùn)行時(shí)長(zhǎng)t為橫軸建立坐標(biāo)系,圖中的大黑點(diǎn)即為多個(gè)Pareto前沿解,第i個(gè)非邊界解的擁擠距離值即是圖中虛線所圍四邊形的長(zhǎng)、寬之和。
參見(jiàn)圖3、圖4、圖5,在相同線路和相同迭代次數(shù)條件下,分別采用現(xiàn)有的多目標(biāo)粒子群優(yōu)化算法和本發(fā)明進(jìn)行處理,圖3即為通過(guò)現(xiàn)有方法得到的Pareto前沿解在時(shí)間-能耗坐標(biāo)系上的分布示意圖,圖4即為通過(guò)本發(fā)明方法得到的Pareto前沿解在時(shí)間-能耗坐標(biāo)系上的分布示意圖,圖5即為將圖3和圖4疊放后的對(duì)比圖。從圖5中可見(jiàn),由本發(fā)明方法得到的Pareto前沿解更靠近坐標(biāo)軸的內(nèi)側(cè),說(shuō)明本發(fā)明的收斂性更好,此外,由本發(fā)明方法得到的Pareto前沿解向坐標(biāo)系的左側(cè)區(qū)域延伸得較寬,數(shù)量也較多且分布得更加均勻,說(shuō)明由本發(fā)明方案獲得的Pareto前沿解的覆蓋面和分布均勻性都更好。