主要内容

本页采用了机器翻译。点击此处可查看英文原文。

创建求解器对象

什么是求解器对象?

求解器对象包含您对优化全局部分的偏好。

您不需要设置任何偏好。创建一个名为 gsGlobalSearch 对象,其默认设置如下:

gs = GlobalSearch;

类似地,创建一个名为 msMultiStart 对象,其默认设置如下:

ms = MultiStart;

求解器对象的属性(全局选项)

全局选项是 GlobalSearchMultiStart 对象的属性。

GlobalSearch 和 MultiStart 的属性

属性名称含义
Display迭代显示的细节级别。设置为 "off" 表示不显示,设置为 "final"(默认)表示在运行结束时显示报告,设置为 "iter" 表示在求解器进展过程中显示报告。有关更多信息和示例,请参阅迭代输出
FunctionTolerance求解器认为 FunctionTolerance 内的目标函数值是相同的(而不是不同的)。默认值:1e-6。当解同时满足 FunctionToleranceXTolerance 容差时,求解器会将解决解分组。
XTolerance求解器认为彼此 XTolerance 距离内的解是相同的(而不是不同的)。默认值:1e-6。当解同时满足 FunctionToleranceXTolerance 容差时,求解器会将解决解分组。
MaxTime如果运行时间超过 MaxTime 秒(以时钟(而不是处理器秒)来衡量),解算器就会停止。默认值:Inf
StartPointsToRun选择是运行所有起点("all",默认值),还是仅运行满足边界约束的起点 ("bounds"),或者仅运行同时满足边界约束和不等式约束的可行起点 ("bounds-ineqs")。有关示例,请参阅仅使用可行的起点进行优化
OutputFcn每次局部求解器运行后运行的函数。请参阅GlobalSearch 和 MultiStart 的输出函数。默认值:[]
PlotFcn绘制每次局部求解器运行后要运行的函数。请参阅GlobalSearch 和 MultiStart 的绘图函数。默认值:[]

GlobalSearch 的属性

属性名称含义
NumTrialPoints要检查的试验点的数量。默认值:1000
BasinRadiusFactor

有关这些属性的详细描述,请参阅 GlobalSearch 属性

DistanceThresholdFactor
MaxWaitCycle
NumStageOnePoints
PenaltyThresholdFactor

MultiStart 的属性

属性名称含义
UseParalleltrue 时,MultiStart 会尝试将起点分发给局部求解器的多个处理器。通过设置为 false(默认)来禁用。有关详细信息,请参阅如何在 Global Optimization Toolbox 中使用并行处理。有关示例,请参阅并行 MultiStart

创建非默认 GlobalSearch 对象

假设您想解决一个问题并且:

  • 如果局部解彼此相差 0.01 以内并且函数值在默认的 FunctionTolerance 容差范围内,则认为局部解相同。

  • 计算时间不超过 2000 秒。

为了解决这个问题,创建一个 GlobalSearch 对象 gs,如下所示:

gs = GlobalSearch(XTolerance=0.01,MaxTime=2000);

创建非默认 MultiStart 对象

假设您想解决这样一个问题:

  • 如果局部解彼此相差 0.01 以内,且函数值在默认的 FunctionTolerance 容差范围内,则认为局部解相同。

  • 您花在计算上的时间不超过 2000 秒。

为了解决这个问题,创建一个 MultiStart 对象 ms,如下所示:

ms = MultiStart(XTolerance=0.01,MaxTime=2000);

另请参阅

主题