2016-03-14 8 views
-3

У меня есть одна функция, которая хочет оптимизировать (Максимизировать) в R, любой может мне помочь. Мое уравнение выглядит следующим образом:Оптимизация (Максимизация) в 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», а также я пытаюсь некоторые пакеты, такие как «Оптим» и «Nlminb», но они не работают для меня. Пожалуйста, помогите мне; Мне это действительно нужно для моего университетского проекта. Tnx

+0

Это не выпуклая модель, поэтому не так просто доказать глобальный оптимум (вам нужен глобус al solver для этого). –

ответ

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") 
Смежные вопросы