展會(huì)信息港展會(huì)大全

請(qǐng)教編程高手有對(duì)模擬退火算法熟悉的么?哪里有相關(guān)代碼或資料下
來源:互聯(lián)網(wǎng)   發(fā)布日期:2011-09-06 13:36:01   瀏覽:6590次  

導(dǎo)讀:請(qǐng)教編程高手有對(duì)模擬退火算法熟悉的么?哪里有相關(guān)代碼或資料下載?謝謝 退火 算法 模擬退火 編程 模擬 網(wǎng)絡(luò)上有很多類似算法的地方,你搜索一下,應(yīng)該可以找到...

問題:

┊ ┊


ycfeifei82524
[新手]

請(qǐng)教編程高手有對(duì)模擬退火算法熟悉的么?哪里有相關(guān)代碼或資料下載?謝謝 0分

標(biāo)簽:
回答:2   瀏覽:1146   提問時(shí)間:2005-11-01 14:59

0條評(píng)論...

最佳答案 此答案由提問者自己選擇,并不代表愛問知識(shí)人的觀點(diǎn)


二十四橋
[學(xué)妹]

網(wǎng)絡(luò)上有很多類似算法的地方,
你搜索一下,應(yīng)該可以找到很多的。
下面是我找到的一個(gè),
希望對(duì)你有所幫助。


% 使用模擬退火算法(SAA)解決0-1背包問題


clear;
w=[6 5 3 2 1 1]; %物品重量
c=[61 59 31 21 15 5]; %物品價(jià)值

M=10; % 背包總?cè)萘?

x=[0 0 0 0 0 0]; % 初始解
[mm,n]=size(x);
f=0;
m=0;
L=10*n; % Mapkob 鏈長(zhǎng)
for i=1:n
f=f+c(i)*x(i);
m=m+w(i)*x(i);
end

t0=200; % 控制參數(shù)t的初值
t=t0;
tf=0.9; %
s0=0;
s1=1;
tic % 程序運(yùn)行的初始,此處是為了計(jì)算程序運(yùn)行的時(shí)間和程序結(jié)尾的toc對(duì)應(yīng)


while s0~=s1 % 產(chǎn)生新解


flag=0;
for k=1:L
i=round(rand*(n-1))+1;
if x(i)==0
if m+w(i)<=M
x(i)=1;f=f+c(i);flag=1;
else
j=round(rand*(n-1))+1;
while x(j)==0
j=round(rand*(n-1))+1;
end
df=c(i)-c(j);dm=w(i)-w(j);
if m+dm<=M % 接受準(zhǔn)則
if (df>0)|(exp(df/t)>rand)
x(i)=1;x(j)=0;f=f+df;m=m+dm;flag=1;
end
end
end
else
j=round(rand*(n-1))+1;
while x(j)==1
j=round(rand*(n-1))+1;
end
df=c(j)-c(i);dm=w(j)-w(i);
if m+dm<=M
if (df>0)|(exp(df/t)>rand)
x(i)=0;x(j)=1;f=f+df;m=m+dm;flag=1;
end
end
end
end
t=t*tf; %衰減函數(shù)
if flag==0
s0=s0+1;
else
s0=0;
end
f_max=f;
end

f_max
toc %程序運(yùn)行的結(jié)尾,得出運(yùn)行的時(shí)間

來自:http://www.madio.net/Article/Class3/Class13/200508/1002.html#

回答:2005-11-02 15:29

提問者對(duì)答案的評(píng)價(jià):

1條評(píng)論...


其它回答 共1條回答


三月的水
[大師]

贊助本站

相關(guān)內(nèi)容
AiLab云推薦
展開

熱門欄目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能實(shí)驗(yàn)室 版權(quán)所有    關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 公司動(dòng)態(tài) | 免責(zé)聲明 | 隱私條款 | 工作機(jī)會(huì) | 展會(huì)港