我想知道是否存在像lpSolve这样的库来解决此类问题,我不知道该库是否允许在约束中包含两个变量的乘积,或者我如何指定“乘积是一个最大”。
答案 0 :(得分:2)
在可行区域上定义一个投影使我们可以使用无约束优化来优化这一点:
tot <- 10
proj <- function(x) tot * x / sum(x)
res <- optim(1:2, function(x) -prod(proj(x)))
res$convergence
## [1] 0
-res$value
## [1] 25
proj(res$par)
## [1] 4.999799 5.000201