【调度】遗传算法的基本理论

遗传算法(geneticalgorithm,GA)是由美国Michigan大学的JohnHolland教授在1975年首先提出的,它是一种模拟生物自然进化现象的优化算法。随后在1989年,Goldberg的著作对遗传算法做了更为全面而系统的总结,也由此奠定了遗传算法的基础。
遗传算法借用了生物遗传学的思想,以及自然界中的“物竞天择,适者生存”原则,将问题的解表示成“染色体”,通过模拟自然选择、交叉、变异等操作,实现个体适应度的提高,不断迭代,逐步寻找最优解(或次优解)。遗传算法在求解问题时,从一组随机产生的初始种群开始搜索。种群中一个个体(individual)表示问题的一个解,称为染色体(chromosome)。种群通过连续的迭代进行进化,每一次迭代操作产生一代(generation)。在每一代中用适应度函数(fitnessfunction)或目标函数(objectivefunction)对每个个体进行评价(evaluation),适应度值高的个体被选中的概率高。迭代过程的下一代称为子代(offspring),通过选择(selection)、交叉(crossover)、变异(mutation)等遗传算子产生子代。遗传算法有五个基本要素:编码和解码;种群初始化方法;适应度函数;遗传算子(主要包括选择、交叉、变异等);遗传参数设置(种群规模、遗传算子的概率等)等。图3.1所示为基本遗传算法的流程框图。
假设P表示种群规模,t表示当前代,P(t)和C(t)表示第t代的父代和子代,那么基本的遗传算法执行步骤如下。
步骤1按照一定的初始化方法产生初始种群P(t),t=0。
步骤2评价种群P(t),计算每个个体的适应度值。
步骤3判断是否满足终止条件,如果满足则输出结果;否则转步骤4。
步骤4按照选择、交叉、变异等遗传算子产生子代C(t)。
步骤5P(t)=C(t),转步骤2,t=t+1。
在这里插入图片描述

遗传算法是一种通用的优化算法,其编码技术和遗传操作比较简单,优化过程不受限制性条件的约束,使它能够在复杂空间中进行全局优化搜索,并具有较强的鲁棒性。与传统的优化方法相比,遗传算法具有以下特点。
(1)遗传算法是对问题参数的编码即“染色体”进行操作,而非对参数本身进行操作的。进化过程中,只是在评价个体适应度值时需要使用问题的具体信息,而其他部分并不需要了解问题本身的信息,这使得遗传算法不受函数约束条件的限制(如连续或可微),设计简单且适应性广。
(2)遗传算法的搜索过程是从问题的解的集合开始,而不是从单个解开始的,具有隐含并行搜索特性。可将搜索重点集中于性能高的部分,从而可以提高搜索效率,并且减小了陷入局部极小的可能性,易得到全局最优解。
(3)遗传算法在问题解空间的整个搜索过程中是在概率指导下完成的、有方向的启发式搜索,与穷举或完全随机的搜索不同,因而具有较高的效率。在初始阶段,等概率初始化保证了搜索点均匀地覆盖整个解空间;之后在适应度值的概率选择,以及交叉、变异等概率的指导下,搜索逐渐向适应度值高的区域集中,直到收敛到适应度值最高的区域为止

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值