?? annealing.m
字號:
%function R=annealing(N,L,s,t,dt,C,R)
%N為問題規模,即節點個數;L可取較大值,如500、1000;
%s取1、2等;t為初始溫度,參考范圍為0.5--2;
%dt為衰減因子,一般不小于0.9;
%C為邊權矩陣,應是一個強連通圖的邊權矩陣
%R為初始路徑,結果路徑也存放在R中
%L、s、t、dt應通過多次試驗來確定,以獲得優化的結果
%參考《非數值并行算法--模擬退火算法》科學出版社
function R=annealing(N,L,s,t,dt,C,R)
s0=0;
while 1
a=0;
for k=1:L
[r,df]=calculate(R,C,N);
if accept(t,df)
R=r;a=1;
disp(cost_sum(R,C,N));
end
end
t=t*dt
if a==0
s0=s0+1;
else
s0=0;
end
if s0==s
break;
end
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -