基于离散变量自适应遗传算法的改进

2012-08-08 09:51:30吕秀芹
长春师范大学学报 2012年12期

吕秀芹

(江苏农林职业技术学院,江苏句容 212400)

遗传算法(Genetic Algorithm,GA)是一种基于模拟自然界生物遗传演化规律的随机探索和优化算法[1]。算法将问题对象进行编码,形成类似生物学上的染色体,通过对染色体的遗传进化,从而得到问题的优化解。算法能有效地处理大量离散参数,在求解之初可以采取一些方法使得初始种群在解空间合理分散,并且通过基因交叉和变异操作,增加了全局寻优的能力。遗传算法目前已广泛地应用于函数优化、组合优化、自动控制、图像处理、生产调度等多个行业。

算法的基本运算过程[2]为:将问题对象以二进制或实数等形式进行编码,把问题的单个可行解看成是一个符号串,从而形成类似生物学上的染色体或个体。然后随机生成M个个体作为初始群体P(0),用已设计好的适应度函数计算当前群体中每个染色体的适应度值,系统根据问题域中个体的适应度大小选择新的染色体,使用选择算子将适应度高的染色体选择进入下一代,然后再利用这些已选择的染色体进行交叉、变异等操作,产生出代表新的解集的群体P(t)。上述生成新群体P(t)的过程不断重复,直到找到问题的解满足用户的要求为止。由于交叉、变异后产生的新种群与其父种群相比,更能适应于环境,当算法结束后,将末代种群中包含的最优个体进行解码即可得到问题的较优解。

遗传算法通过计算比较个体染色体的适应度与群体平均适应度决定该个体进化或淘汰,但进化到了后期,算法搜索到最优解附近时,要确定最优解要花费大量时间,甚至无法精确定位最优解的位置,且算法容易出现“早熟”。……

登录APP查看全文