微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。