【问题标题】:How to implement box constraints in QuadProg如何在 QuadProg 中实现框约束
【发布时间】:2015-09-21 16:08:37
【问题描述】:

我想知道 R 'Quadprog' 包是否能够合并以下形式的框约束:-L*1

其中 1 是 1 的向量,L 是常数。要优化的变量是 v。基本上 v 的所有单个元素都必须在 –lambda 和 lambda 之间。

如果没有,是否有其他软件包可以解决这个问题?

非常感谢您的帮助

【问题讨论】:

  • 图片不是必须的,只需要约束 -L*1

标签: r optimization constraints quadprog


【解决方案1】:

是的,你可以。

给定函数:

solve.QP(Dmat=Dmat,dvec=dvec,Amat=Amat,bvec=bvec,meq=0)

Amatbvec 表示Amat * v >= bvec

所以这样设置:

Amat <- cbind(diag(length(v)), -diag(length(v))) 
bvec <- c(rep(-L, length(v)), rep(-L, length(v)))

表示v &gt; -L-v &gt; -L(与v &lt; L 相同),用于v 的每个单独元素。

注意meq 的意思是“相等的数量”,因为在你的情况下都是不等式,所以它必须放在0

如果您需要放置等式约束,请将其放在Amatbvec 的“左侧”以及meq 中的等式数量。

【讨论】:

    猜你喜欢
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多