【发布时间】:2017-03-17 14:28:26
【问题描述】:
我在 R 中有一个函数,我希望在 optim 或 constrOptim 中的一些简单约束条件下最大化,但我正在努力让我的头脑围绕 ci 和 ui 来适应我的约束。
我的功能是:
negexpKPI <- function(alpha,beta,spend){
-sum(alpha*(1-exp(-spend/beta)))
}
其中alpha 和beta 是固定向量,spend 是支出向量c(sp1,sp2,...,sp6),我想改变它以最大化negexpKPI 的输出。我想以三种不同的方式约束spend:
1) 每个sp1,sp2,...,sp6 的最小值和最大值,即
0 < sp1 < 10000000
5000 < sp2 < 10000000
...
2) 总和:
sum(spend)=90000000
3) 一些单个组件的总和:
sum(sp1,sp2)=5000000
有什么帮助吗?对任何其他可行的方法开放,但如果可能的话,更喜欢使用基础 R。
【问题讨论】:
-
所有向量的长度为 6。我只想更改
spend向量的分量。所以我们有alpha <- c(a1,a2,...,a6),beta <- c(b1,b2,...,b6),它们是固定的,我想更改c(sp1,sp2,...,sp6)以最大化功能。 -
对不起,我使用的样本数据我没有完全检查过;真正的优化是针对具有 92 个约束的 40 个
sp值,如果我在这里完全复制的话,会使问题更难以解释。我添加了一些额外的零以使其现在可行。
标签: r optimization constraints