![](/img/trans.png)
[英]Error in .fun(piece, ...) : argument "by" is missing, with no default - plyr package
[英]DEoptim package - Argument is missing with no default
我试图使用 DEoptim 在 -1 < x < 1, -1 < y < 1 中找到 z 的全局最小值,但我Error in FUN(newX[, i], ...): argument "y" is missing, with no default
遇到错误Error in FUN(newX[, i], ...): argument "y" is missing, with no default
,我不知道我应该为任务“y”做什么
install.packages("Rmpfr")
install.packages("DEoptim")
library(gmp)
library(Rmpfr)
library(parallel) # https://cran.r-project.org/web/packages/DEoptim/vignettes/DEoptim.pdf
library(DEoptim)
z = function(x,y) {
(exp(sin(60.0*x)) + sin(50.0*exp(y)) + sin(80.0*sin(x)) + sin(sin(70.0*y)) - sin(10.0*(x+y)) + (x*x+y*y)/4.0)
}
optimized_Minimum <- DEoptim(z, lower = c(-1,-1), upper = c(1,1),
control=list(storepopfrom=1, trace=FALSE))
# optimized_Minimum <- optim(z, lower = c(-1,-1), upper = c(1,1), method = "Brent")
DEoptim
不希望您将 2 个单独的 arguments 传递给您的 function ( x
和y
),但您仍然可以解决多个变量。
您需要使用DEoptim
package 传递一个向量而不是 2 个单独的变量, 就像optim
function 一样。
我使用链接解决方案中的功能对此进行了测试,并且有效:
fxcalc <- function(s,t){(1-(1-(parametros$ap/xm)^(s))^t)*100}
suma <- function(s,t){(parametros$fx-fxcalc(s,t))^2}
func <- function(st){
s <- st[1]
t <- st[2]
sum(suma(s,t))
}
optimized_Minimum <- DEoptim(func, lower = c(-1,-1), upper = c(1,1),
control=list(storepopfrom=1, trace=FALSE))
summary(optimized_Minimum)
***** summary of DEoptim object ***** best member: 1 1 best value: 0 after: 200 generations fn evaluated: 402 times *************************************
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.