r - R Mosek 使用二次规划
问题描述
我找到了 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
我不明白如何将我的公式转换为矩阵公式。我认为文档中的示例不是很清楚。有人能帮我吗?
解决方案
我假设您的变量按 (x1,x2,y1,y2) 排序,即 x1 的索引为 1,依此类推,直到 y2 的索引为 4。然后您的二次目标指定为
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))
顺便说一句,如果您真的只想最小化向量的范数,最好使用二次圆锥和圆锥优化,而不是将其公式化为二次项。
推荐阅读
- php - WooCommerce:如何更改“我们的银行详细信息”标题?
- php - 在单个表格行中显示 WooCommerce 附加信息选项卡中具有自定义数据的所有变体
- python - 如何让 for 循环在变量名的末尾添加一个数字
- node.js - 苦苦挣扎于 Mongoose 查询运算符语法
- server - MailKit 搜索查询问题
- rust - Rust trait 问题 trait 不能被做成一个对象
- mysql - 查询以显示具有唯一城市的 18 岁以上学生的学生表
- javascript - 如何正确设置 Opus Media Recorder?
- xcode - 搜索栏未注册输入
- javascript - 所有时区的相同日期