fseminf
求解半无限约束多变量非线性函数的最小值
语法
说明
fseminf
是非线性规划求解器,用于求由下式指定的问题的最小值
b 和 beq 是向量。
A 和 Aeq 是矩阵。
c(x)、ceq(x) 和 Ki(x,wi) 是返回向量的函数。
f(x) 是返回标量的函数。
f(x)、c(x) 和 ceq(x) 可以是非线性函数。向量(或矩阵)Ki(x,wi) ≤ 0 是 x 和一组附加变量 w1,w2,...,wn 的连续函数。变量 w1,w2,...,wn 是长度最大为 2 的向量。
x、lb 和 ub 可以作为向量或矩阵传递;请参阅矩阵参量。
示例
输入参数
输出参量
限制
要最小化的函数、约束和半无限约束必须为
x
和w
的连续函数。fseminf
可能只提供局部解。
算法
fseminf
使用三次和二次插值方法来估计半无限约束中的峰值。该算法使用峰值来构成一组约束,这些约束将提供给 SQP 方法,就像在 fmincon
函数中那样。当约束数量发生变化时,算法将重新为新的约束组分配拉格朗日乘数。
建议的采样间隔计算使用峰值插值和在数据集中的峰值之间的差值来估计函数需要增加还是减少数据点。该函数还通过外插曲线并将其与曲线中的其他点进行比较来计算内插的有效性。当峰值接近约束边界(即零)时,建议的采样间隔减小。
当问题不可行时,fseminf
会尝试最小化最大约束值。
有关所用算法的详细信息,以及当使用 optimoptions
将 Display
选项设置为 'iter'
时在 Procedures
标题下显示的过程类型的详细信息,请参阅SQP 实现。有关 fseminf
算法的详细信息,请参阅fseminf 问题的表示和算法。