智能算法 - GA

智能算法——GA(遗传算法)

这是GA算法,在原有的基础上加上了一些改进:高斯变异,简单的竞标赛选择,多点交配和最简单的自适应模型。

高斯变异:

变异不再是随机地生成一个范围内的数,而是通过高斯分布(正态分布),在原有点的周围产生一个新的点,然后继续计算。这改进可以有效提高算法性能。

简单的随机竞标赛选择:

不同以往的选择。改进的选择方式是:每次挑选两组解,然后比较哪一组的适应值更好,好的进入新的种群,直到到达数目。这只是最简单的随机竞标赛,还可以进一步改进。但可以提高算法的搜索空间。

多点交配:

交配不再只是一个点,而是多个点,把“染色体”分段,一段交配一段不交配,直到染色体末尾。

自适应模型

采用的是最简单的自适应,即,每次迭代之后,如果全局最优解有提高,则保持参数,如果没有,适当增加。这种方式过于简单,还可以进一步改进。

精英更新

每次挑解中最好的,如果比当前全局最优解好,则更新。如果不是,则将当前最差解,替换成最优解。

算法流程图:

算法流程图

源码的评价函数的图像:

函数图像

调参过程

调参

发现好像变化不大。可能是评价函数维度太少,过于简单导致。

详细可以看GitHub

欢迎大家指正错误

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Messy GA算法是一种基于遗传算法(Genetic Algorithm)的优化算法。基于遗传算法原理的优化算法是通过模拟生物进化过程来寻找最优解的方法。而Messy GA算法则是对传统遗传算法的一种改进。 Messy GA算法的核心思想是引入不确定性变量,也就是“杂成性”。杂成性是指在染色体的每个位置上可能存在多个基因的情况。这样一来,一个个体的基因序列就不再是固定的,而是可以从多个可能的基因中选择。 Messy GA算法之所以引入杂成性,是为了增加搜索空间的多样性,提高算法的全局搜索能力。杂成性让每个个体都具有更多的选择空间,在交叉和突变操作时,可以选择更多的基因组合,以期得到更好的解。 然而,Messy GA算法也存在一些问题。首先,由于增加了不确定性,个体的基因串变得更长,从而导致搜索空间的维度增加。这会使得算法的收敛速度变慢,搜索效率下降。此外,由于杂成性使得个体的基因表达不再唯一,使得个体之间的比较和选择变得困难。 为了解决这些问题,Messy GA算法还可以与其他优化算法相结合,如模拟退火算法、粒子群优化算法等,以增强搜索的效果。另外,通过适当的参数设置和策略调整,也可以在一定程度上改善算法的性能。 总之,Messy GA算法在遗传算法的基础上引入了杂成性,以增加搜索空间的多样性,提高全局搜索能力。虽然算法存在一些问题,但通过与其他优化算法的结合和参数调整,可以优化算法的性能,提高搜索效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值