日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

一種車(chē)輛路徑問(wèn)題的優(yōu)化方法及裝置與流程

文檔序號(hào):11251512閱讀:554來(lái)源:國(guó)知局
一種車(chē)輛路徑問(wèn)題的優(yōu)化方法及裝置與流程

本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種車(chē)輛路徑問(wèn)題的優(yōu)化方法及裝置。



背景技術(shù):

車(chē)輛路徑問(wèn)題是np-hard組合優(yōu)化問(wèn)題,目前用于求解該類(lèi)問(wèn)題的算法主要有精確算法、傳統(tǒng)啟發(fā)式算法以及現(xiàn)代啟發(fā)式算法。其中,精確算法可以找到最優(yōu)解,但只適用于規(guī)模較小的問(wèn)題,隨著問(wèn)題規(guī)模的增大以及計(jì)算機(jī)能力的限制,精確算法的求解效率降低,傳統(tǒng)啟發(fā)算法(例如掃描法、節(jié)約法和兩階段算法等)可以求解較大規(guī)模問(wèn)題,提高問(wèn)題的求解效率,但容易陷入局部最優(yōu),現(xiàn)代啟發(fā)式算法(例如粒子群算法、模擬退火算法、禁忌搜索算法和遺傳算法等)是現(xiàn)在使用最多的,可以求解大規(guī)模問(wèn)題,通過(guò)規(guī)則提高了搜索效率,解的質(zhì)量也優(yōu)于傳統(tǒng)啟發(fā)式算法,但這些算法或多或存在收斂速度慢、容易陷入局部最優(yōu)以及參數(shù)難調(diào)整的問(wèn)題。

人工蜂群算法因?yàn)槠浣Y(jié)果簡(jiǎn)單易實(shí)現(xiàn)、參數(shù)少以及性能好的特點(diǎn),一經(jīng)提出便受到了各界學(xué)者的關(guān)注,但現(xiàn)有的人工蜂群算法存在大部分進(jìn)化算法都存在的缺點(diǎn)——收斂速度慢,通過(guò)現(xiàn)有的人工蜂群算法解決車(chē)輛路徑問(wèn)題效率較低。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于提供一種車(chē)輛路徑問(wèn)題的優(yōu)化方法及裝置,旨在解決由于現(xiàn)有技術(shù)無(wú)法提供一種車(chē)輛路徑問(wèn)題優(yōu)化的有效方法,導(dǎo)致車(chē)輛路徑問(wèn)題優(yōu)化效率較低的問(wèn)題。

一方面,本發(fā)明提供了一種車(chē)輛路徑問(wèn)題的優(yōu)化方法,所述方法包括下述步驟:

根據(jù)車(chē)輛路徑問(wèn)題的優(yōu)化目標(biāo),生成所述優(yōu)化目標(biāo)的初始種群,計(jì)算所述初始種群中每個(gè)個(gè)體的適應(yīng)度值;

確定所述初始種群中個(gè)體的鄰居范圍并搜索每個(gè)鄰居范圍內(nèi)的最優(yōu)個(gè)體,通過(guò)所述每個(gè)鄰居范圍內(nèi)的最優(yōu)個(gè)體引導(dǎo)雇傭蜂進(jìn)行鄰域搜索,生成第一種群;

在所述第一種群中選取部分優(yōu)秀個(gè)體,同歸根據(jù)預(yù)設(shè)的搜索公式以及公式使用概率,通過(guò)觀察蜂對(duì)所述部分優(yōu)秀個(gè)體進(jìn)行鄰域搜索,生成第二種群;

當(dāng)所述第二種群中存在連續(xù)更新失敗次數(shù)達(dá)到預(yù)設(shè)更新閾值的失敗個(gè)體時(shí),通過(guò)偵察蜂隨機(jī)生成用來(lái)替代所述失敗個(gè)體的新個(gè)體;

當(dāng)個(gè)體評(píng)價(jià)次數(shù)超過(guò)預(yù)設(shè)最大評(píng)價(jià)次數(shù)時(shí),將所述第二種群中的最優(yōu)個(gè)體輸出為所述車(chē)輛路徑問(wèn)題的最優(yōu)路徑,否則將所述第二種群設(shè)置為所述初始種群,重新執(zhí)行確定所述初始種群中個(gè)體的鄰居范圍的操作。

另一方面,本發(fā)明提供了一種車(chē)輛路徑問(wèn)題的優(yōu)化裝置,所述裝置包括:

初始化模塊,用于根據(jù)車(chē)輛路徑問(wèn)題的優(yōu)化目標(biāo),生成所述優(yōu)化目標(biāo)的初始種群,計(jì)算所述初始種群中每個(gè)個(gè)體的適應(yīng)度值;

第一種群生成模塊,用于確定所述初始種群中個(gè)體的鄰居范圍并搜索每個(gè)鄰居范圍內(nèi)的最優(yōu)個(gè)體,通過(guò)每個(gè)鄰居范圍內(nèi)的最優(yōu)個(gè)體引導(dǎo)雇傭蜂進(jìn)行鄰域搜索,生成第一種群;

第二種群生成模塊,用于在所述第一種群中選取部分優(yōu)秀個(gè)體,通過(guò)根所述部分優(yōu)秀個(gè)體和所述第一種群中的最優(yōu)個(gè)體引導(dǎo)觀察蜂進(jìn)行鄰域搜索,生成第二種群;

個(gè)體替換模塊,用于當(dāng)所述第二種群中存在連續(xù)更新失敗次數(shù)達(dá)到預(yù)設(shè)更新閾值的失敗個(gè)體時(shí),通過(guò)偵察蜂隨機(jī)生成用來(lái)替代所述失敗個(gè)體的新個(gè)體;以及

循環(huán)輸出模塊,用于當(dāng)個(gè)體評(píng)價(jià)次數(shù)超過(guò)預(yù)設(shè)最大評(píng)價(jià)次數(shù)時(shí),將所述第二種群中的最優(yōu)個(gè)體輸出為所述車(chē)輛路徑問(wèn)題的最優(yōu)路徑,否則將所述第二種群設(shè)置為所述初始種群,重新執(zhí)行確定所述初始種群中個(gè)體的鄰居范圍的操作。

本發(fā)明在生成車(chē)輛優(yōu)化目標(biāo)的初始種群后,建立初始種群中每個(gè)個(gè)體的鄰居范圍,通過(guò)每個(gè)鄰居范圍內(nèi)的最優(yōu)個(gè)體引導(dǎo)雇傭蜂對(duì)初始種群中的個(gè)體進(jìn)行鄰域搜索,生成第一種群,從第一種群中選取部分優(yōu)秀個(gè)體,通過(guò)部分優(yōu)秀個(gè)體和第一種群中的最優(yōu)個(gè)體引導(dǎo)觀察蜂進(jìn)行鄰域搜索,生成第二種群,當(dāng)?shù)诙N群中存在連續(xù)更新失敗次數(shù)達(dá)到預(yù)設(shè)更新閾值的失敗個(gè)體時(shí),通過(guò)偵察蜂隨機(jī)生成用來(lái)替代失敗個(gè)體的新個(gè)體,當(dāng)個(gè)體評(píng)價(jià)次數(shù)超過(guò)預(yù)設(shè)最大次數(shù)時(shí),將第二種群中的最優(yōu)個(gè)體輸出為車(chē)輛路徑問(wèn)題的最優(yōu)路徑,否則將第二種群設(shè)置為下一次迭代的初始種群,并重新執(zhí)行確定初始種群中個(gè)體的鄰居范圍的操作,從而通過(guò)加強(qiáng)蜜蜂間的信息交流,使得雇傭蜂和觀察蜂的搜索不是盲目獨(dú)立的,有效地提高了人工蜂群算法的收斂速度和優(yōu)化性能,進(jìn)而有效地提高了車(chē)輛路徑問(wèn)題的優(yōu)化效率和優(yōu)化效果。

附圖說(shuō)明

圖1是本發(fā)明實(shí)施例一提供的車(chē)輛路徑問(wèn)題的優(yōu)化方法的實(shí)現(xiàn)流程圖;

圖2是本發(fā)明實(shí)施例一提供的通過(guò)雇傭蜂進(jìn)行鄰域搜索的示例圖;

圖3是本發(fā)明實(shí)施例二提供的車(chē)輛路徑問(wèn)題的優(yōu)化裝置的結(jié)構(gòu)示意圖;以及

圖4是本發(fā)明實(shí)施例二提供的車(chē)輛路徑問(wèn)題的優(yōu)化裝置的優(yōu)化結(jié)構(gòu)示意圖。

具體實(shí)施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

以下結(jié)合具體實(shí)施例對(duì)本發(fā)明的具體實(shí)現(xiàn)進(jìn)行詳細(xì)描述:

實(shí)施例一:

圖1示出了本發(fā)明實(shí)施例一提供的車(chē)輛路徑問(wèn)題的優(yōu)化方法的實(shí)現(xiàn)流程,為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,詳述如下:

在步驟s101中,根據(jù)車(chē)輛路徑問(wèn)題的優(yōu)化目標(biāo),生成優(yōu)化目標(biāo)的初始種群,計(jì)算初始種群中個(gè)體的適應(yīng)度值。

本發(fā)明實(shí)施例適用于求解車(chē)輛路徑問(wèn)題(vrp)的系統(tǒng)或平臺(tái)。根據(jù)車(chē)輛路徑問(wèn)題的優(yōu)化目標(biāo),例如路程最短、費(fèi)用最少或者時(shí)間最短等優(yōu)化目標(biāo),建立相應(yīng)的數(shù)學(xué)模型,即優(yōu)化模型。在建立好優(yōu)化模型后,初始化相關(guān)參數(shù)和初始種群,其中,相關(guān)參數(shù)可包括種群個(gè)體數(shù)量、最大評(píng)價(jià)次數(shù)、個(gè)體連續(xù)更新失敗的最大次數(shù)(更新閾值)、個(gè)體評(píng)價(jià)次數(shù)以及記錄所有個(gè)體連續(xù)更新失敗次數(shù)的集合等。

在本發(fā)明實(shí)施例中,可根據(jù)人工蜂群算法中的種群初始化公式,生成一組多維隨機(jī)值,第i個(gè)多維隨機(jī)值表示為xi=(xi,1,xi,2,…),i=1,2,...,sn,sn為種群個(gè)體數(shù)量,由于人工蜂群初始化得到的每個(gè)多維隨機(jī)值是一組連續(xù)的實(shí)數(shù),而車(chē)輛行走的一條路徑為一列整數(shù)序列,因此需要對(duì)每個(gè)多維隨機(jī)值進(jìn)行離散化,離散化后的多維隨機(jī)值為不同的整數(shù)序列。將離散化后的多維隨機(jī)值設(shè)置為初始種群中的個(gè)體,并根據(jù)構(gòu)建的優(yōu)化模型計(jì)算每個(gè)個(gè)體的適應(yīng)度值(或目標(biāo)函數(shù)值)。

具體地,人工蜂群中的種群初始化公式可表示為:

其中,xij為第i個(gè)多維隨機(jī)值的第j維分量,為預(yù)設(shè)的第j維分量的最小值,為預(yù)設(shè)的第j分量的最大值,rand0,1為0-1之間的隨機(jī)值。

具體地,在對(duì)每個(gè)多維隨機(jī)值進(jìn)行離散化時(shí),可分別將每個(gè)多維隨機(jī)值中的分量進(jìn)行排序,得到每個(gè)多維隨機(jī)值中每個(gè)分量的序列號(hào),因此每個(gè)多維隨機(jī)值可對(duì)應(yīng)一組序列號(hào)。例如,當(dāng)一個(gè)多維隨機(jī)值為(0.3,0.5,0.8,0.1)時(shí),離散化后該多維隨機(jī)值為(2,3,4,1),這些分量可依次表示路徑節(jié)點(diǎn)2、3、4、1。

在步驟s102中,確定初始種群中個(gè)體的鄰居范圍并搜索每個(gè)鄰居范圍內(nèi)的最優(yōu)個(gè)體,通過(guò)每個(gè)鄰居范圍內(nèi)的最優(yōu)個(gè)體引導(dǎo)雇傭蜂進(jìn)行鄰域搜索,生成第一種群。

在本發(fā)明實(shí)施例中,為初始種群中每個(gè)個(gè)體建立一個(gè)鄰居范圍,一個(gè)鄰居范圍可認(rèn)為是每只雇傭蜂的局部視野,根據(jù)每個(gè)鄰居范圍中個(gè)體的適應(yīng)度值搜索出該鄰居范圍內(nèi)的最優(yōu)個(gè)體,再通過(guò)這些最優(yōu)個(gè)體對(duì)雇傭蜂的鄰域搜索進(jìn)行引導(dǎo),使得雇傭蜂具有良好的方向性。鄰域搜索后得到初始種群中每個(gè)個(gè)體對(duì)應(yīng)的新個(gè)體,為了便于區(qū)分,將這些新個(gè)體稱為第一新個(gè)體。將初始種群中每個(gè)個(gè)體與自身對(duì)應(yīng)的第一新個(gè)體進(jìn)行適應(yīng)度值的比較,以對(duì)每個(gè)個(gè)體與對(duì)應(yīng)的第一新個(gè)體間的優(yōu)劣性進(jìn)行評(píng)價(jià),從而將每個(gè)個(gè)體與對(duì)應(yīng)的第一新個(gè)體間的優(yōu)秀個(gè)體保留下來(lái),構(gòu)成第一種群。其中,在雇傭蜂對(duì)一個(gè)個(gè)體進(jìn)行一次鄰域搜索后,可對(duì)個(gè)體評(píng)價(jià)次數(shù)進(jìn)行加一操作。

具體地,可根據(jù)初始種群中當(dāng)前的個(gè)體與初始種群中其它個(gè)體間的距離平均值,建立該個(gè)體的鄰居范圍,具體地,當(dāng)個(gè)體xi與個(gè)體xj的距離dij<r·mdi時(shí),可認(rèn)為個(gè)體xj是個(gè)體xi的鄰居,其中,r為預(yù)設(shè)參數(shù),mdi為個(gè)體xi與初始種群中其它個(gè)體的距離平均值。

具體地,通過(guò)每個(gè)鄰居范圍內(nèi)的最優(yōu)個(gè)體引導(dǎo)雇傭蜂進(jìn)行鄰域搜索的公式為:

vi,j=xi,j+rand0,1·(xnbest-xi,j),其中,vi,j為初始種群中第i個(gè)個(gè)體在鄰域搜索后得到第一新個(gè)體vi的第j維,xi,j為初始種群中第i個(gè)個(gè)體xi的第j維,xnbest為第i個(gè)個(gè)體的鄰居范圍內(nèi)的最優(yōu)個(gè)體。在鄰域搜索時(shí),先確定當(dāng)前個(gè)體變異的維度j,再通過(guò)鄰域搜索公式對(duì)當(dāng)前個(gè)體維度j的分量(例如圖2中個(gè)體x的分量3)進(jìn)行變異,得到變異后的分量(例如圖2中第一新個(gè)體xnew的分量6),查找變異后的分量在當(dāng)前個(gè)體中的維度(例如圖2中個(gè)體x的分量6所在維度),將該維度的分量設(shè)置為當(dāng)前個(gè)體維度j的分量。

在步驟s103中,在第一種群中選取部分優(yōu)秀個(gè)體,通過(guò)部分優(yōu)秀個(gè)體和第一種群中的最優(yōu)個(gè)體引導(dǎo)觀察蜂進(jìn)行鄰域搜索,生成第二種群。

在本發(fā)明實(shí)施例中,根據(jù)第一種群種個(gè)體的適應(yīng)度值,在第一種群種按照預(yù)設(shè)的選取比例q選擇b=q·sn個(gè)優(yōu)秀個(gè)體,為便于區(qū)分,將這些優(yōu)秀個(gè)體統(tǒng)稱為部分優(yōu)秀個(gè)體。將部分優(yōu)秀個(gè)體的順序打亂,并根據(jù)預(yù)設(shè)公式使用概率pstr在部分優(yōu)秀個(gè)體中選擇前floor(pstr·b)個(gè)個(gè)體作為第一部分個(gè)體,剩余的b-floor(pstr·b)個(gè)個(gè)體作為第二部分個(gè)體,并通過(guò)該部分優(yōu)秀個(gè)體以及第一種群中的最優(yōu)個(gè)體,引導(dǎo)雇傭蜂采用預(yù)設(shè)第一公式對(duì)第一部分個(gè)體進(jìn)行鄰域搜索、預(yù)設(shè)第二公式對(duì)第二部分個(gè)體進(jìn)行鄰域搜索,生成部分優(yōu)秀個(gè)體中每個(gè)個(gè)體對(duì)應(yīng)的新個(gè)體,為了便于區(qū)分,將這些新個(gè)體稱為第二新個(gè)體。根據(jù)部分優(yōu)秀個(gè)體每個(gè)個(gè)體的適應(yīng)度值和對(duì)應(yīng)第二新個(gè)體的適應(yīng)度值,保留部分優(yōu)秀個(gè)體和對(duì)應(yīng)的第二新個(gè)體之間的優(yōu)秀個(gè)體,構(gòu)成第二種群。從而通過(guò)在第一種群種選取部分優(yōu)秀個(gè)體進(jìn)行觀察蜂的鄰域搜索,有效地降低了通過(guò)觀察蜂的搜索、選擇壓力,提高了觀察蜂鄰域搜索的效率。其中,觀察蜂每對(duì)一個(gè)個(gè)體進(jìn)行鄰域搜索后,可對(duì)個(gè)體評(píng)價(jià)次數(shù)進(jìn)行加一操作。

具體地,第一公式為vi,j'=xpbest,j+φ·(xi,j-xk,j),第二公式為vi,j'=xbest,j+φ·(xpbest,j-xi,j),其中,xpbest為從部分優(yōu)秀個(gè)體中隨機(jī)選取的一個(gè)個(gè)體,xk為從第二種群中隨機(jī)選取的不同于個(gè)體xi和個(gè)體xpbest的個(gè)體,xbest為第二種群中的最優(yōu)個(gè)體,xi為部分優(yōu)秀個(gè)體中的第i個(gè)個(gè)體,vi'為部分優(yōu)秀個(gè)體中的第i個(gè)個(gè)體xi鄰域搜索后得到的第二新個(gè)體,φ為[-1,1]中的一個(gè)隨機(jī)實(shí)數(shù)。

優(yōu)選地,當(dāng)部分優(yōu)秀個(gè)體中的個(gè)體比對(duì)應(yīng)的第二新個(gè)體差時(shí),計(jì)算該個(gè)體與對(duì)應(yīng)的第二新個(gè)體間的適應(yīng)度值差值(適應(yīng)度值間的差值),當(dāng)該個(gè)體的鄰域搜索是采用第一公式完成時(shí),將該適應(yīng)度值差值累加到第一公式的提升度上,否則將該適應(yīng)度值差值累加到第二公式的提升度上,繼而根據(jù)第一公式的提升度和第二公式的提升度更新公式使用概率,從而有效提高通過(guò)觀察蜂進(jìn)行的鄰域搜索的效果。具體地,根據(jù)第一公式的提升度和第二公式的提升度更新公式使用概率時(shí),先計(jì)算第一公式和第二公式的平均提升度,當(dāng)公式的平均提升度之和為0時(shí),公式使用概率為0.5,否則,公式使用概率的公式為:

pstr=0.1+0.8·aid1/(aid1+aid2),

其中,aid1為第一公式的平均提升度,aid1=id1/floor(pstr·b),aid2為第二公式的平均提升度,aid2=id2/(b-floor(pstr·b)),id1為第一公式的提升度,id2為第二公式的提升度。

在本發(fā)明實(shí)施例中,可將選取比例的倒數(shù)值設(shè)置為在第一種群中選取部分優(yōu)秀個(gè)體的次數(shù)閾值,每完成一次上述的部分優(yōu)秀個(gè)體選取、觀察蜂鄰域搜索和公式使用概率更新,就對(duì)當(dāng)前的選取次數(shù)進(jìn)行加一操作,并判斷當(dāng)前的選取次數(shù)是否超過(guò)次數(shù)閾值,當(dāng)未超過(guò)時(shí),將第二種群設(shè)置為第一種群,并跳轉(zhuǎn)至在第一種群中選取部分優(yōu)秀個(gè)體的操作。

在步驟s104中,第二種群中是否存在連續(xù)更新失敗次數(shù)達(dá)到預(yù)設(shè)更新閾值的失敗個(gè)體。

在本發(fā)明實(shí)施例中,雇傭蜂的鄰域搜索和觀察蜂的鄰域搜索即分別對(duì)初始種群中個(gè)體進(jìn)行更新和對(duì)第一種群中個(gè)體進(jìn)行更新,當(dāng)更新前的個(gè)體優(yōu)于更新后的個(gè)體,可認(rèn)為該個(gè)體此次更新失敗。當(dāng)?shù)诙N群中存在連續(xù)更新失敗次數(shù)達(dá)到預(yù)設(shè)更新閾值的失敗個(gè)體時(shí)執(zhí)行步驟s105,否則執(zhí)行步驟s106。

在步驟s105中,通過(guò)偵察蜂隨機(jī)生成用來(lái)替代失敗個(gè)體的新個(gè)體。

在本發(fā)明實(shí)施例中,在偵察蜂階段,通過(guò)人工蜂群中的種群初始化公式生成一個(gè)多維隨機(jī)值,并對(duì)該多維隨機(jī)值進(jìn)行離散化,得到一個(gè)新個(gè)體,用該新個(gè)體代替連續(xù)更新失敗次數(shù)達(dá)到預(yù)設(shè)更新閾值的失敗個(gè)體。其中,偵察蜂每更新一個(gè)個(gè)體后,可對(duì)個(gè)體評(píng)價(jià)次數(shù)進(jìn)行加一操作。

在步驟s106中,個(gè)體評(píng)價(jià)次數(shù)是否超過(guò)預(yù)設(shè)最大評(píng)價(jià)次數(shù)。

在本發(fā)明實(shí)施例中,在初始化時(shí),個(gè)體評(píng)價(jià)次數(shù)為0,每完成一次雇傭蜂階段、觀察蜂階段的鄰域搜索以及偵察蜂的個(gè)體更新,可對(duì)個(gè)體評(píng)價(jià)次數(shù)進(jìn)行更新。當(dāng)個(gè)體評(píng)價(jià)次數(shù)超過(guò)預(yù)設(shè)的最大評(píng)價(jià)次數(shù)時(shí),認(rèn)為車(chē)輛路徑問(wèn)題的優(yōu)化完成,執(zhí)行步驟s108,否則執(zhí)行步驟s107。

在步驟s107中,將第二種群設(shè)置為初始種群,重新執(zhí)行確定初始種群中個(gè)體的鄰居范圍的操作。

在本發(fā)明實(shí)施例中,當(dāng)個(gè)體評(píng)價(jià)次數(shù)未超過(guò)最大評(píng)價(jià)次數(shù)時(shí),將第二種群設(shè)置為下次迭代過(guò)程的初始種群,循環(huán)執(zhí)行雇傭蜂、觀察蜂的鄰域搜索以及偵察蜂的個(gè)體更新等操作。

在步驟s108中,將第二種群中的最優(yōu)個(gè)體輸出為車(chē)輛路徑問(wèn)題的最優(yōu)路徑。

在本發(fā)明實(shí)施例中,當(dāng)個(gè)體評(píng)價(jià)次數(shù)超過(guò)最大評(píng)價(jià)次數(shù)時(shí),將第二種群中的最優(yōu)個(gè)體作為車(chē)輛路徑問(wèn)題的最優(yōu)路徑輸出,完成對(duì)車(chē)輛路徑問(wèn)題的優(yōu)化。

在本發(fā)明實(shí)施例中,在雇傭蜂階段通過(guò)鄰居范圍內(nèi)的最優(yōu)個(gè)體引導(dǎo)雇傭蜂的鄰域搜索,加強(qiáng)了蜂群局部信息的交流,在觀察蜂階段通過(guò)部分優(yōu)秀個(gè)體、整個(gè)種群中的最優(yōu)個(gè)體引導(dǎo)觀察蜂的鄰域搜索,降低觀察蜂搜索負(fù)擔(dān)的同時(shí)加強(qiáng)了蜂群全局信息的交流,從而有效地提高了人工蜂群算法的收斂速度和優(yōu)化性能,進(jìn)一步有效地提高了車(chē)輛路徑問(wèn)題的優(yōu)化效率。

本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),如rom/ram、磁盤(pán)、光盤(pán)等。

實(shí)施例二:

圖3示出了本發(fā)明實(shí)施例二提供的車(chē)輛路徑問(wèn)題的優(yōu)化裝置的結(jié)構(gòu),為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,其中包括:

初始化模塊31,用于根據(jù)車(chē)輛路徑問(wèn)題的優(yōu)化目標(biāo),生成優(yōu)化目標(biāo)的初始種群,計(jì)算初始種群中個(gè)體的適應(yīng)度值;

第一種群生成模塊32,用于確定初始種群中個(gè)體的鄰居范圍并搜索每個(gè)鄰居范圍內(nèi)的最優(yōu)個(gè)體,通過(guò)每個(gè)鄰居范圍內(nèi)的最優(yōu)個(gè)體引導(dǎo)雇傭蜂進(jìn)行鄰域搜索,生成第一種群;

第二種群生成模塊33,用于在第一種群中選取部分優(yōu)秀個(gè)體,通過(guò)部分優(yōu)秀個(gè)體和第一種群中的最優(yōu)個(gè)體引導(dǎo)觀察蜂進(jìn)行鄰域搜索,生成第二種群;

個(gè)體替換模塊34,用于當(dāng)?shù)诙N群中存在連續(xù)更新失敗次數(shù)達(dá)到預(yù)設(shè)更新閾值的失敗個(gè)體時(shí),通過(guò)偵察蜂隨機(jī)生成用來(lái)替代失敗個(gè)體的新個(gè)體;

循環(huán)輸出模塊35,用于當(dāng)個(gè)體評(píng)價(jià)次數(shù)超過(guò)預(yù)設(shè)最大評(píng)價(jià)次數(shù)時(shí),將第二種群中的最優(yōu)個(gè)體輸出為車(chē)輛路徑問(wèn)題的最優(yōu)路徑,否則將第二種群設(shè)置為初始種群,重新執(zhí)行確定初始種群中個(gè)體的鄰居范圍的操作。

優(yōu)選地,如圖4所示,初始化模塊31包括模型建立模塊411和種群生成模塊412,其中:

模型建立模塊411,用于根據(jù)車(chē)輛路徑問(wèn)題的優(yōu)化目標(biāo),建立相應(yīng)的優(yōu)化模型,初始化優(yōu)化模型的相關(guān)參數(shù);以及

種群初始化模塊412,用于種群生成模塊,用于根據(jù)人工蜂群的種群初始化公式生成一組多維的隨機(jī)值,離散化所有隨機(jī)值并將離散化后的隨機(jī)值設(shè)置為初始種群中的個(gè)體,根據(jù)優(yōu)化模型計(jì)算初始種群中每個(gè)個(gè)體的適應(yīng)度值。

優(yōu)選地,第一種群生成模塊32包括鄰居確定模塊421鄰居搜索模塊422第一鄰域搜索模塊423和第一更新模塊424,其中:

鄰居確定模塊421,用于根據(jù)初始種群中每個(gè)個(gè)體間的距離,確定初始種群中每個(gè)個(gè)體的鄰居范圍;

鄰居搜索模塊422,用于根據(jù)每個(gè)鄰居范圍中所有個(gè)體的適應(yīng)度值,搜索每個(gè)鄰居范圍的最優(yōu)個(gè)體;

第一鄰域搜索模塊423,用于根據(jù)每個(gè)鄰居范圍內(nèi)的最優(yōu)個(gè)體引導(dǎo)雇傭蜂對(duì)初始種群中對(duì)應(yīng)的個(gè)體進(jìn)行鄰域搜索,生成初始種群中每個(gè)個(gè)體對(duì)應(yīng)的第一新個(gè)體;以及

第一更新模塊424,用于根據(jù)初始種群每個(gè)個(gè)體的適應(yīng)度值和對(duì)應(yīng)的第一新個(gè)體的適應(yīng)度值,將初始種群中每個(gè)個(gè)體與對(duì)應(yīng)的第一新個(gè)體中的優(yōu)秀個(gè)體設(shè)置為第一種群中的個(gè)體。

優(yōu)選地,第二種群生成模塊33包括部分選取模塊431、第二鄰域搜索模塊432和第二更新模塊433,其中:

部分選取模塊431,用于根據(jù)第一種群中個(gè)體的適應(yīng)度值和預(yù)設(shè)選取比例選取部分優(yōu)秀個(gè)體,打亂部分優(yōu)秀個(gè)體的順序,將順序打亂的部分優(yōu)秀個(gè)體根據(jù)預(yù)設(shè)的公式使用概率劃分為第一部分個(gè)體和第二部分個(gè)體;

第二鄰域搜索模塊432,用于通過(guò)部分優(yōu)秀個(gè)體和第一種群中的最優(yōu)個(gè)體,引導(dǎo)觀察蜂采用預(yù)設(shè)的第一公式和第二公式分別對(duì)對(duì)第一部分個(gè)體、第二部分個(gè)體進(jìn)行鄰域搜索,生成部分優(yōu)秀個(gè)體對(duì)應(yīng)的第二新個(gè)體;以及

第二更新模塊433,用于根據(jù)部分優(yōu)秀個(gè)體與對(duì)應(yīng)的第二新個(gè)體的適應(yīng)度值,將部分優(yōu)秀個(gè)體與對(duì)應(yīng)的第二新個(gè)體中的優(yōu)秀個(gè)體設(shè)置為第二種群的個(gè)體。

優(yōu)選地,第二種群生成模塊33還包括差值計(jì)算模塊434、概率更新模塊435和選取循環(huán)模塊436,其中:

差值計(jì)算模塊434,用于當(dāng)部分優(yōu)秀個(gè)體對(duì)應(yīng)的第二新個(gè)體優(yōu)于部分優(yōu)秀個(gè)體時(shí),計(jì)算部分優(yōu)秀個(gè)體與對(duì)應(yīng)的第二新個(gè)體的適應(yīng)度值差值;

概率更新模塊435,用于根據(jù)適應(yīng)度值差值分別計(jì)算第一公式的提升度和第二公式的提升度,根據(jù)第一公式第二公式的提升度更新公式使用概率;以及

選取循環(huán)模塊436,用于判斷部分優(yōu)秀個(gè)體的選取次數(shù)是否超過(guò)預(yù)設(shè)次數(shù)閾值,當(dāng)選取次數(shù)未超過(guò)次數(shù)閾值時(shí),將第二種群設(shè)置為第一種群并重新執(zhí)行選取部分優(yōu)秀個(gè)體的操作。

在本發(fā)明實(shí)施例中,在雇傭蜂階段通過(guò)鄰居范圍內(nèi)的最優(yōu)個(gè)體引導(dǎo)雇傭蜂的鄰域搜索,加強(qiáng)了蜂群局部信息的交流,在觀察蜂階段通過(guò)部分優(yōu)秀個(gè)體、整個(gè)種群中的最優(yōu)個(gè)體引導(dǎo)觀察蜂的鄰域搜索,降低觀察蜂搜索負(fù)擔(dān)的同時(shí)加強(qiáng)了蜂群全局信息的交流,從而有效地提高了人工蜂群算法的收斂速度和優(yōu)化性能,進(jìn)一步有效地提高了車(chē)輛路徑問(wèn)題的優(yōu)化效率。

在本發(fā)明實(shí)施例中,車(chē)輛路徑問(wèn)題的優(yōu)化裝置的各模塊可由相應(yīng)的硬件或軟件模塊實(shí)現(xiàn),各模塊可以為獨(dú)立的軟、硬件模塊,也可以集成為一個(gè)軟、硬件模塊,在此不用以限制本發(fā)明。本發(fā)明實(shí)施例中各模塊的具體實(shí)施方式可參考前述實(shí)施例一中各步驟的描述,在此不再贅述。

以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1