多个本地搜索算法,用于查找全局最优

时间:2017-11-17 12:16:37

标签: java algorithm evolutionary-algorithm simulated-annealing hill-climbing

所以我对整个进化和遗传算法世界都很陌生,现在我正在编写一个将优化数组并返回最佳解决方案 - 健身的过程。

我的算法现在通过模拟退火优化,我可以改变冷却速度和起始温度来改变人口的压力和多样性以获得不同的结果,它工作得很好。我的问题是,在一种算法中使用两种不同的局部搜索是否可行?假设我将迭代次数限制为5000。是否值得使用4000进行模拟退火,然后将其余的1000用于爬山者本地搜索,以便从第一次本地搜索中找到的值找到最佳解决方案?或者在一种算法中使用两种不同的本地搜索而不是标准实践?我是这个编程世界的新手,所以我愿意接受任何建议!

1 个答案:

答案 0 :(得分:0)

我使用刺激退火(SA)来帮助我优化三角洲式3D打印机中的误差估计。我正在使用34自由度误差函数来采样误差图。我运行了300万次SA,然后爬山(HC)。 HC减少了误差(成本)函数值。我不知道这是常见的,但它对我有用。 典型结果:原始误差函数,150。在SA之后,18。在HC之后,2。