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

请教棘手的问题:如何控制遗传算法的重复工作

[复制链接]
发表于 2005-11-27 10:17:10 | 显示全部楼层 |阅读模式 来自 北京
无论是何种遗传算法,如多岛遗传算法,每代都会遇到相同的个体。
由于我的cfd运算时间较长,如何对遗传算法控制,遇到已算过的个体就直接
给出结果。
发表于 2005-11-30 20:14:51 | 显示全部楼层 来自 陕西西安

Re:请教棘手的问题:如何控制遗传算法的重复工作

Simdroid开发平台
自己添加程序解决。如,通过文件形式向CFD传送输入数据时,对这个输入数据进行判断,看是否还需要调用CFD软件。当然,这涉及到把所有的已经找到的解都存到一个文件中,也可以是数据库中,这样才能进行逐一比较。
发表于 2005-11-30 20:16:13 | 显示全部楼层 来自 陕西西安

Re:请教棘手的问题:如何控制遗传算法的重复工作

对了,*.db就是这样一个数据库,用这里的数据比较即可。
 楼主| 发表于 2005-12-1 09:00:43 | 显示全部楼层 来自 北京

Re:请教棘手的问题:如何控制遗传算法的重复工作

高手大有人在阿,另外我想问一下,数据库db的已有信息如何进行比较,确认
相同的信息。在何处添加程序解决!

谢谢楼上弟兄
发表于 2005-12-2 10:02:03 | 显示全部楼层 来自 陕西西安

Re:请教棘手的问题:如何控制遗传算法的重复工作

将判断是否相同(或者非常相近)的子程序,如Fortran子程序编译生成可执行文件(暂取名为judge.exe),在调用CFD的MDL语句之前,添加调用judge.exe的MDL语句即可。
至于判断相同或非常相近,主要是判断设计变量的,每个设计变量都进行判断,如果某一个设计变量的两个解的绝对差大于一个小量,如1e-6,认为两者不等了;反之,每个绝对差小于一个小量,则认为相同或非常接近。

评分

1

查看全部评分

 楼主| 发表于 2006-1-17 19:42:56 | 显示全部楼层 来自 北京

Re:请教棘手的问题:如何控制遗传算法的重复工作

楼上的兄弟谢谢,
发表于 2008-7-14 01:10:42 | 显示全部楼层 来自 湖北武汉
如果是这样的话,我觉得这是软件本身没有做好
回复 不支持

使用道具 举报

发表于 2009-5-19 15:30:52 | 显示全部楼层 来自 北京平谷
哪位大哥能做个程序发上来啊?这个*.db文件在C++里不是很好调用啊,还有那个设计变量该怎么拿到程序里面跟*.db文件进行比较啊?
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-10-4 06:49 , Processed in 0.033490 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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