200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 【优化求解】基于matlab遗传算法求解函数极值问题【含Matlab源码 1198期】

【优化求解】基于matlab遗传算法求解函数极值问题【含Matlab源码 1198期】

时间:2024-04-05 04:58:51

相关推荐

【优化求解】基于matlab遗传算法求解函数极值问题【含Matlab源码 1198期】

一、获取代码方式

获取代码方式1:

通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

获取代码方式2:

完整代码已上传我的资源:【优化求解】基于matlab遗传算法求解函数极值问题【含Matlab源码 1198期】

备注:

订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、遗传算法简介

1 引言

2 遗传算法理论

2.1 遗传算法的生物学基础

2.2 遗传算法的理论基础

2.3 遗传算法的基本概念

2.4 标准的遗传算法

2.5 遗传算法的特点

2.6 遗传算法的改进方向

3 遗传算法流程

4 关键参数说明

三、案例及完整源代码

1 案例

2 完整代码

%%%%%%%%%%%%%%%%%%%%标准遗传算法求函数极值%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%初始化参数%%%%%%%%%%%%%%%%%%%%%%%%%%clear all; %清除所有变量close all; %清图clc;%清屏NP=50; %种群数量L=20; %二进制数串长度Pc=0.8; %交叉率Pm=0.1; %变异率G=100; %最大遗传代数Xs=10; %上限Xx=0; %下限f=randi([0,1],NP,L); %随机获得初始种群%%%%%%%%%%%%%%%%%%%%%%%%%遗传算法循环%%%%%%%%%%%%%%%%%%%%%%%%for k=1:G%%%%%%%%%%%%将二进制解码为定义域范围内十进制%%%%%%%%%%%%%%for i=1:NPU=f(i,:);m=0;for j=1:Lm=U(j)*2^(j-1)+m;endx(i)=Xx+m*(Xs-Xx)/(2^L-1);Fit(i)= func1(x(i));endmaxFit=max(Fit); %最大值minFit=min(Fit); %最小值rr=find(Fit==maxFit);fBest=f(rr(1,1),:); %历代最优个体 xBest=x(rr(1,1));Fit=(Fit-minFit)/(maxFit-minFit); %归一化适应度值%%%%%%%%%%%%%%%%%%基于轮盘赌的复制操作%%%%%%%%%%%%%%%%%%%sum_Fit=sum(Fit);fitvalue=Fit./sum_Fit;fitvalue=cumsum(fitvalue);ms=sort(rand(NP,1));fiti=1;newi=1;while newi<=NPif (ms(newi))<fitvalue(fiti)nf(newi,:)=f(fiti,:);newi=newi+1;elsefiti=fiti+1;endend %%%%%%%%%%%%%%%%%%%%%%基于概率的交叉操作%%%%%%%%%%%%%%%%%%for i=1:2:NPp=rand;if p<Pcq=randi([0,1],1,L);for j=1:Lif q(j)==1;temp=nf(i+1,j);nf(i+1,j)=nf(i,j);nf(i,j)=temp;endendendend%%%%%%%%%%%%%%%%%%%基于概率的变异操作%%%%%%%%%%%%%%%%%%%%%%%i=1;while i<=round(NP*Pm)h=randi([1,NP],1,1);%随机选取一个需要变异的染色体for j=1:round(L*Pm) g=randi([1,L],1,1); %随机需要变异的基因数nf(h,g)=~nf(h,g);endi=i+1;endf=nf;f(1,:)=fBest; %保留最优个体在新种群中trace(k)=maxFit;%历代最优适应度endxBest;%最优个体figureplot(trace)xlabel('迭代次数')ylabel('目标函数值')title('适应度进化曲线')

%%%%%%%%%%%%%%%%%%%%%%%%%适应度函数%%%%%%%%%%%%%%%%%%%%%%%%%%%%function result=func1(x)fit= x+10*sin(5*x)+7*cos(4*x);result=fit;

四、解题过程及运行结果

1 解题过程

2 运行结果

五、matlab版本及参考文献

1 matlab版本

a

2 参考文献

《智能优化算法及其MATLAB实例(第2版)》包子阳 余继周 杨杉著 电子工业出版社

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。