文档

优化选项参考

优化选项

优化选项说明如下表所示。创建选项optimoptions函数,或optimsetfminbndfminsearchfzero,或lsqnonneg

有关可用选项值和默认值的信息,请参阅各个函数参考页。

选项的默认值取决于调用的优化函数选项作为输入参数。您可以通过输入来确定任何优化函数的默认选项值optimoptions ('solvername”)或者是同等的optimoptions (@solvername.例如,

optimoptions (“fmincon”

返回选项的列表和默认值“内点”fmincon算法。找到另一个的默认值fmincon算法,设置算法选择。例如,

Opts = optimoptions(“fmincon”“算法”“sqp”

optimoptions“隐藏”一些选项,这意味着它不显示它们的值。这些选项没有出现在这个表中。相反,它们出现在隐藏选项

优化选项

选项名称 描述 函数使用 限制
AbsoluteGapTolerance

负的真实。intlinprog如果内部计算的上(U)及以下(l)在目标函数上的边界小于或等于AbsoluteGapTolerance:

U - L <= AbsoluteGapTolerance

intlinprog optimoptions只有
AbsoluteMaxObjectiveCount

的数量Fx)以最小化最坏情况下的绝对值。

fminimax

算法

选择求解器使用的算法。

fminconfminuncfsolvelinproglsqcurvefitlsqlinlsqnonlinquadprog
BranchRule

选择分支组件的规则:

  • “maxpscost”-伪代价最大的分数分量。看到分支与界限

  • “strongpscost”-具有最大伪成本的分数部分,并对伪成本进行了仔细的估计。看到分支与界限

  • “可靠性”-具有最大伪成本的分数部分,对伪成本的估计比中更仔细“strongpscost”.看到分支与界限

  • “mostfractional”-分数部分最接近的部件1/2

  • “maxfun”-目标向量绝对值中对应分量最大的分数分量f

intlinprog optimoptions只有
CheckGradients

比较用户提供的解析导数(梯度或雅可比矩阵,取决于所选的求解器)与有限差分导数。

fgoalattainfminconfminimaxfminuncfseminffsolvelsqcurvefitlsqnonlin

optimoptions只有。为optimset,使用DerivativeCheck
ConstraintTolerance

对约束违例的容忍。

fgoalattainfminconfminimaxfseminfintlinproglinproglsqlinquadprog

optimoptions只有。为optimset,使用TolCon
CutGeneration

切割产生的水平(见减少代):

  • “没有”-没有削减。使CutMaxIterations无关紧要的。

  • “基本”-正常切割生成。

  • “中间”-使用更多的切割类型。

  • “高级”-使用大多数切割类型。

intlinprog optimoptions只有
CutMaxIterations 在进入分支定界阶段之前通过所有切割生成方法的次数,从1通过50.禁用切割生成设置CutGeneration选项“没有” intlinprog optimoptions只有
显示

显示水平。

  • “关闭”没有显示任何输出。

  • “通路”在每个迭代中显示输出,并给出默认的退出消息。

  • “iter-detailed”在每个迭代中显示输出,并给出技术退出消息。

  • “通知”仅在函数不收敛时显示输出,并给出默认的退出消息。

  • “notify-detailed”仅在函数不收敛时显示输出,并给出技术退出消息。

  • “最后一次”只显示最终输出,并给出默认的退出消息。

  • 最后详细的只显示最终输出,并给出技术退出消息。

所有人。有关应用的值,请参阅各个函数参考页。

EqualityGoalCount

明确目标所需的目标数量有趣的达到设定的目标。如果有必要,重新安排你的目标fgoalattain成就第一EqualityGoalCount目标准确。

fgoalattain

optimoptions只有。为optimset,使用GoalsExactAchieve
FiniteDifferenceStepSize

有限差分的标量或向量步长因子。当你设置FiniteDifferenceStepSize到一个向量v,正向有限差分δ

delta = v.*sign ' (x).*max(abs(x),TypicalX);

在哪里符号' (x) =符号(x)除了符号' (0)= 1.中心有限差分为

delta = v *max(abs(x),TypicalX);

标量FiniteDifferenceStepSize展开成一个向量。默认为sqrt (eps)对于正向有限差分,和eps ^ (1/3)对于中心有限差分。

fgoalattainfminconfminimaxfminuncfseminffsolvelsqcurvefitlsqnonlin

optimoptions只有。为optimset,使用FinDiffRelStep
FiniteDifferenceType

有限差分,用来估计梯度,是其中之一“前进”(默认值),或者“中央”(居中),它需要两倍的函数求值,但应该更准确。“中央”在求值过程中,差异可能会违反边界fmincon内部点评估如果HonorBounds选项设置为

fgoalattainfminconfminimaxfminuncfseminffsolvelsqcurvefitlsqnonlin

optimoptions只有。为optimset,使用FinDiffType
FunctionTolerance

函数值上的终止公差。

fgoalattainfminconfminimaxfminsearchfminuncfseminffsolvelsqcurvefitlsqlinlsqnonlinquadprog

optimoptions只有。为optimset,使用TolFun
HessianApproximation

Hessian近似法:“蓄热”“lbfgs”{“lbfgs”,正整数},或有限差分的

忽略时HessianFcnHessianMultiplyFcn非空的。

fmincon

optimoptions只有。为optimset,使用黑森
HessianFcn

用户提供的Hessian,指定为函数句柄(参见包括麻布).

fminconfminunc optimoptions只有。为optimset,使用HessFcn
HessianMultiplyFcn

用户提供的Hessian乘法函数,指定为函数句柄。

忽略时HessianFcn非空的。

fminconfminuncquadprog

optimoptions只有。为optimset,使用HessMult
启发式

搜索可行点的算法(见寻找可行解的启发式金宝搏官方网站):

  • “基本”

  • “中间”

  • “高级”

  • “rss”

  • “rin”

  • “圆”

  • “潜水”

  • “rss-diving”

  • “rins-diving”

  • “round-diving”

  • “没有”

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

用户定义的雅可比矩阵乘法函数,指定为函数句柄。忽略,除非SpecifyObjectiveGradient真正的fsolvelsqcurvefit,lsqnonlin

fsolvelsqcurvefitlsqlinlsqnonlin

LinearSolver

算法中的内线性求解器类型:

  • “汽车”——使用“稀疏”如果传递的二次矩阵是稀疏的(HquadprogClsqlin),“密集”否则。

  • “稀疏”-使用稀疏线性代数。

  • “密集”-使用密集线性代数。

lsqlin“内点”算法和quadprog“interior-point-convex”算法

LPMaxIterations 严格正整数,分支定界过程中每个节点的最大单形算法迭代次数。 intlinprog optimoptions只有
LPOptimalityTolerance 非负实数的地方削减成本必须超过LPOptimalityTolerance将一个变量带入基底。 intlinprog optimoptions只有
MaxFunctionEvaluations

允许的函数求值的最大数量。

fgoalattainfminbndfminconfminimaxfminsearchfminuncfseminffsolvelsqcurvefitlsqnonlin

optimoptions只有。为optimset,使用MaxFunEvals
MaxIterations

允许的最大迭代次数。

除了fzero而且lsqnonneg

optimoptions只有。为optimset,使用麦克斯特
MaxFeasiblePoints 严格正整数。intlinprog如果发现就停止MaxFeasiblePoints整数可行点。 intlinprog optimoptions只有
MaxNodes 严格正整数,它是求解器在其分支定界过程中探索的最大节点数。

intlinprog

MaxTime

算法允许的最大时间(以秒为单位)。

intlinproglinprog

NodeSelection

选择接下来要探索的节点。

  • “simplebestproj”-最佳投影。看到分支与界限

  • “minobj”—搜索目标函数最小的节点。

  • “mininfeas”—探索具有最小整数不可行性总和的节点。看到分支与界限

intlinprog optimoptions只有
ObjectiveCutOff 实数大于.默认为 intlinprog optimoptions只有
ObjectiveImprovementThreshold 负的真实。intlinprog仅当定位到另一个目标函数值至少为的可行解时,才更改当前可行解ObjectiveImprovementThreshold低:(fold - fnew)/(1 + |fold| intlinprog optimoptions只有
ObjectiveLimit

如果目标函数值低于ObjectiveLimit如果迭代是可行的,那么迭代停止。

fminconfminuncquadprog
OptimalityTolerance

一阶最优性的终止公差。

fgoalattainfminconfminimaxfminsearchfminuncfseminffsolvelinprog内点唯一的),lsqcurvefitlsqlinlsqnonlinquadprog

optimoptions只有。为optimset,使用TolFun
OutputFcn

指定优化函数在每次迭代时调用的一个或多个用户定义函数。传递函数句柄或函数句柄的单元格数组。看到输出函数语法intlinprog输出函数和Plot函数语法

fgoalattainfminbndfminconfminimaxfminsearchfminuncfseminffsolvefzerointlinproglsqcurvefitlsqnonlin

PlotFcn

在算法执行时绘制进度的各种度量。从预定义的情节中选择或编写自己的情节。给出列出的函数名,或函数句柄,如@optimplotx.传递一个内置plot函数名、函数句柄或内置名称或函数句柄的单元格数组。对于自定义plot函数,传递函数句柄。

  • “optimplotx”绘制当前点

  • “optimplotfunccount”绘制函数计数

  • “optimplotfval”绘制函数值

  • “optimplotconstrviolation”绘制最大违反约束

  • “optimplotresnorm”表示残差的范数

  • “optimplotfirstorderopt”绘制一阶最优性

  • “optimplotstepsize”绘制步长

  • “optimplotmilp”绘制混合整数线性程序的间隙

看到Plot函数语法intlinprog输出函数和Plot函数语法

fgoalattainfminbndfminconfminimaxfminsearchfminuncfseminffsolvefzerointlinproglsqcurvefitlsqnonlin.有关应用的值,请参阅各个函数参考页。

optimoptions只有。为optimset,使用PlotFcns
RelativeGapTolerance

真正的从0通过1intlinprog如果内部计算的上(U)及以下(l)在目标函数上的边界小于或等于RelativeGapTolerance:

(U - L) / (abs(U) + 1) <= RelativeGapTolerance

intlinprog自动修改公差为大l大小:

公差=min (1 / (1 + L | |), RelativeGapTolerance)

intlinprog optimoptions只有
RootLPAlgorithm

求解线性规划的算法:

  • 对偶单纯形的-对偶单纯形算法

  • “primal-simplex”-原始单纯形算法

intlinprog optimoptions只有
RootLPMaxIterations 非负整数,即单纯形算法求解初始线性规划问题的最大迭代次数。 intlinprog optimoptions只有
ScaleProblem

fmincon内点而且sqp算法,真正的使算法通过所有约束和目标函数的初始值规范化。通过设置为默认值禁用

fmincon
SpecifyConstraintGradient

非线性约束的用户定义梯度。

fgoalattainfminconfminimax

optimoptions只有。为optimset,使用GradConstr
SpecifyObjectiveGradient

用户定义的梯度或目标函数的雅可比矩阵。

fgoalattainfminconfminimaxfminuncfseminffsolvelsqcurvefitlsqnonlin

optimoptions只有。为optimset,使用GradObj雅可比矩阵
StepTolerance

终止公差x

所有功能linprog而且lsqlin

optimoptions只有。为optimset,使用TolX
SubproblemAlgorithm

确定如何计算迭代步骤。

fmincon
TypicalX

数组,指定参数数组的典型大小x.数组的大小等于x0,起点。主要用于缩放有限差分的梯度估计。

fgoalattainfminconfminimaxfminuncfsolvelsqcurvefitlsqlinlsqnonlinquadprog

UseParallel

真正的,适用求解器并行估计梯度。通过设置为禁用

fgoalattainfminconfminimaxfminuncfsolvelsqcurvefitlsqnonlin

隐藏选项

optimoptions“隐藏”一些选项,这意味着它不显示它们的值。要了解如何查看这些选项以及隐藏它们的原因,请参见视图选项

函数参考页中列出这些选项斜体。

隐藏的优化工具箱选项

此表列出了隐藏的优化工具箱™选项。

选项optimoptions隐藏了

选项名称 描述 函数使用 限制
诊断

显示关于要最小化或解决的功能的诊断信息。

除了fminbndfminsearchfzero,lsqnonneg

DiffMaxChange

有限差分变量的最大变化量。

fgoalattainfminconfminimaxfminuncfseminffsolvelsqcurvefitlsqnonlin

DiffMinChange

有限差分的最小变量变化量。

fgoalattainfminconfminimaxfminuncfseminffsolvelsqcurvefitlsqnonlin

FunValCheck

检查目标函数和约束值是否有效。“上”当目标函数或约束返回值为时显示错误复杂的,或

请注意

FunValCheck不返回错误当与fminbndfminsearch,或fzero,该句柄适当。

“关闭”没有显示错误。

fgoalattainfminbndfminconfminimaxfminsearchfminuncfseminffsolvefzerolsqcurvefitlsqnonlin

HessPattern

有限差分的Hessian稀疏模式。矩阵的大小是n × n,其中n是元素的数量x0,起点。

fminconfminunc

HessUpdate

拟牛顿更新方案。

fminunc

InitBarrierParam

初始势垒值。

fmincon
InitDamping

初始Levenberg-Marquardt参数。

fsolvelsqcurvefitlsqnonlin optimoptions只有
InitTrustRegionRadius

信任区域的初始半径。

fmincon
JacobPattern

有限差分雅可比矩阵的稀疏模式。矩阵的大小是——- - - - - -n,在那里用户指定的函数是否返回第一个参数中的值的数量有趣的,n元素的个数在吗x0,起点。

fsolvelsqcurvefitlsqnonlin

LPPreprocess

松弛线性程序的解的预处理类型(参见线性规划预处理):

  • “没有”-无预处理。

  • “基本”-使用预处理。

intlinprog optimoptions只有
MaxPCGIter

预条件共轭梯度法允许最大迭代次数。

fminconfminuncfsolvelsqcurvefitlsqlinlsqnonlinquadprog

MaxProjCGIter

投影共轭梯度迭代次数的公差;这是一个内部迭代,而不是算法的迭代次数。

fmincon
MaxSQPIter

顺序二次规划法允许的最大迭代次数。

fgoalattainfminconfminimax

MeritFunction

使用目标实现/最大极小值函数(多目标)vs。fmincon(单目标)。

fgoalattainfminimax

PrecondBandWidth

PCG预处理器的上带宽。设置为“正”使用直接因式分解代替CG。

fminconfminuncfsolvelsqcurvefitlsqlinlsqnonlinquadprog

进行预处理

单纯形或对偶单纯形算法迭代之前的LP预处理级别。

linprog

optimoptions只有
RelLineSrchBnd

相对边界在线搜索步长。

fgoalattainfminconfminimaxfseminf

RelLineSrchBndDuration

中指定的边界的迭代次数RelLineSrchBnd应该是活跃的。

fgoalattainfminconfminimaxfseminf

ScaleProblem

当使用算法选项“levenberg-marquardt”,设置ScaleProblem选项的雅可比矩阵有时有助于解决糟糕的问题。

fsolvelsqcurvefitlsqnonlin
TolConSQP

内部SQP迭代的约束违例容忍。

fgoalattainfminconfminimaxfseminf
TolPCG

PCG迭代的终止公差。

fminconfminuncfsolvelsqcurvefitlsqlinlsqnonlinquadprog

TolProjCG

投影共轭梯度算法的相对公差这是针对内部迭代,而不是算法迭代。

fmincon
TolProjCGAbs

投影共轭梯度算法的绝对公差这是针对内部迭代,而不是算法迭代。

fmincon

隐藏的全局优化工具箱选项

由于这些选项被隐藏的原因,请参见optimoptions隐藏的选项(全局优化工具箱)。

选项optimoptions隐藏了

选项名称 函数使用
缓存

patternsearch

CacheSize

patternsearch

CacheTol

patternsearch

DisplayInterval

particleswarmsimulannealbnd

FunValCheck

particleswarm

HybridInterval

simulannealbnd

InitialPenalty

遗传算法patternsearch

MaxMeshSize

patternsearch

MeshRotate

patternsearch

MigrationDirection

遗传算法

MigrationFraction

遗传算法

MigrationInterval

遗传算法

PenaltyFactor

遗传算法patternsearch

PlotInterval

遗传算法patternsearchsimulannealbnd

StallTest

遗传算法

TolBind patternsearch

相关的话题