1 / 37
文档名称:

遗传算法的Matlab实现讲解专家讲座.pptx

格式:pptx   大小:1,246KB   页数:37页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

遗传算法的Matlab实现讲解专家讲座.pptx

上传人:知识徜徉土豆 2025/5/17 文件大小:1.22 MB

下载得到文件列表

遗传算法的Matlab实现讲解专家讲座.pptx

相关文档

文档介绍

文档介绍:该【遗传算法的Matlab实现讲解专家讲座 】是由【知识徜徉土豆】上传分享,文档一共【37】页,该文档可以免费在线阅读,需要了解更多关于【遗传算法的Matlab实现讲解专家讲座 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。数学建模专题之 遗传算法MATLAB实现
遗传算法的Matlab实现讲解专家讲座
第1页
Contents I
Matlab编程实现GA
1
Matlab函数调用实现GA
2
Matlab工具箱实现GA
3
遗传算法的Matlab实现讲解专家讲座
第2页
Matlab编程实现GA
例1:计算目标函数值函数
遗传算法的Matlab实现讲解专家讲座
第3页
主程序
%遗传算法主程序
function My_GA
global Cmin;
Cmin=-10^6;
popsize=50; %群体大小
Gene=20;
chromlength=20; %字符串长度(个体长度)
pc=; %交叉概率
pm=; %变异概率
Xmax=10;
Xmin=0;
Matlab编程实现GA
pop=initpop(popsize,chromlength); %随机产生初始群体
for i=1:Gene %20为迭代次数
[objvalue]=calobjvalue(pop,chromlength,Xmax,Xmin); %计算目标函数
fitvalue=calfitvalue(objvalue); %计算群体中每个个体适应度
[newpop]=selection(pop,fitvalue); %复制
[newpop]=crossover(newpop,pc); %交叉
[newpop]=mutation(newpop,pm); %变异
[bestindividual,bestfit]=best(pop,fitvalue); %求出群体中适应值最大个体及其适应值
x(i)=decodechrom(bestindividual,1,chromlength)*10/(2^chromlength-1); %最正确个体解码
y(i)=bestfit+Cmin; %最正确个体适应度
y_mean(i)=mean(fitvalue+Cmin); %第i代平均适应度
pop=newpop;
end
fplot('2*x+10*sin(5*x)+7*cos(4*x)',[0 10])
hold on
plot(x,y,'r*')
hold off
遗传算法的Matlab实现讲解专家讲座
第4页
初始化(编码)
% ,popsize表示群体大小,chromlength表示染色体长度(二值数长度),
% 长度大小取决于变量二进制编码长度(在本例中取20位)。
%Name:
function pop=initpop(popsize,chromlength)
pop=round(rand(popsize,chromlength)); % rand随机产生每个单元为 {0,1} 行数为popsize,列数为chromlength矩阵,
% round对矩阵每个单元进行取整。这么产生初始种群。
Matlab编程实现GA
遗传算法的Matlab实现讲解专家讲座
第5页
将二进制数转化为十进制数
将二进制数转化为十进制数
%产生 [2^n 2^(n-1) ... 1] 行向量,然后求和,将二进制转化为十进制
function pop2=decodebinary(pop)
[px,py]=size(pop); %求pop行和列数
for i=1:py
pop1(:,i)=2.^(py-i).*pop(:,i);
end
pop2=sum(pop1,2); %求pop1每行之和
function pop2=decodechrom(pop,spoint,length)
pop1=pop(:,spoint:spoint+length-1);
pop2=decodebinary(pop1);
Matlab编程实现GA
遗传算法的Matlab实现讲解专家讲座
第6页
计算目标函数值
计算目标函数值
% ,其公式采取本文示例仿真,可依据不一样优化问题给予修改。
%遗传算法子程序
%Name:
%实现目标函数计算
function [objvalue]=calobjvalue(pop,chromlength,Xmax,Xmin)
temp1=decodechrom(pop,1,chromlength); %将pop每行转化成十进制数
x=temp1*(Xmax-Xmin)/(2^chromlength-1); %将十进制域 中数转化为变量域 数
objvalue=2*x+10*sin(5*x)+7*cos(4*x); %计算目标函数值
Matlab编程实现GA
遗传算法的Matlab实现讲解专家讲座
第7页
计算个体适应值
function fitvalue=calfitvalue(objvalue)
global Cmin;
fitvalue=objvalue-Cmin;
Matlab编程实现GA
遗传算法的Matlab实现讲解专家讲座
第8页
选择复制
function [newpop]=selection(pop,fitvalue) %程序中采取赌轮盘选择法选择实现
totalfit=sum(fitvalue); %求适应值之和
fitvalue=fitvalue/totalfit; %单个个体被选择概率
fitvalue=cumsum(fitvalue); %如 fitvalue=[1 2 3 4],则 cumsum(fitvalue)=[1 3 6 10]
[px,py]=size(pop);
ms=sort(rand(px,1)); %从小到大排列
fitin=1; newin=1;
while newin<=px %蒙特卡洛方法抽样
if(ms(newin))<fitvalue(fitin)
newpop(newin,:)=pop(fitin,:);
newin=newin+1;
else
fitin=fitin+1;
end
end
Matlab编程实现GA
遗传算法的Matlab实现讲解专家讲座
第9页
交叉
function [newpop]=crossover(pop,pc)
[px,py]=size(pop);
newpop=ones(size(pop));
for i=1:2:px-1
if(rand<pc)
cpoint=round(rand*py);
newpop(i,:)=[pop(i,1:cpoint),pop(i+1,cpoint+1:py)];
newpop(i+1,:)=[pop(i+1,1:cpoint),pop(i,cpoint+1:py)];
else
newpop(i,:)=pop(i);
newpop(i+1,:)=pop(i+1);
end
end
Matlab编程实现GA
遗传算法的Matlab实现讲解专家讲座
第10页

最近更新

关于出纳年终工作总结汇编7篇 14页

公司财务部年终工作总结(通用5篇) 15页

元宵节三分钟演讲稿范文4篇 6页

优秀教师节最新演讲稿5篇 12页

中考动员的讲话稿怎么写4篇 5页

个人工作总结范文集合8篇 15页

【精选】试用期工作总结模板8篇 21页

【精品】语文教师个人工作总结范文10篇 20页

【精华】财务部门工作总结模板集锦7篇 18页

【精华】个人年终工作总结范文汇编9篇 17页

【推荐】转正工作总结集合9篇 19页

【必备】销售类年终工作总结4篇 10页

《做一个合格的小学生》演讲稿5篇 5页

2025教师教学工作总结(精选5篇) 10页

2025年五四运动心得体会范文800字5篇 7页

2025交警执勤个人的心得体会800字4篇 有关交警.. 7页

感应式IC卡银行金库及储蓄所应用方案 47页

卫生行政执法文书规范教材 56页

老人保健养生的注意事项有哪些 2页

竞选村委会主任承诺书 6页

止吐药临床应用 33页

九年级科学来自微生物的威胁 22页

组织心理分析 41页

2025年研发团队负责人晋升述职材料交互式导航.. 22页

注射剂的特点专业知识培训专家讲座 42页

恶性实体肿瘤的疗效评价标准 68页

原材料及试件抽样检验方案 22页

2024-2025学年山东省潍坊市昌邑市统编版五年级.. 14页

急性呼吸窘迫综合征主题专家讲座 28页

清远市巡游出租汽车驾驶员从业资格区域科目 考.. 39页