主要内容

什么是全局优化?

本地和全球Optima

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

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

  • 一个全球Minimum是函数值小于或等于所有其他可行点上的值的点。

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

相比之下,全局优化工具箱求解器的设计目的是通过一个以上的吸引盆地进行搜索。他们搜索的方式多种多样:

  • GlobalSearchMultiStart生成一些起点。然后,他们使用局部求解器在吸引点的盆地中找到最优解。

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

  • particleswarm,就像遗传算法,使用一组起点。particleswarm可以同时考察多个盆地,因为其人口多样性。

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

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

  • surrogateopt首先在一定范围内进行准随机抽样,寻找一个小的目标函数值。surrogateopt使用一个优值函数这在一定程度上给了那些远未被评估的分数以优先权,这是一种试图达成一个全局解决方案的尝试。当它不能改善当前点时,surrogateopt重置,使其再次在范围内广泛采样。重置是另一种方式surrogateopt寻找全局解决方案。

盆地的吸引力

如果目标函数fx矢量是平滑的吗——∇fx指向的方向fx减少最快。最速下降方程,即

d d t x t f x t

产生一个路径xt它的局部最小值是t变大。一般来说,初始值x(0)它们彼此很接近,给出趋向于相同最小值点的最陡下降路径。的盆地的吸引力对于最陡下降,是一组初始值导致相同的局部最小值。

下图显示了两个一维最小值。图中用不同的线形表示了不同的吸引盆地,并用箭头表示了下降最陡的方向。对于这幅图和随后的图,黑点表示局部极小值。每一条最陡峭的下坡路,从一个点开始x(0),去盆里的黑点x(0)

下图显示了最陡的下降路径如何在更多的维度上变得更加复杂。

下图显示了更复杂的吸引路径和盆地。

约束可以把一个吸引的盆地分解成几个部分。例如,考虑最小化y主题:

  • y≥|x|

  • y≥5 - 4(x2)2

图中显示了两种吸引池和最后的点。

生成图形的代码

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

相关的话题