Задача с недоминируемым генетическим алгоритмом сортировки II с двумя переменными в R
У меня есть следующая многоцелевая фитнес-функция с 5 целями, основанная на двух переменных (x и y). Эти 5 целей взяты из моделей lm, поэтому я использую
predict
функция:
fitness <- function(x,y){
f1 <- predict(get(fit11), data.frame(x, y), type = "response")
f2 <- predict(get(fit22), data.frame(x, y), type = "response")
f3 <- predict(get(fit33), data.frame(x, y), type = "response")
f4 <- predict(get(fit44), data.frame(x, y), type = "response")
f5 <- predict(get(fit55), data.frame(x, y), type = "response")
return(c(f1, -f2, -f3, -f4, -f5))
}
Мне нужно реализовать следующий генетический алгоритм недоминируемой сортировки II с двумя переменными, используя функцию
nsga2R
функция в R
lower_x <- -20
lower_y <- 20
upper_x <- -10
lower_x <- 80
set.seed(111)
finance_optim <- nsga2R(fn = fitness,
varNo = 2,
objDim = 5,
generations = 1000,
mprob = 0.2,
popSize = 200,
cprob = 0.8,
lowerBounds = c(lower_x, lower_y),
upperBounds = c(upper_x, upper_y)
)
Я столкнулся с этой ошибкой, хотя я тестировал функцию "фитнес" на отдельных данных
Error in data.frame(x, y) : argument "y" is missing, with no default
Любая идея, как это исправить, будет высоко оценена. Спасибо