遗传算法简单易懂的例子 遗传算法的编码方法有几种?
遗传算法的编码方法有几种?
遗传算法用于约束优化,一般有以下几种方法。方法1首先设计编码规则,使解编码只能在可行域内。一个典型的例子是用遗传算法对实数函数进行优化,它会给出上界和下界,然后不管对什么样的染色体进行解码,它都会在这两个界之间。方法2设计合理的交叉算子和变异算子,使得在满足这些算子特征的前提下,算子操作后的染色体也在可行域内。这种方法需要一定的智能思考,需要注意算子本身的特点。如果不小心,算法的搜索区域就会被错误地缩小,导致效果不佳。一个典型的例子是TSP问题的经典解,见Goldberg和lingel,等位基因,位点和旅行商问题,1985。方法3罚函数法。万能的方法。但罚函数过多或过严会导致效果不佳。方法4在变异/交叉后增加判断语句,判断是否满足约束条件。如果没有,有两种策略:超出边界的策略放在边界上。(粒子群优化经常这样做)或超出边界,重新初始化。(差分进化算法经常这样做)以上所有方法都是在scikit opt中实现的。参考资料:Goldberg和lingel,“等位基因,loca和旅行推销员问题”,1985。Scikit选项:https://github.com/guofei9987/scikit-opt
遗传算法简单易懂的例子 遗传算法 遗传算法matlab程序代码
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。