• 大小: 84KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-01-01
  • 语言: Matlab
  • 标签: 0-1  背包  

资源简介

应用了禁忌搜索算法解决0-1背包问题!matlab实现

资源截图

代码片段和文件信息

%禁忌搜索求解0-1背包问题
clear all;close all;
%global a;
%global c;
a=[44383846892826443218 568325967048145892];
c=[469072914075358547840771561177529756344];
n=20;
b=878;
listlength=15;%禁忌长度
num=1;
bnum=1;
%初始化禁忌表
list=round(rand(120));
for i=1:20
    list(i)=0;
end   
fxbest(bnum)=0;%记录每次迭代最好的值
fxlbest(num)=0;%记录当前最好的值
%m=200;
for j=1:200
    k=1;%选择初始可行解
    while(k)    
        x0=round(rand(201));%产生初始x(1)->x(20)
        x0(1)=1;%以x(1)为起点
        w=a*x0;
        if w<=b
            k=0;
        end
    end  
        if (c*x0)>fxbest(num)           
           fxbest(num)=c*x0;
           xbest=x0;
        end
end
if fxbest(num)>fxlbest(bnum)
    fxlbest(bnum)=fxbest(num);
end
x1=x0;
%nlist=list;
%产生邻域解 禁忌对象选择x的分量,并选择最

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件      118272  2012-12-14 20:17  030120642_陈洪杰_作业2\0-1背包禁忌搜索编程报告.doc
     文件        1426  2012-12-14 19:16  030120642_陈洪杰_作业2\main.asv
     文件        1493  2012-12-22 15:43  030120642_陈洪杰_作业2\main.m
     文件         804  2012-12-14 18:49  030120642_陈洪杰_作业2\near.asv
     文件         819  2012-12-14 19:34  030120642_陈洪杰_作业2\near.m
     文件         204  2012-12-14 19:16  030120642_陈洪杰_作业2\newlist.asv
     文件         204  2012-12-14 19:28  030120642_陈洪杰_作业2\newlist.m
     目录           0  2012-12-14 20:18  030120642_陈洪杰_作业2\

评论

共有 条评论