遗传算法求解0-1背包问题12613.pdf
《遗传算法求解0-1背包问题12613.pdf》由会员分享,可在线阅读,更多相关《遗传算法求解0-1背包问题12613.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 遗传算法求解0-1背包问题 docx docx 2013.6.11 一、实例一:1.问题描述 假设:背包最大重量为300,物品的数量为 10,物品的价值:95 75 23 73 50 22 6 57 89 98,物品的重量:89 59 19 43 100 72 44 16 7 64 2.Matlab 代码(1)参数初始化,导入本问题的物品的价值和重量数据,并设定背包最大重量。wei=9575 23 73 50 22 6 57 89 98;val=89 59 19 43 100 72 44 16 7 64;w=300;%总重量约束值(2)随机产生数量为 30 的种群。生成 30*10 的 0-
2、1 矩阵。So=round(rand(30,10);So=hardlim(So);%So为随机产生的矩阵,值为 0 或 1 ZQ,Y=size(So);(3)迭代次数为 50 代,交叉概率为 90%,变异概率为 5%.ds=50;pc=0.9;pm=0.05;(4)设置适应度函数,利用惩罚函数降低不合格解的适应度,惩罚因子设为 1.5.pu=1.5;syd=So*val-pu*So*val./(So*wei).*(So*wei-w)0).*(So*wei-w);figure(1);hold on;(5)用轮盘赌进行选择操作,用选择出的个体构成的种群替代旧的种群 better1=1;ip=1;u
3、pdatef=-10;%betterl 为当前算出的总价值,ip为代数 whileipsp(sindex)sindex=sindex+1;end newSo(i,:)=So(sindex,:);end fori=1:ZQ So(i,:)=newSo(i,:);end(6)设置的交叉概率pc为90%,产生要配对的父代的序号,经过50次顺序调换,将原有顺序打乱,使相邻两个个体作为交叉的父代 fori=1:ZQ weiindex(i)=i;end fori=1:ZQ point=unidrnd(ZQ-i+1);temp=weiindex(i);weiindex(i)=weiindex(i+point
4、-1);weiindex(i+point-1)=temp;end fori=1:2:ZQ p=rand(1);if(ppc)point=unidrnd(Y-1)+1;for j=point:(Y-1)ch=So(weiindex(i),j);So(weiindex(i),j)=So(weiindex(i+1),j);So(weiindex(i+1),j)=ch;end end end(7)设置变异的概率为 5%,产生 50*10 的 0-1 矩阵,对 1 的位置进行变异 M=rand(ZQ,Y)0).*(So*wei-w);better1,you1=max(syd);ifupdatef=bet
5、ter1 better1=updatef;So(you1,:)=updatec;end updatef=better1;updatec=So(you1,:);better2,you2=min(syd);So(you2,:)=So(you1,:);syd=So*val-pu*So*val./(So*wei).*(So*wei-w)0).*(So*wei-w);media=mean(syd);ip=ip+1;syd2=So*val-So*val.*(So*wei-w)0);better3,you3=max(syd2);plot(ip,better3,-*m);end;(9)将最优值和参数显示出来。
6、syd2=So*val-So*val.*(So*wei-w)0);better3,you3=max(syd2);best=better3;P=So;disp(sprintf(代数:%d,ds);disp(sprintf(种群大小:%d,ZQ);disp(sprintf(交叉概率:%.3f,pc);disp(sprintf(变异概率:%.3f,pm);disp(sprintf(最优解:%.2f,best);3.结果 如图所示,横坐标是迭代次数,纵坐标是每代的最优解。最优染色体解是:1 0 1 0 1 1 1 0 0 1,即对应着问题描述,数值为 1 的物品放入背包,可得到最大的价值为 388,跟
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遗传 算法 求解 背包 问题 12613
限制150内