找回密码
 注册
Simdroid-非首页
查看: 126|回复: 7

请问在用遗传算法工具箱求解时如何显示初始种群?我的问题带约束。

[复制链接]
发表于 2009-4-29 22:18:28 | 显示全部楼层 |阅读模式 来自 江苏南京
RT。请高手指教。
发表于 2009-4-29 23:29:56 | 显示全部楼层 来自 浙江杭州
Simdroid开发平台
显示初始种群作什么?初始种群是由随机数产生的,看这个初始值没有什么意义的。而且初始种群的产生应该和你的约束是没有关系的。有意义的是种群数量,在matlab工具箱默认好像是20
回复 不支持

使用道具 举报

 楼主| 发表于 2009-4-30 20:53:47 | 显示全部楼层 来自 江苏南京
我在用MATLAB做结构优化设计,有四个设计变量,四个变量的定义域差别很大,其中一个是结构设计过程中的中间变量,我想看看初始种群对他们是如何设定的,看看是不是误差太大了,然后才能确定一个合适的种群数量。Creation Function里我选的是Feasible population。 Feasible population creates a random initial population that satisfies the bounds and linear constraints这应该不是完全随机的吧。
回复 不支持

使用道具 举报

发表于 2009-5-1 02:19:55 | 显示全部楼层 来自 浙江杭州
初始种群必然是随机的,要不然不能很好的体现出算法的优势。看了一下ga的程序,在初始种群创建的时候的确是通过makeState函数在边界和线性约束条件的限制下创建的。在有约束条件下Creation Function就是是Feasible population。
线性约束的存在只是缩小了初始种群的范围,初始种群的产生是在此范围内随机产生。具体的matlab中的ga程序如何在线性条件限制下生成初始种群则还有一些比较复杂的技巧,暂时没有研究那么多就不说了,不过个人感觉应该是首先在边界内完全随机,然后根据约束再进行相应的调整。
由原理来说,种群数量并不影响初始种群的误差的。初始种群的数量主要由最后的优化结果精度以及计算时间一起衡量来确定。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-5-2 22:30:40 | 显示全部楼层 来自 香港
楼上用的是matlab 2008 的工具箱?
回复 不支持

使用道具 举报

发表于 2009-5-3 01:35:37 | 显示全部楼层 来自 浙江杭州
5# xiaoqg2003
是的。
回复 不支持

使用道具 举报

发表于 2009-5-6 14:12:16 | 显示全部楼层 来自 陕西西安
为什么不自己建立初始种群呢?
可以不用MATLAB默认的初始种群建立过程,
而自己写一个建立在 自变量上下限制空间 内随机生成的初始种群,
或者按照自己的需要建立非随机的初始种群
然后再 PLOT 就可以了

--------------------------------------------------------------------------------------------------------------
其实对遗传优化也可以在优化过程中随时监视设计变量和目标函数的变化的,
感觉那样更能直观地看到程序的运行!
而不用盯着屏幕发呆,
也不知道到底是程序还在正常运行还是在哪里陷入了死循环
做法还是调用 GA函数,
只是多加几条命令将运行过程中的设计变量和目标函数显示出来就可以了

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2009-5-6 15:43:06 | 显示全部楼层 来自 江苏南京
本帖最后由 yihuahu 于 2009-5-10 14:01 编辑

感谢楼上高手的解答,考虑了一下之后,觉得还是自己建立初始种群比较好了。
我的问题是非线性约束,用罚函数来处理比较方便一点,anyway,thanks a lot.

又想了办法出来,把运算结束条件中的进化代数设为1就好了。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 11:27 , Processed in 0.046543 second(s), 19 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表