将 DEoptim 中的几个参数固定为整数
Fixing few parameters in DEoptim as Integer
在 DEoptim 中如何将参数固定为下限和上限的整数
opt <- DEoptim(function,lower = c(0.03,17,5,0.002),upper = c(0.12,30,15,-0.5))
在下面的示例中,第二个、第三个参数应该是整数,但优化器将其视为最多 6 位小数的浮点数。
如何将它们固定为整数?
这里我们需要创建一个Mapping函数来映射每个参数类型。在上面的示例中,我们必须创建以下函数,
Mapfun <-函数(x){
x[1] <- round(x[1],2) #你可以通过在此处显式定义数字来决定要优化的小数点,我需要 2 位数字
x[2:3] <- round(x[2:3]) #表示它们是整数
x[4] <- round(x[4],3) #这里我需要 3 个数字
}
现在可以在 DeOptim 中使用:
opt <- Deoptim(function,lower = c(0.03,17,5,0.002),upper = c(0.12,30,15,-0.5),fnMap = Mapfun)
在 DEoptim 中如何将参数固定为下限和上限的整数 opt <- DEoptim(function,lower = c(0.03,17,5,0.002),upper = c(0.12,30,15,-0.5))
在下面的示例中,第二个、第三个参数应该是整数,但优化器将其视为最多 6 位小数的浮点数。
如何将它们固定为整数?
这里我们需要创建一个Mapping函数来映射每个参数类型。在上面的示例中,我们必须创建以下函数,
Mapfun <-函数(x){
x[1] <- round(x[1],2) #你可以通过在此处显式定义数字来决定要优化的小数点,我需要 2 位数字
x[2:3] <- round(x[2:3]) #表示它们是整数
x[4] <- round(x[4],3) #这里我需要 3 个数字
}
现在可以在 DeOptim 中使用:
opt <- Deoptim(function,lower = c(0.03,17,5,0.002),upper = c(0.12,30,15,-0.5),fnMap = Mapfun)