我在 R 中使用 rbga,在似乎是应用精英主义的函数部分期间发生了以下错误。这是导致错误的会话:
Testing the sanity of parameters...
The start conditions:
GA Settings
Type =
Population size = 10
Number of Generations = 10
Elitism = 2
Mutation Chance = 0.00237529691211401
Search Domain
Var 1 = [-0.1,0.1]
Var 2 = [-0.1,0.1]
Var 3 = [-0.1,0.1]
Starting with random values in the given domains...
Starting iteration 1
Calucating evaluation values... .......... done.
Creating next generation...
sorting results...
applying elitism...
Error: subscript out of bounds
不幸的是,我无法提供可重现的示例,因为我的代码包含大约 300 行,而且我似乎无法创建简化版本。有没有人在使用 rbga 时遇到过类似的问题,谁能给我任何关于为什么会发生这种情况的指示?
更新
我在 rbga 函数中找到了导致错误的代码行:
newPopulation[1:elitism, ] = sortedPopulation[1:elitism, ]
此时 sortedPopulation 的长度为 0,而 elitism 为 2 ...有人有什么想法吗?