主要内容

使用LSQLIN求解器

此示例显示了如何使用优化实时编辑任务解决了约束最小二乘问题的问题。

此示例中的问题是在飞机上找到点X1+ 2X2+ 4X3= 7最接近原点。解决此问题的最简单方法是最大程度地减少距离距离的平方X=(((X1,,,,X2,,,,X3在飞往原点的平面上,返回与最小化实际距离相同的最佳点。因为距任意点的距离正方形((X1,,,,X2,,,,X3起源是 X 1 2 + X 2 2 + X 3 2 ,您可以描述以下问题:

最小 X F (( X = X 1 2 + X 2 2 + X 3 2 ,,,,

受约束的约束

X1+ 2X2+ 4X3= 7。 (1)

功能F((X) 是个目标功能X1+ 2X2+ 4X3= 7是一个平等约束。更复杂的问题可能包含其他平等约束,不平等约束和上限或下限约束。

设置并使用优化

设置问题LSQLIN求解器优化实时编辑任务。

  1. 单击创建新的实时脚本新的实时脚本按钮文件关于标签。

    新的实时脚本按钮

  2. 插入优化实时编辑任务。点击插入标签,然后在代码部分,选择任务>优化

    优化实时编辑器中的任务:在基于问题(推荐)和基于求解器的基于问题的任务之间选择

  3. 点击基于求解器按钮。这优化任务打开。

  4. 在里面指定问题类型任务部分,选择目标>最小二乘约束>线性平等

    任务选择LSQLIN作为推荐的求解器。

  5. 获取数据Cd进入MATLAB®工作区,单击部分中断按钮插入标签。在新部分中,输入以下代码。

    C =眼(3);d =零(3,1);
  6. 设置线性平等约束矩阵和向量。

    AEQ = [1 2 4];BEQ = 7;
  7. 通过按下来运行该部分CTRL+ENTER。这将变量放入工作空间。

  8. 在里面选择问题数据任务部分,将条目设置为其相应值。

    选择变量C,D,AEQ和BEQ,而X0不是

  9. 通过按下来运行求解器CTRL+ENTER。查看退出消息。

    退出消息报告最少发现满足约束

  10. 要找到解决方案,请查看任务的顶部。

    返回的变量是解决方案和目标价值

    求解器返回变量解决方案客观价值到MATLAB工作区。

  11. 在任务下方插入部分中断。将这些行放在新部分中。

    disp(解决方案)disp(目标价值)
  12. 通过按下来运行该部分CTRL+ENTER

    解决方案= [1/3、2/3、4/3]。目标= 7/3。

也可以看看

|

相关话题