我有一个简单的无约束非凸优化问题。由于这些类型的问题有多个局部极小值,所以我正在寻找产生唯一/全局最小值的全局优化算法。在互联网上,我遇到了诸如遗传算法、模拟退火等全局优化算法,但是对于求解一个简单的一个变量不受约束的非凸优化问题,我认为使用这些高级算法似乎不是一个好主意。有人能推荐我一个简单的全局算法来解决这样简单的一个变量无约束的非凸优化问题吗?我将非常感谢关于这方面的想法。
发布于 2018-02-21 14:02:04
“因为这类问题有多个局部极小值”。这不是真的,真正的情况如下:
更大的情况是,确实有真正解决问题的方法(数值上和它们都很慢),但是有一个俚语叫方法,它不是必要的,它也调用函数的最小值作为“解决”。
如果您对函数值的某些精确性真正感兴趣,那么您可以关注方法,它称为branch-and-bound,它真正找到了最小值,我不认为这些算法能够解决问题,并在很强的意义上找到最小值:
将分支和界划分域划分为凸集并改进上/下界的基本思想,在您的情况下是区间。
您应该有一个例程来找到最优(最小)的上限。价值:你可以这样做,例如,只需采样子域,取最小值,或使用局部优化方法,从随机点开始。
但你也应该有最优(最小)的下界。以某种原则来衡量价值,这是很难做到的:
这是精巧的一步。
如果这两个值接近-我们将在其他情况下完成partion或细化分区。
获取关于子问题的下界和上界的信息,然后取最小。上界和最小值。儿童的下界。如果子返回更糟糕的下限,则可以由父级进行升级。
参考资料:
要获得更好的解释,请看: EE364B,第18课,教授。斯蒂芬·博伊德斯坦福大学。它可以在youtube和ITunes大学获得。如果你是新来的,我建议你去看看斯蒂芬·P·博伊德的EE263,EE364A,EE364B课程。你会喜欢的
发布于 2016-03-07 02:21:11
因为这是一个一维的问题,所以事情就更容易了。一个简单的最陡峭的下降过程可以使用如下。假设搜索的间隔为a<x<b
。
从最小化函数(例如f(x) )开始SD。恢复第一个最小Xm1。你应该用一个好的步骤,不要太大。通过添加一个正的小常数Xm1+ε来移动这一点。然后从这里开始,最大化f或最小化-f。你得到了f的最大值,你用ε来扭曲它,然后从那里开始,最小化,等等。
https://stackoverflow.com/questions/34740847
复制相似问题