主要内容

全局优化工具箱求解器特性

解算器选择

本节介绍全局优化工具箱解算器特征。该部分包括更有效地获得结果的建议。

要实现更好或更快的解决方案,请先尝试调整金宝搏官方网站推荐的解决方案通过设置适当的选项或边界。如果结果不令人满意,请尝试其他解决方案。

期望的解决方案 光滑目标和约束 非球形目标或约束
解释“所需的解决方案” 光滑问题解算器的选择 非光滑问题解算器的选择
单一本地解决方案 优化工具箱™ 功能;看见优化决策表 fminbnd,Patternsearch.,fminsearch,ga,粒子热,Simulannealbnd.,代理人考试
多个本地解决方案金宝搏官方网站 全球研究,多部分 Patternsearch.,ga,粒子热,Simulannealbnd.代理人考试从多个初始点开始x0或者来自多个初始群体
单一全球解决方案 全球研究,多部分,Patternsearch.,粒子热,ga,Simulannealbnd.,代理人考试 Patternsearch.,ga,粒子热,Simulannealbnd.,代理人考试
采用并行处理的单一局部解 多部分,优化工具箱函数 Patternsearch.,ga,粒子热,代理人考试
使用并行处理的多个本地解决方案金宝搏官方网站 多部分 Patternsearch.,ga粒子热从多个初始点开始x0或者来自多个初始群体
使用并行处理的单一全局解决方案 多部分 Patternsearch.,ga,粒子热,代理人考试

解释“所需的解决方案”

要了解“所需解决方案”中术语的含义,请考虑示例

F(x)=100x2.(1–x)2.x,

哪个有局部极小值x1近0和x2接近1:

生成图形的代码

最小值位于:

fun = @(x)(100 * x ^ 2 *(x  -  1)^ 2  -  x);x1 = fminbnd(乐趣,-0.1,0.1)x1 = 0.0051 x2 = fminbnd(fun,0.9,1.1)x2 = 1.0049

条款的描述

学期 意义
单一本地解决方案 找到一个局部解,一个点x目标函数在哪里F(x)这是当地的最低标准。有关详细信息,请参阅本地与全球Optima.在该示例中,两者都是x1x2这些都是本地解决方案金宝搏官方网站。
多个本地解决方案金宝搏官方网站 查找一组本地解决方案。金宝搏官方网站在该示例中,完整的本地解决方案是金宝搏官方网站{x1,x2}.
单一全球解决方案 找到要点x目标函数在哪里F(x)是一个全球最低限度。在该示例中,全局解决方案是x2.

光滑问题解算器的选择

单一全局解决方案

  1. 尝试全球研究第一它最专注于寻找全局解决方案,并具有高效的局部解算器,铁铬镍铁合金.

  2. 尝试多部分下一个它具有高效的局部解算器,可以搜索各种各样的起点。

  3. 尝试Patternsearch.下一个。它效率较低,因为它不使用渐变。然而,Patternsearch.是强大的,比剩余的本地求解器更效率,以搜索全球解决方案,开始Patternsearch.从不同的出发点出发。

  4. 尝试代理人考试下一个。代理人考试尝试使用最少的目标函数评估来找到全局解决方案。代理人考试与大多数其他解算器相比,每个函数的计算开销更大。代理人考试需要有限范围,并接受整数约束,线性约束和非线性不等式约束。

  5. 尝试粒子热接下来,如果您的问题是不受约束的或仅限约束的。通常,粒子热比剩余的求解器更有效,并且可以比效率更高Patternsearch..

  6. 尝试ga下一个。它可以处理所有类型的约束,通常比效率更高Simulannealbnd..

  7. 尝试Simulannealbnd.最后的它可以处理没有约束或有界约束的问题。Simulannealbnd.通常是效率最低的解算器。然而,如果冷却进度足够慢,它可以找到一个全局解决方案。

多个局部解决方案金宝搏官方网站

全球研究多部分两者都提供多个本地解决方案。有关获取多个解决方案的语法,金宝搏官方网站请参阅多种解决方案金宝搏官方网站.全球研究多部分在以下特征方面有所不同:

  • 多部分可以找到更多的局部极小值。这是因为全球研究拒绝许多生成的起点(本地解决方案的初始点)。本质上,全球研究只有在确定该点有很大的机会获得全局最小值时,才接受起点。相比之下,多部分将所有生成的起点传递给局部解算器。有关详细信息,请参阅Globalsearch算法.

  • 多部分提供本地解算器的选择:铁铬镍铁合金,fminunc,最小二乘拟合解非线性最小二乘问题这个全球研究解算器仅使用铁铬镍铁合金作为其局部解算器。

  • 全球研究使用分散搜索算法生成起点。相反多部分在界限内随机生成点,或者允许您提供自己的点。

  • 多部分可以并行运行。看如何在全局优化工具箱中使用并行处理.

非光滑问题解算器的选择

选择数量最少的适用解算器。对于具有整数约束的问题,请使用ga.

  1. fminbnd首先在一维界限问题上。fminbnd可证明在一维中快速收敛。

  2. Patternsearch.在任何其他类型的问题上。Patternsearch.可怕的融合,并处理所有类型的约束。

  3. 尝试代理人考试对于具有耗时目标函数的问题。代理人考试搜索全局解决方案。代理人考试需要有限范围,并接受整数约束,线性约束和非线性不等式约束。

  4. 尝试fminsearch接下来是低维无界问题。fminsearch不象Patternsearch.并且无法收敛。对于低维问题,fminsearch使用易于使用,因为它有很少的调整选项。

  5. 尝试粒子热接下来是无界或有界约束问题。粒子热没有很少的支持理论,但金宝app通常是一种有效的算法。

  6. 尝试ga下一个。ga几乎没有支撑理论,往往金宝app效率低于Patternsearch.粒子热.ga处理所有类型的约束。ga代理人考试你是唯一的全局优化工具箱接受整数约束的解算器。

  7. 尝试Simulannealbnd.最后是无界问题或有界问题。Simulannealbnd.可证明的收敛仅适用于对数冷却计划,该计划非常缓慢。Simulannealbnd.只接受绑定约束,通常效率低于ga.

求解器特性

解算器 收敛 特征
全球研究 光滑问题的快速收敛到局部最优解 确定性迭代
基于梯度的
自动随机起点
以启发式方式删除许多起始点
多部分 光滑问题的快速收敛到局部最优解 确定性迭代
可以并行运行;看见如何在全局优化工具箱中使用并行处理
基于梯度的
随机或确定性起点,或两者的组合
自动随机起点
运行所有起点
选择当地求解器:铁铬镍铁合金,fminunc,最小二乘拟合解非线性最小二乘问题
Patternsearch. 证明收敛到局部最优;比基于梯度的解算器慢 确定性迭代
可以并行运行;看见如何在全局优化工具箱中使用并行处理
没有梯度
用户提供的起点
代理人考试 有界问题的证明收敛到全局最优;比基于梯度的解算器慢;通常在达到功能评估极限或其他极限时停止 随机迭代
可以并行运行;看见如何在全局优化工具箱中使用并行处理
最好用于耗时的目标函数
需要有界约束,接受线性约束和非线性不等式约束
允许整数约束;看见混合整数代理优化
没有梯度
自动起点或用户提供的点,或两者的组合
粒子热 无收敛证明 随机迭代
可以并行运行;看见如何在全局优化工具箱中使用并行处理
基于人口的
没有梯度
自动启动填充或用户提供的填充,或两者的组合
仅限边界约束
ga 无收敛证明 随机迭代
可以并行运行;看见如何在全局优化工具箱中使用并行处理
基于人口的
没有梯度
允许整数约束;看见混合整数遗传算法优化
自动启动填充或用户提供的填充,或两者的组合
Simulannealbnd. 被证明融合到全球最佳的最佳,对冷却时间缓慢的界限问题 随机迭代
没有梯度
用户提供的起点
仅限边界约束

对一些特征的解释:

  • 收敛-当从远离局部极小值开始时,解算器可能无法收敛到任何解。当在局部极小值附近开始时,基于梯度的解算器可以快速收敛到光滑问题的局部极小值。Patternsearch.可证明收敛于广泛的问题,但收敛速度比基于梯度的解算器慢。二者都gaSimulannealbnd.对于某些问题,可能无法在合理的时间内收敛,尽管它们通常是有效的。

  • 迭代 - 求解器迭代寻找解决方案。金宝搏官方网站迭代的步骤迭代。一些求解器具有确定性迭代。其他人使用随机数并具有随机迭代。

  • 梯度-一些解算器在计算迭代时使用估计的或用户提供的导数。其他解算器不使用或估计导数,只使用目标和约束函数值。

  • 起点-大多数解算器要求您提供优化的起点,以便获得决策变量的维度。ga代理人考试不需要任何起点,因为它们将判定变量的维度视为界限的输入或推断。这些求解器自动生成起点或人口,或者他们接受您提供的点或点。

比较特征全局优化工具箱解算器到优化工具箱解算器。

解算器 收敛 特征
铁铬镍铁合金,fminunc,费塞米夫,最小二乘拟合,解非线性最小二乘问题 证明对本地Optima的二次融合为平滑问题 确定性迭代
基于梯度的
用户提供的起点
fminsearch 不存在收敛校样 - 存在。 确定性迭代
没有梯度
用户提供的起点
无约束
fminbnd 经过善于融合到本地Optima,以满足平稳的问题,比二次慢。 确定性迭代
没有梯度
用户提供的启动间隔
只有一维问题

所有这些优化工具箱解算器:

  • 有确定性迭代

  • 需要一个起点或间隔

  • 只搜索一个吸引人的盆地

为什么有些求解器对象?

全球研究多部分是对象。这对你意味着什么?

  • 您创建了一个全球研究多部分在运行问题之前对象。

  • 可以重用该对象来运行多个问题。

  • 全球研究多部分对象是算法和全局选项的容器。可以使用这些对象多次运行局部解算器。局部解算器有自己的选项。

有关更多信息,请参阅班级文档。

相关实例

更多关于