一.工具箱整体结构
1.创建种群
crtbase 创建基向量
crtbp 创建任意离散随机种群
crtrp 创建实值初始种群
2.适应度计算
ranking 常用的基于秩的适应度计算
scaling 比率适应度计算
3.选择函数
reins 一致随机和基于适应度的重插入
rws 轮盘选择
select 高级选择例程
sus 随机遍历采样
4.变异算子
mut 离散变异
mutate 高级变异函数
mutbga 实值变异
5.交叉算子
recdis 离散重组
recint 中间重组
reclin 线性重组
recmut 具有变异特征的线性重组
recombin 高级重组算子
xovdp 两点交叉算子
xovdprs 减少代理的两点交叉
xovmp 通常多点交叉
xovsh 洗牌交叉
xovshrs 减少代理的洗牌交叉
xovsp 单点交叉
sovsprs 减少代理的单点交叉
6.子种群的支持
migrate 在子种群间交换个体
7.实用函数
bs2rv 二进制串到实值
rep 矩阵的复制
%% 编码与解码
1.crtbp
功能:创建初始种群(不一定是二进制),符合一定要求(比如基因位)
eg:
BaseV = crtbase([4,5],[8,4]) %创建基向量,前4个为基数为8的基本字符;后5个为基数为4的基本字符
[Chrom, Lind, BaseV]=crtbp(6,BaseV) %crtrp是GA工具箱的一个M文件,它使用了MATLAB随机函数rand.
运行结果为:
chrom = {}一个6*9的大矩阵;
lind = 9;
BaseV = [8 8 8 8 4 4 4 4 4]
2.crtrp
功能:创建实值种群
eg:创建一个具有6个个体每个个体有4个变量的随机种群.
FieldDR=[-100, ]为2*4的矩阵,上一行代表下界,第二行代表上界.
Chrom = crtrp(6,FieldDR);
3.bs2rv
功能:二进制串到实值的转换
Chrom = crtbp(4,8) %创建任意染色体,
FieldD = [8; -1; 10; 1; 0; 1; 1] %区域描述器,包括边界
Phen = bs2rv(Chrom, FieldD) %转换二进制到实值