999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

溫度可控的求解TSP問題的模擬退火算法

2007-01-01 00:00:00吳進波熊盛武
計算機應用研究 2007年5期

摘要:在現有求解 TSP 問題的模擬退火算法的基礎上,通過引入新的兩點算子以及利用fprintf()函數﹑fscanf()函數和全局變量的作用,提出了一種溫度可控的模擬退火算法。對CHN144 以及標準的TSPLIB 中不同國家的城市的數據進行測試。測試結果表明,該算法很容易收斂到問題的最優解。

關鍵詞:旅行商問題;模擬退火算法;算子

中圖分類號:TP301.6文獻標志碼:A

文章編號:1001-3695(2007)05-0066-02

旅行商問題 (Traveling Salesman Problem,TSP),也稱為貨郎擔問題, 是指給定n個城市并給出每兩個城市之間的距離,旅行商必須以最短路徑訪問所有的城市一次且僅一次, 并回到出發地。現已證明它屬于NP-hard題。由于該問題的描述簡單,而其實際模型在印刷電路板的鉆孔路線方案、連鎖店的貨物匹送、網絡布線等優化問題中又有著廣泛的應用,故長期以來一直吸引著國內外許多研究人員對其進行研究。他們嘗試著用各種算法來求解TSP問題,歸納起來有近似解法[1]、局部搜索法[2]、神經網絡[3]、遺傳算法[4]、克隆算法[5]、模擬退火算法[6]等。本文在文獻[6]的基礎上,引入新的兩點算子:隨機選擇兩點,然后交換它們的位置。 這種新的算子增加了產生新解的變化。本文利用全局變量作用, 將要優化的數據保存到全局變量g_path[]數組中,并定義全局變量t保存溫度,然后將模擬退火算法定義成一個線程函數。所以可以多次激活模擬退火線程函數,在重新設置溫度的情況下和上次優化的基礎上重新優化。本文還利用了fprintf()函數的作用,將優化得到的結果寫到文件中去。如果需要將保留在文件中的數據讀到g_path[]數組中去進行重新優化,則可以利用fscanf()函數將保留在文件中的數據讀到g_path[]數組中,然后激活模擬退火線程函數對其進行優化。

1模擬退火算法求解TSP問題

模擬退火算法源于對固體退火過程的模擬,固體退火過程是先將固體加熱至熔化,再徐徐冷卻使之凝固成規整晶體的熱力學過程。對固體退火過程的研究給人們以新的啟示。1982年,Kirpatrick等人首先意識到固體退火過程與組合優化問題之間存在著類似性。Metroplis等人對固體在恒定溫度下達到熱平衡過程的模擬也給人們以重要的啟示。于是研究者把Metroplis準則引入到優化過程中來,最終得到一種對Metroplis算法進行迭代的組合優化算法——模擬退火算法。

1.1模擬退火算法的介紹[6] 

下面用偽PASCAL語言對算法進行描述:

Procedure simulated_Annealing(t;g;var f)

Begin

Repeat

a:=0;

For k:=1 to L do 

Begin

對待優化問題采用優化算子;

計算目標函數差df;

If (df<0) or (exp(-df/t)>random)

Then begin

接收新解;

f:=f+df;

a:=1;

end

t:=t*dt;

if a=0 then s:=s+1

else s:=0;

until s=1;

End;

End;

1.2TSP問題中模擬退火算法用到的相關內容的定義

(1)目標函數。訪問所有城市的路徑長度,或稱為代價函數:f(S)=∑d[Cn(i),Cn(i+1) mod N](i=1,2,3,…,N)。其中,d[Cn(i),Cn(i+ 1) mod N]為城市Cn(i) 與Cn(i+1) mod N之間的距離。

(2)代價函數差(df)。新解的代價函數與產生新解之前的代價函數的差。

(3)產生新解所用到的一些變換算子

①2變換法:任選兩個序號u、v, 且u

②3變換法: 任選三個序號u、v、w,且u

③兩點變換法:除了使用兩種變換法之外,還引入兩點變換法,增加了產生新解的變化。任選兩個序號u、v,交換序號為u和v 的城市序號,其余的城市保持不變。例如:…Cn(u-1)Cn(u)Cn(u+1)…Cn(v-1)Cn(v)Cn(v+1)…,換后為…Cn(u-1)Cn(v)Cn(u+1) …Cn(v-1)Cn(u)Cn(v+1)…。

1.3溫度可控的求解 TSP問題的模擬退火算法設計思路

1.3.1本算法用到的相關內容介紹

(1)定義了兩個全局變量。因為全局變量能夠在整個程序中起作用,所以定義了全局變量g_path[]數組來保存將要優化的數據及其優化后的結果,并定義全局變量t保存溫度數據。

(2)設計一個線程函數。該線程函數的作用是實現上述1.1節所介紹的模擬退火算法。

(3)介紹兩個重要的函數:

1.3.2本文算法的介紹

(1)設計一個圖形用戶界面,它擁有文件和優化兩個菜單。其中文件菜單下面有載入﹑保存和退出三個子菜單,優化菜單下面有優化路徑和修改溫度兩個子菜單。

(2)在修改溫度子菜單下設計設置溫度,用戶可以根據需要設定溫度;在優化路徑菜單下設計通知操作系統創建一個線程,運行用模擬退火算法實現的線程函數。該線程函數對保存在g_path[]中的數據進行優化,優化完畢后線程函數返回,線程終止運行。

(3)如果需要再次優化時,則回到(2),重新設置溫度,在上次優化的基礎上再次進行優化。

(4)如果需要對所求得的結果進行保留,就可以選中文件菜單中的保存項。該保存項通知操作系統執行用fprintf()函數實現的程序段,將g_path[]中的數據寫到由自己命名的文件中,所以可以將優化得到的結果保存下來。

(5)如果需要將保存下來的結果重新優化,則可以選中文件菜單下面的載入項。該載入項通知操作系統執行用fscanf()函數實現的程序段,將指定的文件中的數據讀到g_path[]中,然后回到(2)。

(6)如果需要退出,則選擇文件菜單下面退出子菜單即可。

1.3.3本算法的特點

(1)引入兩點變換法,增加了產生新解的變化,可以收斂到問題的最優解。

(2)它與回火退火算法很相似,即能夠對優化問題進行多次回火優化。

(3)它比回火退火算法更加靈活方便。回火退火算法的回火次數和每次回火的溫度是在運行前確定的,如果要修改溫度和回火次數,則要求程序員重新修改程序。而上述算法可以根據需要由人從鍵盤多次輸入溫度的值,然后進行多次優化,而無須修改程序。

(4)它能夠多次保存優化結果,并可以將保存的結果重新載入和重新優化,從而收斂到問題的最優解。

2實驗及結果

實驗用到的各參數意義分別表示如下:控制參數的初值t;控制參數的變化系數dt;鏈的長度L。

實驗一:求解CHN144實例

所使用的參數:t=22,dt=0.95,L=60 000,t模擬20次,得到如表1所示的結果。

為了更好地說明該算法的有效性, 本文選用了標準的TSP 測試庫 TSPLIB[7]中的多個實例進行測試。

實驗二:求解PR144實例

所使用的參數:t=80, dt=0.95,L=960 000。

經多次模擬,得到最優結果為58 535,優于 TSPLIB 中提供的最優結果 58 537。 具體模擬走法如圖2所示。

實驗三:求解EIL101實例 

所使用的參數:t=50,dt=0.95,L=8 000。

經多次模擬, 得到最優結果為627,優于TSPLIB 中提供的最優結果629。具體模擬走法如圖3所示。

3結束語

本文提出了一種溫度可控的模擬退火算法,并進行了實現。通過對 CHN144 以及標準的TSPLIB 中不同國家的城市的數據進行測試,結果表明了該算法很容易收斂

到問題的最優解。

參考文獻:

[1]

HOCHBAUM D S. Approximation algorithms for NP-hard problems[M].[S.l.]:World Books Press,1995.

[2]LIN S, KERNIGHAN B W. An effective heuristic algorithm for the traveling salesman problem[J].Operations Research,1973,21(2):498-516.

[3]HOPFIELD J J ,TANK D W. Neural computation of decision in optimization problems[J].Biological Cybernetics,1985,54(3):141-152.

[4]VIGNAUX G,MICHALEWITCZ Z. A genetic algorithm for the linear transportation problems[J ].IEEE Sys.Man Cybe.,1991,21(2):445-452.

[5]CASTRO D L N, ZUBEN V F J. Learning and optimization using the clonal selection principle[J].IEEE Transactionon Evolution Computation,2002,6(3):239-251. 

[6]康立山,謝云,尤矢勇,等.非數值并行算法:模擬退火算法:第1冊[M].北京:科學出版社,1997.

[7]標準的 TSP 測試庫[EB/OL].http://www.iwr.uniheidelberg.de/groups/comopt/software/TSPLIB95/tsp/.

注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 国产亚洲精品自在久久不卡| 91精品国产福利| 国产欧美日韩18| 亚洲第一中文字幕| 亚洲精品卡2卡3卡4卡5卡区| 国产9191精品免费观看| 久久久久人妻精品一区三寸蜜桃| 五月天久久婷婷| 欧美一级高清免费a| 亚洲第一色网站| 亚洲无码在线午夜电影| AⅤ色综合久久天堂AV色综合| 女高中生自慰污污网站| 国产www网站| 国产av无码日韩av无码网站| 久久久久九九精品影院| 国产日韩AV高潮在线| 98超碰在线观看| 无码中文字幕精品推荐| 色综合狠狠操| 国产a v无码专区亚洲av| 日本人真淫视频一区二区三区| 精品福利国产| 伊人久久大线影院首页| 欧美亚洲一区二区三区在线| 黄色网在线| 欧美视频在线第一页| 青青网在线国产| 美女内射视频WWW网站午夜| 熟妇丰满人妻av无码区| 美女扒开下面流白浆在线试听| 毛片视频网址| 日本黄色不卡视频| 亚洲成人网在线播放| 国产v精品成人免费视频71pao| 欧美自拍另类欧美综合图区| a级毛片一区二区免费视频| 国产精品亚洲va在线观看| 精品1区2区3区| 欧美日韩福利| 久久国产精品嫖妓| 日韩精品欧美国产在线| 97一区二区在线播放| 亚州AV秘 一区二区三区| 99久久国产综合精品2023| 一级一级特黄女人精品毛片| 国产理论一区| 91精品国产麻豆国产自产在线| 亚洲最大福利视频网| 乱色熟女综合一区二区| 成人免费午间影院在线观看| 小蝌蚪亚洲精品国产| 国产成人精品午夜视频'| 日本三级黄在线观看| 亚洲啪啪网| 欧美五月婷婷| 91香蕉国产亚洲一二三区 | 91久久偷偷做嫩草影院电| 国产三级毛片| 亚洲欧洲免费视频| 久久精品视频亚洲| 黄色网页在线观看| 青青热久免费精品视频6| 激情五月婷婷综合网| 在线播放国产一区| 992tv国产人成在线观看| 国产网友愉拍精品| 成人综合久久综合| 国产在线无码一区二区三区| 国产在线一二三区| 亚洲国产精品VA在线看黑人| 国产青青操| 欧美不卡视频在线观看| 亚洲欧美成人网| 日韩毛片在线视频| 国产精品成人AⅤ在线一二三四| 毛片视频网址| 亚洲二三区| 久久国产精品无码hdav| 视频二区欧美| 在线国产毛片手机小视频| 国产丝袜一区二区三区视频免下载|