主要内容

优化选择参考

优化选项

下表描述了优化选项。使用optimoptions函数,或优化集fminbnd,fminsearch.,fzero,或lsqnonneg

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

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

optimoptions (“fmincon”

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

选择= optimoptions (“fmincon”,'算法','SQP'

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

优化选项

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

负的真实。intlinprog.停止时,如果内部计算的上限(U)及下(l)的边界小于或等于AbsoluteGapTolerance

U - L <=绝对间隙公差

intlinprog. optimoptions只有
AbsoluteMaxObjectiveCount

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

fminimax

算法

选择求解器使用的算法。

fmincon,Fminunc.,FSOLVE.,linprog,lsqcurvefit,lsqlin,lsqnonlin,quadprog
BarrierParamUpdate

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

fmincon
BranchRule

选择分支组件的规则:

  • 'maxpscost'- 具有最大Pseudocost的分数组件。看到分支界限法

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

  • '可靠性'-具有最大伪成本的小数部分,其伪成本的估计甚至比in更为仔细“strongpscost”.看到分支界限法

  • '大多数文件'-小数部分最接近的成分1/2

  • “maxfun”- 具有最大相应组件的分数组分,在客观矢量的绝对值中f

intlinprog. optimoptions只有
CheckGradients

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

Fgoalattain,fmincon,fminimax,Fminunc.,fseminf,FSOLVE.,lsqcurvefit,lsqnonlin

optimoptions只要。为优化集,使用DerivativeCheck
ConstraintTolerance

约束违规的宽容。

coneprog,Fgoalattain,fmincon,fminimax,fseminf,intlinprog.,linprog,lsqlin,quadprog

optimoptions只要。为优化集,使用tolcon.
CutGeneration

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

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

  • '基本的'-正常切割世代。

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

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

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

显示水平。

  • '离开'显示没有输出。

  • “通路”在每次迭代时显示输出,并提供默认退出消息。

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

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

  • '通知 - 详细'仅在函数不收敛时显示输出,并给出技术退出消息。

  • '最终的'仅显示最终输出,并提供默认退出消息。

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

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

EnableFeasibilityMode

选择实现可行性的算法“内点”算法。真正的使用不同的算法而不是默认值

fmincon
EqualityGoalCount

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

Fgoalattain

optimoptions只要。为优化集,使用GoalsExactAchieve
FiniteDifferenceStepSize

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

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

在哪里符号“(x) =符号(x)除了标志' (0)= 1.中央有限差异是

delta = v。* max(abs(x),典型值);

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

Fgoalattain,fmincon,fminimax,Fminunc.,fseminf,FSOLVE.,lsqcurvefit,lsqnonlin

optimoptions只要。为优化集,使用FinDiffRelStep
FiniteDifferenceType

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

Fgoalattain,fmincon,fminimax,Fminunc.,fseminf,FSOLVE.,lsqcurvefit,lsqnonlin

optimoptions只要。为优化集,使用FinDiffType
FunctionTolerance

函数值的终止公差。

Fgoalattain,fmincon,fminimax,fminsearch.,Fminunc.,fseminf,FSOLVE.,lsqcurvefit,lsqlin,lsqnonlin,quadprog

optimoptions只要。为优化集,使用塔尔芬
Hessianapproximation

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

忽略时HessianFcn黑森州多普利氟烃是不是空的。

fmincon

optimoptions只要。为优化集,使用黑森州
HessianFcn

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

fmincon,Fminunc. optimoptions只要。为优化集,使用HessFcn
黑森州多普利氟烃

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

忽略时HessianFcn是不是空的。

fmincon,Fminunc.,quadprog

optimoptions只要。为优化集,使用HessMult
启发式

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

  • '基本的'

  • “中间”

  • “高级”

  • 'RSS'

  • “rin”

  • “圆”

  • “潜水”

  • “rss-diving”

  • “rins-diving”

  • “round-diving”

  • “没有”

intlinprog. optimoptions只有
HeuristicsMaxNodes 限制节点数量的严格正整数intlinprog.可以在其分支定界中探索寻找可行点。看到寻找可行解决方案的启发式金宝搏官方网站 intlinprog. optimoptions只有
HonorBounds

默认的真正的确保在每次迭代时满足约束约束。通过设置关闭

fmincon optimoptions只要。为优化集,使用AlwaysHonorConstraints
IntegerPreprocess

整数预处理的类型(参见混合整数程序预处理):

  • “没有”-使用很少的整数预处理步骤。

  • '基本的'- 使用中等数量的整数预处理步骤。

  • “高级”—使用所有可用的整数预处理步骤。

intlinprog. optimoptions只有
IntegerTolerance 真正的从1E-6通过1E-3,其中与解的一个组成部分的整数的最大偏差x可以被认为是一个整数。IntegerTolerance不是一个停止的标准。 intlinprog. optimoptions只有
JacobianMultiplyFcn

用户定义的jacobian乘法函数,指定为函数句柄。忽略,除非SpecifyObjectiveGradient真正的FSOLVE.,lsqcurvefit,lsqnonlin

FSOLVE.,lsqcurvefit,lsqlin,lsqnonlin

LinearSolver

算法中的内部线性求解器类型。为lsqlinquadprog

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

  • '疏'- 使用稀疏线性代数。

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

coneprog

  • “汽车”(默认)coneprog选择步进求解器。

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

    • 否则,步进解算器为“增强”

  • “增强”-扩充形式的步进求解器。看到[1]

  • “正常”-标准形式的步进求解器。看到[1]

  • “prodchol”-乘积形式的Cholesky步进求解器。看到[4][5]

  • “舒尔”舒尔补码法步进求解器。看到[2]

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

LPMaxIterations 严格的正整数,分支和绑定过程中每个节点的最大单位算法迭代的最大数量。 intlinprog. optimoptions只有
lpoptimalandaltolerance. 不必要的成本必须超过的非负实情况lpoptimalandaltolerance.作为基数的变量。 intlinprog. optimoptions只有
MaxFunctionEvaluations

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

Fgoalattain,fminbnd,fmincon,fminimax,fminsearch.,Fminunc.,fseminf,FSOLVE.,lsqcurvefit,lsqnonlin

optimoptions只要。为优化集,使用Maxfunevals.
MaxIterations

允许的最大迭代次数。

除了fzerolsqnonneg

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

intlinprog.

MaxTime

算法允许的最大秒数。

coneprog,intlinprog.,linprog

NodeSelection

选择接下来要研究的节点。

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

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

  • 'mininfeas'- 探索节点,其中包含最小的整数潜入性。看到分支界限法

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

如果目标函数值小于Objectivelimit.并且迭代是可行的,然后迭代停止。

fmincon,Fminunc.,lsqlin,quadprog
OptimalityTolerance

一阶最优性的终止公差。

coneprog,Fgoalattain,fmincon,fminimax,Fminunc.,fseminf,FSOLVE.,linprog内部点唯一的),lsqcurvefit,lsqlin,lsqnonlin,quadprog

optimoptions只要。为优化集,使用塔尔芬
outputfcn.

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

Fgoalattain,fminbnd,fmincon,fminimax,fminsearch.,Fminunc.,fseminf,FSOLVE.,fzero,intlinprog.,lsqcurvefit,lsqnonlin

PlotFcn

在算法执行时绘制各种进步措施。从预定义的地块中选择或写自己。将函数名称列为列出,或作为函数句柄,例如@optimplotx.传递内置的plot函数名、函数句柄或内置名称或函数句柄的单元格数组。对于定制的绘图函数,传递函数句柄。

  • “optimplotx”绘制当前点

  • “optimplotfunccount”绘制函数计数

  • “optimplotfval”绘制函数值

  • “optimplotfvalconstr”将找到的最佳可行目标函数值绘制成线图。该图以红色表示不可行点,以蓝色表示可行点,使用的可行性公差为1E-6

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

  • “optimplotresnorm”绘制残差的范数

  • 'OptimplotFirstOrderopt'绘制一阶最优性

  • 'OptimplotStepsize'绘制阶梯尺寸

  • “optimplotmilp”绘制混合整数线性规划的间隙

看到绘制函数intlinprog输出函数和绘图函数语法

Fgoalattain,fminbnd,fmincon,fminimax,fminsearch.,Fminunc.,fseminf,FSOLVE.,fzero,intlinprog.,lsqcurvefit,lsqnonlin.有关应用的值,请参阅各个函数参考页。

optimoptions只要。为优化集,使用PlotFcns
RelativeGapTolerance

真正的从0通过1intlinprog.停止时,如果内部计算的上部(U)及下(l)的边界小于或等于RelativeGapTolerance

(U - L) / (abs(U) + 1) <=相对vegaptolerance

intlinprog.自动修改大量的容差l大小:

宽容=min(1 /(1+ | l |),相对gaptolerance)

intlinprog. optimoptions只有
根血管算法

求解线性规划的算法:

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

  • 'primal-simplex'-原始单纯形算法

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

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

fmincon
SpecifyConstraintGradient

用户定义的非线性约束的渐变。

Fgoalattain,fmincon,fminimax

optimoptions只要。为优化集,使用GradConstr
SpecifyObjectiveGradient

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

Fgoalattain,fmincon,fminimax,Fminunc.,fseminf,FSOLVE.,lsqcurvefit,lsqnonlin

optimoptions只要。为优化集,使用GradObj雅可比矩阵
StepTolerance.

终止上公差x

所有的功能除了linprogconeprog

子项产算法

确定如何计算迭代步骤。

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.

有限差分的Hessian稀疏模式。矩阵的大小是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预处理器的上带宽。设置为'inf'使用直接分解而不是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选项的雅可比矩阵有时帮助求解器对严格缩放的问题。

FSOLVE.,lsqcurvefit,lsqnonlin
Tolconsqp.

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

Fgoalattain,fmincon,fminimax,fseminf
TolPCG

PCG迭代的终止公差。

fmincon,Fminunc.,FSOLVE.,lsqcurvefit,lsqlin,lsqnonlin,quadprog

TolProjCG

投影共轭梯度算法的相对容差;这是用于内部迭代,而不是算法迭代。

fmincon
tolprojcgabs

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

fmincon

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

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

选择optimoptions隐藏

选项名称 使用的功能
缓存

Patternsearch.

CacheSize

Patternsearch.

CacheTol

Patternsearch.

DisplayInterval

particleswarm,simulannealbnd

FunValCheck

particleswarm

HybridInterval

simulannealbnd

InitialPenalty

遗传算法,Patternsearch.

MaxMeshSize

Patternsearch.

meshotate.

Patternsearch.

迁移反应

遗传算法

MigrationFraction

遗传算法

MigrationInterval

遗传算法

PenaltyFactor

遗传算法,Patternsearch.

PlotInterval

遗传算法,Patternsearch.,simulannealbnd

StallTest

遗传算法

TolBind Patternsearch.

相关的话题