寻优算法(1) 您所在的位置:网站首页 如何用matlab求函数最大值和最小值写代码 寻优算法(1)

寻优算法(1)

2024-06-30 08:34| 来源: 网络整理| 查看: 265

遗传算法是仿照了达尔文的生物进化概念:“物竞天择,适者生存”

选择:选择更适合生存者,淘汰劣势者。

交叉:下一代获得父母的基因片段,以得到更加优良的基因。

变异:光靠父母的基因不一定能够生存下来,环境等影响会造成基因的变异,使得其能跳出父母基因的限制,得到更适合生存的基因。

经过这样一轮轮的选择,优良的基因(自变量)就被选择出来了。

概率选择:自然界中,越适应的个体就越有可能繁殖后代。但是也不能说适应度越高的就肯定后代越多,只能是从概率上来说更多。对于上述三点“选择,交叉,变异”,遗传算法并不是(并不是劣势者就一定会被淘汰)常规的算法那种得到的值比其他值差就淘汰,而是给一个概率(谁说劣势者就一定会灭亡,它也有生存下去的可能,只是生存的几率低罢了),这个概率取决于个体的适应度大小(优化算法中即所得到的目标函数大小),这里使用轮盘赌来进行选择

在这里插入图片描述 适者生存下来的概率大些,但概率小的也不见得不能生存下来。你可以想象一下,我们转动轮盘,轮盘停下来的时候,指针会随机地指向某一个个体所代表的区域,那么非常幸运地,这个个体被选中了(很明显,适应度评分越高的个体被选中的概率越大)。

添加概率选择后,算法便多了可选择性,有了更多的可能,更容易跳出局部最优解。

下图是遗传算法的结构图。

其中,GEN是当前代数;M是种群规模,i代表种群数量。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有