R lpSolve-将函数优化为特定值+;向量的10%

R lpSolve-将函数优化为特定值+;向量的10%,r,linear-programming,solver,R,Linear Programming,Solver,假设我有一个向量。目标函数是一个确定的值,比如说10 其中我的向量值既不大于也不小于10% fn.obj <- c(3,4,5) model <- make.lp(0,3) lp.control(model, sense="max", verbose="full") set.objfn(model, fn.obj)#-8333550.82) add.constraint(model, fn.obj*(1-0.10), ">=",0) add.constraint(

假设我有一个向量。目标函数是一个确定的值,比如说10

其中我的向量值既不大于也不小于10%


fn.obj <- c(3,4,5)

model <- make.lp(0,3)
lp.control(model, sense="max", verbose="full")
set.objfn(model, fn.obj)#-8333550.82)

  add.constraint(model, fn.obj*(1-0.10), ">=",0)
  add.constraint(model, fn.obj*(1+0.10), ">=",0)

  add.constraint(model, fn.obj, "=",  15)

res<-solve(model)

get.variables(model)
get.objective(model)



fn.obj我理解你的问题是:我如何以“最小”的方式改变x=c(3,4,5)
,使其总和为15?答案是:将
x
乘以
15/和(x)

理解你的问题的另一种方式是:什么是“最统一的”向量
y
,因此
x%*%y=15
?由于“均匀性”是用熵来衡量的,这将使这个问题成为一个非线性问题,但它在R中仍然是可解的


你能澄清一下你的问题吗?

非常感谢,这帮了大忙!关键是我有x=c(3,4,5)和coef=c(1,1.2,1.5),然后x%*%y=15.3。。我真的想把这个数字设为15。我将尝试寻找一个非线性规划。再次感谢您抽出时间!!