寻优算法(1) | 您所在的位置:网站首页 › 如何用matlab求函数最大值和最小值写代码 › 寻优算法(1) |
遗传算法是仿照了达尔文的生物进化概念:“物竞天择,适者生存” 选择:选择更适合生存者,淘汰劣势者。 交叉:下一代获得父母的基因片段,以得到更加优良的基因。 变异:光靠父母的基因不一定能够生存下来,环境等影响会造成基因的变异,使得其能跳出父母基因的限制,得到更适合生存的基因。 经过这样一轮轮的选择,优良的基因(自变量)就被选择出来了。 概率选择:自然界中,越适应的个体就越有可能繁殖后代。但是也不能说适应度越高的就肯定后代越多,只能是从概率上来说更多。对于上述三点“选择,交叉,变异”,遗传算法并不是(并不是劣势者就一定会被淘汰)常规的算法那种得到的值比其他值差就淘汰,而是给一个概率(谁说劣势者就一定会灭亡,它也有生存下去的可能,只是生存的几率低罢了),这个概率取决于个体的适应度大小(优化算法中即所得到的目标函数大小),这里使用轮盘赌来进行选择
添加概率选择后,算法便多了可选择性,有了更多的可能,更容易跳出局部最优解。 下图是遗传算法的结构图 其中,GEN是当前代数;M是种群规模,i代表种群数量。 |
CopyRight 2018-2019 实验室设备网 版权所有 |