98年全國(guó)大學(xué)生數(shù)學(xué)建模競(jìng)賽B題“水災(zāi)巡視問題”,是一個(gè)推銷員問題,本題有53個(gè)點(diǎn),所有可能性大約為exp(53),目前沒有好方法求出精確解,既然求不出精確解,我們使用模擬退火法求出一個(gè)較優(yōu)解,將所有結(jié)點(diǎn)編號(hào)為1到53,1到53的排列就是系統(tǒng)的結(jié)構(gòu),結(jié)構(gòu)的變化規(guī)則是:從1到53的排列中隨機(jī)選取一個(gè)子排列,將其反轉(zhuǎn)或?qū)⑵湟浦亮硪惶?能量E自然是路徑總長(zhǎng)度。具體算法描述如下:步1: 設(shè)定初始溫度T,給定一個(gè)初始的巡視路線。步2 :步3 --8循環(huán)K次步3:步 4--7循環(huán)M次步4:隨機(jī)選擇路線的一段步5:隨機(jī)確定將選定的路線反轉(zhuǎn)或移動(dòng),即兩種調(diào)整方式:反轉(zhuǎn)、移動(dòng)。步6:計(jì)算代價(jià)D,即調(diào)整前后的總路程的長(zhǎng)度之差步7:按照如下規(guī)則確定是否做調(diào)整:如果D0,則按照EXP(-D/T)的概率進(jìn)行調(diào)整步8:T*0.9-->T,降溫
標(biāo)簽:
大學(xué)生
數(shù)學(xué)建模
巡視
競(jìng)賽
上傳時(shí)間:
2015-03-14
上傳用戶:himbly
Floyd-Warshall算法描述
1)適用范圍:
a)APSP(All Pairs Shortest Paths)
b)稠密圖效果最佳
c)邊權(quán)可正可負(fù)
2)算法描述:
a)初始化:dis[u,v]=w[u,v]
b)For k:=1 to n
For i:=1 to n
For j:=1 to n
If dis[i,j]>dis[i,k]+dis[k,j] Then
Dis[I,j]:=dis[I,k]+dis[k,j]
c)算法結(jié)束:dis即為所有點(diǎn)對(duì)的最短路徑矩陣
3)算法小結(jié):此算法簡(jiǎn)單有效,由于三重循環(huán)結(jié)構(gòu)緊湊,對(duì)于稠密圖,效率要高于執(zhí)行|V|次Dijkstra算法。時(shí)間復(fù)雜度O(n^3)。
考慮下列變形:如(I,j)∈E則dis[I,j]初始為1,else初始為0,這樣的Floyd算法最后的最短路徑矩陣即成為一個(gè)判斷I,j是否有通路的矩陣。更簡(jiǎn)單的,我們可以把dis設(shè)成boolean類型,則每次可以用“dis[I,j]:=dis[I,j]or(dis[I,k]and dis[k,j])”來代替算法描述中的藍(lán)色部分,可以更直觀地得到I,j的連通情況。
標(biāo)簽:
Floyd-Warshall
Shortest
Pairs
Paths
上傳時(shí)間:
2013-12-01
上傳用戶:dyctj