使用LSQLIN
求解器
此示例显示了如何使用优化实时编辑任务解决了约束最小二乘问题的问题。
此示例中的问题是在飞机上找到点X1+ 2X2+ 4X3= 7最接近原点。解决此问题的最简单方法是最大程度地减少距离距离的平方X=(((X1,,,,X2,,,,X3)在飞往原点的平面上,返回与最小化实际距离相同的最佳点。因为距任意点的距离正方形((X1,,,,X2,,,,X3)起源是 ,您可以描述以下问题:
受约束的约束
X1+ 2X2+ 4X3= 7。 | (1) |
功能F((X) 是个目标功能和X1+ 2X2+ 4X3= 7是一个平等约束。更复杂的问题可能包含其他平等约束,不平等约束和上限或下限约束。
设置并使用优化
设置问题LSQLIN
求解器优化实时编辑任务。
单击创建新的实时脚本新的实时脚本按钮文件关于家标签。
插入优化实时编辑任务。点击插入标签,然后在代码部分,选择任务>优化。
点击基于求解器按钮。这优化任务打开。
在里面指定问题类型任务部分,选择目标>最小二乘和约束>线性平等。
任务选择
LSQLIN
作为推荐的求解器。获取数据
C
和d
进入MATLAB®工作区,单击部分中断按钮插入标签。在新部分中,输入以下代码。C =眼(3);d =零(3,1);
设置线性平等约束矩阵和向量。
AEQ = [1 2 4];BEQ = 7;
通过按下来运行该部分CTRL+ENTER。这将变量放入工作空间。
在里面选择问题数据任务部分,将条目设置为其相应值。
通过按下来运行求解器CTRL+ENTER。查看退出消息。
要找到解决方案,请查看任务的顶部。
求解器返回变量
解决方案
和客观价值
到MATLAB工作区。在任务下方插入部分中断。将这些行放在新部分中。
disp(解决方案)disp(目标价值)
通过按下来运行该部分CTRL+ENTER。