我正在使用genalg包进行遗传算法。基因是二元是自然的,结果将指定
基因的长度是269,很难理解哪些是难以理解的。有没有办法从中提取结果并将其放在数据框中?
cat(summary.rbga(GAmodel))
GA Settings
Type = binary chromosome
Population size = 100
Number of Generations = 100
Elitism = TRUE
Mutation Chance = 0
Search Domain
Var 1 = [,]
Var 0 = [,]
GA Results
Best Solution : 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0
我想将最佳解决方案转换为数据框,以便我可以实际查找哪些是我需要选择的项目。
class(GAmodel) = "rbga"
答案 0 :(得分:5)
对于最小化优化求解为变量GAModel
bestSolution<-GAmodel$population[which.min(GAmodel$evaluations),]
根据适应度函数从GAmodel $评估中提取最佳染色体的索引。然后使用该指数返回评估的最后一个群体的完整染色体。
答案 1 :(得分:1)
genalg的输出肯定存在问题,这就是我如何设法提取最佳解决方案: