• 大小: 2KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: Matlab
  • 标签: 禁忌搜索  

资源简介

matlab禁忌搜索算法解决背包问题,matlab环境编写,带注释

资源截图

代码片段和文件信息

%修正函数滤掉无效解(解码法)
function vf=greedy(vcgm1)%返回50组有效解
[mn]=size(v);
for i=1:m
    label=g;
    label=label.*v(i:);%装入背包各物品的价值密度(.*对应元素相乘)
    if sum(v(i:).*c)>m1%如果背包总重量大于阈值则修复无效解
        %修复解
        while sum(v(i:).*c)>m1%取出背包中价值密度小的物品,直到满足背包容量的约束为止
newlabel=label;
newlabel(0==newlabel)=inf;
            [nlabelindex]=sort(newlabel);
v(iindex(1))=0;%将价值密度最小的物品取出
label(index(1))=0;
        end
    end
end
vf=v;
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        4303  2017-06-25 16:52  tabu.m
     文件         550  2017-06-14 16:41  greedy.m

评论

共有 条评论