Algorithm 遗传算法和迭代局部搜索算法有什么区别?

Algorithm 遗传算法和迭代局部搜索算法有什么区别?,algorithm,optimization,genetic-algorithm,Algorithm,Optimization,Genetic Algorithm,我基本上是在尝试使用遗传算法或迭代局部搜索算法来获得问题的最优解。有人能解释一下这两种算法之间的基本区别吗?有没有一种算法比另一种更好的情况?让我从第二个问题开始。我相信,没有任何尝试和测试,就无法为给定问题确定更好的算法。算法的行为在很大程度上取决于问题的属性。如果我们谈论的是具有成百上千个变量的复杂问题,那么预测任何事情都太难了。我不是说你的工程师的直觉,一些深刻的问题理解,以前的经验,等等,它们不是真正可以测量的 全局搜索和局部搜索之间的主要区别非常简单-局部搜索在单个时间点只考虑一个或几

我基本上是在尝试使用遗传算法或迭代局部搜索算法来获得问题的最优解。有人能解释一下这两种算法之间的基本区别吗?有没有一种算法比另一种更好的情况?

让我从第二个问题开始。我相信,没有任何尝试和测试,就无法为给定问题确定更好的算法。算法的行为在很大程度上取决于问题的属性。如果我们谈论的是具有成百上千个变量的复杂问题,那么预测任何事情都太难了。我不是说你的工程师的直觉,一些深刻的问题理解,以前的经验,等等,它们不是真正可以测量的


全局搜索和局部搜索之间的主要区别非常简单-局部搜索在单个时间点只考虑一个或几个可能的解决方案,并尝试通过一些修改来改进它们。因此,每次迭代只考虑搜索空间的一小部分=局部邻域。全局搜索试图同时考虑整个问题及其所有参数。例如,对大量候选样本进行采样,并尝试使用一些简单的公式将所有候选样本移动到全局最优方向。

这些启发式算法通常不会找到最优解,即使它们是偶然找到的,您也不知道解是否是最优的。他们很快就能找到好的解决方案。