gpt4 book ai didi

R-genalg 包 : Get Fittest From Past Generation

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:20:35 36 4
gpt4 key购买 nike

我正在使用 R 中的 genalg 包进行一些优化。有什么方法可以从过去几代中获得最适合的染色体吗?我正在寻找其他“足够接近”的解决方案,但在我看来,rbga 对象中的所有信息都来自当前(最后)一代。

比如我能否得到第400-500代返回最低评值(value)的100条染色体?

Example

编辑:我想我可以运行函数

rbga.bin(size=10, popSize=200, iters= , mutationChance=0.01)

for iterations = (400, 401, 402, ..., 498, 499, 500),并在每一代之后拉出最好的,但这会非常慢。

最佳答案

rbga.bin() 函数不会保存您迭代过的世代,因此您无法在算法完成后的第 400-500 次迭代中获得最佳染色体。

但是,如果您在 rbga.bin() 调用中添加一个监视器函数,您可以获得所需的信息。因此,将此 monitor 函数包含到您的脚本中:

monitor <- function(obj) {
if (obj$iter >= 400) {
print(paste("GENERATION:", obj$iter))
print(obj$population[which.min(obj$evaluations), ])
}
}

并在 rbga.bin() 中添加 monitorFunc = monitor,如下所示:

rbga.bin(size=10, popSize=200, iters=500, mutationChance=0.01, monitorFunc = monitor)

如果愿意,您可以保存输出而不仅仅是打印它。

关于R-genalg 包 : Get Fittest From Past Generation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34716825/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com