R Mosek使用二次编程

时间:2019-02-28 13:37:39

标签: r optimization

我找到了RMosek库来解决优化问题。就我而言,我将使用二次优化。这是Rmosek上有关二次优化的文档:https://docs.mosek.com/9.0/rmosek/tutorial-qo-shared.html#

例如,我有这个问题:

min y1^2 + y2^2 x1 + y1 - x2 - y2 > 0 x1+x2=2

我不明白如何将地雷配方转换为基质配方。我认为文档中的示例并不十分清楚。有人能帮我吗?

1 个答案:

答案 0 :(得分:1)

我假设您的变量按(x1,x2,y1,y2)进行排序,即x1的索引为1,依此类推,直到y2的索引为4。然后用| p

prob$qobj$i <- c(3, 4)
prob$qobj$j <- c(3, 4)
prob$qobj$v <- c(2, 2)

对于线性部分,您应该使用矩阵

1 -1 1 -1
1 1 0 0 

和边界是

prob$bc <- rbind(blc=c(0,2), buc=c(Inf,2))

顺便说一句,如果您真的只想最小化向量的范数,则最好使用二次圆锥和圆锥优化而不是将其表述为二次项。