主要内容

搜索和轮询

搜索的定义

Patternsearch., 一种搜索是在轮询之前运行的算法。搜索试图找到一个比当前点更好的点。(较好是指目标函数值较低。)如果搜索找到一个更好的点,那么这个更好的点就成为当前点,并且在迭代时不进行轮询。如果找不到更好的点,Patternsearch.进行民意调查。

默认,Patternsearch.不使用搜索。搜索,见如何使用搜索方法

这个数字使用搜索方法进行图案研究包含直接搜索的流程图,包括使用搜索方法。

使用搜索方法进行图案研究

迭代限制适用于除轮询方法的所有内置搜索方法。如果选择搜索方法的迭代限制,则会启用搜索,直到达到迭代限制。之后,Patternsearch.停止搜索并只有民意调查。

如何使用搜索方法

使用搜索Patternsearch.

  • 在里面优化实时编辑器任务,选择搜索功能指定Solver选项>算法设置>搜索功能

  • 在命令行,使用搜索方法创建选项优化选择。例如,要使用Latin HyperCube搜索:

    opts = Optimoptions('patternsearch''searchfcn',@ searchlhs);

    有关更多信息,包括所有内置搜索方法的列表,请参阅Patternsearch.功能参考页,和搜索选项部分选项参考。

您可以编写自己的搜索方法。使用描述的语法搜索功能的结构。要在模式搜索中使用搜索方法,请给出其功能处理风俗函数searchfcn.) 选项。

搜索类型

  • 轮询方法 - 您可以使用任何轮询方法作为搜索算法。Patternsearch.将一项投票步骤作为搜索。对于这种类型的搜索有益,您的搜索类型应与您的民意调查类型不同。(Patternsearch.不搜索所选的搜索方法是否与轮询类型相同。)因此,使用MADS搜索GSS或GPS轮询,或使用GSS或GPS搜索与MADS民意调查。

  • fminsearch.,也称为nelder-mead -fminsearch.仅适用于不受约束的问题。fminsearch.跑到它的自然停止标准;它不只需一步。因此,使用fminsearch.只是一次迭代。这是默认设置。要更改设置,请参阅搜索选项

  • GA.-GA.跑到它的自然停止标准;它不只需一步。因此,使用GA.只是一次迭代。这是默认设置。要更改设置,请参阅搜索选项

  • 拉丁超级搜索 - 描述于搜索选项。默认情况下,搜索15N积分,在那里N是变量的数量,并且只在第一次迭代期间搜索。要更改设置,请参阅搜索选项

何时使用搜索

使用搜索方法主要有两个原因:

搜索方法增加速度

通常,您预先知道搜索方法是否速度速度或不知道。所以在以下情况下尝试搜索方法:

  • 您正在对类似问题进行重复优化,或者在不同参数的同一问题上执行。

  • 您可以尝试使用不同的搜索方法来查找较低的解决方案时间。

搜索并不总是加速优化。对于一个例子,看搜索和调查

搜索方法更好的解决方案万博 尤文图斯

由于搜索方法在轮询方法之前运行,因此使用搜索可以等同于选择优化的不同起点。此评论持有Nelder-Mead,GA.,以及拉丁超立闸搜索方法,所有这些方法默认情况下,在优化开始时运行一次。GA.拉丁超级搜索是随机的,可以搜索几个吸引力盆地

相关的话题