优化算法-遗传算法

一、概念

遗传算法GA:遗传算法基于达尔文的进化论,模拟了自然选择,物竞天择、适者生存,通过N代的遗传、变异、交叉、复制,进化出问题的最优解。

交叉、变异、然后择优录取

二、编码

将问题的可行解抽象成为可以被遗传算法使用的形式,需要根据不同的问题进行不同的抽象选择

常用的方式为:二进制编码:用二进制的串来表示一个十进制的数值

eg:给定数值解范围为[1,10],为每个数值分配一个独一无二的二进制串,但串会有精度问题(精度指的是两个实数解的间隔)

如果想实现每一个数值都能分配一个独一无二串,那么串所能表示的数值个数需要大于等于数值解的个数

如果我们有一个长度为n的串,则能表示2**n个数字

三、解码

扫描二维码关注公众号,回复: 16990719 查看本文章

四、复制-产生新解的一种方式-有多种多样的方式-常用的是轮盘赌法 

轮盘赌的思想:适应度越高的解,按道理应该以高概率进行复制,且复制的份数应该越多

 

五、交叉 ,常用1和2、3和4 以一定的概率进行交叉,随机选取一段进行交叉

六、变异-一般只对适应度不好的后半部分进行变异 ,按照一定的概率决定该个体是否变异,如果变异,随机选择一个位点进行变异,即按位取反。

启发式的算法基本思路:首先是根据了上一次的结果进行分析,其次是基本思想都是择优进化,好的根据一定策略实现更好,坏的根据一定的策略向好的方向发展,如果产生的新解不好,那么就不进行更新了,起码有一个保底,在使用最优算法的时候,需要保证一定空间搜索能力,保证不陷入局部最优的问题。

基本思路可以归纳为:随机选择一个初始解,每次循环再生成一个新解,如果新解好则更新,不好则保留旧解

最重要的方法是:产生新解的方式

参考:b站BV14a411C7s8 up主:青青草原灰太狼 

猜你喜欢

转载自blog.csdn.net/weixin_68479946/article/details/129025994