带约束的非线性最优化
- 更新时间2025-07-30
- 阅读时长6分钟
使用非线性等式约束和非线性不等式约束,通过顺序二次方程式编程方法求解广义非线性最优化问题。

输入/输出
函数数据
—
函数数据包含用户定义函数运行时所需的静态数据。
目标和约束函数
—
目标和约束函数是对VI的引用,VI可将最小化的非线性函数、非线性等式约束函数,以及非线性不等式约束函数作为独立的输出。目标函数输出不能为空。约束函数是可选函数。因此,等式约束输出、不等式约束输出可以分别或同时为空。 可基于VI模板labview\vi.lib\gmath\NumericalOptimization\cno_objective function template.vit创建该VI。
开始
—
开始是最优化过程的n维开始点。
边界
—
限制该簇包含正在被最优化处理的参数的上下边界以及不等式约束。
开始状态
—
开始状态包含不等式约束函数的初始值、拉格朗日乘数和海赛形式。开始状态通常是上一个最优化的结束状态,并允许优化的热启动。
错误输入(无错误)
—
错误输入表明该节点运行前发生的错误条件。该输入提供标准错误输入功能。
约束设置
—
约束设置包含算法特有的附加容差和终止设置。
停止标准
—
停止标准是终止最优化过程的条件的集合。如不满足(函数容差 AND 参数容差 AND 梯度容差) OR 最大循环次数 OR 最多函数调用,最优化过程将停止。
函数调用次数
—
函数调用次数是在最优化过程中目标函数调用的次数。
最小值
—
最小值是确定的n维局部最小值。
f(最小值)
—
f(最小值)是目标函数在确定最小值处的取值。
结束状态
—
结束状态包含不等式约束函数、拉格朗日乘数和海赛形式的最终值。
错误输出
—
错误输出包含错误信息。该输出提供标准错误输出功能。 |
范例
请参考LabVIEW附带的下列范例文件。
- labview\examples\Mathematics\Fitting\Nonlinear Spring Constant fit.vi
函数数据
—
目标和约束函数
—
开始
—
边界
—
海赛形式
—
错误输入(无错误)
—
约束设置
—
约束权
—
次循环最大数
—
函数调用次数
—
最小值
—
f(最小值)
—
结束状态
—
海赛形式
—
错误输出
—