网站首页 > 技术文章 正文
遗传算法中的遗传操作是模拟生物基因遗传的操作,通过编码组成初始群体后,遗传操作的主要任务是对群体的个体按照它们对环境适应的程度施加一定的操作,从而实现优胜劣汰的进化过程。遗传操作包括以下三个基本遗传算子:选择算子、交换算子、变异算子。
选择算子:从群体中选择优良个体,淘汰劣质个体的操作叫选择。选择的目的是把优良个体(或解)直接遗传到下一代或通过配对交换产生新的个体再遗传到下一代。目前最基本、最常用的是适应度比例方法。在该方法中,各个体的选择概率和其适应度值成比例,选择概率反映了个体的适应度在整个群体的个体适应度总和中所占的比例。个体适应度越大,其被选择的概率就越高。
交换算子:交换算子的设计一般与所求解的具体问题有关,无论设计何种交换算子均需考虑如下条件:任何交换算子保证前一代中优秀个体的性状能在后一代的新个体中尽可能得到遗传和继承;要使设计出的交换算子能满足上述要求,交换算子设计和编码设计需协调操作;对二进制编码而言,经选择操作后,对个体随机配对并按预先设定的交换概率来决定每对是否需要进行交换操作;设定配对个体的交换点,并对这些点前后的配对个体的部分结构进行相互交。基本的交换方法包括一点交换和两点交换。
变异算子:变异算子的基本内容是对群体中的个体串的某些基因座上的基因值作变动。就基于字符集0,1的二值编码而言,变异操作就是把某些基因座上的基因值取反,即1→0或0→1。一般,变异算子操作的基本步骤是首先在群体中所有个体的码串范围内随机地确定基因座,然后以事先设定的变异概率来对这些基因座上的基因值进行变异。
遗传算法中,交换算子因其全局搜索能力而作为主要算子,变异算子因其局部搜索能力而作为辅助算子。遗传算法通过交换和变异这一对相互配合又相互竞争的操作而使其具备兼顾全局和局部的均衡搜索能力。
猜你喜欢
- 2024-10-09 遗传算法优化模糊规则和隶属度函数方法及代码实现(一)
- 2024-10-09 基因表达式编程GEP— 第二部分 遗传算法示例与GEP设计思想
- 2024-10-09 遗传算法优化Prony电力系统谐波检测的研究
- 2024-10-09 遗传算法(Python) 遗传算法Python如何计划两个累加的函数
- 2024-10-09 建模算法-遗传算法学习 数学建模基因遗传论文
- 2024-10-09 遗传算法的二次分配问题 遗传算法求解过程
- 2024-10-09 优化|遗传算法和深度强化学习的结合会是新的方向吗?
- 2024-10-09 遗传算法:组合优化算法,按照进化论的方式启发搜索寻优解
- 2024-10-09 浅谈遗传算法中适应性函数的设计思路
- 2024-10-09 npj: 新材料发现—机器学习加速遗传算法
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)