主要内容

优化选择参考

优化选项

下表描述了优化选项。创建选项使用optimoptions函数,或optimsetfminbnd,fminsearch,fzero,或lsqnonneg

看到信息的各个函数参考页面可用的选项值和默认值。

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

optimoptions (“fmincon”)

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

选择= optimoptions (“fmincon”,“算法”,“sqp”)

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

优化选项

选项名称 描述 使用的功能 限制
AbsoluteGapTolerance

负的真实。intlinprog停止如果内部计算上的区别(U)和低(l)范围小于或等于目标函数AbsoluteGapTolerance:

U - L < = AbsoluteGapTolerance

intlinprog optimoptions只有
AbsoluteMaxObjectiveCount

的数量F(x)最坏的情况下绝对的值降到最低。

fminimax

算法

选择使用的算法解算器。

fmincon,fminunc,fsolve,linprog,lsqcurvefit,lsqlin,lsqnonlin,quadprog
BarrierParamUpdate

选择更新障碍参数的算法“内点”算法,要么“单调”预估的

fmincon
BranchRule

规则选择的组件的分支:

  • “maxpscost”——与最大pseudocost部分组件。看到分支界限法

  • “strongpscost”——与最大pseudocost部分组件,pseudocost仔细评估。看到分支界限法

  • “可靠性”与最大pseudocost——部分组件,一个更谨慎的估计pseudocost比“strongpscost”。看到分支界限法

  • “mostfractional”——小数部分是最接近的组件1/2

  • “maxfun”——最大的部分组件对应的组件在目标向量的绝对值f

intlinprog optimoptions只有
CheckGradients

用户提供比较分析衍生品(梯度或雅可比矩阵,取决于所选择的解算器)有限差分衍生品。

fgoalattain,fmincon,fminimax,fminunc,fseminf,fsolve,lsqcurvefit,lsqnonlin

optimoptions只有。为optimset,使用DerivativeCheck
ConstraintTolerance

公差约束违反。

coneprog,fgoalattain,fmincon,fminimax,fseminf,intlinprog,linprog,lsqlin,quadprog

optimoptions只有。为optimset,使用TolCon
CutGeneration

水平的一代(见减少减少代):

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

  • “基本”——正常切割的一代。

  • “中间”——使用更多的类型。

  • “高级”——使用最切类型。

intlinprog optimoptions只有
CutMaxIterations 之前都经过数代的方法进入和阶段,一个整数1通过50。禁用一代通过设置CutGeneration选项“没有” intlinprog optimoptions只有
显示

显示水平。

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

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

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

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

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

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

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

所有人。查看单个函数引用页的值。

EnableFeasibilityMode

选择算法实现的可行性“内点”算法。真正的使用一个不同于默认的算法

fmincon
EqualityGoalCount

指定数量的目标所需的目标有趣的等于设定的目标。调整你的目标,如果有必要,fgoalattain实现第一EqualityGoalCount目标准确。

fgoalattain

optimoptions只有。为optimset,使用GoalsExactAchieve
FiniteDifferenceStepSize

标量或矢量步长因子有限的差异。当您设置FiniteDifferenceStepSize一个向量v向前,有限的差异δ

δ= v *信号′(x) *马克斯(abs (x)、TypicalX);

在哪里信号′(x) =标志(x)除了信号′(0)= 1。中央有限的差异是

δ= v *马克斯(abs (x)、TypicalX);

标量FiniteDifferenceStepSize扩大到一个向量。默认值是sqrt (eps)向前有限的差异,eps ^ (1/3)中央有限的差异。

fgoalattain,fmincon,fminimax,fminunc,fseminf,fsolve,lsqcurvefit,lsqnonlin

optimoptions只有。为optimset,使用FinDiffRelStep
FiniteDifferenceType

有限的差异,用于估算梯度,要么“前进”(默认),或“中央”(居中),它需要两倍的功能评估但应该更准确。“中央”在他们的评价差异可能违反界限fmincon内点评估如果HonorBounds选项设置为

fgoalattain,fmincon,fminimax,fminunc,fseminf,fsolve,lsqcurvefit,lsqnonlin

optimoptions只有。为optimset,使用FinDiffType
FunctionTolerance

终止公差函数值。

fgoalattain,fmincon,fminimax,fminsearch,fminunc,fseminf,fsolve,lsqcurvefit,lsqlin,lsqnonlin,quadprog

optimoptions只有。为optimset,使用TolFun
HessianApproximation

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

忽略时HessianFcnHessianMultiplyFcn非空的。

fmincon

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

用户提供的麻绳,指定为一个函数处理(见包括麻布)。

fmincon,fminunc optimoptions只有。为optimset,使用HessFcn
HessianMultiplyFcn

用户提供的黑森乘法函数,指定为一个函数处理。

忽略时HessianFcn非空的。

fmincon,fminunc,quadprog

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真正的fsolve,lsqcurvefit,lsqnonlin

fsolve,lsqcurvefit,lsqlin,lsqnonlin

LinearSolver

类型的内部线性规划求解算法。为lsqlinquadprog:

  • “汽车”——使用“稀疏”如果通过二次矩阵是稀疏的Hquadprog,Clsqlin),“密集”否则。

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

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

coneprog:

  • “汽车”(默认)coneprog选择步骤解决。

    • 如果问题是稀疏的,步骤解决“prodchol”

    • 否则,步骤解决“增强”

  • “增强”——增强形成步骤解决。看到[1]

  • “正常”——范式步骤解决。看到[1]

  • “prodchol”柯列斯基一步解算器,产品形式。看到[4][5]

  • “舒尔”-舒尔补充方法步骤解决。看到[2]

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

LPMaxIterations 严格的正整数,单纯形算法迭代的最大数量和过程中每个节点。 intlinprog optimoptions只有
LPOptimalityTolerance 负的真正降低成本必须超过LPOptimalityTolerance为一个变量为基础。 intlinprog optimoptions只有
MaxFunctionEvaluations

允许的最大数量的功能评估。

fgoalattain,fminbnd,fmincon,fminimax,fminsearch,fminunc,fseminf,fsolve,lsqcurvefit,lsqnonlin

optimoptions只有。为optimset,使用MaxFunEvals
MaxIterations

允许的最大迭代数。

除了fzerolsqnonneg

optimoptions只有。为optimset,使用麦克斯特
MaxFeasiblePoints 严格的正整数。intlinprog停止如果发现MaxFeasiblePoints整数可行点。 intlinprog optimoptions只有
MaxNodes 严格的最大节点数的正整数解算器探索和过程。

intlinprog

MaxTime

最大的时间在几秒钟内允许算法。

coneprog,intlinprog,linprog

NodeSelection

选择下一步探索的节点。

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

  • “minobj”-探索与最小目标函数节点。

  • “mininfeas”——探索整数之和最小的节点不可能实行。看到分支界限法

intlinprog optimoptions只有
ObjectiveCutOff 真实的比。默认值是 intlinprog optimoptions只有
ObjectiveImprovementThreshold 负的真实。intlinprog改变当前可行解只有当它位于另一个与至少一个目标函数值ObjectiveImprovementThreshold低:(褶皱- fnew) /(1 + | |折叠)> ObjectiveImprovementThreshold intlinprog optimoptions只有
ObjectiveLimit

如果目标函数值ObjectiveLimit然后迭代是可行的,迭代停止。

fmincon,fminunc,lsqlin,quadprog
OptimalityTolerance

在一阶最优性终止宽容。

coneprog,fgoalattain,fmincon,fminimax,fminunc,fseminf,fsolve,linprog(内点唯一的),lsqcurvefit,lsqlin,lsqnonlin,quadprog

optimoptions只有。为optimset,使用TolFun
OutputFcn

指定一个或多个用户定义的函数,在每个迭代优化函数调用。通过一个函数处理或处理单元阵列的功能。看到输出函数和情节函数的语法intlinprog输出函数和情节函数的语法

fgoalattain,fminbnd,fmincon,fminimax,fminsearch,fminunc,fseminf,fsolve,fzero,intlinprog,lsqcurvefit,lsqnonlin

PlotFcn

阴谋在算法执行时各种措施的进展。从预定义的情节或编写自己的选择。给函数名作为上市,或一个函数处理等@optimplotx。通过一个内置的函数名,函数处理,或处理单元阵列的内置名称或函数。自定义绘制函数,通过函数处理。

  • “optimplotx”情节当前点

  • “optimplotfunccount”情节的函数计算

  • “optimplotfval”情节的函数值

  • “optimplotfvalconstr”情节发现最好的可行的目标函数值作为一个阴谋。情节不可行点显示为红色和可行点蓝色,用宽容的可行性1 e-6

  • “optimplotconstrviolation”情节的最大约束违反

  • “optimplotresnorm”阴谋剩余工资的标准

  • “optimplotfirstorderopt”阴谋的一阶最优性

  • “optimplotstepsize”情节的步长

  • “optimplotmilp”土地混合整数线性规划的差距

看到绘制函数intlinprog输出函数和情节函数的语法

fgoalattain,fminbnd,fmincon,fminimax,fminsearch,fminunc,fseminf,fsolve,fzero,intlinprog,lsqcurvefit,lsqnonlin。查看单个函数引用页的值。

optimoptions只有。为optimset,使用PlotFcns
RelativeGapTolerance

真正的从0通过1intlinprog停止如果内部之间的相对偏差计算上(U)和低(l)范围小于或等于目标函数RelativeGapTolerance:

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

intlinprog optimoptions只有
RootLPAlgorithm

算法求解线性程序:

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

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

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

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

fmincon
SpecifyConstraintGradient

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

fgoalattain,fmincon,fminimax

optimoptions只有。为optimset,使用GradConstr
SpecifyObjectiveGradient

用户定义的目标函数的梯度或雅克比。

fgoalattain,fmincon,fminimax,fminunc,fseminf,fsolve,lsqcurvefit,lsqnonlin

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

终止上公差x

所有的功能除了linprogconeprog

SubproblemAlgorithm

确定迭代步骤是如何计算的。

fmincon,fminunc,fsolve,lsqcurvefit,lsqlin,lsqnonlin
TypicalX

数组指定数组的典型大小的参数x。数组的大小等于的大小x0的起点。主要为梯度估计扩展有限的差异。

fgoalattain,fmincon,fminimax,fminunc,fseminf,fsolve,lsqcurvefit,lsqlin,lsqnonlin,quadprog

UseParallel

真正的适用的解决者估计,并行梯度。禁用通过设置

fgoalattain,fmincon,fminimax,fminunc,fsolve,lsqcurvefit,lsqnonlin

隐藏选项

optimoptions“隐藏”一些选项,这意味着它不显示它们的值。学习如何查看这些选项,为什么他们是隐藏的,看到的视图选项

函数引用这些选项列表页面斜体。

隐藏的优化工具箱选项

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

选项optimoptions隐藏了

选项名称 描述 使用的功能 限制
诊断

显示诊断信息函数最小化或解决。

除了fminbnd,fminsearch,fzero,lsqnonneg

DiffMaxChange

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

fgoalattain,fmincon,fminimax,fminunc,fseminf,fsolve,lsqcurvefit,lsqnonlin

DiffMinChange

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

fgoalattain,fmincon,fminimax,fminunc,fseminf,fsolve,lsqcurvefit,lsqnonlin

FunValCheck

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

请注意

FunValCheck不返回一个错误一起使用时fminbnd,fminsearch,或fzero,处理适当。

“关闭”显示没有错误。

fgoalattain,fminbnd,fmincon,fminimax,fminsearch,fminunc,fseminf,fsolve,fzero,lsqcurvefit,lsqnonlin

HessPattern

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

fmincon,fminunc

HessUpdate

拟牛顿更新计划。

fminunc

InitBarrierParam

最初的障碍的价值。

fmincon
InitDamping

初始Levenberg-Marquardt参数。

fsolve,lsqcurvefit,lsqnonlin optimoptions只有
InitTrustRegionRadius

最初的信赖域半径。

fmincon
JacobPattern

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

fsolve,lsqcurvefit,lsqnonlin

LPPreprocess

类型的预处理解决轻松的线性规划(见线性规划预处理):

  • “没有”——没有预处理。

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

intlinprog optimoptions只有
MaxPCGIter

最大数量的条件共轭梯度迭代方法允许的。

fmincon,fminunc,fsolve,lsqcurvefit,lsqlin,lsqnonlin,quadprog

MaxProjCGIter

宽容的共轭梯度迭代数量的预测;这是一个内部迭代,而不是算法的迭代次数。

fmincon
MaxSQPIter

最大数量的迭代序列二次规划方法。

fgoalattain,fmincon,fminimax

MeritFunction

使用目标达到情况/极大极小优化方程(多目标)vs。fmincon(单目标)。

fgoalattain,fminimax

PrecondBandWidth

上的带宽PCG预调节器。设置为“正”使用一个直接分解代替CG。

fmincon,fminunc,fsolve,lsqcurvefit,lsqlin,lsqnonlin,quadprog

进行预处理

LP水平预处理之前单纯形迭代或对偶单纯形算法。

linprog

optimoptions只有
RelLineSrchBnd

相对联机搜索步长。

fgoalattain,fmincon,fminimax,fseminf

RelLineSrchBndDuration

绑定中指定的迭代次数RelLineSrchBnd应该是主动的。

fgoalattain,fmincon,fminimax,fseminf

ScaleProblem

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

fsolve,lsqcurvefit,lsqnonlin
TolConSQP

为内部SQP迭代约束违反宽容。

fgoalattain,fmincon,fminimax,fseminf
TolPCG

在PCG迭代终止宽容。

fmincon,fminunc,fsolve,lsqcurvefit,lsqlin,lsqnonlin,quadprog

TolProjCG

预计共轭梯度算法的相对公差;这是一种内在的迭代,迭代算法。

fmincon
TolProjCGAbs

绝对容忍预计共轭梯度算法;这是一种内在的迭代,迭代算法。

fmincon

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

这些选项是隐藏的原因,请参阅选项optimoptions隐藏(全局优化工具箱)

选项optimoptions隐藏了

选项名称 使用的功能
缓存

patternsearch

CacheSize

patternsearch

CacheTol

patternsearch

DisplayInterval

particleswarm,simulannealbnd

FunValCheck

particleswarm

HybridInterval

simulannealbnd

InitialPenalty

遗传算法,patternsearch

MaxMeshSize

patternsearch

MeshRotate

patternsearch

MigrationDirection

遗传算法

MigrationFraction

遗传算法

MigrationInterval

遗传算法

PenaltyFactor

遗传算法,patternsearch

PlotInterval

遗传算法,patternsearch,simulannealbnd

StallTest

遗传算法

TolBind patternsearch

相关的话题