【问题标题】:alternatives to lsqlin MATLABlsqlin MATLAB 的替代品
【发布时间】:2014-11-06 17:08:55
【问题描述】:

好的,我有一个脚本可以运行数百万次 lsqlin 优化功能。为了加快这段代码的速度,我“codegen”了它(基本上自动创建了一些 mex 文件)。这是Linear systems of inequations的后续。

这里的问题是lsqlin等优化函数没有转化,需要外部调用,导致效率损失。

我已经找到了 MINQ 工具箱,但不明白如何从 lsqlin 转换成这个工具箱。还找到了需要许可证的 QPC 工具箱,我目前正在等待。

有没有人推荐另一个工具箱以及如何从 lsqlin 转换到那个工具箱?

代码生成 lsqlin 脚本的一般思路(可以看出调用链接而不是完全转换)。

代码:

function main_script()
  coder.extrinsic('lsqlin_script')
  for i=1:10^7
    X=lsqlin_script(A,b,X0)
    ...
  end
end

function X=lsqlin_script(A,b,X0)
  X=lsqlin(eye(2),X0, A, b,[],[],[],[],X0, optimoptions('lsqlin','Display','Off'));
end

运行:

codegen main_script.m
main_script_mex(INPUTS)

【问题讨论】:

    标签: matlab optimization matlab-coder


    【解决方案1】:

    如果你能描述你的original problem,我想你可以期待更多的答案。

    避免lsqlin的可能方法:
    在由Ab 定义的每个平面上计算Pxyzorthogonal projection。 检查投影是否满足不等式要求。从那些满足选择最接近Pxyz 的点。如果没有找到有效点,那么最近的点将在平面的交点上。计算从Pxyz 到每条相交线的最短距离...按照平面上投影的步骤进行操作..

    正如您所看到的,它没有完全阐述,如果您认为它可以解决您的问题,您应该制定详细信息。 对于这些计算,您不需要优化函数。

    【讨论】:

    • 我现在正在寻找其他解决方案。一旦我能对此进行测试,我会感谢你的帮助。
    猜你喜欢
    • 1970-01-01
    • 2012-06-29
    • 2012-09-17
    • 2012-11-23
    • 2011-07-18
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多