- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
背包问题---遗传算法解决
function Population1=GA_copy(Population,p,w0,w)
%复制算子
%Population为种群
n=length(Population(:,1));
fvalue=zeros(1,n);
for i=1:n
fvalue(i)=GA_beibao_fitnessvalue(Population(i,:),p,w0,w);
end
fval=fvalue/sum(fvalue);
F(1)=0;
for j=1:n
F(j+1)=0;
for k=1:j
F(j+1)=F(j+1)+fval(k);
end
end
for i=1:n
test=rand;
for j=1:n
if((test=F(j))(testF(j+1)))
Population1(i,:)=Population(j,:);
end
end
end
function Population1=GA_exchange(Population,pc)
%遗传算法交换算子
%pc为交换概率
Population1=Population;
POP=[];
n=length(Population(:,1));
%k=floor(n*pc); %用于交换的染色体数目
%采用单点交换算子
j=1;
l=length(Population(1,:));
for i=1:n
test(i)=rand;
if test(i)pc
for z=1:l
POP(j,z)=Population(i,z);
end
POP(j,l+1)=i;
p(j)=randint(1,1,[1 l-1]);
j=j+1;
end
end
k0=j-1;
k=floor(k0/2);
if k=1
for m=1:k
for t=p(2*m-1)+1:l
s=POP(2*m-1,t);
POP(2*m-1,t)=POP(2*m,t);
POP(2*m,t)=s;
end
end
for m=1:k0
for i=1:l
Population1(POP(m,l+1),i)=POP(m,i);
end
end
end
function fitnessvalue=GA_fitnessvalue(x,p,w0,w)
%使用惩罚法计算适应度值
%x为染色体
%p为背包问题中每个被选物体的价值
%w0为背包问题中背包总容积
%w为背包问题中每个被选物品的容积
l=length(x);
for i=1:l
a(i)=p(i).*x(i);
end
f=sum(a);
b=min(w0,abs(sum(w)-w0));
for i=1:l
wx(i)=w(i).*x(i);
end
if abs(sum(wx)-w0)b*0.99
p=0.99;
else
p=abs(sum(wx)-w0)/b;
end
fitnessvalue=f*(1-p)*(1-p)*(1-p);
function Population=GA_Initial(n,P)
%n为染色体长度,即所供选择的物品总数
%P为初始种群大小
for i=1:P
for j=1:n
temp=rands(1,1);
if temp0
Population(i,j)=1;
else
Population(i,j)=0;
end
end
end
function Population1=GA_tubian(Population,pe_tubian)
%遗传算法突变算子
%pe为突变概率
Population1=Population;
n=length(Population(:,1));
m=length(Population(1,:));
for i=1:n
for j=1:m
test=rand;
您可能关注的文档
最近下载
- 2023陕西省从优秀村(社区)干部中考试录用乡镇(街道)机关公务员考生各项及笔试历年典型考题及考点剖析附答案带详解.docx VIP
- 财务报表分析 第6版 张新民 习题答案 课后案例讨论与分析提示.pdf
- 演出票务方案.pdf VIP
- 2023年威迈斯分析报告:车载电源龙头,800V及海外进展领先.pdf VIP
- 香椿规模化种植及深加工项目可行性研究报告.pdf
- (3)曲线运动和万有引力定律—2024年九省联考+2023年四省联考+2021年八省联考物理专项精编.docx VIP
- 肠内及肠外营养及并发症.pptx VIP
- 部编版语文五年级上册第三单元单元整体设计(学历案).pdf VIP
- 聚酰亚胺 化学、结构与性能的关系及材料.pdf
- TR50矿车艾利逊变速箱故障排除.doc
文档评论(0)