Main Content

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

创建求解器对象

什么是求解器对象?

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

您不需要设置任何偏好。创建一个名为 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);

相关主题