2

我有五个变量。每个变量都有一些界限。我在每个渠道上都投入了一些资金。现在我的问题是是否有任何优化器或逻辑来找出给定函数形式的全局最大值。并且组合的总和不应超过我的总支出。

parameters=c(10,120,105,121,180,140) #intercept and variable coefficients
spend=c(16,120,180,170,180) # total spend
total=sum(spend)

upper_bound=c(50,200,250,220,250)
lower_bound=c(10,70,100,90,70)

var1=seq(lower_bound[1],upper_bound[1],by=1)
var2=seq(lower_bound[2],upper_bound[2],by=1)
var3=seq(lower_bound[3],upper_bound[3],by=1)
var4=seq(lower_bound[4],upper_bound[4],by=1)
var5=seq(lower_bound[5],upper_bound[5],by=1)

函数形式为:exp(BETA 0-BETA i/X i)

我使用 expand.grid 函数来查找现有组合。但是我得到了太多的组合。

这是我的代码。

seq_data=expand.grid(var1=var1,var2=var2,var3=var3,var4=var4,var5=var5)
rs=rowSums(seq_data)
seq_data=seq_data[rs<=total,]

seq_data1=seq_data
for(i in 1:length(seq_data))
seq_data1[,i]=exp(parameters[1]-parameters[i+1]/seq_data1[,i])

我该如何克服这个问题。如果还有其他选择,请建议我。

提前致谢。

4

0 回答 0