欢迎光临本站!

简单遗传算法

来源:技术探讨    更新时间:2019-12-20 14:39:22    编辑:老王    浏览:2652
  设待优化函数为g(X),x是一个向量,它所有的可能的取值构成了该优化问题的变量空间,首先我们必须由g(X)构造出一个适应度函数f(X)=h(g(X)),该适应度函数的值域V图片.png表示全体非负实数的集合),并且要求它在g(X)取得最优值的点取得最大值。然后,我们就可以利用GAs在待优化问题的变量空间中搜素到一个使图片.png取得最大值的点X·,而该点也就是g(X)的最优点。

  算法具体的实现步骤如下

  1)确定遗传算法的参数:总个体数N,交叉概率P,变异概率Pn,代沟G。其中代沟G∈[0,1],它表示父代与子代有(图片.png(1-G)个个体重叠。

  2)初始化N个个体,并计算每个个体的适应度Fi,并根据参数G确定两代之间重叠的个体数 Noverlap。

  3)利用遗传算法的三个基本操作,以及参数Pc和Pm,对当前代的个体进行繁殖,产生(N-N图片.png)个新一代的个体。具体而言,首先利用选择复制( Reproduction)操作从当前代选出两个个体,第j个个体被选中的概率是:

  然后,对选出的个体进行交叉互换( Crossover)操作,最后,再对交叉互换后的个体进行基因变异( Mutation)操作,便得到了新一代的两个个体。

  4)从当代选出N图片.png个最高适应度的个体和3)中产生的(N-N图片.png)个新个体组合成下一代(子代),以保持总个体数N不变。

  5)如果达到设定的繁衍代数,则返回当前代适应度最高的个体所对应的变量空间的点X,作为优化结果;否则,回到3)继续繁衍下去。

评论区

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

相关内容

点击排行

随机新闻

评论排行榜