下表描述了优化选项。使用optimoptions
函数,或optimset
为fminbnd
,fminsearch
,fzero
,或lsqnonneg
.
有关可用选项值和默认值的信息,请参阅单个函数参考页面。
选项的默认值取决于您调用的优化函数选项
作为输入参数。您可以通过输入来确定任何优化函数的默认选项值optimoptions ('
或同等solvername
')optimoptions (@
.例如,solvername
)
optimoptions (“fmincon”)
返回默认值的选项列表和默认值“内点”
fmincon
算法。查找另一个的默认值fmincon
算法,设置算法
选择。例如,
选择= 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 |
Hessian近似法: 忽略时 |
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|) > ObjectiveImprovementThreshold. |
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 |
隐藏这些选项的原因,请参见Options隐藏的选项(全局优化工具箱).
选项optimoptions
隐藏了
选项名称 | 使用的功能 |
---|---|
缓存 |
|
CacheSize |
|
CacheTol |
|
DisplayInterval |
|
FunValCheck |
|
HybridInterval |
|
InitialPenalty |
|
MaxMeshSize |
|
MeshRotate |
|
MigrationDirection |
|
MigrationFraction |
|
MigrationInterval |
|
PenaltyFactor |
|
PlotInterval |
|
StallTest |
|
TolBind | patternsearch |