【智能优化算法应用】01遗传算法应用
作者:康慎吾
- 遗传算法流程

- 遗传学与遗传算法术语对应关系

- 遗传操作
选择算子:select
交叉算子:recombin
变异算子:mut - 交叉算子:
(1)单切点交叉

(2)双切点交叉

- 创建一个种群大小为5,个体长度为8,各位的二进制数分别为
>> [Chrom, Lind, BaseV]=crtbp(5,8,[2 3 4 5 6 7 8 9])
Chrom =
1 0 0 0 3 5 5 7
1 0 3 2 0 5 0 6
0 1 3 4 5 2 2 2
1 2 1 3 5 4 0 8
1 2 3 4 4 1 0 0
Lind =
8
BaseV =
2 3 4 5 6 7 8 9
- 使用线性排序和压差为2估算适应度
>> ObjV=[1;2;3;4;5;10;9;8;7;6];
>> FitnV=ranking(ObjV);
%or>> FitnV=ranking(ObjV,[2, 0])
%or>> FitnV=ranking(ObjV, [2, 0], 1)
FitnV =
2.0000
1.7778
1.5556
1.3333
1.1111
0
0.2222
0.4444
0.6667
0.8889
注意:ranking是求解最小值的,即目标值越小,适应度越大。
- 实用函数——rep
功能:矩阵复制。
调用格式 MatOut=rep(MatIn,REPN)
函数rep完成矩阵MatIn的复制,REPN指明复制次数,返回复制后的矩阵MatOut。
REPN包含每个方向的复制次数,REPN(1)表示纵向复制次数,REPN(2)表示水平方向复制次数。
%使用函数rep复制矩阵MatIn
>> MatIn=[1 2 3 4;5 6 7 8]
MatIn =
1 2 3 4
5 6 7 8
>> MatOut=rep(MatIn,[1,2])
MatOut =
1 2 3 4 1 2 3 4
5 6 7 8 5 6 7 8
>> MatOut=rep(MatIn,[2,1])
MatOut =
1 2 3 4
5 6 7 8
1 2 3 4
5 6 7 8

浙公网安备 33010602011771号