R 中有两个变量的非支配排序遗传算法 II 的问题

问题描述

我有以下基于两个变量(x 和 y)的多目标适应度函数,有 5 个目标。这 5 个目标来自 lm 模型,因此我使用了 predict 函数

fitness <- function(x,y){
  f1 <- predict(get(fit11),data.frame(x,y),type = "response")
  f2 <- predict(get(fit22),type = "response")
  f3 <- predict(get(fit33),type = "response")
  f4 <- predict(get(fit44),type = "response")
  f5 <- predict(get(fit55),type = "response")
  return(c(f1,-f2,-f3,-f4,-f5))
}

我需要使用 R 中的 nsga2R 函数实现以下具有两个变量的非支配排序遗传算法 II

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)
)

尽管我在单独的数据上测试了函数fitness”,但我遇到了这个错误

Error in data.frame(x,y) : argument "y" is missing,with no default 

任何解决方法的想法将不胜感激。谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)