freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

模擬退火算法在tsp問(wèn)題中的應(yīng)用研究畢業(yè)論文-資料下載頁(yè)

2025-06-28 20:27本頁(yè)面
  

【正文】 次循環(huán)知道溫度降低,達(dá)到平衡。之后,通過(guò)函數(shù)的得出的多個(gè)選擇所要走的路徑,路經(jīng)的限制是每個(gè)城市只能拜訪一次,而且最后要回到原來(lái)出發(fā)的城市。選擇出現(xiàn)的頻率最高的路徑最短路徑,并且,顯示出最短路徑的值。其中,中間涉及到了一些函數(shù)調(diào)用,一個(gè)C++語(yǔ)言的程序有一個(gè)主函數(shù)和多個(gè)函數(shù)組成。主函數(shù)調(diào)用其他函數(shù),其他函數(shù)也可以互相調(diào)用。C語(yǔ)言的函數(shù)調(diào)用遵循先定義,后調(diào)用的原則。主體main函數(shù)程序代碼實(shí)現(xiàn):int main(int argc, char* argv[]){ char filename[81]。 float firsttemp, secondtemp。 int i。 FILE *pfile。 printf(請(qǐng)輸入旅行城市文件全名:)。 scanf(%s, amp。filename)。// strcpy(filename, )。 if( (pfile = fopen( filename, r )) == NULL ) { printf( 打不開(kāi)旅行城市文件(%s)!\n, filename)。 printf(請(qǐng)按任意鍵結(jié)束!)。 getch()。 return false。 } fscanf(pfile, %d, amp。city_number)。 amount = city_number。 printf(\n)。 for(i=0。 icity_number。 i++) { fscanf(pfile, %s\t%f\t%f, amp。citylist[i], amp。firsttemp, amp。secondtemp)。 citycoordinate[i][0] = firsttemp。 citycoordinate[i][1] = secondtemp。 } fclose(pfile)。 srand( (unsigned)time( NULL ) )。 //設(shè)置種子 int *sequence。 //初始序列 sequence = random()。 for(i=0。i4。i++) { Recperc[i].nvalue=1000。 } printf(序列\(zhòng)t距離\n)。 for(i=0。 i10*amount。 i++) { out(stimulation(sequence))。 }以上代碼是系統(tǒng)程序的主要main函數(shù)代碼,通過(guò)調(diào)用其它編寫的代碼函數(shù)還實(shí)行模擬整個(gè)模擬退火算法的主要內(nèi)容。最后,在DOS界面中輸出每一次新的鄰域解產(chǎn)生的形式和其在計(jì)算函數(shù)部分算出來(lái)的某一個(gè)序列中城市之間的距離總和。在前面已經(jīng)介紹了大部分關(guān)鍵函數(shù)代碼,以及得到最優(yōu)解排序,并且統(tǒng)計(jì)最優(yōu)解出現(xiàn)次數(shù)和計(jì)算出最優(yōu)解的出現(xiàn)頻率。所以,接下來(lái)將要把程序正確運(yùn)行界面進(jìn)行詳細(xì)的講解。 同時(shí),也可以自己編寫具體的城市坐標(biāo),用來(lái)自己分析模擬退火算法求解TSP問(wèn)題的優(yōu)缺點(diǎn)。 DOS下界面數(shù)據(jù)輸出以及概率統(tǒng)計(jì)與分析這節(jié)主要介紹了輸出界面的輸出格式和數(shù)據(jù)的形式。在這里界面的輸出輸入形式主要應(yīng)用的printf語(yǔ)句和scanf語(yǔ)句進(jìn)行完成的。Printf是C語(yǔ)言和C++語(yǔ)言提供的按指定格式進(jìn)行標(biāo)準(zhǔn)輸出的函數(shù)。而scanf是C語(yǔ)言和C++語(yǔ)言中提供的按指定格式進(jìn)行標(biāo)準(zhǔn)輸入的函數(shù)。首先是printf(請(qǐng)輸入旅行城市文件全名:)。 scanf(%s, amp。filename)。, 輸入顯示圖DOS界面下顯示出“清輸入旅行城市文件全名”,.。然后繼續(xù)輸入命令語(yǔ)句:printf( 打不開(kāi)旅行城市文件(%s)!\n, filename)。printf(請(qǐng)按任意鍵結(jié)束!)。printf(序列\(zhòng)t距離\n)。printf(最優(yōu)解排序\t序列\(zhòng)t\t\t出現(xiàn)次數(shù)\t出現(xiàn)的概率\n)。printf(請(qǐng)按任意鍵結(jié)束!)。在輸入完需要處理的信息數(shù)據(jù)之后,通過(guò)對(duì)新產(chǎn)生的鄰域解進(jìn)行統(tǒng)計(jì)列出序列和距離的數(shù)據(jù)在最后分別計(jì)算出所以有排序的路徑的前4位數(shù)據(jù),并且分別統(tǒng)計(jì)對(duì)應(yīng)的序列解得出現(xiàn)次數(shù)和出現(xiàn)概率。 統(tǒng)計(jì)概率和最優(yōu)解程序代碼如下:printf(最優(yōu)解排序\t序列\(zhòng)t\t\t出現(xiàn)次數(shù)\t出現(xiàn)的概率\n)。 for(i=0。i4。i++) { printf(%f\t, Recperc[i].nvalue)。 for(int j=0。 jamount。 j++) { printf(%c, Recperc[i].list[j])。 } float statlist = (float)(10*(float)Recperc[i].nflag/(float)amount)。 printf(\t\t%d\t%\n, Recperc[i].nflag, statlist)。 } printf(請(qǐng)按任意鍵結(jié)束!)。 getch()。 return true。}這段程序代碼是多最優(yōu)解排序,并且統(tǒng)計(jì)最優(yōu)解出現(xiàn)次數(shù)和計(jì)算出最優(yōu)解的出現(xiàn)頻率。下面這段代碼是用來(lái)判斷從Xi的鄰域中隨即選擇Xj,計(jì)算Xi與Xi的路徑差,比較差值。按一定方式將T降溫,即令T(t+1)=kT(t),i=i+1,然后檢查退火過(guò)程是否結(jié)束,如果不是繼續(xù)交換,如果是的話輸出Si作為最優(yōu)輸出。代碼段程序如下:double P(int *i,int *j,double t) //t代表當(dāng)前溫度,i,j分別代表不同的兩個(gè)序列,返回對(duì)應(yīng)的轉(zhuǎn)移發(fā)生概率{ double fi = 0,fj = 0。 double result = 0。 fi = evaluate(i)。 fj = evaluate(j)。 if(fj fi) result = 。 else result = exp( (fi fj)/t )。 return result。}模擬退火算法在TSP問(wèn)題中的應(yīng)用研究 第五章 算法運(yùn)行分析第五章 算法運(yùn)行分析第4章給出了應(yīng)用開(kāi)發(fā)的組織結(jié)構(gòu)和各個(gè)功能模塊的具體實(shí)現(xiàn),這章介紹程序編碼實(shí)現(xiàn)后的運(yùn)行界面圖示以及結(jié)果分析情況。 運(yùn)行界面圖示1.成功運(yùn)行程序到DOS界面下的截圖運(yùn)行Visual C++,調(diào)試成功后運(yùn)行程序。然后, 成功在DOS下運(yùn)行程序界面成功運(yùn)行了程序代碼,DOS環(huán)境下顯示出所要達(dá)到的目的。2.輸入要打的文件名。, 輸入文本文件的文件名3.輸入錯(cuò)誤的文件在顯示要輸入文件名的地方輸入一個(gè)錯(cuò)誤的文件觀看系統(tǒng)反應(yīng),, 輸入一個(gè)錯(cuò)誤的文件名DOS環(huán)境下界面顯示情況與預(yù)先預(yù)想的一樣沒(méi)有出現(xiàn)異常情況。4.輸入正確的文件與上面相反,輸入正確的文件名觀看系統(tǒng)的反應(yīng), 程序運(yùn)行正確的文件后,程序已經(jīng)開(kāi)始運(yùn)行模擬退火算法進(jìn)行分析解決TSP問(wèn)題。用來(lái)判斷并且尋找最優(yōu)解。經(jīng)過(guò)上面的一系列操作后,我可以繼續(xù)觀察程序運(yùn)行情況,一會(huì)后,程序得出最終結(jié)果。 成功得出最優(yōu)解排序以及概率 運(yùn)行結(jié)果通過(guò)上面的運(yùn)行圖示截圖展示了程序的總體流程,這個(gè)最優(yōu)解一共在程序運(yùn)行中出項(xiàng)了42次。畢業(yè)設(shè)計(jì)課題研究到此完成了模擬退火算法求解TSP問(wèn)題基本系統(tǒng)及其編碼部分和實(shí)現(xiàn)均已演示完畢。因?yàn)橛捎趥€(gè)人知識(shí)水平的有限等原因,程序運(yùn)行界面做的十分粗糙并且簡(jiǎn)陋,整體不太美觀。并且實(shí)現(xiàn)不了解題目,導(dǎo)致花費(fèi)時(shí)間從而未在只做城市節(jié)點(diǎn)圖分布的功能模塊。但是基本功能已經(jīng)實(shí)現(xiàn),符合實(shí)驗(yàn)要求。但在以后我將繼續(xù)學(xué)習(xí)相關(guān)知識(shí)去豐富自己。模擬退火算法在TSP問(wèn)題中的應(yīng)用研究 第六章 結(jié)束語(yǔ)第六章 結(jié)束語(yǔ)模擬退火算法是將物理退火過(guò)程與組合優(yōu)化相結(jié)合的一種隨機(jī)迭代尋優(yōu)算法,TSP問(wèn)題即旅行商問(wèn)題是一個(gè)組合優(yōu)化問(wèn)題,該問(wèn)題被證明具有NPC計(jì)算復(fù)雜性,因此研究模擬退化算法的基本原理及其在TSP問(wèn)題求解中的應(yīng)用受到高度的關(guān)注。本文給出了用模擬退火算法求解旅行商問(wèn)題的流程,給出了各參數(shù)的如何取值。程序是在 Visual C ++ 的環(huán)境中編寫。該程序基本實(shí)現(xiàn)了該課題的任務(wù)目標(biāo),研究模擬退化算法的基本原理以及TSP組合優(yōu)化問(wèn)題,用一種程序語(yǔ)言實(shí)現(xiàn)基于模擬退火算法的TSP問(wèn)題求解方法。并且本文說(shuō)明了用模擬退火算法能夠較好地求解旅行商問(wèn)題。因而理論上能夠找到最優(yōu)解,但實(shí)際使用過(guò)程中諸多的參數(shù)如起始溫度,溫度下降速率,迭代次數(shù)等都需要人為的測(cè)試和調(diào)整,而這些參數(shù)將直接影響能否搜索到最優(yōu)解,所以模擬退火算法仍然存在一些缺點(diǎn)。本次畢業(yè)設(shè)計(jì)也存在一些缺點(diǎn),如程序運(yùn)行太簡(jiǎn)陋沒(méi)有細(xì)致的優(yōu)化運(yùn)行界面,但不夠完善缺少一些輔助圖。但總體上還是達(dá)到了課題的要求。致 謝參考文獻(xiàn)[1] 王大志,汪定偉,閆楊. 一類多旅行商問(wèn)題的計(jì)算及仿真分析[J],系統(tǒng)仿真學(xué)報(bào),2009年20期[2] 汪定偉等編著. 智能優(yōu)化方法[M],北京:高等教育出版社,2007[3] 田景文,高美娟. 人工神經(jīng)網(wǎng)絡(luò)算法研究及應(yīng)用[M], 北京:北京理工大學(xué)出版社,2006[4] 雷德明,嚴(yán)新平編著. 多目標(biāo)智能優(yōu)化算法及其應(yīng)用[M],北京:科學(xué)出版社,2009[5] 劉升,王行愚,[J],華東理工大學(xué)學(xué)報(bào), 2009年02期[6] 張曉如。 高尚. 求解旅行商問(wèn)題的蟻群遺傳混合算法[J],微電子學(xué)與計(jì)算機(jī),2009年04期[7] 邢文訓(xùn)著. 現(xiàn)代優(yōu)化計(jì)算方法[M],第2版,北京:清華大學(xué)出版社,2006[8] 王萬(wàn)森著. 人工智能原理及其應(yīng)用[M],第2版,北京:電子工業(yè)出版社,2007[9] 梁艷春等著. 群智能優(yōu)化算法理論與應(yīng)用[M],北京:科學(xué)出版社,2009[10] Ingber L,Rosen algorithms and fast simulated annealing:A Computer ,16(Ⅱ):87100[11] 康立山,謝云,羅祖華,非數(shù)值并行算法——模擬退火算法[M],北京:科學(xué)出版社,1997
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1