我们在 GA 优化过程中使用哪些技术真的很重要吗?例如,如果我使用轮盘赌技术而不是锦标赛方法进行选择,两点交叉而不是单点交叉,假设用单点突变而不是反转方法进行突变,我仍然会得到相同的结果吗?最佳解决方案?为什么这很重要,我们如何决定在每个步骤中使用哪些方法?
如何决定在遗传算法优化中采用哪些技术
计算科学
优化
遗传算法
2021-12-06 08:55:42
1个回答
GA 优化被认为是一种元启发式算法,根据为初始化、选择、变异和交叉选择的算法以及每个步骤的参数,在特定运行中可能会获得不同的最优解。使用 GA,很少有人将其作为单遍执行。除非任何可行的解决方案(不一定非常接近最优)是一个目标。
尽管对于很多问题,获得的解决方案会彼此接近,但 GA 倾向于收敛到局部最优而不是全局最优。存在多种技术来纠正/利用这种行为,从选择 GA 基本操作及其参数的方法到简单的多次运行 GA 优化,在不同的似然最优区域播种初始种群。
现在,对于不同的技术,GA 的收敛性会有很大的不同;因此,要收敛的人口数量,所需的人口样本将有很大差异。此外,不同的技术对各种问题和适应度函数类型的表现也大不相同。
遗传算法优化的多种方法和参数可以通过它们的元启发式性质来解释。如果没有针对特定问题的 GA 性能的已知研究,则必须逐个尝试这些选项,以便在适当的时间内获得所需质量的可行解决方案。
对于特定的应用,您可能会发现现有文献讨论了不同的选项及其性能——有了经验,人们可以开始建立联系并找到不同应用领域之间的相似之处。但是,一般来说,基本 GA 步骤的方法选择是反复试验,除非另有说明。