什么是全局优化?

本地与全局优化

优化是找到使函数最小化的点的过程。更具体地说:

  • 一个当地的函数的最小值是指函数值小于或等于附近点的值,但可能大于远处点的值。

  • 一个全球最小值是指函数值小于或等于其它所有可行点的值。

通常,优化工具箱™求解器会找到一个局部最优值。(这个局部最优值可以是全局最优值。)他们找到了最优的吸引盆的起点。欲了解更多信息,请参阅盆地的吸引力

相反,全局优化工具箱解决方案的设计是为了搜索超过一个盆地的吸引力。它们以不同的方式搜寻:

  • GlobalSearchMultiStart生成一些起始点。然后,他们使用一个局部解算器在起点的引力池中找到最优解。

  • 遗传算法使用一组起始点(称为总体)并迭代地从总体生成更好的点。只要最初的人口覆盖了几个流域,遗传算法可以检查几个盆地。

  • particleswarm,就像遗传算法,使用一组起始点。particleswarm可以检查一次几个盆地,因为它的多元化的人口。

  • simulannealbnd执行随机搜索。一般来说,simulannealbnd接受一个比前一个更好的点。simulannealbnd偶尔接受差了点,以达到不同的盆地。

  • patternsearch在接受其中一个点之前,先看几个相邻的点。如果一些相邻的点属于不同的盆地,patternsearch从本质上看,它是同时在几个盆地中寻找的。

  • surrogateopt开始于准随机取样范围内,找一个小目标函数值。surrogateopt使用一个优值函数这在一定程度上优先考虑了远离被评估点的点,这是一种试图达到全局解决方案的尝试。在它不能改善当前点之后,surrogateopt重置,使其再次在范围内广泛采样。重置是另一种方法surrogateopt搜索全局解决方案。

盆地的吸引力

如果一个目标函数f(x)向量是光滑的吗——∇f(x)的方向,其中分f(x)减少最快。最陡下降方程,即

d d t x ( t ) = f ( x ( t ) ) ,

产生一个路径x(t)这都到了当地最低为t变大。一般来说,初始值x(0)相互接近的点给出了倾向于相同最小值点的最陡峭的下降路径。的吸引盆对于最陡下降,是导致相同局部最小值的一组初始值。

下图显示了两个一维极小值。图中显示了具有不同线条样式的吸引力的不同盆地,以及用箭头表示的最陡峭的下降方向。对于这个和后面的图,黑点表示局部极小值。每一条最陡的下降路径,从一点开始x(0),转到盛载水的盆子内的黑点x(0)

下图显示了如何最速下降路径可能更复杂更尺寸。

如下图所示更复杂的路径和吸引力的盆地。

约束可以把一个吸引力的盆地分解成几个部分。例如,考虑最小化y符合以下条件:

  • y≥|x|

  • y≥5 - 4(x-2)2

图中显示的吸引力与最后一站,这两个盆地。

代码生成图

最陡的下降路径是到约束边界的直线。从约束边界开始,最陡的下降路径沿边界向下移动。最后一点是(0,0)或(11/4,11/4),这取决于初始点是否x-值大于或小于2。

相关话题