二次优化:R包LowRankQP的包错误

时间:2018-09-04 15:26:32

标签: r optimization

我想使用LowRankQP软件包解决一个二次问题,因为文档中的示例对我来说还不是很清楚,所以我尝试了一些简单的示例。

Vmat          <- matrix(0,2,2)
diag(Vmat)    <-c(1,0) 
dvec          <- as.matrix(c(1,0))
Amat          <- matrix(c(1,0,-1,0),2,2)
bvec          <- as.matrix(c(0,0))
uvec          <- as.matrix(c(-800,-800))
sol<-LowRankQP(Vmat,dvec,Amat,bvec,uvec, method="LU")
sol$alpha
t(dvec)%*%sol$alpha+1/2*t(sol$alpha)%*%Vmat%*%sol$alpha

由于函数从-INF减小到-1(最小值),因此该值应返回(-8,-8)。显然uvec则为负上限,即使doc alpha中的值始终为正。那好吧

但是当我尝试以正的上限进行操作时,结果是[Nan,Nan],我不知道为什么会这样...而答案应该是(1,1),因为函数正在增加在正数上。

Vmat          <- matrix(0,2,2)
diag(Vmat)    <-c(1,0) 
dvec          <- as.matrix(c(1,0))
Amat          <- matrix(c(1,0,-1,0),2,2)
bvec          <- as.matrix(c(0,0))
uvec          <- as.matrix(c(100,100))
sol<-LowRankQP(Vmat,dvec,Amat,bvec,uvec, method="LU")
sol$alpha
t(dvec)%*%sol$alpha+1/2*t(sol$alpha)%*%Vmat%*%sol$alpha

感谢您的帮助!

0 个答案:

没有答案