如何在R优化中编写引用目标的约束



这是我想在R:中最大化的目标

AX1+BX2+CX3+DX4

存在以下约束

0>=S2>=8

0>=S3>=8

0>=S4>=8

0>=S5>=8

其中

S2=X1+V

S3=X2+X1+V

S4=X3+X2+X1+V

S5=X4+X3+X2+X1+V

基本上,约束引用目标。

例如,如果V=4,X1=2,则S2=6。(因此,不违反约束条件0>=S2>=。

如何在约束函数中引用目标(我使用了L_objective函数(?

提前感谢

以下内容不起作用吗?

library(ROI)
obj <- L_objective(c(A, B, C, D)
const.mat <- matrix(c(1, 0, 0, 0,
1, 1, 0, 0,
1, 1, 1, 0,
1, 1, 1, 1),
nrow = 4)
const <- L_constraint(rbind(const.mat, constmat),
dir = c(rep(">=", 4), rep("<=", 4)),
rhs = c(rep(0-V, 4),    rep(8-V, 4)))
op <- op(obj, const, maximum = TRUE)
out <- ROI_solve(op)

当然,填写A、B、C、D和V的正确值,我想你已经填写了。如果最后一个约束得到满足,其他约束将自动得到满足,所以这是唯一重要的约束。

相关内容

  • 没有找到相关文章

最新更新