主要内容

MultiStart

发现多个局部最小值

描述

一个MultiStart对象包含属性(选项)影响运行反复运行本地解算器生成一个GlobalOptimSolution对象。运行时,解算器试图找到多个地方解决一个问题从不同的点。金宝搏官方网站

创建

描述

例子

= MultiStart女士创建女士,一个MultiStart解算器和其属性设置为默认值。

例子

= MultiStart女士(名称、值)使用名称-值对集合属性。

例子

= MultiStart女士(oldMS、名称、值)创建一个副本oldMSMultiStart解算器,并使用名称-值对集合属性。

例子

= MultiStart女士(gs)创建女士,一个MultiStart解算器,与常见的参数值gsGlobalSearch解算器。

属性

全部展开

水平显示命令窗口,指定为以下特征向量或字符串之一:

  • “最后一次”——报告汇总结果运行完成。

  • “通路”——在最初的报告结果fmincon运行,第一阶段后,之后每200点开始,每次运行的fmincon除了最后的总结。

  • “关闭”——没有显示。

例子:“通路”

数据类型:字符|字符串

宽容在考虑解决方案的函数值相同的情况下,指定为负的标量。金宝搏官方网站如果他们是在解决考虑两个方案相同金宝搏官方网站XTolerance彼此的相对距离,目标函数值FunctionTolerance彼此的相对差异。如果两个条件不满足,解决解决方案不同的报告。金宝搏官方网站集FunctionTolerance0获得每个地方求解程序运行的结果。集FunctionTolerance更大的值减少的结果。为GlobalSearch详细信息,请参阅更新解集fmincon运行时。为MultiStart详细信息,请参阅创建GlobalOptimSolution对象

例子:1的军医

数据类型:

MultiStart运行,最大时间间隔,以秒为单位指定为一个积极的标量。MultiStart及其当地的解决者停止MaxTime秒之后开始运行,作为衡量抽搐toc

MaxTime在跑步时不中断当地解决,所以总时间可超过MaxTime

例子:180年停止解决当地解决第一次调用结束后180秒。

数据类型:

解决进度报告或停止的能手,指定为一个函数处理或功能单元阵列处理。输出函数运行在每个局部解算器调用。他们还全球解决者开始和结束的时候运行。使用描述的语法编写输出函数OutputFcn。看到GlobalSearch输出函数

数据类型:细胞|function_handle

情节解决进展,指定为一个函数处理或功能单元阵列处理。情节功能运行在每个局部解算器调用。他们还全球解决者开始和结束的时候运行。使用描述的语法写情节功能OutputFcn

有两个内置的情节功能:

  • @gsplotbestf情节的最佳目标函数值。

  • @gsplotfunccount土地的数量评估函数。

看到MultiStart情节功能

例子:@gsplotbestf

数据类型:细胞|function_handle

开始点运行,指定为:

  • “所有”——运行所有开始点。

  • “界限”——只运行开始点满足边界。

  • “bounds-ineqs”——只运行开始点满足边界和不等式约束。

例子:“界限”只运行点,满足所有边界。

数据类型:字符|字符串

本地解算器调用分发给多个处理器,指定为真正的

  • ——不要并行运行。

  • 真正的——本地解算器调用分发给多个处理器。

例子:真正的

数据类型:逻辑

宽容在考虑解决方案的距离相同的情况下,指定为负的标量。金宝搏官方网站如果他们是在解决考虑两个方案相同金宝搏官方网站XTolerance彼此的相对距离,目标函数值FunctionTolerance彼此的相对差异。如果两个条件不满足,解决解决方案不同的报告。金宝搏官方网站集XTolerance0获得每个地方求解程序运行的结果。集XTolerance更大的值减少的结果。为GlobalSearch详细信息,请参阅更新解集fmincon运行时。为MultiStart详细信息,请参阅创建GlobalOptimSolution对象

例子:2的军医

数据类型:

对象的功能

运行 运行多个开始解算器

例子

全部折叠

考虑一个函数与若干个局部最小值。

有趣= @ x (x)。^ 2 + 4 *罪(5 * x);fplot(有趣,[5,5])

图包含一个坐标轴对象。坐标轴functionline类型的对象包含一个对象。

寻找全球最低,运行MultiStart20日的实例使用的问题fmincon“sqp”算法。

rng默认的%的再现性选择= optimoptions (@fmincon,“算法”,“sqp”);问题= createOptimProblem (“fmincon”,“目标”,有趣,“x0”3,“磅”5,乌兰巴托的5,“选项”、选择);女士= MultiStart;[x, f] =运行(20 ms,问题,)
MultiStart完成了从开始点。所有20个地方解决运行聚合与当地一个积极的解决者退出旗。
x = -0.3080
f = -3.9032

创建一个MultiStart对象的默认属性。

= MultiStart女士
与属性= MultiStart女士:UseParallel: 0显示:“最终”FunctionTolerance: 1.0000 e-06 MaxTime:正OutputFcn: [] PlotFcn: [] StartPointsToRun:“所有”XTolerance: 1.0000 e-06

创建一个MultiStart比默认对象与宽松的公差,所以解算器返回少相互接近的解决方案。金宝搏官方网站同时,有MultiStart只运行初始点是可行的界限和不等式约束。

= MultiStart(女士“FunctionTolerance”2的军医,“XTolerance”,5 e - 3,“StartPointsToRun”,“bounds-ineqs”)
与属性= MultiStart女士:UseParallel: 0显示:“最终”FunctionTolerance: 2.0000 e-04 MaxTime:正OutputFcn: [] PlotFcn: [] StartPointsToRun:“bounds-ineqs”XTolerance: 0.0050

创建一个默认的GlobalSearch对象。

gs = GlobalSearch (“FunctionTolerance”2的军医,“NumTrialPoints”,2000)
gs = GlobalSearch属性:NumTrialPoints: 2000 BasinRadiusFactor: 0.2000 DistanceThresholdFactor: 0.7500 MaxWaitCycle: 20 NumStageOnePoints: 200 PenaltyThresholdFactor: 0.2000显示:“最终”FunctionTolerance: 2.0000 e-04 MaxTime:正OutputFcn: [] PlotFcn: [] StartPointsToRun:“所有”XTolerance: 1.0000 e-06

创建一个MultiStart对象,使用可用的属性gs

= MultiStart女士(gs)
与属性= MultiStart女士:UseParallel: 0显示:“最终”FunctionTolerance: 2.0000 e-04 MaxTime:正OutputFcn: [] PlotFcn: [] StartPointsToRun:“所有”XTolerance: 1.0000 e-06

女士有相同的默认值吗FunctionTolerance作为gs。但女士不使用NumTrialPoints财产。

创建一个MultiStart对象与一个FunctionTolerance1的军医

= MultiStart(女士“FunctionTolerance”1)的军医
与属性= MultiStart女士:UseParallel: 0显示:“最终”FunctionTolerance: 1.0000 e-04 MaxTime:正OutputFcn: [] PlotFcn: [] StartPointsToRun:“所有”XTolerance: 1.0000 e-06

更新XTolerance财产1 e - 3,StartPointsToRun财产“界限”

= MultiStart女士(女士,“XTolerance”1 e - 3,“StartPointsToRun”,“界限”)
与属性= MultiStart女士:UseParallel: 0显示:“最终”FunctionTolerance: 1.0000 e-04 MaxTime:正OutputFcn: [] PlotFcn: [] StartPointsToRun:“界限”XTolerance: 1.0000 e 03

你也可以更新一次通过使用点符号属性。

ms.MaxTime = 1800
与属性= MultiStart女士:UseParallel: 0显示:“最终”FunctionTolerance: 1.0000 e-04 MaxTime: 1800 OutputFcn: [] PlotFcn: [] StartPointsToRun:“界限”XTolerance: 1.0000 e 03

算法

算法的详细描述,请参阅MultiStart算法

扩展功能

版本历史

介绍了R2010a