我正在使用它提供的mco
包。我有两个目标:
f1=x1(16+y^2)^1/2+x2(1+y^2)^1/2
f2=max(AC,BC)
如何使用nsga2
对此进行编码?有人可以举例吗?
答案 0 :(得分:0)
该文档提供了有关如何添加新功能以使用该包进行评估的示例。该文件是here。从文档中举例说明VNT
问题
## VNT problem:
vnt <- function(x) {
y <- numeric(3)
xn <- crossprod(x, x)
y[1] <- xn/2 + sin(xn);
y[2] <- (crossprod(c(3, -2), x) + 4)^2/8 + (crossprod(c(1, -1), x) + 1)^2/27 + 15
y[3] <- 1/(xn + 1) - 1.1*exp(-xn)
return (y)
}
r2 <- nsga2(vnt, 2, 3,
generations=150, popsize=100,
lower.bounds=rep(-3, 2),
upper.bounds=rep(3, 2))
plot(r2)