我想知道 R 'Quadprog' 包是否能够合并以下形式的框约束:-L*1 <= v <= L*1
其中 1 是 1 的向量,L 是常数。要优化的变量是 v。基本上 v 的所有单个元素都必须在 –lambda 和 lambda 之间。
如果没有,是否有其他软件包可以解决此问题?
非常感谢您的帮助
我想知道 R 'Quadprog' 包是否能够合并以下形式的框约束:-L*1 <= v <= L*1
其中 1 是 1 的向量,L 是常数。要优化的变量是 v。基本上 v 的所有单个元素都必须在 –lambda 和 lambda 之间。
如果没有,是否有其他软件包可以解决此问题?
非常感谢您的帮助
是的你可以。
给定功能:
solve.QP(Dmat=Dmat,dvec=dvec,Amat=Amat,bvec=bvec,meq=0)
Amat
和bvec
手段Amat * v >= bvec
。
所以这样设置:
Amat <- cbind(diag(length(v)), -diag(length(v)))
bvec <- c(rep(-L, length(v)), rep(-L, length(v)))
对 的每个单独元素表示v > -L
和-v > -L
(与 相同) 。v < L
v
Notemeq
的意思是“等式的数量”,因为在你的情况下都是不等式,所以它必须放在0
.
如果您需要放置等式约束,请将其放在 and 的“左侧”Amat
以及中的等式bvec
数量meq
。