最新MATLAB遗传算法工具箱
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
'B13'; 'B14'; 'B15';'B16']; ➢ SEL_F='sus'; ➢ XOV_F='recdis'; ➢ MUT_F='mutbga'; ➢ OBJ_F='objpush';
FieldDR=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15]; BaseV=[16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16]; [Chrom,NVAR,BaseV]=crtbp(NIND,NVAR,Ba seV);
三, MATLAB遗传算法工具箱
1,三种常见工具箱 (1),gatbx工具箱:英国设菲尔德Sheffield大学 开发的gatbs工具箱,不是Matlab软件自带的,雷 英杰编著《Matlab遗传算法工具箱及应用》涉及到 了这个工具箱,并对它的使用进行了说明。 (2),gaot工具箱:这是网上流传的免费的工具 箱,网上对它介绍的资料也挺多,也不是Matlab软 件自带的,但可以自己配置使用。飞思科技产品研 发中心编著《Matlab 6.X辅助优化计算与设计》第 五章对gaot遗传算法工具箱的使用进行了介绍。
%建立初始种群,用序列代号的方法
➢ trace=zeros(MAXGEN,2); ➢ m=zeros(NIND,MAXGEN); ➢ sum=zeros(NIND,NVAR); ➢ all=zeros(NIND,1); ➢ ObjV=zeros(NIND,1); ➢ ObjVOff=zeros(NIND,1); ➢ gen=2;
subfolders/save/close将该工具箱文件夹放 入matlab文件夹的目录 ➢ 四.在file→Preferences→General的Toolbox Path Caching里点击update Toolbox Path Cache更新一下
2, gatbx工具箱常见函数
(1)初始种群的创建
例2,chrom=crtbp(2,6) chrom= 011001 001000 new=xovsp(chrom,1) new= 001000 011001
(5)变异
mut-二进制编码的变异 mutbga-十进制的变异 mutate-高级变异函数
(6)其他有用函数
reins-重组(有代沟时) bs2rv-二进制的解码 migrate-子种群的支持
fitnv=ranking(obj); selch=select(‘sus’,chrom,fitnv); selch=xovsp(selch,p1); selch=mut(selch,p2); var=bs2rv(selch,fieldd); obj=functionx(var); end
%创建初始种群 %解码 %求目标函数值
➢ for i=1:NIND
➢ for j=1:NVAR
➢
for k=1:NVAR
Ranking排序适应度 例1:chrom=crtbp(9,6)
➢0 ➢1 ➢1
0 10 00 00 1 01 00 01 0 11 00 01
(3,选择
rws-轮盘赌选择 sus-随机遍历抽样 select-高级选择函数
(4)交叉
xovsp-单点交叉 xovdp-两点交叉 xovsh-洗牌交叉 recombin-高级交叉函数
例3,chrom= 011001 001000 new1=mut(chrom,0.1) new1= 111001 001010
四,应用gatbx工具箱的基本求解步骤
chrom=crtbp(nind,nvar); var=bs2rv(chrom,fieldd); obj=functionx(var); %开始进化 while gen<maxgen
三, MATLAB遗传算法工具箱
(3),gads工具箱:matlab 7.0包含了这个工具 箱,matlab7.0以前的版本没有这个工具箱,雷英
杰 编著《Matlab遗传算法工具箱及应用》对这个工具 箱的使用进行了介绍。
遗传算法工具箱的安装
➢ 一.下载工具箱 ➢ 二.工具箱文件夹放入matlab文件夹的目录 ➢ 三.在文件/set path/add with
crtbp——二进制编码种群 Chrom= ➢0 0 1 1 0 0 1 0
crtrp——十进制编码种群 ➢ 0 1 1 0 0 0 0 1
➢1 1 1 1 1 1 0 1
(2)适应度计算
➢1 ➢1
0 10 10 11 1 00 00 10
Scaling比率适应度
➢1 ➢0
0 01 11 11 0 01 01 00
%分配适应度 %选择 %交叉 %变异 %生成新种群
五,一些实例
➢ 1,简单非线性规划
➢ 2,背包问题 ➢ 3,最小hamirton圈
我们所遇到的一些问题
➢ 遗传算法工具箱的安装 ➢ 注意MATLAB编程与C的区别 ➢ 调试过程中出现的一些奇怪的问题 ➢ 尽量的使用工具箱里的函数
我们的思路与方法
MATLAB遗传算法工具箱
二,关键操作
1,适应度计算及标定 4,交叉
2,编码
单点交叉,两点,多点
二进制,格雷码,
均匀交叉
十进制,符号编码
特殊(PMX,CX,EX)
3,选择
轮盘赌选择(rws) 均匀排序(ranking) 最优保存(代沟) 排挤选择(海明距离)
5,变异
基本位变异 均匀变异 非均匀变异(高斯变异) 逆转变异,交换变异
➢ XOVR=0.5; ➢ NVAR=16; ➢ MUTR=0.3; ➢ MAXGEN=1000; ➢ INSR=0.9; ➢ NIND=100; ➢ RANGE=[1;16]; ➢ a=0.8; ➢ c=1.44*1024; ➢ t=1000; ➢ u=[855 461 432 406 388 372 364 253 164 137 114 108 87 62 55 46]; ➢ v=['B1 ';'B2 ';'B3 ';'B4 ';'B5 '; 'B6 '; 'B7 '; 'B8 ';'B9 ';'B10';'B11';'B12';
FieldDR=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15]; BaseV=[16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16]; [Chrom,NVAR,BaseV]=crtbp(NIND,NVAR,Ba seV);
三, MATLAB遗传算法工具箱
1,三种常见工具箱 (1),gatbx工具箱:英国设菲尔德Sheffield大学 开发的gatbs工具箱,不是Matlab软件自带的,雷 英杰编著《Matlab遗传算法工具箱及应用》涉及到 了这个工具箱,并对它的使用进行了说明。 (2),gaot工具箱:这是网上流传的免费的工具 箱,网上对它介绍的资料也挺多,也不是Matlab软 件自带的,但可以自己配置使用。飞思科技产品研 发中心编著《Matlab 6.X辅助优化计算与设计》第 五章对gaot遗传算法工具箱的使用进行了介绍。
%建立初始种群,用序列代号的方法
➢ trace=zeros(MAXGEN,2); ➢ m=zeros(NIND,MAXGEN); ➢ sum=zeros(NIND,NVAR); ➢ all=zeros(NIND,1); ➢ ObjV=zeros(NIND,1); ➢ ObjVOff=zeros(NIND,1); ➢ gen=2;
subfolders/save/close将该工具箱文件夹放 入matlab文件夹的目录 ➢ 四.在file→Preferences→General的Toolbox Path Caching里点击update Toolbox Path Cache更新一下
2, gatbx工具箱常见函数
(1)初始种群的创建
例2,chrom=crtbp(2,6) chrom= 011001 001000 new=xovsp(chrom,1) new= 001000 011001
(5)变异
mut-二进制编码的变异 mutbga-十进制的变异 mutate-高级变异函数
(6)其他有用函数
reins-重组(有代沟时) bs2rv-二进制的解码 migrate-子种群的支持
fitnv=ranking(obj); selch=select(‘sus’,chrom,fitnv); selch=xovsp(selch,p1); selch=mut(selch,p2); var=bs2rv(selch,fieldd); obj=functionx(var); end
%创建初始种群 %解码 %求目标函数值
➢ for i=1:NIND
➢ for j=1:NVAR
➢
for k=1:NVAR
Ranking排序适应度 例1:chrom=crtbp(9,6)
➢0 ➢1 ➢1
0 10 00 00 1 01 00 01 0 11 00 01
(3,选择
rws-轮盘赌选择 sus-随机遍历抽样 select-高级选择函数
(4)交叉
xovsp-单点交叉 xovdp-两点交叉 xovsh-洗牌交叉 recombin-高级交叉函数
例3,chrom= 011001 001000 new1=mut(chrom,0.1) new1= 111001 001010
四,应用gatbx工具箱的基本求解步骤
chrom=crtbp(nind,nvar); var=bs2rv(chrom,fieldd); obj=functionx(var); %开始进化 while gen<maxgen
三, MATLAB遗传算法工具箱
(3),gads工具箱:matlab 7.0包含了这个工具 箱,matlab7.0以前的版本没有这个工具箱,雷英
杰 编著《Matlab遗传算法工具箱及应用》对这个工具 箱的使用进行了介绍。
遗传算法工具箱的安装
➢ 一.下载工具箱 ➢ 二.工具箱文件夹放入matlab文件夹的目录 ➢ 三.在文件/set path/add with
crtbp——二进制编码种群 Chrom= ➢0 0 1 1 0 0 1 0
crtrp——十进制编码种群 ➢ 0 1 1 0 0 0 0 1
➢1 1 1 1 1 1 0 1
(2)适应度计算
➢1 ➢1
0 10 10 11 1 00 00 10
Scaling比率适应度
➢1 ➢0
0 01 11 11 0 01 01 00
%分配适应度 %选择 %交叉 %变异 %生成新种群
五,一些实例
➢ 1,简单非线性规划
➢ 2,背包问题 ➢ 3,最小hamirton圈
我们所遇到的一些问题
➢ 遗传算法工具箱的安装 ➢ 注意MATLAB编程与C的区别 ➢ 调试过程中出现的一些奇怪的问题 ➢ 尽量的使用工具箱里的函数
我们的思路与方法
MATLAB遗传算法工具箱
二,关键操作
1,适应度计算及标定 4,交叉
2,编码
单点交叉,两点,多点
二进制,格雷码,
均匀交叉
十进制,符号编码
特殊(PMX,CX,EX)
3,选择
轮盘赌选择(rws) 均匀排序(ranking) 最优保存(代沟) 排挤选择(海明距离)
5,变异
基本位变异 均匀变异 非均匀变异(高斯变异) 逆转变异,交换变异
➢ XOVR=0.5; ➢ NVAR=16; ➢ MUTR=0.3; ➢ MAXGEN=1000; ➢ INSR=0.9; ➢ NIND=100; ➢ RANGE=[1;16]; ➢ a=0.8; ➢ c=1.44*1024; ➢ t=1000; ➢ u=[855 461 432 406 388 372 364 253 164 137 114 108 87 62 55 46]; ➢ v=['B1 ';'B2 ';'B3 ';'B4 ';'B5 '; 'B6 '; 'B7 '; 'B8 ';'B9 ';'B10';'B11';'B12';