优化选项参考
优化选项
下表描述了优化选项。创建选项optimoptions
函数,或optimset
为fminbnd
,fminsearch
,fzero
,或lsqnonneg
.
有关可用选项值和默认值的信息,请参阅各个函数参考页。
这些选项的默认值取决于所调用的优化函数选项
作为输入参数。您可以通过输入确定任何优化函数的默认选项值optimoptions ('
或等价的solvername
”)optimoptions (@
.例如,solvername
)
optimoptions (“fmincon”)
返回选项列表和默认值“内点”
fmincon
算法。找到另一个的默认值fmincon
算法,设置算法
选择。例如,
Opts = optimoptions(“fmincon”,“算法”,“sqp”)
optimoptions
“隐藏”一些选项,这意味着它不显示它们的值。这些选项没有出现在这个表中。相反,它们出现在隐藏选项.
优化选项
选项名称 | 描述 | 函数使用 | 限制 |
---|---|---|---|
AbsoluteGapTolerance |
负的真实。
|
intlinprog |
optimoptions 只有 |
AbsoluteMaxObjectiveCount |
的数量F(x),以尽量减少最坏情况下的绝对值。 |
||
算法 |
选择求解器使用的算法。 |
fmincon ,fminunc ,fsolve ,linprog ,lsqcurvefit ,lsqlin ,lsqnonlin ,quadprog |
|
BarrierParamUpdate |
中选择用于更新屏障参数的算法 |
fmincon |
|
BranchRule |
选择分支组件的规则: |
intlinprog |
optimoptions 只有 |
CheckGradients |
比较用户提供的分析导数(梯度或雅可比矩阵,取决于选择的求解器)与有限差分导数。 |
|
optimoptions 只有。为optimset ,使用DerivativeCheck |
ConstraintTolerance |
对约束违反的容忍度。 |
|
optimoptions 只有。为optimset ,使用TolCon |
CutGeneration |
切割产生的水平(见减少代):
|
intlinprog |
optimoptions 只有 |
CutMaxIterations |
在进入分支定界阶段之前通过所有切割生成方法的次数,从1 通过50 .禁用切割生成通过设置CutGeneration 选项“没有” . |
intlinprog |
optimoptions 只有 |
显示 |
显示级别。
|
所有人。有关应用的值,请参阅各个函数参考页。 |
|
EnableFeasibilityMode |
选择算法以达到可行性 |
fmincon |
|
EqualityGoalCount |
指定目标所需的目标数量 |
optimoptions 只有。为optimset ,使用GoalsExactAchieve |
|
FiniteDifferenceStepSize |
有限差分的标量或矢量步长因子。当你设置
符号' (x) =符号(x) 除了符号' (0)= 1 .中心有限差分为
FiniteDifferenceStepSize 展开成一个向量。默认为sqrt (eps) 对于正向有限差分,和eps ^ (1/3) 对于中心有限差分。 |
|
optimoptions 只有。为optimset ,使用FinDiffRelStep |
FiniteDifferenceType |
有限差分,用来估计梯度,是 |
|
optimoptions 只有。为optimset ,使用FinDiffType |
FunctionTolerance |
函数值上的终止公差。 |
|
optimoptions 只有。为optimset ,使用TolFun |
HessianApproximation |
黑森近似法: 忽略时 |
optimoptions 只有。为optimset ,使用黑森 |
|
HessianFcn |
用户提供的Hessian,指定为函数句柄(参见包括麻布). |
fmincon ,fminunc |
optimoptions 只有。为optimset ,使用HessFcn |
HessianMultiplyFcn |
用户提供的Hessian乘法函数,指定为函数句柄。 忽略时 |
optimoptions 只有。为optimset ,使用HessMult |
|
启发式 |
搜索可行点的算法(见寻找可行解的启发式方法金宝搏官方网站):
|
intlinprog |
optimoptions 只有 |
HeuristicsMaxNodes |
严格的正整数,限制了节点的数量intlinprog 可以在其分支定界中探索可行点的搜索。看到寻找可行解的启发式方法金宝搏官方网站. |
intlinprog |
optimoptions 只有 |
HonorBounds |
默认的 |
fmincon |
optimoptions 只有。为optimset ,使用AlwaysHonorConstraints |
IntegerPreprocess |
整数预处理的类型(参见混合整数程序预处理):
|
intlinprog |
optimoptions 只有 |
IntegerTolerance |
真正的从1 e-6 通过1 e - 3 ,其中与整数的最大偏差表示解的一个分量x 可以被认为是一个整数。IntegerTolerance 不是停止标准。 |
intlinprog |
optimoptions 只有 |
JacobianMultiplyFcn |
用户定义的雅可比乘法函数,指定为函数句柄。忽略,除非 |
||
LinearSolver |
算法中内部线性求解器的类型。为
为 |
||
LPMaxIterations |
严格的正整数,分支定界过程中每个节点的最大单纯形迭代次数。 | intlinprog |
optimoptions 只有 |
LPOptimalityTolerance |
非负实,其中降低成本必须超过LPOptimalityTolerance 将一个变量带入基中。 |
intlinprog |
optimoptions 只有 |
MaxFunctionEvaluations |
允许的函数求值的最大数量。 |
|
optimoptions 只有。为optimset ,使用MaxFunEvals |
MaxIterations |
允许的最大迭代次数。 |
optimoptions 只有。为optimset ,使用麦克斯特 |
|
MaxFeasiblePoints |
严格的正整数。intlinprog 如果发现就停止MaxFeasiblePoints 整数可行点。 |
intlinprog |
optimoptions 只有 |
MaxNodes |
严格的正整数,这是求解器在其分支定界过程中探索的最大节点数。 | ||
MaxTime |
算法允许的最大时间(以秒为单位)。 |
||
NodeSelection |
选择接下来要探索的节点。 |
intlinprog |
optimoptions 只有 |
ObjectiveCutOff |
实数大于负 .默认为正 . |
intlinprog |
optimoptions 只有 |
ObjectiveImprovementThreshold |
负的真实。intlinprog 只有当它定位到另一个目标函数值至少为时,才会改变当前的可行解ObjectiveImprovementThreshold 低:(fold - fnew)/(1 + |fold|) >目标改善阈值. |
intlinprog |
optimoptions 只有 |
ObjectiveLimit |
如果目标函数值低于 |
fmincon ,fminunc ,lsqlin ,quadprog |
|
OptimalityTolerance |
一阶最优性的终止容差。 |
|
optimoptions 只有。为optimset ,使用TolFun |
OutputFcn |
指定优化函数在每次迭代时调用的一个或多个用户定义函数。传递一个函数句柄或函数句柄的单元格数组。看到输出函数和图函数语法或intlinprog输出函数和图函数语法. |
|
|
PlotFcn |
在算法执行时绘制各种进度度量。从预定义的情节中选择或编写自己的。给出列出的函数名,或函数句柄,如
|
|
optimoptions 只有。为optimset ,使用PlotFcns |
RelativeGapTolerance |
真正的从
|
intlinprog |
optimoptions 只有 |
RootLPAlgorithm |
求解线性规划的算法:
|
intlinprog |
optimoptions 只有 |
RootLPMaxIterations |
非负整数,即解决初始线性规划问题的单纯形算法的最大迭代次数。 | intlinprog |
optimoptions 只有 |
ScaleProblem |
为 |
fmincon |
|
SpecifyConstraintGradient |
用户定义的非线性约束梯度。 |
optimoptions 只有。为optimset ,使用GradConstr |
|
SpecifyObjectiveGradient |
目标函数的用户定义梯度或雅可比矩阵。 |
|
optimoptions 只有。为optimset ,使用GradObj 或雅可比矩阵 |
StepTolerance |
终止公差x. |
||
SubproblemAlgorithm |
确定如何计算迭代步骤。 |
fmincon ,fminunc ,fsolve ,lsqcurvefit ,lsqlin ,lsqnonlin |
|
TypicalX |
数组,指定参数数组的典型大小 |
|
|
UseParallel |
当 |
|
隐藏选项
optimoptions
“隐藏”一些选项,这意味着它不显示它们的值。若要了解如何查看这些选项以及隐藏这些选项的原因,请参见视图选项.
函数参考页中列出了这些选项斜体。
隐藏的优化工具箱选项
此表列出隐藏的优化工具箱™选项。
选项optimoptions
隐藏了
选项名称 | 描述 | 函数使用 | 限制 |
---|---|---|---|
诊断 | 显示有关要最小化或解决的功能的诊断信息。 |
||
DiffMaxChange | 有限差分的最大变量变化。 |
|
|
DiffMinChange | 有限差分的最小变量变化。 |
|
|
FunValCheck | 检查目标函数和约束值是否有效。 请注意
|
|
|
HessPattern | 有限差分Hessian的稀疏模式。矩阵的大小是n × n,其中n是其中元素的个数 |
||
HessUpdate | 准牛顿更新方案。 |
||
InitBarrierParam | 初始势垒值。 |
fmincon |
|
InitDamping | 初始Levenberg-Marquardt参数。 |
fsolve ,lsqcurvefit ,lsqnonlin |
optimoptions 只有 |
InitTrustRegionRadius | 信任区域的初始半径。 |
fmincon |
|
JacobPattern | 有限差分雅可比矩阵的稀疏模式。矩阵的大小是 |
||
LPPreprocess | 松弛线性规划的解的预处理类型(见线性规划预处理):
|
intlinprog |
optimoptions 只有 |
MaxPCGIter | 预条件共轭梯度法允许的最大迭代次数。 |
|
|
MaxProjCGIter | 对投影共轭梯度迭代次数的公差;这是一个内部迭代,而不是算法的迭代次数。 |
fmincon |
|
MaxSQPIter | 序列二次规划方法允许的最大迭代次数。 |
||
MeritFunction | 使用目标实现/极大极小价值函数(多目标)vs。 |
||
PrecondBandWidth | PCG预处理器的上带宽。设置为 |
|
|
进行预处理 | 在单纯形或对偶单纯形算法迭代之前的LP预处理级别。 |
optimoptions 只有 |
|
RelLineSrchBnd | 在线搜索的相对边界步长。 |
||
RelLineSrchBndDuration | 中指定的边界的迭代次数 |
||
ScaleProblem | 当使用 |
fsolve ,lsqcurvefit ,lsqnonlin |
|
TolConSQP | 内部SQP迭代的约束违反容忍度。 |
fgoalattain ,fmincon ,fminimax ,fseminf |
|
TolPCG | PCG迭代的终止公差。 |
|
|
TolProjCG | 投影共轭梯度算法的相对容差这是针对内部迭代,而不是算法迭代。 |
fmincon |
|
TolProjCGAbs | 投影共轭梯度算法的绝对容差这是针对内部迭代,而不是算法迭代。 |
fmincon |
隐藏的全局优化工具箱选项
由于这些选项隐藏的原因,请参见optimoptions隐藏的选项(全局优化工具箱).
选项optimoptions
隐藏了
选项名称 | 函数使用 |
---|---|
缓存 |
|
CacheSize |
|
CacheTol |
|
DisplayInterval |
|
FunValCheck |
|
HybridInterval |
|
InitialPenalty |
|
MaxMeshSize |
|
MeshRotate |
|
MigrationDirection |
|
MigrationFraction |
|
MigrationInterval |
|
PenaltyFactor |
|
PlotInterval |
|
StallTest |
|
TolBind | patternsearch |