下表描述了优化选项。使用optimoptions
函数,或优化集
为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 只要。为优化集 ,使用DerivativeCheck |
ConstraintTolerance |
约束违规的宽容。 |
|
optimoptions 只要。为优化集 ,使用tolcon. |
CutGeneration |
切割世代的水平(见减少代):
|
intlinprog. |
optimoptions 只有 |
削减 |
在进入分支定界阶段之前通过所有切割生成方法的次数,为整数1 通过50. .通过设置CutGeneration 选项“没有” . |
intlinprog. |
optimoptions 只有 |
展示 |
显示水平。
|
所有人。有关应用的值,请参阅各个函数参考页。 |
|
EnableFeasibilityMode |
选择实现可行性的算法 |
fmincon |
|
EqualityGoalCount |
明确目标所需的目标数量 |
optimoptions 只要。为优化集 ,使用GoalsExactAchieve |
|
FiniteDifferenceStepSize |
有限差分的标量或向量步长因子。当您设置
符号“(x) =符号(x) 除了标志' (0)= 1 .中央有限差异是
FiniteDifferenceStepSize 展开成一个向量。默认值是sqrt (eps) 对于正向有限差分,和eps ^ (1/3) 对于中心有限差分。 |
|
optimoptions 只要。为优化集 ,使用FinDiffRelStep |
FiniteDifferenceType |
用于估计梯度的有限差分是 |
|
optimoptions 只要。为优化集 ,使用FinDiffType |
FunctionTolerance |
函数值的终止公差。 |
|
optimoptions 只要。为优化集 ,使用塔尔芬 |
Hessianapproximation |
Hessian近似法: 忽略时 |
optimoptions 只要。为优化集 ,使用黑森州 |
|
HessianFcn |
用户提供的Hessian,指定为函数句柄(参见包括麻布). |
fmincon ,Fminunc. |
optimoptions 只要。为优化集 ,使用HessFcn |
黑森州多普利氟烃 |
用户提供的Hessian乘法函数,指定为函数句柄。 忽略时 |
optimoptions 只要。为优化集 ,使用HessMult |
|
启发式 |
搜索可行点的算法(见寻找可行解决方案的启发式金宝搏官方网站):
|
intlinprog. |
optimoptions 只有 |
HeuristicsMaxNodes |
限制节点数量的严格正整数intlinprog. 可以在其分支定界中探索寻找可行点。看到寻找可行解决方案的启发式金宝搏官方网站. |
intlinprog. |
optimoptions 只有 |
HonorBounds |
默认的 |
fmincon |
optimoptions 只要。为优化集 ,使用AlwaysHonorConstraints |
IntegerPreprocess |
整数预处理的类型(参见混合整数程序预处理):
|
intlinprog. |
optimoptions 只有 |
IntegerTolerance |
真正的从1E-6 通过1E-3 ,其中与解的一个组成部分的整数的最大偏差x 可以被认为是一个整数。IntegerTolerance 不是一个停止的标准。 |
intlinprog. |
optimoptions 只有 |
JacobianMultiplyFcn |
用户定义的jacobian乘法函数,指定为函数句柄。忽略,除非 |
||
LinearSolver |
算法中的内部线性求解器类型。为
为 |
||
LPMaxIterations |
严格的正整数,分支和绑定过程中每个节点的最大单位算法迭代的最大数量。 | intlinprog. |
optimoptions 只有 |
lpoptimalandaltolerance. |
不必要的成本必须超过的非负实情况lpoptimalandaltolerance. 作为基数的变量。 |
intlinprog. |
optimoptions 只有 |
MaxFunctionEvaluations |
允许的函数求值的最大数目。 |
|
optimoptions 只要。为优化集 ,使用Maxfunevals. |
MaxIterations |
允许的最大迭代次数。 |
optimoptions 只要。为优化集 ,使用麦克斯特 |
|
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 只要。为优化集 ,使用塔尔芬 |
outputfcn. |
指定优化函数在每次迭代时调用的一个或多个用户定义函数。传递一个函数句柄或函数句柄的单元格数组。看到输出函数和绘图函数语法或intlinprog输出函数和绘图函数语法. |
|
|
PlotFcn |
在算法执行时绘制各种进步措施。从预定义的地块中选择或写自己。将函数名称列为列出,或作为函数句柄,例如
|
|
optimoptions 只要。为优化集 ,使用PlotFcns |
RelativeGapTolerance |
真正的从
宽容= |
intlinprog. |
optimoptions 只有 |
根血管算法 |
求解线性规划的算法:
|
intlinprog. |
optimoptions 只有 |
RootLPMaxIterations |
非负整数是解决初始线性规划问题的单纯x算法迭代的最大数量。 | intlinprog. |
optimoptions 只有 |
ScaleProblem |
为 |
fmincon |
|
SpecifyConstraintGradient |
用户定义的非线性约束的渐变。 |
optimoptions 只要。为优化集 ,使用GradConstr |
|
SpecifyObjectiveGradient |
用户定义的梯度或目标函数的雅可比矩阵。 |
|
optimoptions 只要。为优化集 ,使用GradObj 或雅可比矩阵 |
StepTolerance. |
终止上公差x. |
||
子项产算法 |
确定如何计算迭代步骤。 |
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 |
|
meshotate. |
|
迁移反应 |
|
MigrationFraction |
|
MigrationInterval |
|
PenaltyFactor |
|
PlotInterval |
|
StallTest |
|
TolBind | Patternsearch. |