greedy.txt

来自「使用贪婪算法 解决0-1背包问题MATLAB源代码」· 文本 代码 · 共 55 行

TXT
55
字号
使用贪婪算法解决0-1背包问题MATLAB程序代码

%  使用贪婪算法解决0-1背包问题
%  作者:林培科技  同济大学CS系
%  时间:2004.10.30 


clear;
tic


w=round(rand(1,1000)*100)+1;    %物品重量        
c=round(rand(1,1000)*100)+1;     %物品价值


n=size(w,2);                        %问题规模
f=0;

M=0;
for i=1:n
  M=M+w(i);
end;
M=round(M*0.8);


h=n;

for i=1:n
    r(i)=c(i)/w(i);
    flag(i)=0;
end
w=w';
c=c';
r=r';
flag=flag';
p=[w c r flag];
pp=sortrows(p,3);
pp=pp';

space=M;

while pp(1,h)<=space
    f=f+pp(2,h);
    pp(4,h)=1;
    space=space-pp(1,h);
    h=h-1;
    if h==n+1
        break;
    end
end


f_max_greedy=f
toc

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?