优化是找到使函数最小化的点的过程。更具体地说:
一个当地的函数的最小值是一个函数值小于或等于附近点的值,但可能大于远处点的值的点。
一个全球最小值是函数值小于或等于所有其他可行点的值。
通常,最优化工具箱™求解器会找到一个局部最优解。(这个局部最优可以是全局最优。)他们在盆地的吸引力起点。有关更多信息,请参见盆地的吸引力.
相比之下,全局优化工具箱求解器被设计成通过多个吸引点进行搜索。他们用不同的方式搜索:
GlobalSearch
和MultiStart
生成一些起始点。然后他们使用一个局部解算器在起点的吸引力盆地中找到最优。
遗传算法
使用一组起始点(称为总体),并从总体中迭代生成更好的点。只要最初的人口覆盖了几个盆地,遗传算法
可以检查几个盆地。
particleswarm
,就像遗传算法
,使用一组起点。particleswarm
由于人口的多样性,可以同时考察多个盆地。
simulannealbnd
执行随机搜索。一般来说,simulannealbnd
接受一个比前一个更好的观点。simulannealbnd
为了到达另一个盆地,偶尔也会接受较差的分数。
patternsearch
在接受一个点之前,要先看几个相邻点。如果一些相邻的点属于不同的盆地,patternsearch
从本质上说,是同时在多个盆地中寻找。
surrogateopt
从准随机抽样的范围内开始,寻找一个小的目标函数值。surrogateopt
使用一个优值函数在某种程度上,这让人们更倾向于那些离评估点很远的点,这是一种达成全局解决方案的尝试。在不能改进当前点之后,surrogateopt
重置,使它再次在范围内广泛采样。重置是另一种方式surrogateopt
寻找全局解决方案。
如果一个目标函数f(x)是平滑的矢量吗——∇f(x)指向那个方向f(x)减少最快。最陡下降方程,即
产生一个路径x(t)它趋于局部极小值t变大。一般来说,初始值x(0)它们之间的距离越近,下降路径越陡,趋于同一最小值点。的盆地的吸引力对于最陡下降法来说,它是导致相同局部最小值的初值集。
下图显示了两个一维极小值。图中显示了不同的吸引盆地,不同的线条风格,用箭头表示了最陡下降的方向。对于这幅图和随后的图,黑点表示局部极小值。每一条最陡峭的下降路径,从一个点开始x(0),走到装有黑点的盆里x(0).
下图显示了最陡的下降路径在更大的维度中是如何变得更加复杂的。
下图显示了更复杂的吸引路径和吸引盆地。
约束可以把一个吸引的盆地分解成几个部分。例如,考虑最小化y主题:
y≥|x|
y≥5 - 4(x2)2.
图中显示了两个具有最终点的吸引盆地。
最陡的下降路径是一直到约束边界的直线。从约束边界开始,最陡的下降路径沿边界向下移动。最后一个点是(0,0)或(11/4,11/4),取决于初始值x-value大于或小于2。