我需要一个基于免疫遗传算法的matlab程序,关于函数寻优的,最好在附有讲解
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/18 02:36:19
我需要一个基于免疫遗传算法的matlab程序,关于函数寻优的,最好在附有讲解
![我需要一个基于免疫遗传算法的matlab程序,关于函数寻优的,最好在附有讲解](/uploads/image/z/3093376-40-6.jpg?t=%E6%88%91%E9%9C%80%E8%A6%81%E4%B8%80%E4%B8%AA%E5%9F%BA%E4%BA%8E%E5%85%8D%E7%96%AB%E9%81%97%E4%BC%A0%E7%AE%97%E6%B3%95%E7%9A%84matlab%E7%A8%8B%E5%BA%8F%2C%E5%85%B3%E4%BA%8E%E5%87%BD%E6%95%B0%E5%AF%BB%E4%BC%98%E7%9A%84%2C%E6%9C%80%E5%A5%BD%E5%9C%A8%E9%99%84%E6%9C%89%E8%AE%B2%E8%A7%A3)
% 主程序
%遗传算法主程序
%Name:genmain.m
%author:杨幂
clear
clf
%%初始化
popsize=50; %群体大小
chromlength=30; %字符串长度(个体长度)
pc=0.6; %交叉概率
pm=0.1; %变异概率
pop=initpop(popsize,chromlength); %随机产生初始群体
%%开始迭代
for i=1:20 %20为迭代次数
[objvalue]=calobjvalue(pop); %计算目标函数
fitvalue=calfitvalue(objvalue); %计算群体中每个个体的适应度
[newpop]=selection(pop,fitvalue); %复制
[newpop]=crossover(pop,pc); %交叉
[newpop]=mutation(pop,pm); %变异
[bestindividual,bestfit]=best(pop,fitvalue); %求出群体中适应值最大的个体及其适应值
y(i)=max(bestfit);%储存最优个体适应值
n(i)=i;
pop5=bestindividual;%储存最优个体
%解码
x1(i)=decodechrom(pop5,1,chromlength/2)*2/32767;
x2(i)=10+decodechrom(pop5,chromlength/2+1,chromlength/2)*10/32767;
pop=newpop;%将新产生的种群作为当前种群
end
%%绘图
figure(1)%最优点变化趋势图
i=1:20;
plot(y(i),'-r*')
xlabel('迭代次数');
ylabel('最优个体适应值');
title('最优点变化趋势');
legend('最优点');
grid on
figure(2)%最优点分布图
[X1,X2]=meshgrid(0:0.1:2,10:0.1:20);
Z=X1.^2+X2.^2;
mesh(X1,X2,Z);
xlabel('自变量x1'),ylabel('自变量x2'),zlabel('函数值f(x1,x2)');
hold on
plot3(x1,x2,y,'ro','MarkerEdgeColor','r','MarkerFaceColor','r','MarkerSize',5)
title('最优点分布');
legend('最优点');
hold off
[z index]=max(y); %计算最大值及其位置
x5=[x1(index),x2(index)]%计算最大值对应的x值
z
%遗传算法主程序
%Name:genmain.m
%author:杨幂
clear
clf
%%初始化
popsize=50; %群体大小
chromlength=30; %字符串长度(个体长度)
pc=0.6; %交叉概率
pm=0.1; %变异概率
pop=initpop(popsize,chromlength); %随机产生初始群体
%%开始迭代
for i=1:20 %20为迭代次数
[objvalue]=calobjvalue(pop); %计算目标函数
fitvalue=calfitvalue(objvalue); %计算群体中每个个体的适应度
[newpop]=selection(pop,fitvalue); %复制
[newpop]=crossover(pop,pc); %交叉
[newpop]=mutation(pop,pm); %变异
[bestindividual,bestfit]=best(pop,fitvalue); %求出群体中适应值最大的个体及其适应值
y(i)=max(bestfit);%储存最优个体适应值
n(i)=i;
pop5=bestindividual;%储存最优个体
%解码
x1(i)=decodechrom(pop5,1,chromlength/2)*2/32767;
x2(i)=10+decodechrom(pop5,chromlength/2+1,chromlength/2)*10/32767;
pop=newpop;%将新产生的种群作为当前种群
end
%%绘图
figure(1)%最优点变化趋势图
i=1:20;
plot(y(i),'-r*')
xlabel('迭代次数');
ylabel('最优个体适应值');
title('最优点变化趋势');
legend('最优点');
grid on
figure(2)%最优点分布图
[X1,X2]=meshgrid(0:0.1:2,10:0.1:20);
Z=X1.^2+X2.^2;
mesh(X1,X2,Z);
xlabel('自变量x1'),ylabel('自变量x2'),zlabel('函数值f(x1,x2)');
hold on
plot3(x1,x2,y,'ro','MarkerEdgeColor','r','MarkerFaceColor','r','MarkerSize',5)
title('最优点分布');
legend('最优点');
hold off
[z index]=max(y); %计算最大值及其位置
x5=[x1(index),x2(index)]%计算最大值对应的x值
z
我需要一个基于免疫遗传算法的matlab程序,关于函数寻优的,最好在附有讲解
基于MATLAB的遗传算法程序 对函数y=(x)1^2-(x)2^2+3 求解全局最大值.
matlab的遗传算法程序
遗传算法求最短路径的matlab程序,
求遗传算法的matlab程序
矩形排样问题 基于遗传算法的 matlab源代码
请高手将下面的遗传算法的matlab程序用并行算法实现(实现一个即可) 遗传算法程序:说明:fga.m 为遗传算
急求遗传算法的整数编码函数的matlab程序
关于matlab遗传算法的一些问题
关于matlab遗传算法的问题,
各位谁擅长遗传算法呀,我这有个函数得用遗传算法编一下,进行最优化求解的过程,最好是用Matlab.
matlab nlinfit函数基于什么迭代算法写的