我理解大多数现实世界的优化问题在搜索空间中都会有局部最优点,但有没有办法确定这一点呢?
如果我能确定没有局部最优点需要担心,我就可以安全地应用简单的爬山算法来解决问题,而不是使用更复杂的搜索算法,如遗传算法。
如果这个问题有点基础,请原谅我。
回答:
没有。
大多数现实世界的优化问题是NP难问题(NP-hard)的具体实例。“NP难”意味着每一个在最坏情况下可以快速验证其解的問題(“NP”)都可以被编码为一个特殊情况(“-hard”)。
我认为没有人知道任何针对NP难问题的爬山启发式方法,其中每一步都能在最坏情况下高效实现,并且最终总是能返回最优解。(我可能在这点上错了;这是一个比“我们不知道任何NP难问题的多项式时间算法”更强的说法,后者我更有把握。)
顺便说一句,如果你对寻找大规模难题的全局最优解感兴趣,我不建议过度依赖爬山算法、遗传算法、模拟退火等方法。如果你对寻找大规模简单问题的全局最优解感兴趣,我根本不建议使用这些方法。研究和利用问题的结构几乎总是有回报的,或者至少使用像混合整数规划或约束规划这样的框架,这些框架可以利用它所能找到的信息。