本發(fā)明涉及機(jī)器人路徑規(guī)劃領(lǐng)域,尤其是涉及一種基于均值和聲搜索的機(jī)器人巡檢路徑規(guī)劃方法。
背景技術(shù):
巡檢機(jī)器人在現(xiàn)代工業(yè)生產(chǎn)中起著至關(guān)重要的作用。巡檢機(jī)器人廣泛應(yīng)用在電力巡檢、倉(cāng)庫(kù)巡檢、森林防火巡檢等領(lǐng)域。在巡檢機(jī)器人的設(shè)計(jì)與開發(fā)中,巡檢機(jī)器人的巡檢路徑規(guī)劃是基中的一項(xiàng)支撐技術(shù)。在機(jī)器人的巡檢路徑規(guī)劃中,人們常常會(huì)遇到如下巡檢路徑規(guī)劃問題:給定若干個(gè)巡檢點(diǎn)的坐標(biāo)位置,要求為一巡檢機(jī)器人規(guī)劃一條路徑,使巡檢機(jī)器人從一個(gè)源巡檢點(diǎn)出發(fā)經(jīng)過每個(gè)巡檢點(diǎn)一次且僅一次,然后再回到源巡檢點(diǎn),并且要求巡檢機(jī)器人經(jīng)過路徑的耗費(fèi)最小化。該巡檢路徑規(guī)劃問題是一個(gè)np完全性問題,當(dāng)問題的規(guī)模比較大時(shí),傳統(tǒng)路徑規(guī)劃算法往往難以有效地為巡檢機(jī)器人規(guī)劃出一條工程上可接受的巡檢路徑。針對(duì)該巡檢路徑規(guī)劃問題,研究人員往往設(shè)計(jì)模擬自然的演化算法來求解。其中,和聲搜索算法是一種新近提出的演化算法,它的基本原理是模擬音樂家的創(chuàng)作過程而設(shè)計(jì)的一種優(yōu)化算法。
機(jī)器人巡檢路徑規(guī)劃問題本質(zhì)上就是一個(gè)優(yōu)化問題,而和聲搜索算法在求解優(yōu)化問題中表現(xiàn)出較優(yōu)越的性能。為此,許多學(xué)者提出了各種改進(jìn)的和聲搜索算法來求解各類優(yōu)化問題,例如丁春莉和李林森利用和聲搜索算法來優(yōu)化支持向量機(jī)的訓(xùn)練參數(shù),并使用訓(xùn)練好的支持向量機(jī)來預(yù)測(cè)網(wǎng)絡(luò)流量,實(shí)驗(yàn)結(jié)果表明所提出方法比一些傳統(tǒng)方法能夠獲得更高的網(wǎng)絡(luò)流量預(yù)測(cè)精度(丁春莉,李林森.和聲搜索算法優(yōu)化支持向量機(jī)的網(wǎng)絡(luò)流量預(yù)測(cè)[j].微型電腦應(yīng)用,2017,33(01):67-70);陶勇森等人將信息增益融合到和聲搜索算法中來實(shí)現(xiàn)語(yǔ)音數(shù)據(jù)的情感特征選擇,實(shí)驗(yàn)結(jié)果表明提出方法能夠有效地選擇出合適的情感特征,并且能夠達(dá)到較高的情感識(shí)別率(陶勇森,王坤俠,楊靜,李廉.融合信息增益與和聲搜索的語(yǔ)音情感特征選擇[j].小型微型計(jì)算機(jī)系統(tǒng),2017,38(05):1164-1168)。
從現(xiàn)有的研究成果中可知,和聲搜索算法具有操作算子簡(jiǎn)單、全局搜索能力較強(qiáng)等優(yōu)點(diǎn),它已經(jīng)成功地應(yīng)用到了各種工程優(yōu)化問題中,并且在求解很多工程優(yōu)化問題中獲得了令人滿意的結(jié)果,但傳統(tǒng)和聲搜索算法在求解一些復(fù)雜的機(jī)器人巡檢路徑規(guī)劃問題時(shí)容易出現(xiàn)收斂速度慢,規(guī)劃效率不高的缺點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種基于均值和聲搜索的機(jī)器人巡檢路徑規(guī)劃方法,它能夠在一定程度上克服傳統(tǒng)和聲搜索在求解一些復(fù)雜的機(jī)器人巡檢路徑規(guī)劃問題時(shí)容易出現(xiàn)收斂速度慢,規(guī)劃效率不高的缺點(diǎn),本發(fā)明能夠在一定程度上提高機(jī)器人巡檢路徑規(guī)劃的效率。
本發(fā)明的技術(shù)方案:一種基于均值和聲搜索的機(jī)器人巡檢路徑規(guī)劃方法,包括以下步驟:
步驟1,輸入各個(gè)巡檢點(diǎn)的坐標(biāo),并確定巡檢點(diǎn)的數(shù)量d;
步驟2,用戶初始化和聲庫(kù)的大小hms,選取概率hmcr,擾動(dòng)概率par,最大評(píng)價(jià)次數(shù)max_fes;
步驟3,當(dāng)前演化代數(shù)t=0,當(dāng)前評(píng)價(jià)次數(shù)fes=0;
步驟4,隨機(jī)產(chǎn)生初始和聲庫(kù)
步驟5,計(jì)算和聲庫(kù)mt中每個(gè)個(gè)體的適應(yīng)值;
步驟6,令當(dāng)前評(píng)價(jià)次數(shù)fes=fes+hms;
步驟7,保存和聲庫(kù)mt中的最優(yōu)個(gè)體bestt;
步驟8,執(zhí)行基于均值信息的搜索操作產(chǎn)生一個(gè)新個(gè)體ut,具體步驟如下:
步驟8.1,令計(jì)數(shù)器kj=1;
步驟8.2,如果計(jì)數(shù)器kj大于d,則轉(zhuǎn)到步驟9,否則轉(zhuǎn)到步驟8.3;
步驟8.3,按公式(1)計(jì)算和聲庫(kù)mt中第kj維的均值
步驟8.4,在[0,1]之間產(chǎn)生一個(gè)隨機(jī)實(shí)數(shù)pr;
步驟8.5,如果pr小于hmcr,則轉(zhuǎn)到步驟8.6,否則轉(zhuǎn)到步驟8.19;
步驟8.6,在[1,hms]之間隨機(jī)產(chǎn)生一個(gè)正整數(shù)nr1;
步驟8.7,令
步驟8.8,在[0,1]之間隨機(jī)產(chǎn)生兩個(gè)實(shí)數(shù)tar和tg;
步驟8.9,如果tar小于par,則轉(zhuǎn)到步驟8.10,否則轉(zhuǎn)到步驟8.21;
步驟8.10,如果tg小于0.5,則轉(zhuǎn)到步驟8.11,否則轉(zhuǎn)到步驟8.16;
步驟8.11,在[1,hms]之間隨機(jī)產(chǎn)生一個(gè)不等于nr1的正整數(shù)nr2;
步驟8.12,令精英值
步驟8.13,在[0,1]之間隨機(jī)產(chǎn)生一個(gè)實(shí)數(shù)mw;
步驟8.14,令
步驟8.15,轉(zhuǎn)到步驟8.21;
步驟8.16,令高斯均值
步驟8.17,令
步驟8.18,轉(zhuǎn)到步驟8.21;
步驟8.19,在[1,hms]之間隨機(jī)產(chǎn)生一個(gè)正整數(shù)nr3,并令搜索因子slk=rand(0,1)×2-1,然后令均值項(xiàng)
步驟8.20,令
步驟8.21,令計(jì)數(shù)器kj=kj+1,然后轉(zhuǎn)到步驟8.2;
步驟9,計(jì)算個(gè)體ut的適應(yīng)值;
步驟10,將和聲庫(kù)mt中的最差個(gè)體記為mworstt;
步驟11,如果個(gè)體ut優(yōu)于mworstt,則用個(gè)體ut替換mworstt,否則保持mworstt不變;
步驟12,令當(dāng)前評(píng)價(jià)次數(shù)fes=fes+1;
步驟13,令當(dāng)前演化代數(shù)t=t+1;
步驟14,保存和聲庫(kù)mt中的最優(yōu)個(gè)體bestt;
步驟15,重復(fù)步驟8至步驟14,直至當(dāng)前評(píng)價(jià)次數(shù)fes達(dá)到max_fes后結(jié)束,將執(zhí)行過程中得到的最優(yōu)個(gè)體bestt解碼為機(jī)器人的巡檢路徑,即可實(shí)現(xiàn)機(jī)器人的巡檢路徑規(guī)劃。
本發(fā)明采用均值和聲搜索來規(guī)劃?rùn)C(jī)器人的巡檢路徑。在均值和聲搜索中,首先計(jì)算和聲庫(kù)中所有個(gè)體的均值,然后利用均值信息作為生成新個(gè)體的基點(diǎn),并將和聲庫(kù)的均值信息與和聲庫(kù)中的最優(yōu)個(gè)體相融合作為高斯變異算子的引導(dǎo)方向,以此增強(qiáng)算法的搜索性能,提高機(jī)器人巡檢路徑規(guī)劃的效率。本發(fā)明能夠在一定程度上提高機(jī)器人巡檢路徑規(guī)劃的效率。
附圖說明
圖1為本發(fā)明的流程圖。
圖2為實(shí)施例中用于規(guī)劃?rùn)C(jī)器人巡檢路徑的巡檢點(diǎn),圖中每個(gè)小黑點(diǎn)表示一個(gè)巡檢點(diǎn)。
具體實(shí)施方式
下面通過實(shí)施例,并結(jié)合附圖,對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步具體的說明。
實(shí)施例:
步驟1,輸入如圖2所示的各個(gè)巡檢點(diǎn)的坐標(biāo),并確定巡檢點(diǎn)的數(shù)量d=50;
步驟2,用戶初始化和聲庫(kù)的大小hms=50,選取概率hmcr=0.95,擾動(dòng)概率par=0.6,最大評(píng)價(jià)次數(shù)max_fes=300000;
步驟3,當(dāng)前演化代數(shù)t=0,當(dāng)前評(píng)價(jià)次數(shù)fes=0;
步驟4,隨機(jī)產(chǎn)生初始和聲庫(kù)
步驟5,計(jì)算和聲庫(kù)mt中每個(gè)個(gè)體的適應(yīng)值;
步驟6,令當(dāng)前評(píng)價(jià)次數(shù)fes=fes+hms;
步驟7,保存和聲庫(kù)mt中的最優(yōu)個(gè)體bestt;
步驟8,執(zhí)行基于均值信息的搜索操作產(chǎn)生一個(gè)新個(gè)體ut,具體步驟如下:
步驟8.1,令計(jì)數(shù)器kj=1;
步驟8.2,如果計(jì)數(shù)器kj大于d,則轉(zhuǎn)到步驟9,否則轉(zhuǎn)到步驟8.3;
步驟8.3,按公式(1)計(jì)算和聲庫(kù)mt中第kj維的均值
步驟8.4,在[0,1]之間產(chǎn)生一個(gè)隨機(jī)實(shí)數(shù)pr;
步驟8.5,如果pr小于hmcr,則轉(zhuǎn)到步驟8.6,否則轉(zhuǎn)到步驟8.19;
步驟8.6,在[1,hms]之間隨機(jī)產(chǎn)生一個(gè)正整數(shù)nr1;
步驟8.7,令
步驟8.8,在[0,1]之間隨機(jī)產(chǎn)生兩個(gè)實(shí)數(shù)tar和tg;
步驟8.9,如果tar小于par,則轉(zhuǎn)到步驟8.10,否則轉(zhuǎn)到步驟8.21;
步驟8.10,如果tg小于0.5,則轉(zhuǎn)到步驟8.11,否則轉(zhuǎn)到步驟8.16;
步驟8.11,在[1,hms]之間隨機(jī)產(chǎn)生一個(gè)不等于nr1的正整數(shù)nr2;
步驟8.12,令精英值
步驟8.13,在[0,1]之間隨機(jī)產(chǎn)生一個(gè)實(shí)數(shù)mw;
步驟8.14,令
步驟8.15,轉(zhuǎn)到步驟8.21;
步驟8.16,令高斯均值
步驟8.17,令
步驟8.18,轉(zhuǎn)到步驟8.21;
步驟8.19,在[1,hms]之間隨機(jī)產(chǎn)生一個(gè)正整數(shù)nr3,并令搜索因子slk=rand(0,1)×2-1,然后令均值項(xiàng)
步驟8.20,令
步驟8.21,令計(jì)數(shù)器kj=kj+1,然后轉(zhuǎn)到步驟8.2;
步驟9,計(jì)算個(gè)體ut的適應(yīng)值;
步驟10,將和聲庫(kù)mt中的最差個(gè)體記為mworstt;
步驟11,如果個(gè)體ut優(yōu)于mworstt,則用個(gè)體ut替換mworstt,否則保持mworstt不變;
步驟12,令當(dāng)前評(píng)價(jià)次數(shù)fes=fes+1;
步驟13,令當(dāng)前演化代數(shù)t=t+1;
步驟14,保存和聲庫(kù)mt中的最優(yōu)個(gè)體bestt;
步驟15,重復(fù)步驟8至步驟14,直至當(dāng)前評(píng)價(jià)次數(shù)fes達(dá)到max_fes后結(jié)束,將執(zhí)行過程中得到的最優(yōu)個(gè)體bestt解碼為機(jī)器人的巡檢路徑,即可得到巡檢機(jī)器人的規(guī)劃路徑。
本文中所描述的具體實(shí)施例僅僅是對(duì)本發(fā)明精神作舉例說明。本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員可以對(duì)所描述的具體實(shí)施例做各種各樣的修改或補(bǔ)充或采用類似的方式替代,但并不會(huì)偏離本發(fā)明的精神或者超越所附權(quán)利要求書所定義的范圍。