我在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 ......任何人都有任何想法?
答案 0 :(得分:2)
出现此问题是因为评估函数返回了NA,这在rbga函数中搞砸了。确保评估函数返回实际值以避免此错误。