遗传算法中中约束条件怎么处理呢?

是在产生初始种群时只产生符合约束的个体,子代个体产生后也直接把不符约束的去掉吗?可是这样的话种群中个体数量会变很少吧,求大神解答!... 是在产生初始种群时只产生符合约束的个体,子代个体产生后也直接把不符约束的去掉吗?可是这样的话种群中个体数量会变很少吧,求大神解答! 展开
 我来答
刘阳升
2013-05-13 · TA获得超过2879个赞
知道小有建树答主
回答量:921
采纳率:86%
帮助的人:406万
展开全部
只要你的遗传算子选对,进化过程中上下限约束就能满足;
若是其它连续性变量的线性或非线性约束,可采用罚函数法将这些约束加入目标函数(适应度函数)中,这样就能保证最优解在约束范围内。
若是存在0-1的变量(主要是在规划中,某个东西建或不建),则进化过程就会产生较多不可行解,采用直接丢弃的方法固然可以,但是当不可行解多时,这种方法就使遗传算法失去它的优势;所以就有学者提出了不可行解的修复策略,将不可行解通过某种方法转换为可行解。那么不同的优化问题解的修复策略都可能会不同,如果你设计了一个针对你所做问题的修复策略,那也就成了你的创新点之一了。
当然也有设计进化策略的研究,但这方面比较修复策略而言有难度。
追问
刚开始看遗传算法的东西。很多地方不懂。我做的是一个0-1规划的问题,能不能在初始种群产生时只产生符合约束的,然后子种群产生后把不符合约束的修复为符合约束的,这样的话种群数量也不会减少
追答
子种群产生后还需要选择子种群中的优良个体(适应度好的个体),在选择的时候就肯定会被选到多次。假如种群规模为20,进化一次产生子种群后有15个不可行个体(解),通过修复策略修复后,假如只能修复其中的10个(能全部修复更好),那么可行个体数变为了15个。下一步依然是遗传算法的过程:选择、交叉和变异。那么在选择的时候你可以从这15个个体中选出20个,也就是说,选出来的个体肯定会有重复的,这也是符合实际的,因为希望优良个体能尽可能多地与其它个体进行交叉。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
观启智能
2025-03-09 广告
上海观启智能科技有限公司致力于打造一体化技术,我们为住宅和楼宇打造的自动化和控制解决方案,能够帮助用户实现一键式环境控制,这一解决方案集成了影音、照明、遮阳。T、安防、建筑管理系统(BMS)和HVAC等系统,可以为用户提供更高的舒适度、便利... 点击进入详情页
本回答由观启智能提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式