2016 - 2024

感恩一路有你

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

浏览量:3021 时间:2021-04-10 03:13:26 作者:admin

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

只要选择正确的遗传算子,就可以满足进化过程中的上下限约束;

如果其他连续变量存在线性或非线性约束,可以用罚函数法将这些约束加入到目标函数(适应度函数)中,从而保证最优解在约束范围内。

如果存在0-1个变量(主要是在规划中,无论是否构建了某些东西),那么演化过程将产生更多不可行的解决方案。直接抛弃法是可以的,但是当存在许多不可行解时,这种方法会使遗传算法失去优势。因此,有学者提出了不可行解的修复策略,并通过某种方法将不可行解转移到其他地方,使解是可行的。如果你为你的问题设计一个修复策略,它将成为你的创新之一。

当然,也有关于设计进化策略的研究,但是它比修复策略更困难。

如何在遗传算法中设置变量约束条件?

1. 一般有两种方法:一种是在生成初始种群时只生成满足约束的个体;另一种是随机生成个体,在后续操作中判断个体是否满足约束。

2. 这是由遗传算法的特点决定的;遗传算法是一种随机搜索算法,每次由于种群规模的不同,参数的不同而得到不同的结果。即使参数相同,每次操作得到的近似最优解也不一定相同。一般以n次运算的最佳结果作为最终最优解。当然,如果约束设置不当,或者参数设置不当,那么每次操作的近似最优解相差太大,质量也不高。我们应该注意这些。

3. 我用matlab编写遗传算法来解决这个问题,因为它的工具箱是相对固定的,只能解决简单的、典型的问题。但是当你的问题稍微复杂一点时,工具箱就不起作用了。

多约束遗传算法 遗传算法经典实例 遗传算法非线性约束条件

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。