R中的优化(最大化)

时间:2016-03-14 15:53:35

标签: r optimization maximization

我有一个想要在R中优化(最大化)的功能,任何人都可以帮助我。 我的等式如下:

Y=-10.6134 -3.477*X1 +4.743*X2 +56.10*X3 -0.07671*X4 +0.1005*X1^2-0.0529*X2^2 -25.741*X3^2 +0.000279*X4^2 -0.0984*X1*X2 -1.351*X1*X3 -0.00407*X1*X4

有这些限制:

3 <= X1 <= 11
25 <= X2 <= 45 
0.1 <= X3 <= 10  
10 <= X4 <= 200 

我已经使用“Excel”中的“解算器”功能对其进行了优化,并且我尝试了一些包,例如“optim”和“nlminb”,但它们对我不起作用。 请帮我;我的大学项目真的需要它。 TNX

1 个答案:

答案 0 :(得分:2)

定义你的功能

f<-function(X1,X2,X3,X4){
    -10.6134 -3.477*X1 +4.743*X2 +56.10*X3 -0.07671*X4 +
    0.1005*X1^2-0.0529*X2^2 -25.741*X3^2 +0.000279*X4^2 -
    0.0984*X1*X2 -1.351*X1*X3 -0.00407*X1*X4
}

将您的函数编写为单参数函数,因为这是optim的需要,并将减号作为优化

f2 <- function(x) -f(x[1],x[2], x[3],x[4])

使用Optim

optim(par=c(6,35,5,100),fn=f2,lower = c(3,25,0.1,10),upper = c(11,45,10,200),method = "L-BFGS-B")