0

假设我有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 包?

4

1 回答 1

3

optim为此,您可以使用in R 函数。

如果您试图最大化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
于 2017-01-12T08:39:33.503 回答