?? jm98b.m
字號:
%98 年全國大學生數學建模競賽B題"水災巡視問題"模擬退火算法。
%這是一個推銷員問題,本題有53個點,所有可能性大約為exp(53),
%目前沒有好方法求出精確解,既然求不出精確解,我們使用模擬退火法求出一個較優解,
%將所有結點編號為1到53,1到53的排列就是系統的結構,結構的變化規則是:
%從1到53的排列中隨機選取一個子排列,將其反轉或將其移至另一處,能量E自然是路徑總長度。
%具體算法描述如下:
%步1:設定初始溫度T,給定一個初始的巡視路線。
%步2:步3 --8循環K次
%步3:步 4--7循環M次
%步4:隨機選擇路線的一段
%步5:隨機確定將選定的路線反轉或移動,即兩種調整方式:反轉、移動。
%步6:計算代價D,即調整前后的總路程的長度之差
%步7:按照如下規則確定是否做調整:
%如果D<0,則調整
%如果D>0,則按照EXP(-D/T)的概率進行調整
%步8:T*0.9-->T,降溫
%本程序用C語言編寫jm98b.c
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -