帶時間窗物流配送車輛路徑問題_第1頁
帶時間窗物流配送車輛路徑問題_第2頁
帶時間窗物流配送車輛路徑問題_第3頁
帶時間窗物流配送車輛路徑問題_第4頁
帶時間窗物流配送車輛路徑問題_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、帶時間窗物流配送車輛路徑問題摘要本題是一個帶有時間窗的車輛路徑安排問題(VRPTW問題)。根據(jù)題目條件,本文建立了一個求解最小派送費(fèi)用的VRPTW優(yōu)化模型,采用遺傳算法,給出了該模型的求解方法。然后,對一個實(shí)際問題進(jìn)行求解,給出了一個比較好的路線安排方式。模型一(見)針對問題一,在需求量、接貨時間段、各種費(fèi)用消耗已知的情況下,決定采用規(guī)劃模型,引入0-1變量,建立各個約束條件,包括車輛的容量限制,到達(dá)每個客戶的車輛和離開每個客戶的車輛均為1的限制,總車輛數(shù)的限制,目標(biāo)函數(shù)為費(fèi)用的最小化,費(fèi)用包括車輛的行駛費(fèi)用,車輛早到或晚到造成的損失。 模型一的求解采用遺傳算法(見),對題目給出的實(shí)際問題進(jìn)行

2、求解,得到3條行車路線,總路線長度為910公里,具體結(jié)果如下:車輛編號所執(zhí)行的任務(wù)路線到達(dá)各點(diǎn)的時間路線長度貨運(yùn)量10-3-1-2-00-1.5-3.3-5.6-8.875+40+65+60=2404.5+2+1.5=820-8-5-7-0-13.980+75+90+160=4053+1.5+2.5=730-6-4-00-2-6-10.8100+75+90=2654+3=7 考慮在車輛返回時選擇最短路線,我們采用Dijkstra算法求出中心倉庫到各個客戶的最短距離,將結(jié)果改進(jìn)為885公里,具體結(jié)果如下:車輛編號所執(zhí)行的任務(wù)路線到達(dá)各點(diǎn)的時間路線長度貨運(yùn)量10-3-1-2-00-1.5-3.3-

3、5.6-8.875+40+65+60=2404.5+2+1.5=820-8-5-7-2-0-13.980+75+90+135=3803+1.5+2.5=730-6-4-00-2-6-10.8100+75+90=2654+3=7模型二考慮需求量隨機(jī)變化時的安排方案,假設(shè)客戶需求量遵循正態(tài)分布,首先按照需求期望根據(jù)模型一得到一個比較好的方案,然后按照這一方案進(jìn)行送貨,在送貨過程中,如果出現(xiàn)需求量過大的情況,允許車輛返回倉庫進(jìn)行補(bǔ)充。模型一的思路清晰,考慮條件全面。但最優(yōu)解解決起來困難,遺傳算法只是一種相對好的解決方法,可以找出最優(yōu)解的近似解。模型二的想法比較合理,易于實(shí)施,但還有待改進(jìn)。關(guān)鍵詞:規(guī)

4、劃 時間窗 物流 車輛路徑 遺傳算法一、 問題重述 一個中心倉庫,擁有一定數(shù)量容量為Q的車輛,負(fù)責(zé)對N個客戶進(jìn)行貨物派送工作,客戶i的貨物需求量為,且,車輛必須在一定的時間范圍內(nèi)到達(dá),早于到達(dá)將產(chǎn)生等待損失,遲于到達(dá)將處以一定的懲罰,請解決如下問題:(1)給出使派送費(fèi)用最小的車輛行駛路徑問題的數(shù)學(xué)模型及其求解算法。并具體求解以下算例:客戶總數(shù)N=8,每輛車的容量Q=8(噸/輛), 各項任務(wù)的貨運(yùn)量(單位:噸)、裝貨(或卸貨)時間(單位:小時)以及要求每項任務(wù)開始執(zhí)行的時間范圍由附錄1給出,車場0與各任務(wù)點(diǎn)以及各任務(wù)點(diǎn)間的距離(單位:公里)由附件二給出,這里假設(shè)車輛的行駛時間與距離成正比,每輛車

5、的平均行駛速度為50公里/小時,問如何安排車輛的行駛路線使總運(yùn)行距離最短;(2)進(jìn)一步請討論當(dāng)客戶i的貨物需求量為隨機(jī)參數(shù)時的數(shù)學(xué)模型及處理方法。二、 問題分析本題主要在兩種不同情況下,研究使派送費(fèi)用最小的車輛行駛路徑問題。車輛行駛派送的費(fèi)用主要包括運(yùn)輸成本、車輛在客戶要求到達(dá)時間之前到達(dá)產(chǎn)生的等待損失和車輛在客戶要求到達(dá)時間之后到達(dá)所受懲罰等等。為滿足派送費(fèi)用最小的需求,即要使所選行車路徑產(chǎn)生的總費(fèi)用最小,從而確定出最佳的車輛派送方案。當(dāng)客戶i的貨物需求量固定時,首先,我們根據(jù)題意,取若干輛車進(jìn)行送貨,然后,主要考慮每輛車各負(fù)責(zé)哪些客戶的送貨任務(wù),我們可以給出滿足題中限制條件的很多參考方案供

6、選用,并考慮以所選行車路徑產(chǎn)生的總費(fèi)用最小為目標(biāo)的情況下,建立最優(yōu)化模型確定最佳的車輛派送方案。進(jìn)一步討論,當(dāng)客戶i的貨物需求量為隨機(jī)參數(shù)時,我們首先可以簡化隨機(jī)模型,根據(jù)客戶i的貨物需求量的期望與方差,確定每天應(yīng)該運(yùn)送給客戶i的貨物量,即,再根據(jù)第一題,確定最佳的車輛派送方案。但考慮到客戶的儲存能力有限及貨物在客戶處的儲存費(fèi)用,客戶不需要將一天的貨物一次性接收完,只要滿足缺貨的情況出現(xiàn)的概率很低,客戶可以讓配送中心一天幾次送貨,這樣可以得到很多滿足約束的方案,考慮以單位時間的儲存費(fèi)用最小為目標(biāo),建立最優(yōu)化模型,確定配送中心給每位客戶每次的配送量、配送周期與最有車輛行駛路徑。三、 模型假設(shè)(1

7、) 每個客戶的需求只能由一輛配送車滿足;(2) 每輛車送貨時行駛的路程不超過它所能行駛的最遠(yuǎn)路程;(3) 中心倉庫的車輛總數(shù)大于或等于當(dāng)派送費(fèi)用最小時所需的車輛數(shù);(4) 從配送中心到各個用戶、各個用戶之間的運(yùn)輸距離已知;(5) 配送中心有足夠的資源以供配送。四、 符號說明:運(yùn)貨車的容量:該配送中心服務(wù)的客戶總數(shù): 派送費(fèi)用最小時所需的車輛數(shù):第i位客戶所需貨物:車k由i駛向j:點(diǎn)i的貨運(yùn)任務(wù)友s車完成:第i位客戶最早允許接貨時間:第i位客戶最晚允許接貨時間:車輛在第i位客戶處等待時間:車輛在第i位客戶處遲到時間:第i位客戶處車輛到達(dá)時間:從第i位客戶到第j位客戶所需時間:第i位客戶處裝貨(或

8、卸貨)所需時間:第i位客戶與第j位客戶之間的距離:車輛行駛單位距離的運(yùn)輸成本:車輛早到單位時間產(chǎn)生的等待損失:車輛遲到單位時間應(yīng)承擔(dān)的懲罰:派送貨物產(chǎn)生的總損失A:運(yùn)輸成本B:車輛早到所產(chǎn)生總的等待損失C:車輛遲到所受的總懲罰五、 模型的建立和求解5.1 問題一模型的建立及求解: 5.1.1問題的分析中心倉庫為了給N個客戶派送貨物,供發(fā)出m輛車,為了派貨的節(jié)約和方便,每輛車載著適量的貨物出發(fā),可以給某一片的若干個滿足約束條件的客戶派送貨物,見圖一:圖一 中心倉庫派送貨物圖中心倉如上圖庫派送貨物時,必須滿足約束條件:(1) 各個客戶群的總需求小于或等于運(yùn)輸車的裝載量;(2) 每個客戶都必須且只能

9、由一輛運(yùn)輸車運(yùn)輸所需貨物;(3) 運(yùn)輸車為每位客戶開始服務(wù)的時間必須盡可能在時間窗內(nèi)。根據(jù)如上的約束條件,我們可以得到很多可行解,但考慮到以所選行車路徑產(chǎn)生的總費(fèi)用最小為目標(biāo)的情況下,我們可以建立最優(yōu)化模型確定最佳的車輛派送方案,最優(yōu)路徑產(chǎn)生圖如下: 圖二 最優(yōu)路徑產(chǎn)生圖模型的建立(1)中心倉庫使用車輛數(shù)量的確定設(shè)配送中心需要向N個客戶送貨,每個客戶的貨物需求量是gi(i1,2,.N),每輛配送車的載重量是Q,且gi<Q。首先為了安排路線需要對要使用的車輛數(shù)有一個估計。在現(xiàn)實(shí)情況中,貨物裝(卸)車越復(fù)雜,約束條件越多,一輛車的實(shí)際載貨量就越小。在本文中使用文獻(xiàn)1的公式來確定需要的車輛數(shù)m

10、: 表示取整,a為參數(shù),0<a<1。約束條件越多,貨物裝(卸) 越復(fù)雜,a值越小。參考文獻(xiàn)2,取a為0.85。(2)引入01變量:1)表示車輛是否從客戶行駛到客戶。定義其為01變量,則 2)表示客戶的任務(wù)由車輛完成。同樣定義其為01變量,則 (3) 非線性規(guī)劃模型的建立:a目標(biāo)函數(shù)的確定。題目要求所選行車路徑產(chǎn)生的總費(fèi)用最小,我們確定總費(fèi)用為目標(biāo)函數(shù),記為??傎M(fèi)用由運(yùn)輸成本A、等待損失B和遲到所收懲罰C組成,根據(jù)題意有:所以,總費(fèi)用Z最小化為:b約束條件的確定。約束1:車輛的運(yùn)送總重量應(yīng)不超過車輛的最大載重,即車輛有一定的運(yùn)送能力,則可引入約束條件, () 約束2:每個客戶只能由一

11、輛車來配送,則可引入約束條件, 約束3:保證到達(dá)一個客戶的車輛也離開該客戶,則可引入約束條件, () () c變量之間關(guān)系的確定由上可確定等待時間,超時時間為: 車輛從客戶到客戶需經(jīng)過兩段時間為: 設(shè)車輛為客戶運(yùn)送完貨物后即為客戶運(yùn)送,則到達(dá)客戶處時間和到達(dá)客戶處時間之間的關(guān)系為: d此非線性規(guī)劃模型為: 5.1.3模型的求解 我們采用遺傳算法解決上面的問題:1編碼采用自然數(shù)編碼,即序數(shù)編碼。貨物運(yùn)輸路線可以編成長度為N+m的染色體,其中,表示第項任務(wù)。0表示車場,m表示完成任務(wù)所需的車輛數(shù)。2.出生初始群體初始群體隨機(jī)產(chǎn)生,即產(chǎn)生項貨物運(yùn)輸任務(wù)點(diǎn)的全排列,如,如果,且,將s至N的數(shù)向后移動一

12、位,將0插入第s位。接著,繼續(xù)上述操作,直到m個0全部插入為止。這樣就構(gòu)成了一條初始染色體。用這種方法構(gòu)造一個群體的染色體。如:,該編碼插零之后變成。它代表著需要三輛車運(yùn)輸貨物。其中,第1輛車行走路線為,即從倉庫出發(fā)到依次到8、2、5商店再回到倉庫。第2輛車行走路線為,第3輛車行走路線為。3.適應(yīng)度函數(shù)適應(yīng)度函數(shù)取,其中為染色體的適應(yīng)度,b為常數(shù),為初始種群中最好的染色體的運(yùn)輸成本,為染色體對應(yīng)的運(yùn)輸成本。4.遺傳算子選取最佳保留的輪盤賭復(fù)制法進(jìn)行染色體的復(fù)制。變異算子采用反轉(zhuǎn)變異。交叉算子用最大保留交叉,其操作過程為:a) 若染色體交叉點(diǎn)處的兩個基因都為0,則直接進(jìn)行順序交叉運(yùn)算;b) 若染

13、色體交叉點(diǎn)處的基因不全為0,則將交叉點(diǎn)左移(右移),直到左右兩個交叉處的基因都為0,再進(jìn)行順序交叉運(yùn)算。5.算法的實(shí)現(xiàn)步驟Step1:采用自然數(shù)編碼的方式,構(gòu)造表示可行車路線的染色體;Step2:設(shè)置控制參數(shù),包括交叉率、變異率、群體規(guī)模;Step3:初始化,令,隨機(jī)產(chǎn)生初始群體,群體中包括個染色體,每個染色體代表一條行車線路;Step4:令;Step5:將群體中的第個染色體譯為線路長度;Step6:計算適應(yīng)度;Step7:若滿足算法終止條件,則停止,否則繼續(xù);Step8:;Step9:若,回到step5,否則,轉(zhuǎn)step10;Step11:進(jìn)行最大保留交叉、基于位的變異和倒位操作;Step1

14、2: ;Step13:若滿足算法終止條件,則停止,否則轉(zhuǎn)step4。運(yùn)用matlab軟件編寫程序得到在車輛總行程最短的條件小的派送方案為:車輛編號所執(zhí)行的任務(wù)路線到達(dá)各點(diǎn)的時間路線長度貨運(yùn)量10-3-1-2-00-1.5-3.3-5.6-8.875+40+65+60=2404.5+2+1.5=820-8-5-7-0-13.980+75+90+160=4053+1.5+2.5=730-6-4-00-2-6-10.8100+75+90=2654+3=7 從上表可以看出,按照上表的行車路線,總路線長度為910公里。5.1.4結(jié)果分析從上面解出的派送方案可以看出,上面的每條路線在車輛送完貨物后,直接從

15、最后一個客戶處返回中心倉庫,我們通過求中心倉庫到各個客戶的最短路徑可以發(fā)現(xiàn),上面的返回路線不是最優(yōu)的,返回路線可以經(jīng)過某些客戶使得所走路線最短。我們用Dijkstra算法求出中心倉庫到各個客戶的最短路徑如下:編號012345678最短距離0406075909010013580 根據(jù)上表,我們對所求的結(jié)果進(jìn)行改進(jìn),得到下表:車輛編號所執(zhí)行的任務(wù)路線到達(dá)各點(diǎn)的時間路線長度貨運(yùn)量10-3-1-2-00-1.5-3.3-5.6-8.875+40+65+60=2404.5+2+1.5=820-8-5-7-2-0-13.980+75+90+135=3803+1.5+2.5=730-6-4-00-2-6-1

16、0.8100+75+90=2654+3=7根據(jù)上表計算結(jié)果,我們在不改變原路線的情況下,使總路線減小為885公里。5.2 問題二模型的建立及求解:問題的分析與假設(shè) 在問題一中,根據(jù)已知的各個商店的需求分布,根據(jù)遺傳算法求解,預(yù)先確定一條總費(fèi)用最小的路徑(或者雖不是最優(yōu)路徑,但是此結(jié)果能夠接受的)。車輛沿該路徑服務(wù)商店,因此服務(wù)商店的順序固定不變。而問題二中,在車輛服務(wù)商店的過程中,事先并不知道商店的需求量。而這個不確定信息要隨著車輛的服務(wù)逐步確定,商店具體的需求只有車輛到達(dá)用戶后才確定。這樣第一問的求解方法得到的路徑并不適用于第二問的求解。假設(shè):(1)商店的需求變化符合正態(tài)分布,第個商店的需求

17、量的期望和方差分別為和。(2)商店的供貨可以分為多次補(bǔ)充但在每次供貨中最大程度滿足用戶需求,即只有出現(xiàn)當(dāng)前車載余量小于用戶需求量時才出現(xiàn)下一次的供貨。模型的建立基于第一問解決了在已知用戶需求概率情況下,確定一個服務(wù)方案,滿足所有n個商店的需求并且使車輛期望行程費(fèi)用最小這個問題。我們由假設(shè)可知,第個商店的需求量的期望為,則由需求量的期望得到一個使車輛期望行程費(fèi)用最小的服務(wù)方案,稱該方案為。當(dāng)用戶的需求未知(當(dāng)車輛服務(wù)商店時需求變成已知量)時,由于用戶的需求量在區(qū)間的概率是96%,而在區(qū)間外的事件可以看成小概率事件,由小概率事件定理可知,在一次試驗中,小概率事件可以看成不可能事件。由此可知,用戶需

18、求量就在區(qū)間里。用戶需求在區(qū)間里,而需求決定服務(wù)方案。由上面可知,服務(wù)方案在A方案附近變化,而變化的幅度由方差決定。當(dāng)越小時(說明需求量接近一個常數(shù)期望),最優(yōu)方案(或滿意方案)與方案越接近(即在方案上面稍作改動即可)。反之,方案需作較大的方案。 由假設(shè)(2)知,車輛只要滿足當(dāng)前用戶部分需求,就服務(wù)該用戶,用戶未滿足的部分以后再服務(wù)。在服務(wù)用戶后,車輛根據(jù)當(dāng)前的位置信息、車載余量以及需要服務(wù)用戶的信息,決定下一個服務(wù)用戶(包括當(dāng)前還未滿足需求的用戶)或回庫房裝載貨物。 先按方案進(jìn)行分配車輛路線(若增加車輛數(shù)目雖可以更好滿足條件,但會增加多于開支)。假設(shè)輛車都從倉庫出發(fā),按方案中的預(yù)定路線進(jìn)行服

19、務(wù),當(dāng)服務(wù)完第一個商店時,再判斷剩余的貨物量。此時貨物量為(其中為貨車滿載量,為車輛到達(dá)商店時確定了個商店的需求量)。然后判斷該剩余量是否在大于下一個商店需求量,若大于則進(jìn)行下一個商店服務(wù),若小于則判斷下個商店是否滿足大于這個條件,若滿足,則對其進(jìn)行服務(wù),否則繼續(xù)下個判斷,直至其所有負(fù)責(zé)區(qū)域遍歷完一遍。 當(dāng)判斷其負(fù)責(zé)區(qū)域所有的商店不滿足條件時再判斷該剩余量是否大于下一個商店需求量,若大于則進(jìn)行下一個商店服務(wù),若小于則判斷下個商店是否滿足大于這個條件,若滿足,則對其進(jìn)行服務(wù),否則繼續(xù)下個判斷,直至其所有負(fù)責(zé)區(qū)域遍歷完一遍。 若所有商店的需求量大于車輛貨物剩余量,則說明此車輛的剩余量不能滿足其所負(fù)

20、責(zé)的區(qū)域,因此該車輛需要回倉庫進(jìn)行貨物補(bǔ)充。當(dāng)貨物補(bǔ)充完之后進(jìn)行判斷剩余未服務(wù)商店的時間窗口和路程距離進(jìn)行判斷(產(chǎn)生方法同于第二問方案的產(chǎn)生方法),然后再進(jìn)行服務(wù)。服務(wù)商店之后再進(jìn)行前面的判斷,直至其所有負(fù)責(zé)商店都被服務(wù)完回到倉庫。六、 模型的評價和推廣6.1 模型的評價由5.1和5.2建立的模型,我們得到了有軟時間限制的物流配送車輛路徑問題的解決辦法。首先我們對問題進(jìn)行了合理的假設(shè),模型簡化了實(shí)際中的復(fù)雜問題,考慮了主要的約束條件與目標(biāo),思路清晰,結(jié)果也基本符合實(shí)際。但是,模型對實(shí)際進(jìn)行簡化的同時忽略了實(shí)際中很多次要的條件,由累加效果可能會產(chǎn)生很大誤差,同時,我們進(jìn)行模型的求解時只是簡單使用

21、了遺傳算法,沒有對其進(jìn)行改進(jìn)。6.2 模型的推廣1模型中不合實(shí)際的假設(shè):(1) 在問題一和問題二總費(fèi)用的組成上,我們沒有考慮組織送貨的費(fèi)用,即每組織一輛車進(jìn)行送貨都需要一定的費(fèi)用,我們設(shè)為S元/(次、輛);(2) 在問題一中,我們假設(shè)每輛車送貨時行駛的路程不超過它所能行駛的最遠(yuǎn)路程,但是實(shí)際上,考慮到車輛行駛中的耗油等因素,每輛車的行駛最大距離都有限制,我們設(shè)車輛行駛的最大距離為L,我們可以得到約束條件: (3) 在實(shí)際中,為了公平,每位送貨車輛司機(jī)行駛的路程相差必須控制在一定范圍之內(nèi),我們?nèi)∵@個差值的最大允許值為M,則有: 2. 模型的推廣 根據(jù)以上目標(biāo)函數(shù)與約束條件,帶入實(shí)際數(shù)據(jù),由遺傳算

22、法即可求解出總費(fèi)用最小的車輛行駛路徑方案。七、 參考文獻(xiàn)1 李軍,謝秉磊,郭耀煌,非滿載車輛調(diào)度問題的遺傳算法。系統(tǒng)工程理論與實(shí)踐,2000,20(3):235239;2 邢文訓(xùn),謝金星編著現(xiàn)代優(yōu)化計算方法。北京:清華大學(xué)出版社,1999.140;3 魏明 高成修 胡潤洲,一種帶時間窗和容量約束的車輛路線問題及其Tabu Search 算法,運(yùn)籌與管理,Vol. 11 ,No. 3:P49-P53,2002;4 胡大偉 朱志強(qiáng) 胡勇,車輛路徑問題的模擬退火算法,中國公路學(xué)報,Vol.1 9 No.4:P123-P126,20065 閻慶 鮑遠(yuǎn)律,新型遺傳模擬退火算法求解物流配送路徑問題, ,2

23、009/8/166 張志霞 邵必林,基于改進(jìn)蟻群算法的運(yùn)輸調(diào)度規(guī)劃,公路交通科技,Vo125 No4:P137-P140,2008;7 杜文 衰慶達(dá) 周再玲,一類隨機(jī)庫存/運(yùn)輸聯(lián)合優(yōu)化問題求解過程分析,中國公路學(xué)報,Vol. 17 No1:P114-P118,2004.八、 附錄9.1 附錄一表1 任務(wù)的特征及其要求任務(wù)12345678(噸)21.54.531.542.53(小時)121322.530.81,44,61,24,73,5.52,55,81.5,4表2 點(diǎn)對之間的距離 01234567801 234567804060759020010016080400654010050751101

24、006065075100100757575754075010050909015090100100100010075751002005010050100070907510075759075700701001601107590759070010080100751501007510010009.2 附錄二Matlab 7.0 程序:function gatsp(s) sum=0;M=1000000; %無窮大數(shù)inn=100;citynum=8;K=2;gnmax=1000; %最大代數(shù)pm=0.8; %變異概率pc=0.2;c=0,40,60,75,90,200,100,160,80;40,0,6

25、5,40,100,50,75,110,100;60,65,0,75,100,100,75,75,75;75,40,75,0,100,50,90,90,150;90,100,100,100,0,100,75,75,100;200,50,100,50,100,0,70,90,75;100,75,75,90,75,70,0,70,100;160,110,75,90,75,90,70,0,100;80,100,75,150,100,75,100,100,0;q=2 1.5 4.5 3 1.5 4 2.5 3;s=1 2 1 3 2 2.5 3 0.8;a=1 4 1 4 3 2 5 1;b=4 6 2

26、 7 5.5 5 8 4;%-%產(chǎn)生初始種群m=zeros(1,inn);m=m'KM=citynum+K-1;s=zeros(inn,citynum+K-1);for i=1:1:inn s(i,:)=randperm(KM);ends=m s;for i=1:inn for j=1:KM-1 if s(i,j)>citynum s(i,j)=0; end endend%-%主程序function gaf,p=objf(s)gn=1;while gn<gnmax+1 for j=1:2:inn seln=sell(s,ps); %選擇操作 scro=cross(s,sel

27、n,pc); %交叉操作 scnew(j,:)=scross(1,:); scnew(j+1,:)=scross(2,:); smnew(j,:)=chang(scnew(j,:),pm); %變異操作 smnew(j+1,:)=chang(scnew(j+1,:),pm); end s=smnew; %產(chǎn)生了新的種群 f,p=objf(s,dislist); %計算新種群的適應(yīng)度 %記錄當(dāng)前代最好和平均的適應(yīng)度 fmax,nmax=max(f); ymean(gn)=1/mean(f); ymax(gn)=1/fmax; %記錄當(dāng)前代的最佳個體 x=s(nmax,:); gn=gn+1; %

28、pause;endgn=gn-1;figure(2);plot(ymax,'r'); hold on;plot(ymean,'b');grid;title('搜索過程');legend('最優(yōu)解','平均解');function pcc=pro(pc);test(1:100)=0;l=round(100*pc);test(1:l)=1;n=round(rand*99)+1;pcc=test(n); %-%計算適應(yīng)度function f,p=objf(s);y=zeros(citynum+1,citynum+1);f

29、or i=1:inn-1 a=s(i,:); for j=1:KM-1 m=a(j); n=a(j+1); m=m+1; n=n+1; end y(m,n)=1;y=y'for i=1:citynum for j=1:citynum mubiaob=c(i,j)*y(i,:); endendxuq1=0; for i=1:citynum for j=1:citynum xuq1=xuq1+s(i)*y(i,:)-q(i); end xuqiu=max(xuq1),0)*M; endendshij1=0;shij2=0;for i=1:citynum for j=1:citynum fo

30、r l=1:citynum shij1=shij1+t(i)-a(i); shij2=shij12+b(i)-t(i); end shij3=max(shij1),0); shij4=max(shij2),0); shijian=M*shij3+M*shij4; endendf=mubiao+xuqiu+shijian;f=1/f;end%-%計算選擇概率fsum=0;for i=1:inn fsum=fsum+f(i);endfor i=1:inn ps(i)=f(i)/fsum;end%計算累積概率p(1)=ps(1);for i=2:inn p(i)=p(i-1)+ps(i);endp=p'p%-%“選擇”操作%從種群中選擇兩個個體function seln=sell(s,p) inn=size(p,1);for i=1:2 r=rand; %產(chǎn)生一個隨機(jī)數(shù) prand=p-r; j=1; while prand(j)<0 j=j+1; end seln(i)=j; %選中個體的序號endsel1=sel

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論