有没有人从.Net 遗传算法框架中看到令人信服的结果?
我发现随遗传算法框架提供的旅行商问题演示中的随机化很差.以下调用在x 100种子染色体群体中生成相同的基因shuffle顺序:
chromosome.Genes.ShuffleFast();
如果我单步执行代码,基因顺序看起来是随机的,因此我怀疑在ShuffleFast()中有一个时间/ Rdn()错误,否则我忽略了一个设置步骤.
我试图通过预先填充染色体基因序列来解决这个问题,这在TSP结果中产生了微小的变化.然而,该运行的控制台日志仍然显示GAF在400个人口世代中仅发现了4个潜在的解决方案.这与GA YouTube视频不一致,这些视频显示遗传算法的实现正在寻找具有大量抖动的建议解决方案.我引用这一点作为进一步表明GAF存在随机数生成的系统性内部问题.
遗传算法框架通过作者博客得到很好的记录,所以我试图保持开放的心态作为原因.
重现步骤=从nuget下载GAF,在创建染色体for循环后使用断点编译和调试默认项目,检查population.Solutions.Windows 7,VS2015,.Net 4.5和4.61.调试或发布.