gaft icon indicating copy to clipboard operation
gaft copied to clipboard

如何解决离散化处理

Open moryKylin opened this issue 7 years ago • 6 comments

(先膜拜一下大佬)我看框架里面会根据取值范围和精确度确定基因长度,如果是离散的变量的话就不能这么做了,刚开始看还没看完框架,不知道是否可以有另一种方式,通过直接给出基因序列和长度来进行优化

moryKylin avatar Nov 30 '17 03:11 moryKylin

你好,感谢对gaft的支持,其实是可以通过设置适当的精度和范围来进行离散化的变量的,例如取值范围[0.0, 3.0], 精度1.0这样,不过目前gaft对于整除的基因转换存在一个小bug,类似issue#4中提到的,我最近会找个时间把此问题修复,也欢迎pull request。😝

PytLab avatar Nov 30 '17 13:11 PytLab

我说的离散变量其实不是这样的,虽然说以精度1.0以后来说,有0,1,2,3这些变量,但他其实还是属于连续的,离散的意思是比如[1,2,0,7,9]这样的序列,但是刚想明白了,可以用离散序列的index进行编码,然后再在适应度函数那里处理应该可以解决

moryKylin avatar Nov 30 '17 13:11 moryKylin

嗯,你可以使用上面的方法。同时最近我在考虑给gaft的individual定义写个元类,这样就可以用户自定义了,写好了会进行更新。

PytLab avatar Dec 04 '17 12:12 PytLab

大佬你好 我发现2D优化的时候 BinaryIndividual(ranges=[(0.0, 50.0), (0.0, 100.0)], eps=1.0) 结果还是会有小数 这个怎么办呢?

Asber777 avatar Sep 14 '18 13:09 Asber777

emmm,你可以去问大佬,,,我个人认为,你的参数里面都是小数,结果当然也会是小数,可能需要修改大佬的框架 @huoganji

moryKylin avatar Sep 14 '18 14:09 moryKylin