R优化具有约束的线性方程系数

R Optimize linear equations coefficients with constraints

假设我有 n 个以下形式的线性方程:

ax1 + bx2 + cx3 = y1 -ax1 + bx2 + cx3 = y2 -ax1 -bx2 + cx3 = y3

这里是 n=3a,b,c 是已知和固定的。

我正在寻找 x1,x2,x3 的最佳值,以便它们的范围在 [-r,r] 内,对于某些正数 r 和总和 sum(y1,y2,y3) 最大化。

有没有可以处理此类优化问题的 R 包?

为此,您可以使用 R 函数中的 optim

如果您尝试最大化 sum(y1,y2,y3),这实际上简化了最大化 (ax1 + bx2 + 3*cx3) 的问题,使得 x1,x2,x3 ∈ [-r,r]

您可以使用以下代码找到最佳值。请注意,optim 函数默认最小化,因此我在函数中返回总和的负值。

max_sum <- function(x){ 
  a <- 2; b<- -3; c<-2;
  y <- a*x[1]+b*x[2]+3*c*x[3]
  return( -1*y ) }

r <- 5
optim(par=c(0,0,0), max_sum,lower= (-1*r),upper = r)

$par
[1]  5 -5  5