MATLAB遗传算法工具箱
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三, MATLAB遗传算法工具箱
(3),gads工具箱:matlab 7.0包含了这个工具 箱,matlab7.0以前的版本没有这个工具箱,雷英 杰 编著《Matlab遗传算法工具箱及应用》对这个工具 箱的使用进行了介绍。
2, gatbx工具箱常见函数
(1)初始种群的创建
crtbp——二进制编码种群 Chrom= 0 0 crtrp——十进制编码种群 0 1
(2)适应度计算
Scaling比率适应度 Ranking排序适应度 例1:chrom=crtbp(9,6)
1 1 1 1 0 0 1 1
1 0 1 0 0 0 1 0
1 1 1 1 0 0 0 1 0 1
1 0 1 0 0 1 1 0 1 1
0 0 1 1 0 1 0 0 0 0
0 0 1 0 0 1 1 0 0Байду номын сангаас0
1 0 0 1 1 1 0 0 0 0
0 1 1 1 0 1 0 0 1 1
(3,选择
rws-轮盘赌选择 sus-随机遍历抽样 select-高级选择函数
(4)交叉
xovsp-单点交叉 xovdp-两点交叉 xovsh-洗牌交叉 recombin-高级交叉函数
五,一些实例
1,简单非线性规划
2,背包问题 3,最小hamirton圈
MATLAB遗传算法工具箱
一,遗传算法来源和计算步骤
1,来源
自然进化 模拟 人工进化(如GA) 自然进化: 遗传-变异-选择 适者生存,优胜劣汰 2,步骤
编码
初始种群
适应度计算
选择
交叉 变异
新种群的生成
是否达到目标
是 否
解决实际问题
二,关键操作
1,适应度计算及标定 4,交叉 2,编码 单点交叉,两点,多点
reins-重组(有代沟时) bs2rv-二进制的解码 migrate-子种群的支持
例3,chrom= 0 1 1 0 0 1 0 0 1 0 0 0 new1=mut(chrom,0.1) new1= 1 1 1 0 0 1 0 0 1 0 1 0
四,应用gatbx工具箱的基本求解步骤
chrom=crtbp(nind,nvar); %创建初始种群 var=bs2rv(chrom,fieldd); %解码 obj=functionx(var); %求目标函数值 %开始进化 while gen<maxgen fitnv=ranking(obj); %分配适应度 selch=select(‘sus’,chrom,fitnv); %选择 selch=xovsp(selch,p1); %交叉 selch=mut(selch,p2); %变异 var=bs2rv(selch,fieldd); %生成新种群 obj=functionx(var); end
例2,chrom=crtbp(2,6) chrom= 0 1 1 0 0 1 0 0 1 0 0 0 new=xovsp(chrom,1) new= 0 0 1 0 0 0 0 1 1 0 0 1
(5)变异
mut-二进制编码的变异 mutbga-十进制的变异 mutate-高级变异函数
(6)其他有用函数
二进制,格雷码, 十进制,符号编码
均匀交叉 特殊(PMX,CX,EX)
3,选择
轮盘赌选择(rws) 均匀排序(ranking) 最优保存(代沟) 排挤选择(海明距离)
5,变异
基本位变异 均匀变异 非均匀变异(高斯变异) 逆转变异,交换变异
三, MATLAB遗传算法工具箱
1,三种常见工具箱 (1),gatbx工具箱:英国设菲尔德Sheffield大学 开发的gatbs工具箱,不是Matlab软件自带的,雷 英杰编著《Matlab遗传算法工具箱及应用》涉及到 了这个工具箱,并对它的使用进行了说明。 (2),gaot工具箱:这是网上流传的免费的工具 箱,网上对它介绍的资料也挺多,也不是Matlab软 件自带的,但可以自己配置使用。飞思科技产品研 发中心编著《Matlab 6.X辅助优化计算与设计》第 五章对gaot遗传算法工具箱的使用进行了介绍。