遗传算法求函数极大值(matlab 实现)
遗传算法求函数最大值(matlab 实现)
一、 题目:
寻找 f(x)=x
2,
,当 x 在 0~31 区间的最大值。
二、 源程序:
%遗传算法求解函数最大值
%本程序用到了英国谢菲尔德大学(Sheffield)开发的工具箱 GATBX,
该工具箱比 matlab 自带的 GATOOL使用更加灵活,但在编写程序方
面稍微复杂一些
Close all;
Clear all;
figure(1);
fplot('variable*variable',[0,31]); %画出函数曲线
%以下定义遗传算法参数
GTSM=40; %定义个体数目
ZDYCDS=20; %定义最大遗传代数
EJZWS=5; %定义变量的二进制位数
DG=0.9; %定义代沟
trace=zeros(2, ZDYCDS); %最优结果的初始值
1 / 4