matlab遗传算法Sheffield工具箱下载及安装

matlab遗传算法Sheffield工具箱下载及安装

资源下载

安装包也在我的博客里(可以免费下载,如果被修改了积分下载可以Si_xin_wo),地址:
matlab遗传算法Sheffield工具箱安装包下载

安装方法

①解压安装包,得到gatbx文件夹
在这里插入图片描述
②复制gatbx文件夹到matlab安装目录下的toolbox文件夹
在这里插入图片描述
③打开matlab,主页→设置路径(HOME→Set Path)
在这里插入图片描述
点击添加文件夹,在matlab安装目录找到第②步中复制到toolbox文件夹的gatbx文件夹,选择文件夹
在这里插入图片描述
保存,可以看到设置路径下出现了添加的gatbx文件夹
在这里插入图片描述
重启matlab后,开始代码测试

代码测试(基于matlab2016a)

利用遗传算法求解函数的最小值:
在这里插入图片描述
代码(基于《智能算法30个案例分析》)

clc,clear
figure(1);
hold on;
lb = 1; ub = 2;
ezplot('sin(10*pi*X)/X',[lb,ub]);
xlabel('自变量/X')
ylabel('因变量/Y')
Nind = 40;
Max_gen = 20;
Preci = 20;
GGAP = 0.95;
px = 0.7;
pm = 0.01;
trace = zeros(2,Max_gen);
FieldD = [Preci;lb;ub;1;0;1;1];
Chrom = crtbp(Nind,Preci);
gen = 0;
X = bs2rv(Chrom,FieldD);
Objv = sin(10 * pi * X)./X;
while gen < Max_gen
    Fitnv = ranking(Objv);
    Selch = select('sus',Chrom,Fitnv,GGAP);
    Selch = recombin('xovsp',Selch,px);
    Selch = mut(Selch,pm);
    X = bs2rv(Selch,FieldD);
    Objvsel = sin(10 * pi * X)./X;
    [Chrom,Objv] = reins(Chrom,Selch,1,1,Objv,Objvsel);
    X = bs2rv(Chrom,FieldD);
    gen = gen + 1;
    [Y,I] = min(Objv);
    trace(1,gen) = X(I);
    trace(2,gen) = Y;
end
plot(trace(1,:),trace(2,:),'bo');
grid on;
plot(X,Objv,'b*');
figure(2);
plot(1:Max_gen,trace(2,:));
grid on;
xlabel('遗传代数')
ylabel('解的变化')
title('进化过程')
BestY = trace(2,end);
BestX = trace(1,end);
fprintf(['最优解:\nX = ',num2str(BestX),'\nY = ',num2str(BestY),'\n'])

结果
在X = 1.1491处,
取得最小值Y = ﹣0.8699
在这里插入图片描述
如果有用,点个赞哦!!

猜你喜欢

转载自blog.csdn.net/weixin_43863869/article/details/107857705