資源簡(jiǎn)介
matlab禁忌搜索算法解決背包問題,matlab環(huán)境編寫,帶注釋

代碼片段和文件信息
%修正函數(shù)濾掉無效解(解碼法)
function?vf=greedy(vcgm1)%返回50組有效解
[mn]=size(v);
for?i=1:m
????label=g;
????label=label.*v(i:);%裝入背包各物品的價(jià)值密度(.*對(duì)應(yīng)元素相乘)
????if?sum(v(i:).*c)>m1%如果背包總重量大于閾值則修復(fù)無效解
????????%修復(fù)解
????????while?sum(v(i:).*c)>m1%取出背包中價(jià)值密度小的物品,直到滿足背包容量的約束為止
newlabel=label;
newlabel(0==newlabel)=inf;
????????????[nlabelindex]=sort(newlabel);
v(iindex(1))=0;%將價(jià)值密度最小的物品取出
label(index(1))=0;
????????end
????end
end
vf=v;
end
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????4303??2017-06-25?16:52??tabu.m
?????文件?????????550??2017-06-14?16:41??greedy.m
- 上一篇:蟻群算法解決背包問題matlab
- 下一篇:matlab計(jì)算表面曲率
評(píng)論
共有 條評(píng)論