使用r中的rbga“下标超出界限”

时间:2012-11-01 10:02:47

标签: r genetic-algorithm rbga

我在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 ......任何人都有任何想法?

1 个答案:

答案 0 :(得分:2)

出现此问题是因为评估函数返回了NA,这在rbga函数中搞砸了。确保评估函数返回实际值以避免此错误。