huright 发表于 2007-5-11 15:43

初学遗传算法,遇到迷惑,请指点(变量编码问题)

问题1:我安装的matlab7.1工具箱下面的gads是遗传算法工具箱马/?
问题2:下面的两个ga函数怎么不一样啊?怎么回事啊?
烦请高手帮助。

[ 本帖最后由 huright 于 2007-5-13 08:57 编辑 ]

huright 发表于 2007-5-11 17:41

关于matlab遗传算法工具箱主要有三种:
1、gaot工具箱:这是网上流传的免费的工具箱,网上对它介绍的资料也挺多,它不是Matlab软件自带的,但可以自己配置使用。飞思科技产品研发中心编著《Matlab 6.X辅助优化计算与设计》第五章对gaot遗传算法工具箱的使用进行了介绍。

2、gatbx工具箱:英国设菲尔德Sheffield大学开发的gatbs工具箱,也不是Matlab软件自带的,雷英杰编著《Matlab遗传算法工具箱及应用》涉及到了这个工具箱,并对它的使用进行了说明。

3、gads工具箱:matlab 7.0包含了这个工具箱,matlab7.0以前的版本没有这个工具箱,雷英杰编著《Matlab遗传算法工具箱及应用》对这个工具箱的使用进行了介绍。
   
    据说在可视化方面matlab7.0自带的gads工具箱要好一点。请用过这些工具箱的朋友谈谈自己的感受。

心灯 发表于 2007-5-11 21:12

回复 #2 huright 的帖子

应该是吧?不过对于多目标优化,貌似三个工具箱都没有吧?我是在gaot的基础上加上了一些多目标优化算法。

huright 发表于 2007-5-12 08:56

心灯大师:我的目标变量为整型变量,可以通过二进制编码实现吗?还是自己编写函数?
我是初学,很菜阿

eight 发表于 2007-5-12 10:18

原帖由 huright 于 2007-5-12 08:56 发表 http://forum.vibunion.com/forum/images/common/back.gif
心灯大师:我的目标变量为整型变量,可以通过二进制编码实现吗?还是自己编写函数?
我是初学,很菜阿


版主的意思是:二进制 --> 十进制?

huright 发表于 2007-5-12 11:22

我的意思是我的多个设计变量分别在各自的离散空间内取值。设计变量不是连续的。
或者说:部分设计变量是在连续空间内变化,部分变量在离散空间内变化。

心灯 发表于 2007-5-12 22:42

回复 #4 huright 的帖子

可以的,应该是连续的整数吧,那么相当于这个变量的精度为1,不同的变量精度不一样,只要一组变量对应一组位串即可。
这个是个人理解,呵呵,不当之处,还请高手指出。

[ 本帖最后由 心灯 于 2007-5-12 22:45 编辑 ]

huright 发表于 2007-5-13 08:56

楼上,假如我有三个设计变量,一个设计变量在整形空间里离散
一个设计变量在既有整形又有实形的空间里离散,一个设计变量在连续空间内变化。这样还可以做吗?

心灯 发表于 2007-5-13 13:38

回复 #8 huright 的帖子

设计变量在 这个如何处理比较好?我也没有体验,谨慎的建议把这个变量改写成类似函数的形式,转换这个变量为x。

f(x)={1    x=1
      {1.5x=2
      {2    x=3
      { 3.5   x=4
      { 4   x=5
然后利用x为等差序列来处理,建立二进制位串。效果如何,不知道。 :)

huright 发表于 2007-5-13 13:44

因为我也是初学,等到学习的比较深入了(自己自由自在的编写程序)的时候;应该能解决。现在还是无法...。只能问问有没有人做过。
谢谢心灯大师!!

xiaoqiang112 发表于 2009-5-4 10:36

多变量如何编码

x=s1s2s3s4如何用二进制编码 在程序中
页: [1]
查看完整版本: 初学遗传算法,遇到迷惑,请指点(变量编码问题)