主要内容

模式搜索攀登华盛顿山

此示例在视觉上显示模式搜索如何优化函数。该功能是华盛顿山附近地形的高度,作为X-Y位置的函数。为了找到华盛顿山的顶部,我们最大限度地减少了高度负面的目标函数。(在这个例子中的华盛顿山是美国东北部的最高峰。)

美国地质调查在网格上的X-Y位置的函数提供了关于地形高度的数据。为了能够在任意点处评估高度,目标函数将高度与附近网格点的高度进行插入。

当然,它将更快地找到网格上指定的高度的最大值,使用最大限度功能。这个例子的重点是展示模式搜索算法如何运行;它适用于在连续区域定义的函数,而不仅仅是网格点。此外,如果评估目标函数的计算昂贵,则根据需要在完整的网格上执行此评估最大限度功能,将比使用模式搜索算法的效率低得多,该算法采样一小部分网格点。

模式搜索如何运作

模式搜索通过以下方法查找目标函数的本地最小值,称为轮询。在本说明书中,描述模式搜索量的单词以粗体。搜索以初始点开始,拍摄当前点在第一步:

1.生成A.图案点,通常是坐标方向,时间a网格尺寸,并将这种模式中心当前点

2.评估每个点的目标函数图案

3.如果最低目标图案低于该价值当前点,轮询是成功的,并发生以下情况:

3A。找到的最小点成为当前点

3B。这网格尺寸加倍。

3C。该算法进行到步骤1。

4.如果调查不是成功的,然后发生以下情况:

4a。这网格尺寸减半。

4B。如果是网格尺寸低于阈值,迭代停止。

4C。否则,这是当前点保留,并且算法在步骤1进行。

这种简单的算法,具有一些微小的修改,提供了一种用于优化的稳健和直接的方法。它不需要目标函数的梯度。它也借给了约束,但这个例子和描述只处理了不受约束的问题。

准备模式搜索

要准备模式搜索,请加载数据mtwashington.mat,其中包含472×345个网格上的USGS数据。仰角Z,Z Z,以英尺为单位。矢量x和y分别包含东北方向上网格间距的基本值。数据文件还包含搜索的起点x0。

加载mtwashington.

有三个MATLAB文件执行目标函数的计算和绘图例程。他们是:

1。Terrainfun,它在任何X-Y位置评估高度的负面。Terrainfun使用MATLAB®功能interp2.执行二维线性插值。它需要z数据,并使所有x-y点的高度的负面评估。

2。PsOutputwashington.,它绘制了一个三维渲染的Mt.华盛顿。另外,随着运行的进展,它围绕每个点围绕比以前访问的点更好(更高)的球体。

3.Psplotwashington.,它绘制了山的轮廓图。华盛顿,并监控控制运行速度的滑块。它显示了模式搜索算法通过在这些点处绘制+符号来查找最佳状态。它还围绕每个点绘制了比以前访问的点更好的球体。

在该示例中,PatternSearch.用途Terrainfun作为目标职能,PsOutputwashington.作为输出功能,和Psplotwashington.作为绘图功能。我们准备要传递给的功能PatternSearch.在匿名函数语法中:

mtwashobjectivefcn = @(xx)terrainfun(xx,x,y,z);mtwashoutputfcn = @(xx,arg1,arg2)psOutputwashington(xx,arg1,arg2,x,y,z);mtwashplotfcn = @(xx,arg1)psplotwashington(xx,arg1,x,y,z);

模式搜索选项设置

接下来,我们创建模式搜索的选项。这组选项具有算法停止当网格大小缩小1时,保持网格未划分(每个方向上的相同大小),将初始网格大小设置为10,并设置输出功能和绘图功能:

选项= Optimoptions(@patternsearch,'meshtolerance',1,'scalemesh',错误的,......'initialmeshsize'10,'USECOMPLETEPOLL',真的,'plotfcn',mtwashplotfcn,......'outputfcn',mtwashoutputfcn,'undervectorized',真的);

观察模式搜索的进度

运行此示例时,您会看到两个窗口。一个数字显示模式搜索算法在华盛顿山的二维轮廓图上选择的点。此窗口具有控制算法的迭代之间的延迟的滑块(当在描述模式搜索工作的描述时返回步骤1)。将滑块设置为低位置以加速运行,或高位以慢速运行。

另一个窗口显示了华盛顿山的三维图,以及图案搜索算法的步骤。您可以在运行进展以获得不同视图时旋转此绘图。

[Xfinal ffinal] = patternsearch(mtwashobjectivefcn,x0,[],[],[],[],[],......[],[],选项)
优化终止:网格尺寸小于options.meshtolerance。

图案模式搜索包含轴。具有白色山脉标题图形图的轴包含98个类型的轮廓,线。

图白色山脉包含轴。带有标题白色山脉的轴包含51个类型的表面,线。

Xfinal =1×2316130 4904295
ffinal = -6280.

最后一点,Xfinal.,显示模式搜索算法完成的位置;这是华盛顿山顶部的X-Y位置。最终目标函数,Ffinal.,是华盛顿山,6280英尺的高度的负面。(根据华盛顿山观测台,这应该是6288英尺)。

检查文件Terrainfun.M.M.PsOutputwashington.m., 和psplotwashington.m.看看插值和图形如何工作。

模式搜索算法有许多选项。例如,该算法可以采取第一点,它发现是一种改进,而不是轮询模式中的所有点。它可以调查各种订单中的点。它可以使用不同的轮询模式,包括确定性和随机。有关详细信息,请参阅全局优化工具箱用户指南。

相关话题