遗传算法(C++).docVIP

  • 9
  • 0
  • 约1.74万字
  • 约 10页
  • 2016-06-21 发布于重庆
  • 举报
遗传算法(C)

???遗传算法(Genetic Algorithm,缩写为GA)是一种有效的解决最优化问题的方法。它最先是由John Holland于1975年提出的。从那以后,它逐渐发展成为一种通过模拟自然进化过程解决最优化问题的计算模型。 ????利用遗传算法解最优化问题,首先应对可行域中的点进行编码(一般采用二进制编码),然后在可行域中随机挑选一些编码组成作为进化起点的第一代编码组,并计算每个解的目标函数值,也就是编码的适应度。接着就像自然界中一样,利用选择机制从编码组中随机挑选编码作为繁殖过程前的编码样本。选择机制应保证适应度较高的解能够保留较多的样本;而适应度较低的解则保留较少的样本,甚至被淘汰。在接下去的繁殖过程中,遗传算法提供了交叉和变异两种算子对挑选后的样本进行交换。交叉算子交换随机挑选的两个编码的某些位,变异算子则直接对一个编码中的随机挑选的某一位进行反转。这样通过选择和繁殖就产生了下一代编码组。重复上述选择和繁殖过程,直到结束条件得到满足为止。进化过程最后一代中的最优解就是用遗传算法解最优化问题所得到的最终结果。 从以上介绍可以看出,GA算法具有下述特点: 1)GA是对问题参数的编码组进行进货,而不是直接对参数本身。 21)GA的搜索是从问题解的编码组开始搜索,而不是从单个解开始。 31)GA使用目标函数值(适应度)这一信息进行搜索,而不需导数等其他信息。 4)GA算

文档评论(0)

1亿VIP精品文档

相关文档