matlab遗传算法实例crtrp,遗传算法求解实例

yj1.m :简单一元函数优化实例,利用遗传算法计算下面函数的最大值

0.2)*10sin()(+=x x x f π,∈x [-1, 2]

选择二进制编码,种群中个体数目为40,每个种群的长度为20,使用代沟为0.9,

最大遗传代数为25

译码矩阵结构:??????????

???????

????

?=ubin lbin scale code

ub lb len FieldD 译码矩阵说明:

len – 包含在Chrom 中的每个子串的长度,注意sum(len)=length(Chrom); lb 、ub – 行向量,分别指明每个变量使用的上界和下界;

code – 二进制行向量,指明子串是怎样编码的,code(i)=1为标准二进制编码,

code(i)=0则为格雷编码; scale – 二进制行向量,指明每个子串是否使用对数或算术刻度,scale(i)=0为算术

刻度,scale(i)=1则为对数刻度; lbin 、ubin – 二进制行向量,指明表示范围中是否包含每个边界,选择lbin=0或

ubin=0,表示从范围中去掉边界;lbin=1或ubin=1则表示范围中包含边界; 注:增加第22行:variable=bs2rv(Chrom, FieldD);否则提示第26行plot(variable(I),

Y, 'bo'); 中variable(I)越界

yj2.m :目标函数是De Jong 函数,是一个连续、凸起的单峰函数,它的M 文件objfun1包含在GA 工具箱软件中,De Jong 函数的表达式为:

==

n

i i x x f 1

2

)(, 512512≤≤-i x

这里n 是定义问题维数的一个值,本例中选取n=20,求解 )(min x f ,程序主要变量:

NIND (个体的数量):=40;

MAXGEN (最大遗传代数):=500;

NV AR (变量维数):=20;

PRECI (每个变量使用多少位来表示):=20;

GGAP (代沟):=0.9

注:函数objfun1.m 中switch 改为switch1,否则提示出错,因为switch 为matlab

保留字,下同!

yj3.m :多元多峰函数的优化实例,Shubert 函数表达式如下,求)(min x f 【shubert.m 】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值