主要内容

什么是全局优化?

局部优化与全局优化

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

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

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

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

相比之下,全局优化工具箱求解器被设计成通过多个吸引点进行搜索。他们用不同的方式搜索:

  • 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。

相关的话题