1

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 ですが、エリート主義は 2 です ... アイデアはありますか?

4

1 に答える 1

3

この問題は、評価関数が NA を返したため、rbga 関数で問題が発生したために発生しました。このエラーを回避するには、評価関数が実際の値を返すようにしてください。

于 2012-11-01T12:18:42.930 に答える