遗传算法
使用二进制
初始化->选择算子->交叉算子->变异算子->选择算子
初始化
基本参数
群体大小20-100
进化代数100-500
交叉概率0.4-0.99
变异概率取0.0001-0.1
这4个运行参数对遗传算法的结果和求解效率都有一定影响,但是没有理论依据,需要进行多次试算才能确定参数合理大小和取值范围
基本遗传算法定义
$$
SGA=(C, E, P_0, M, \Phi, R, \Psi, T) \C—–个体的编码方法 \E——个体适应度评价函数 \P_0—初始群体 \M—–群体大小 \\Phi—-选择算子\R—-交叉算子 \\Psi—-变异算子 \T—-遗传运算终止条件 \
$$
个体适应度评价
目标函数求最大值
定义一个较小的值C,目标函数值-C
C:
预先指定一个较小的值
当前代的最小值的目标函数值
最近几代中最小目标函数值
目标函数求最大值
定义一个较大的值C,C-目标函数值
C:
预先指定一个较大的值
当前代的最大值的目标函数值
最近几代中最大目标函数值
比例选择算子
先计算出群体中所有个体适应度的总和
计算出每个个体的相对适应度,既为各个个体被遗传到下一代群体中的概率
模拟赌盘操作,来确定各个个体被选中的次数
单点交叉算子
对群体中的个体两两随机配对
对配对的个体随机数配置一个基因座,
基因座后面的位置参数进行置换,生成两个新的个体
变异算子
对每个编码为随机生成一个(0,1)小数,
如果小于变异概率不变异,大于就取反变异
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 zoubinbf@163.com