回溯(b a c k t r a c k i n g)是一種系統(tǒng)地搜索問題解答的方法。為了實(shí)現(xiàn)回溯,首先需要為問題定義一個(gè)解空間( solution space),這個(gè)空間必須至少包含問題的一個(gè)解(可能是最優(yōu)的)。在迷宮老鼠問題中,我們可以定義一個(gè)包含從入口到出口的所有路徑的解空間;在具有n 個(gè)對(duì)象的0 / 1背包問題中(見1 . 4節(jié)和2 . 2節(jié)),解空間的一個(gè)合理選擇是2n 個(gè)長度為n 的0 / 1向量的集合,這個(gè)集合表示了將0或1分配給x的所有可能方法。當(dāng)n= 3時(shí),解空間為{ ( 0 , 0 , 0 ),( 0 , 1 , 0 ),( 0 , 0 , 1 ),( 1 , 0 , 0 ),( 0 , 1 , 1 ),( 1 , 0 , 1 ),( 1 , 1 , 0 ),( 1 , 1 , 1 ) }。
標(biāo)簽:
搜索
上傳時(shí)間:
2014-01-17
上傳用戶:jhksyghr
98年全國大學(xué)生數(shù)學(xué)建模競賽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自然是路徑總長度。具體算法描述如下:步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)整前后的總路程的長度之差步7:按照如下規(guī)則確定是否做調(diào)整:如果D0,則按照EXP(-D/T)的概率進(jìn)行調(diào)整步8:T*0.9-->T,降溫
標(biāo)簽:
大學(xué)生
數(shù)學(xué)建模
巡視
競賽
上傳時(shí)間:
2015-03-14
上傳用戶:himbly