遗传算法 matlab 详解,遗传算法的Matlab实现讲解

本文详细介绍了如何在Matlab中实现遗传算法,包括初始化群体、计算目标函数、选择复制、交叉和变异操作,以及最佳个体的求解过程。通过实例展示了如何运用遗传算法解决优化问题,并提供了相关函数的代码实现。
摘要由CSDN通过智能技术生成

《遗传算法的Matlab实现讲解》由会员分享,可在线阅读,更多相关《遗传算法的Matlab实现讲解(37页珍藏版)》请在人人文库网上搜索。

1、数学建模专题之遗传算法的MATLAB实现,Contents I,Matlab编程实现GA,1,Matlab编程实现GA,例1:计算目标函数值函数,主程序,遗传算法主程序 function My_GA global Cmin; Cmin=-106; popsize=50; %群体大小 Gene=20; chromlength=20; %字符串长度(个体长度) pc=0.8; %交叉概率 pm=0.01; %变异概率 Xmax=10; Xmin=0,Matlab编程实现GA,pop=initpop(popsize,chromlength); %随机产生初始群体 for i=1:Gene %20为迭。

2、代次数 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(bestindivid。

3、ual,1,chromlength)*10/(2chromlength-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,初始化(编码, initpop.m函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength表示染色体的长度(二值数的长度), % 长度大小取决于变量的二进制编码的长度(在。

4、本例中取20位)。 %Name: initpop.m function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength); % rand随机产生每个单元为 0,1 行数为popsize,列数为chromlength的矩阵, % round对矩阵的每个单元进行取整。这样产生的初始种群,Matlab编程实现GA,将二进制数转化为十进制数,将二进制数转化为十进制数 %产生 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值