假设我有n
以下形式的线性方程:
ax1 + bx2 + cx3 = y1
-ax1 + bx2 + cx3 = y2
-ax1 -bx2 + cx3 = y3
这是已知和固定的n=3
。a,b,c
我正在寻找最佳值,以x1,x2,x3
使它们的范围在[-r,r]
某些正数范围内r
并且总和sum(y1,y2,y3)
最大化。
是否有可以处理此类优化问题的 R 包?
假设我有n
以下形式的线性方程:
ax1 + bx2 + cx3 = y1
-ax1 + bx2 + cx3 = y2
-ax1 -bx2 + cx3 = y3
这是已知和固定的n=3
。a,b,c
我正在寻找最佳值,以x1,x2,x3
使它们的范围在[-r,r]
某些正数范围内r
并且总和sum(y1,y2,y3)
最大化。
是否有可以处理此类优化问题的 R 包?
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