AbsoluteGapTolerance非负实数。如果内部计算的目标函数的上界 (U) 和下界 (L) 之间的差小于或等于 AbsoluteGapTolerance,则 intlinprog 停止:
U – L <=
AbsoluteGapTolerance。
AbsoluteMaxObjectiveCountF(x) 的数量,用于最小化最差情形绝对值。
BranchRule选择分支分量的规则:
'maxpscost' - 具有最大伪代价的小数分量。请参阅分支定界。
'strongpscost' - 具有最大伪代价的小数分量,需要审慎估计伪代价。请参阅分支定界。
'reliability' - 具有最大伪代价的小数分量,需要比 'strongpscost' 更为审慎地估计伪代价。请参阅分支定界。
'mostfractional' - 小数部分最接近 1/2 的分量。
'maxfun' - 目标向量 f 的绝对值中对应分量最大的小数分量。
CheckGradients将用户提供的分析导数(梯度或 Jacobian 矩阵,取决于所选求解器)与有限差分导数进行比较。仅限于 optimoptions。对于 optimset,使用 DerivativeCheck
CutGeneration切割生成的级别(请参阅切割生成):
'none' - 无切割。使 CutMaxIterations 不相关。
'basic' - 正常切割生成。
'intermediate' - 使用更多切割类型。
'advanced' - 使用大多数切割类型。
CutMaxIterations在进入分支定界阶段之前经历所有切割生成方法的次数,从 1 到 50 的整数。通过将 CutGeneration 选项设置为 'none' 可禁用切割生成。
Display显示级别。
'off' 不显示输出。
'iter' 显示每次迭代的输出,并给出默认退出消息。
'iter-detailed' 显示每次迭代的输出,并给出带有技术细节的退出消息。
'notify' 仅当函数不收敛时才显示输出,并给出默认退出消息。
'notify-detailed' 仅当函数不收敛时才显示输出,并给出技术性退出消息。
'final' 仅显示最终输出,并给出默认退出消息。
'final-detailed' 仅显示最终输出,并给出带有技术细节的退出消息。全部。有关适用的值,请参阅各个函数参考页。
EqualityGoalCount指定目标 fun 达到设置目标所需的目标数量。如有必要,请对您的目标重新排序,让 fgoalattain 准确实现第一个 EqualityGoalCount 目标。仅限于 optimoptions。对于 optimset,使用 GoalsExactAchieve
FiniteDifferenceStepSize有限差分的标量或向量步长大小因子。当您将 FiniteDifferenceStepSize 设置为向量 v 时,前向有限差分 delta 是
delta = v.*sign′(x).*max(abs(x),TypicalX); 其中 sign′(x) = sign(x)(例外是 sign′(0) = 1)。中心有限差分是
delta = v.*max(abs(x),TypicalX);标量 FiniteDifferenceStepSize 扩展为向量。对于正向有限差分,默认值为 sqrt(eps);对于中心有限差分,默认值为 eps^(1/3)。仅限于 optimoptions。对于 optimset,使用 FinDiffRelStep
FiniteDifferenceType用于估计梯度的有限差分是 'forward'(默认值)或 'central'(中心化),这需要两倍的函数计算次数,但结果应该更准确。如果 HonorBounds 选项设置为 false,则在 fmincon 内点计算中,'central' 差分可能会在其计算过程中违反边界。仅限于 optimoptions。对于 optimset,使用 FinDiffType
HessianApproximationHessian 矩阵逼近的方法:'bfgs'、'lbfgs'、{'lbfgs',Positive Integer} 或 'finite-difference'。
当 HessianFcn 或 HessianMultiplyFcn 非空时将被忽略。
HessianFcn用户提供的 Hessian 函数,指定为函数句柄(请参阅包含 Hessian 矩阵)。
HessianMultiplyFcn用户提供的 Hessian 矩阵乘法函数,指定为函数句柄。
当 HessianFcn 非空时将被忽略。
Heuristics搜索可行点的算法(请参阅使用启发式方法求出可行解):
'basic'
'intermediate'
'advanced'
'rss'
'rins'
'round'
'diving'
'rss-diving'
'rins-diving'
'round-diving'
'none'
HeuristicsMaxNodes严格正整数,它限制 intlinprog 在分支定界搜索可行点的过程中可探查的节点数。请参阅使用启发式方法求出可行解。
HonorBounds默认值 true 确保每次迭代都满足边界约束。通过设置为 false 关闭。仅限于 optimoptions。对于 optimset,使用 AlwaysHonorConstraints
IntegerPreprocess整数预处理的类型(请参阅混合整数规划预处理):
'none' - 使用非常少的整数预处理步骤。
'basic' - 使用中等数量的整数预处理步骤。
'advanced' - 使用所有可用的整数预处理步骤。
IntegerTolerance1e-6 到 1e-3 范围内的实数,这是解 x 的分量仍被视为整数时相比整数可具有的最大偏差。IntegerTolerance 不是停止条件。
JacobianMultiplyFcn用户定义的 Jacobian 矩阵乘法函数,指定为函数句柄。除非对于 fsolve、lsqcurvefit 和 lsqnonlin 来说 SpecifyObjectiveGradient 是 true,否则被忽略。
LinearSolver算法内部线性求解器的类型:
'auto' - 如果传递的二次矩阵为稀疏矩阵(对于 quadprog 来说为 H,对于 lsqlin 来说为 C),则使用 'sparse';否则使用 'dense'。
'sparse' - 使用稀疏线性代数。
'dense' - 使用稠密线性代数。lsqlin 'interior-point' 算法和 quadprog 'interior-point-convex' 算法
LPMaxIterations严格正整数,在分支定界过程中每个节点的单纯形算法迭代的最大次数。
LPOptimalityTolerance非负实数,要将一个变量纳入基,该变量的简化后的代价必须超过 LPOptimalityTolerance。
MaxIterations允许的最大迭代次数。
MaxFeasiblePoints严格正整数。intlinprog 在找到 MaxFeasiblePoints 个整数可行点时停止。
MaxNodes严格正整数,它是求解器在其分支定界过程中探查的最大节点数。
MaxTime算法允许的最长时间(以秒为单位)。
NodeSelection选择下一步要探查的节点。
'simplebestproj' - 最佳投影。请参阅分支定界。
'minobj' - 探查目标函数值最小的节点。
'mininfeas' - 探查整数不可行性之和最小的节点。请参阅分支定界。
ObjectiveCutOff大于 -Inf 的实数。默认值为 Inf。
ObjectiveImprovementThreshold非负实数。intlinprog 仅在找到目标函数值比当前可行解的目标函数值低至少 ObjectiveImprovementThreshold 的另一个解时,才会更改当前可行解:(fold – fnew)/(1 + |fold|) >
ObjectiveImprovementThreshold。
ObjectiveLimit如果目标函数值低于 ObjectiveLimit 并且迭代可行,则迭代停止。
PlotFcn绘制算法执行过程中的各个进度测量值。从预定义绘图中选择,或者自行编写。以列表或函数句柄(如 @optimplotx)形式给出函数名称。传递内置绘图函数名称、函数句柄,或由内置名称或函数句柄组成的元胞数组。对于自定义绘图函数,传递函数句柄。
'optimplotx' 绘制当前点
'optimplotfunccount' 绘制函数计数
'optimplotfval' 绘制函数值
'optimplotfvalconstr' 将找到的最佳可行目标函数值绘制为线图。该图将不可行点显示为红色,可行点显示为蓝色,使用的可行性容差为 1e-6。
'optimplotconstrviolation' 绘制最大值约束违反度
'optimplotresnorm' 绘制残差范数
'optimplotfirstorderopt' 绘制一阶最优性
'optimplotstepsize' 绘制步长大小
'optimplotmilp' 绘制混合整数线性规划的间隙
RelativeGapTolerance0 到 1 范围内的实数。如果内部计算的目标函数上界 (U) 和下界 (L) 之间的差小于或等于 RelativeGapTolerance,则 intlinprog 停止:
(U – L) / (abs(U)
+ 1) <=
RelativeGapTolerance。
intlinprog 自动针对较大的 L 量级修正容差:
容差 = min(1/(1+|L|),
RelativeGapTolerance)
RootLPAlgorithm求解线性规划的算法:
'dual-simplex' - 对偶单纯形算法
'primal-simplex' - 原始单纯形算法
RootLPMaxIterations非负整数,它是求解初始线性规划问题要进行的单纯形算法迭代的最大次数。
ScaleProblem对于 fmincon interior-point 和 sqp 算法,true 会使算法根据所有约束和目标函数的初始值对其进行归一化。要禁用,请设置为默认值 false。
SpecifyConstraintGradient非线性约束的用户定义梯度。
StepTolerancex 的终止容差。
SubproblemAlgorithm确定迭代步的计算方式。