基本遗传算法

本文介绍了基本遗传算法(SGA)的概念,包括染色体编码方法、个体适应度评价、遗传算子及其运行参数。适应度函数的选择、比例选择算子、单点交叉算子和基本位变异算子的详细过程被阐述,同时通过Rosenbrock函数的优化问题举例说明SGA的应用。
摘要由CSDN通过智能技术生成

本文为《遗传算法原理及应用》基本遗传算法学习总结。

一、前言

遗传算法有很多形式,其中较为简单的就是基本遗传算法(SGA)了,SGA 是其他遗传算法的基础。接下来我们介绍相关的知识。

二、基本遗传算法描述

我们首先介绍 SGA 的构成要素:

  1. 染色体编码方法。使用二进制字符串表示,等位基因由二值符号 { 0 , 1 } \{0,1\} { 0,1} 组成,初始种群的基因值满足均匀分布。
  2. 个体适应度评价。我们会根据个体适应度的大小对群体进行优胜劣汰,因为要以概率的形式接受个体,所以适应度必须 ≥ 0 ≥0 0。实际情况中需要自己设计。
  3. 遗传算子。SGA 只使用我们上篇文章说到的选择算子、交叉算子和变异算子。选择运算采用比例选择算子,即上篇文章中用个体适应度除以群体适应度总和;交叉运算采用单点交叉算子,只对染色体的一段进行交叉互换(而不考虑多段);变异运算采用基本位变异算子或均匀变异算子,即某些位发生基因突变。
  4. SGA 的运行参数。以下参数需通过反复实验尝试才能得到较好的结果。
    • M M M:群体大小,取20~100
    • T T T:终止进化代数,即迭代次数,取100~500
    • p c p_c pc:交叉概率,即发生交叉互换的概率,取0.4~0.99
    • p m p_m pm:变异概率,即个体产生基因突变的概率(而非每个基因座的突变概率),取0.0001~0.1

三、基本遗传算法的实现

接下来我们详细介绍 SGA 的构成要素。

  1. 染色体编码方法。

    (1)如 X = 1010 X=1010 X=1010 为个体基因型,可表示一个个体;
    (2)染色体长度通常取二进制值域刚好能满足可行域的位数(有时也可取一半的离散点):

    2 m < ( U m a x − U m i n ) × 1 0 S < 2 n 2^m<(U_{max}-U_{min})×10^S<2^n 2m<(UmaxUmin)×10S<2n

    对应二进制编码位数为 n n n U m a x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值