遗传算法原理与应用精.ppt
遗传算法原理与应用遗传算法原理与应用第1页,本讲稿共65页报告提纲报告提纲一、遗传算法概述一、遗传算法概述 二、遗传算法原理二、遗传算法原理三、遗传算法的应用三、遗传算法的应用第2页,本讲稿共65页一、遗传算法概述1 1、智能优化算法智能优化算法 2 2、基本遗传算法基本遗传算法 3 3、遗传算法的特点遗传算法的特点 第3页,本讲稿共65页1 1、智能优化算法、智能优化算法 智能优化算法又称为现代启发式算智能优化算法又称为现代启发式算法,是一种具有全局优化性能、通用性法,是一种具有全局优化性能、通用性强、且适合于并行处理的算法。这种算强、且适合于并行处理的算法。这种算法一般具有严密的理论依据,而不是单法一般具有严密的理论依据,而不是单纯凭借专家经验,理论上可以在一定的纯凭借专家经验,理论上可以在一定的时间内找到最优解或近似最优解。时间内找到最优解或近似最优解。第4页,本讲稿共65页常用的智能优化算法常用的智能优化算法(1 1 1 1)遗传算法遗传算法遗传算法遗传算法 (Genetic AlgorithmGenetic Algorithm,简称简称简称简称GAGA)(2 2 2 2)模拟退火算法模拟退火算法模拟退火算法模拟退火算法(Simulated AnnealingSimulated Annealing,简称简称简称简称SASA)(3 3 3 3)禁忌搜索算法禁忌搜索算法禁忌搜索算法禁忌搜索算法(Tabu SearchTabu Search,简称简称简称简称TSTS)第5页,本讲稿共65页智能优化算法的特点智能优化算法的特点 它们的共同特点:都是从任一解出发,它们的共同特点:都是从任一解出发,按照某种机制,以一定的概率在整个求解按照某种机制,以一定的概率在整个求解空间中探索最优解。由于它们可以把搜索空间中探索最优解。由于它们可以把搜索空间扩展到整个问题空间,因而具有全局空间扩展到整个问题空间,因而具有全局优化性能。优化性能。第6页,本讲稿共65页遗传算法起源遗传算法起源 遗传算法是由美国的遗传算法是由美国的J.Holland教授于教授于1975年在他的专著年在他的专著自然界和人工系统的自然界和人工系统的适应性适应性中首先提出的,它是一类借鉴生中首先提出的,它是一类借鉴生物界自然选择和自然遗传机制的随机化搜物界自然选择和自然遗传机制的随机化搜索算法索算法。第7页,本讲稿共65页遗传算法的搜索机制遗传算法的搜索机制 遗传算法模拟自然选择和自然遗传过程遗传算法模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变现象,在每中发生的繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标次迭代中都保留一组候选解,并按某种指标从解群中选取较优的个体,利用遗传算子从解群中选取较优的个体,利用遗传算子(选择、交叉和变异选择、交叉和变异)对这些个体进行组合,对这些个体进行组合,产生新一代的候选解群,重复此过程,直到产生新一代的候选解群,重复此过程,直到满足某种收敛指标为止。满足某种收敛指标为止。第8页,本讲稿共65页2 2、基本遗传算法、基本遗传算法 基本遗传算法(基本遗传算法(Simple Genetic Algorithms,简称,简称SGA,又称简单遗传算法,又称简单遗传算法或标准遗传算法),是由或标准遗传算法),是由Goldberg总结出总结出的一种最基本的遗传算法,其遗传进化操的一种最基本的遗传算法,其遗传进化操作过程简单,容易理解,是其它一些遗传作过程简单,容易理解,是其它一些遗传算法的雏形和基础。算法的雏形和基础。第9页,本讲稿共65页基本遗传算法的组成基本遗传算法的组成 (1 1)编码(产生初始种群)编码(产生初始种群)(2 2)适应度函数)适应度函数(3 3)遗传算子(选择、交叉、变异)遗传算子(选择、交叉、变异)(4 4)运行参数)运行参数第10页,本讲稿共65页 编码编码 GA是通过某种编码机制把对象是通过某种编码机制把对象抽象为由特定符号按一定顺序排成的抽象为由特定符号按一定顺序排成的串。正如研究生物遗传是从染色体着串。正如研究生物遗传是从染色体着手,而染色体则是由基因排成的串。手,而染色体则是由基因排成的串。SGA使用二进制串进行编码。使用二进制串进行编码。第11页,本讲稿共65页函数优化示例函数优化示例 求下列一元函数的最大值求下列一元函数的最大值:x-1,2 x-1,2 ,求解结果精确到,求解结果精确到6 6位小数。位小数。第12页,本讲稿共65页SGA对于本例的编码对于本例的编码 由于区间长度为由于区间长度为3,求解结果精确到,求解结果精确到6位小位小数,因此可将自变量定义区间划分为数,因此可将自变量定义区间划分为3106等等份。又因为份。又因为221 3106 222,所以本例的二进,所以本例的二进制编码长度至少需要制编码长度至少需要22位,本例的编码过程实位,本例的编码过程实质上是将区间质上是将区间-1,2内对应的实数值转化为一内对应的实数值转化为一个二进制串(个二进制串(b21b20b0)。)。第13页,本讲稿共65页几个术语几个术语 基因型:基因型:1000101110110101000111 表现型:表现型:0.637197 编码解码个体(染色体)基因第14页,本讲稿共65页初始种群初始种群 SGA采用随机方法生成若干个采用随机方法生成若干个个体的集合,该集合称为初始种群。个体的集合,该集合称为初始种群。初始种群中个体的数量称为种群规初始种群中个体的数量称为种群规模。模。第15页,本讲稿共65页 适应度函数适应度函数 遗传算法对一个个体(解)的好坏遗传算法对一个个体(解)的好坏用适应度函数值来评价,适应度函数值越用适应度函数值来评价,适应度函数值越大,解的质量越好。适应度函数是遗传算大,解的质量越好。适应度函数是遗传算法进化过程的驱动力,也是进行自然选择法进化过程的驱动力,也是进行自然选择的唯一标准,它的设计应结合求解问题本的唯一标准,它的设计应结合求解问题本身的要求而定。身的要求而定。第16页,本讲稿共65页选择算子选择算子 遗传算法使用选择运算来实现对群体中的个体遗传算法使用选择运算来实现对群体中的个体遗传算法使用选择运算来实现对群体中的个体遗传算法使用选择运算来实现对群体中的个体进行优胜劣汰操作:适应度高的个体被遗传到下一进行优胜劣汰操作:适应度高的个体被遗传到下一进行优胜劣汰操作:适应度高的个体被遗传到下一进行优胜劣汰操作:适应度高的个体被遗传到下一代群体中的概率大;适应度低的个体,被遗传到下代群体中的概率大;适应度低的个体,被遗传到下代群体中的概率大;适应度低的个体,被遗传到下代群体中的概率大;适应度低的个体,被遗传到下一代群体中的概率小。选择操作的任务就是按某种一代群体中的概率小。选择操作的任务就是按某种一代群体中的概率小。选择操作的任务就是按某种一代群体中的概率小。选择操作的任务就是按某种方法从父代群体中选取一些个体,遗传到下一代群方法从父代群体中选取一些个体,遗传到下一代群方法从父代群体中选取一些个体,遗传到下一代群方法从父代群体中选取一些个体,遗传到下一代群体。体。体。体。SGASGA中选择算子采用轮盘赌选择方法。中选择算子采用轮盘赌选择方法。中选择算子采用轮盘赌选择方法。中选择算子采用轮盘赌选择方法。第17页,本讲稿共65页轮盘赌选择方法轮盘赌选择方法 轮盘赌选择又称比例选择算子,它的基本思想是:轮盘赌选择又称比例选择算子,它的基本思想是:轮盘赌选择又称比例选择算子,它的基本思想是:轮盘赌选择又称比例选择算子,它的基本思想是:各个个体被选中的概率与其适应度函数值大小成正比。各个个体被选中的概率与其适应度函数值大小成正比。各个个体被选中的概率与其适应度函数值大小成正比。各个个体被选中的概率与其适应度函数值大小成正比。设群体大小为设群体大小为设群体大小为设群体大小为n n,个体,个体,个体,个体i i 的适应度为的适应度为的适应度为的适应度为 F Fi i,则个体,则个体,则个体,则个体i i 被选被选被选被选中遗传到下一代群体的概率为:中遗传到下一代群体的概率为:中遗传到下一代群体的概率为:中遗传到下一代群体的概率为:第18页,本讲稿共65页轮盘赌选择方法的实现步骤轮盘赌选择方法的实现步骤(1 1 1 1)计算群体中所有个体的适应度函数值(需要解码);计算群体中所有个体的适应度函数值(需要解码);计算群体中所有个体的适应度函数值(需要解码);计算群体中所有个体的适应度函数值(需要解码);(2 2 2 2)利用比例选择算子的公式,计算每个个体被选中遗传利用比例选择算子的公式,计算每个个体被选中遗传利用比例选择算子的公式,计算每个个体被选中遗传利用比例选择算子的公式,计算每个个体被选中遗传到下一代群体的概率;到下一代群体的概率;到下一代群体的概率;到下一代群体的概率;(3 3 3 3)采用模拟赌盘操作(即生成采用模拟赌盘操作(即生成采用模拟赌盘操作(即生成采用模拟赌盘操作(即生成0 0 0 0到到到到1 1 1 1之间的随机数与每之间的随机数与每之间的随机数与每之间的随机数与每个个体遗传到下一代群体的概率进行匹配)来确定各个个个体遗传到下一代群体的概率进行匹配)来确定各个个个体遗传到下一代群体的概率进行匹配)来确定各个个个体遗传到下一代群体的概率进行匹配)来确定各个个体是否遗传到下一代群体中。个体是否遗传到下一代群体中。个体是否遗传到下一代群体中。个体是否遗传到下一代群体中。第19页,本讲稿共65页交叉算子交叉算子 所谓交叉运算,是指对两个相互配对的染色体依据所谓交叉运算,是指对两个相互配对的染色体依据所谓交叉运算,是指对两个相互配对的染色体依据所谓交叉运算,是指对两个相互配对的染色体依据交叉概率交叉概率交叉概率交叉概率 P Pc c 按某种方式相互交换其部分基因,从而形成按某种方式相互交换其部分基因,从而形成按某种方式相互交换其部分基因,从而形成按某种方式相互交换其部分基因,从而形成两个新的个体。交叉运算是遗传算法区别于其他进化算法两个新的个体。交叉运算是遗传算法区别于其他进化算法两个新的个体。交叉运算是遗传算法区别于其他进化算法两个新的个体。交叉运算是遗传算法区别于其他进化算法的重要特征,它在遗传算法中起关键作用,是产生新个体的重要特征,它在遗传算法中起关键作用,是产生新个体的重要特征,它在遗传算法中起关键作用,是产生新个体的重要特征,它在遗传算法中起关键作用,是产生新个体的主要方法。的主要方法。的主要方法。的主要方法。SGASGA中交叉算子采用单点交叉算子。中交叉算子采用单点交叉算子。中交叉算子采用单点交叉算子。中交叉算子采用单点交叉算子。第20页,本讲稿共65页单点交叉运算单点交叉运算 交叉前:交叉前:00000|0111000000001000011100|00000111111000101交叉后:交叉后:00000|0000011111100010111100|01110000000010000交叉点交叉点第21页,本讲稿共65页变异算子变异算子 所谓变异运算,是指依据变异概率所谓变异运算,是指依据变异概率所谓变异运算,是指依据变异概率所谓变异运算,是指依据变异概率 P Pm m 将个体编将个体编将个体编将个体编码串中的某些基因值用其它基因值来替换,从而码串中的某些基因值用其它基因值来替换,从而码串中的某些基因值用其它基因值来替换,从而码串中的某些基因值用其它基因值来替换,从而形成一个新的个体。遗传算法中的变异运算是产形成一个新的个体。遗传算法中的变异运算是产形成一个新的个体。遗传算法中的变异运算是产形成一个新的个体。遗传算法中的变异运算是产生新个体的辅助方法,它决定了遗传算法的局部生新个体的辅助方法,它决定了遗传算法的局部生新个体的辅助方法,它决定了遗传算法的局部生新个体的辅助方法,它决定了遗传算法的局部搜索能力,同时保持种群的多样性。交叉运算和搜索能力,同时保持种群的多样性。交叉运算和搜索能力,同时保持种群的多样性。交叉运算和搜索能力,同时保持种群的多样性。交叉运算和变异运算的相互配合,共同完成对搜索空间的全变异运算的相互配合,共同完成对搜索空间的全变异运算的相互配合,共同完成对搜索空间的全变异运算的相互配合,共同完成对搜索空间的全局搜索和局部搜索。局搜索和局部搜索。局搜索和局部搜索。局搜索和局部搜索。SGASGA中变异算子采用基本位中变异算子采用基本位中变异算子采用基本位中变异算子采用基本位变异算子。变异算子。变异算子。变异算子。第22页,本讲稿共65页基本位变异算子基本位变异算子 基本位变异算子是指对个体编码串随机指基本位变异算子是指对个体编码串随机指基本位变异算子是指对个体编码串随机指基本位变异算子是指对个体编码串随机指定的某一位或某几位基因作变异运算。对于基定的某一位或某几位基因作变异运算。对于基定的某一位或某几位基因作变异运算。对于基定的某一位或某几位基因作变异运算。对于基本遗传算法中用二进制编码符号串所表示的个本遗传算法中用二进制编码符号串所表示的个本遗传算法中用二进制编码符号串所表示的个本遗传算法中用二进制编码符号串所表示的个体,若需要进行变异操作的某一基因座上的原体,若需要进行变异操作的某一基因座上的原体,若需要进行变异操作的某一基因座上的原体,若需要进行变异操作的某一基因座上的原有基因值为有基因值为有基因值为有基因值为0 0,则变异操作将其变为,则变异操作将其变为,则变异操作将其变为,则变异操作将其变为1 1;反之,;反之,;反之,;反之,若原有基因值为若原有基因值为若原有基因值为若原有基因值为1 1,则变异操作将其变为,则变异操作将其变为,则变异操作将其变为,则变异操作将其变为0 0。第23页,本讲稿共65页基本位变异算子的执行过程基本位变异算子的执行过程 变异前:变异前:000001110000000010000变异后:变异后:000001110001000010000变异点变异点第24页,本讲稿共65页运行参数运行参数(1)M :种群规模种群规模(2)T :遗传运算的终止进化代数遗传运算的终止进化代数(3)Pc :交叉概率交叉概率(4)Pm:变异概率变异概率 第25页,本讲稿共65页SGA的框图的框图 产生初始群体产生初始群体是否满足停止准则是否满足停止准则是是输出结果并结束输出结果并结束计算个体适应度值计算个体适应度值比例选择运算比例选择运算单点交叉运算单点交叉运算基本位变异运算基本位变异运算否否产生新一代群体产生新一代群体执行执行M/2M/2次次第26页,本讲稿共65页3、遗传算法的特点、遗传算法的特点(1)群体搜索,易于并行化处理;)群体搜索,易于并行化处理;(2)不是盲目穷举,而是启发式搜索;)不是盲目穷举,而是启发式搜索;(3)适应度函数不受连续、可微等条件的约)适应度函数不受连续、可微等条件的约束,适用范围很广。束,适用范围很广。第27页,本讲稿共65页二、遗传算法原理1 1、遗传算法的数学基础遗传算法的数学基础 2 2、遗传算法的收敛性分析遗传算法的收敛性分析 3 3、遗传算法的改进遗传算法的改进 第28页,本讲稿共65页1 1、遗传算法的数学基础遗传算法的数学基础(1 1)模式定理)模式定理 (2 2)积木块假设)积木块假设 第29页,本讲稿共65页模式模式 模式是指种群个体基因串中的相似样模式是指种群个体基因串中的相似样板,它用来描述基因串中某些特征位相同板,它用来描述基因串中某些特征位相同的结构。在二进制编码中,模式是基于三的结构。在二进制编码中,模式是基于三个字符集个字符集(0,1,*)的字符串,符号的字符串,符号*代表任意代表任意字符,即字符,即 0 或者或者 1。模式示例:模式示例:10*1第30页,本讲稿共65页两个定义两个定义定义定义1:模式:模式 H 中确定位置的个数称为模式中确定位置的个数称为模式 H 的阶,记作的阶,记作O(H)。例如。例如O(10*1)=3。定义定义2:模式:模式 H 中第一个确定位置和最后一中第一个确定位置和最后一个确定位置之间的距离称为模式个确定位置之间的距离称为模式 H 的定义的定义距,记作距,记作(H)。例如。例如(10*1)=4。第31页,本讲稿共65页模式的阶和定义距的含义模式的阶和定义距的含义 模式阶用来反映不同模式间确定性模式阶用来反映不同模式间确定性的差异,模式阶数越高,模式的确定性的差异,模式阶数越高,模式的确定性就越高,所匹配的样本数就越少。在遗就越高,所匹配的样本数就越少。在遗传操作中,即使阶数相同的模式,也会传操作中,即使阶数相同的模式,也会有不同的性质,而模式的定义距就反映有不同的性质,而模式的定义距就反映了这种性质的差异。了这种性质的差异。第32页,本讲稿共65页模式定理模式定理 模式定理:具有低阶、短定义距以及模式定理:具有低阶、短定义距以及平均适应度高于种群平均适应度的模式在平均适应度高于种群平均适应度的模式在子代中呈指数增长。子代中呈指数增长。模式定理保证了较优的模式(遗传算模式定理保证了较优的模式(遗传算法的较优解)的数目呈指数增长,为解释法的较优解)的数目呈指数增长,为解释遗传算法机理提供了数学基础。遗传算法机理提供了数学基础。第33页,本讲稿共65页模式定理模式定理 从模式定理可看出,有高平均适应度、短定从模式定理可看出,有高平均适应度、短定从模式定理可看出,有高平均适应度、短定从模式定理可看出,有高平均适应度、短定义距、低阶的模式,在连续的后代里获得至少以义距、低阶的模式,在连续的后代里获得至少以义距、低阶的模式,在连续的后代里获得至少以义距、低阶的模式,在连续的后代里获得至少以指数增长的串数目,这主要是因为选择使最好的指数增长的串数目,这主要是因为选择使最好的指数增长的串数目,这主要是因为选择使最好的指数增长的串数目,这主要是因为选择使最好的模式有更多的复制,交叉算子不容易破坏高频率模式有更多的复制,交叉算子不容易破坏高频率模式有更多的复制,交叉算子不容易破坏高频率模式有更多的复制,交叉算子不容易破坏高频率出现的、短定义长的模式,而一般突变概率又相出现的、短定义长的模式,而一般突变概率又相出现的、短定义长的模式,而一般突变概率又相出现的、短定义长的模式,而一般突变概率又相当小,因而它对这些重要的模式几乎没有影响。当小,因而它对这些重要的模式几乎没有影响。当小,因而它对这些重要的模式几乎没有影响。当小,因而它对这些重要的模式几乎没有影响。第34页,本讲稿共65页积木块假设积木块假设 积木块假设:遗传算法通过短定义距、低阶以及高积木块假设:遗传算法通过短定义距、低阶以及高积木块假设:遗传算法通过短定义距、低阶以及高积木块假设:遗传算法通过短定义距、低阶以及高平均适应度的模式(积木块),在遗传操作下相互结合,平均适应度的模式(积木块),在遗传操作下相互结合,平均适应度的模式(积木块),在遗传操作下相互结合,平均适应度的模式(积木块),在遗传操作下相互结合,最终接近全局最优解。最终接近全局最优解。最终接近全局最优解。最终接近全局最优解。模式定理保证了较优模式的样本数呈指数增长,从而模式定理保证了较优模式的样本数呈指数增长,从而模式定理保证了较优模式的样本数呈指数增长,从而模式定理保证了较优模式的样本数呈指数增长,从而使遗传算法找到全局最优解的可能性存在;而积木块假设使遗传算法找到全局最优解的可能性存在;而积木块假设使遗传算法找到全局最优解的可能性存在;而积木块假设使遗传算法找到全局最优解的可能性存在;而积木块假设则指出了在遗传算子的作用下,能生成全局最优解。则指出了在遗传算子的作用下,能生成全局最优解。则指出了在遗传算子的作用下,能生成全局最优解。则指出了在遗传算子的作用下,能生成全局最优解。第35页,本讲稿共65页2 2、遗传算法的收敛性分析遗传算法的收敛性分析 遗传算法要实现全局收敛,首先要求遗传算法要实现全局收敛,首先要求任意初始种群经有限步都能到达全局最优任意初始种群经有限步都能到达全局最优解,其次算法必须由保优操作来防止最优解,其次算法必须由保优操作来防止最优解的遗失。与算法收敛性有关的因素主要解的遗失。与算法收敛性有关的因素主要包括种群规模、选择操作、交叉概率和变包括种群规模、选择操作、交叉概率和变异概率。异概率。第36页,本讲稿共65页种群规模对收敛性的影响种群规模对收敛性的影响 通常,种群太小则不能提供足够的通常,种群太小则不能提供足够的采样点,以致算法性能很差;种群太大,采样点,以致算法性能很差;种群太大,尽管可以增加优化信息,阻止早熟收敛尽管可以增加优化信息,阻止早熟收敛的发生,但无疑会增加计算量,造成收的发生,但无疑会增加计算量,造成收敛时间太长,表现为收敛速度缓慢。敛时间太长,表现为收敛速度缓慢。第37页,本讲稿共65页选择操作对收敛性的影响选择操作对收敛性的影响 选择操作使高适应度个体能够以更大的概率选择操作使高适应度个体能够以更大的概率选择操作使高适应度个体能够以更大的概率选择操作使高适应度个体能够以更大的概率生存,从而提高了遗传算法的全局收敛性。如生存,从而提高了遗传算法的全局收敛性。如生存,从而提高了遗传算法的全局收敛性。如生存,从而提高了遗传算法的全局收敛性。如果在算法中采用最优保存策略,即将父代群体果在算法中采用最优保存策略,即将父代群体果在算法中采用最优保存策略,即将父代群体果在算法中采用最优保存策略,即将父代群体中最佳个体保留下来,不参加交叉和变异操作,中最佳个体保留下来,不参加交叉和变异操作,中最佳个体保留下来,不参加交叉和变异操作,中最佳个体保留下来,不参加交叉和变异操作,使之直接进入下一代,最终可使遗传算法以概使之直接进入下一代,最终可使遗传算法以概使之直接进入下一代,最终可使遗传算法以概使之直接进入下一代,最终可使遗传算法以概率率率率1 1收敛于全局最优解。收敛于全局最优解。收敛于全局最优解。收敛于全局最优解。第38页,本讲稿共65页交叉概率对收敛性的影响交叉概率对收敛性的影响 交叉操作用于个体对,产生新的个体,交叉操作用于个体对,产生新的个体,实质上是在解空间中进行有效搜索。交叉实质上是在解空间中进行有效搜索。交叉概率太大时,种群中个体更新很快,会造概率太大时,种群中个体更新很快,会造成高适应度值的个体很快被破坏掉;概率成高适应度值的个体很快被破坏掉;概率太小时,交叉操作很少进行,从而会使搜太小时,交叉操作很少进行,从而会使搜索停滞不前,造成算法的不收敛。索停滞不前,造成算法的不收敛。第39页,本讲稿共65页变异概率对收敛性的影响变异概率对收敛性的影响 变异操作是对种群模式的扰动,有利变异操作是对种群模式的扰动,有利于增加种群的多样性于增加种群的多样性。但是,变异概率太。但是,变异概率太小则很难产生新模式,变异概率太大则会小则很难产生新模式,变异概率太大则会使遗传算法成为随机搜索算法。使遗传算法成为随机搜索算法。第40页,本讲稿共65页遗传算法的本质遗传算法的本质 遗传算法本质上是对染色体模式所进行遗传算法本质上是对染色体模式所进行的一系列运算,即通过选择算子将当前种群的一系列运算,即通过选择算子将当前种群中的优良模式遗传到下一代种群中,利用交中的优良模式遗传到下一代种群中,利用交叉算子进行模式重组,利用变异算子进行模叉算子进行模式重组,利用变异算子进行模式突变。通过这些遗传操作,模式逐步向较式突变。通过这些遗传操作,模式逐步向较好的方向进化,最终得到问题的最优解。好的方向进化,最终得到问题的最优解。第41页,本讲稿共65页3 3、遗传算法的改进遗传算法的改进 遗传欺骗问题:在遗传算法进化过遗传欺骗问题:在遗传算法进化过程中,有时会产生一些超常的个体,这程中,有时会产生一些超常的个体,这些个体因竞争力太突出而控制了选择运些个体因竞争力太突出而控制了选择运算过程,从而影响算法的全局优化性能,算过程,从而影响算法的全局优化性能,导致算法获得某个局部最优解。导致算法获得某个局部最优解。第42页,本讲稿共65页遗传算法的改进途径遗传算法的改进途径(1)对编码方式的改进)对编码方式的改进(2)对遗传算子)对遗传算子 的改进的改进(3)对控制参数的改进)对控制参数的改进(4)对执行策略的改进)对执行策略的改进 第43页,本讲稿共65页对编码方式的改进对编码方式的改进 二二进进制制编编码码优优点点在在于于编编码码、解解码码操操作作简简单单,交交叉叉、变变异异等等操操作作便便于于实实现现,缺缺点点在在于于精精度度要要求求较较高高时时,个个体体编编码码串串较较长长,使使算算法法的的搜搜索索空空间间急急剧剧扩扩大大,遗遗传传算算法法的的性性能能降降低低。格格雷雷编编码码克克服服了了二二进进制制编编码码的的不不连连续续问问题题,浮浮点点数数编编码码改改善善了了遗遗传传算算法法的计算复杂性的计算复杂性。第44页,本讲稿共65页对遗传算子对遗传算子 的改进的改进排序选择排序选择 均匀交叉均匀交叉 逆序变异逆序变异(1 1)对群体中的所有个体按其适对群体中的所有个体按其适应度大小进行降序排序;应度大小进行降序排序;(2 2)根据具体求解问题,设根据具体求解问题,设计一个概率分配表,将各个概计一个概率分配表,将各个概率值按上述排列次序分配给各率值按上述排列次序分配给各个个体;个个体;(3 3)以各个个体所分配到的以各个个体所分配到的概率值作为其遗传到下一代的概率值作为其遗传到下一代的概率,基于这些概率用赌盘选概率,基于这些概率用赌盘选择法来产生下一代群体。择法来产生下一代群体。第45页,本讲稿共65页对遗传算子对遗传算子 的改进的改进排序选择排序选择 均匀交叉均匀交叉 逆序变异逆序变异(1 1)随机产生一个与个体编随机产生一个与个体编码长度相同的二进制屏蔽字码长度相同的二进制屏蔽字P=P=W W1 1W W2 2W Wn n ;(2 2)按下列规则从按下列规则从A A、B B两个父两个父代个体中产生两个新个体代个体中产生两个新个体X X、Y Y:若若W Wi i=0=0,则,则X X的第的第i i个基因继个基因继承承A A的对应基因,的对应基因,Y Y的第的第i i个基因个基因继承继承B B的对应基因;若的对应基因;若W Wi i=1=1,则则A A、B B的第的第i i个基因相互交换,从个基因相互交换,从而生成而生成X X、Y Y的第的第i i个基因。个基因。第46页,本讲稿共65页对遗传算子对遗传算子 的改进的改进排序选择排序选择 均匀交叉均匀交叉 逆序变异逆序变异变异前:变异前:3 4 8|7 9 6 5|2 13 4 8|7 9 6 5|2 1变异前:变异前:3 4 8|5 6 9 7|2 13 4 8|5 6 9 7|2 1第47页,本讲稿共65页对控制参数的改进对控制参数的改进 Schaffer建议的最优参数范围是:建议的最优参数范围是:M=20-100,T=100-500,Pc=0.4-0.9,Pm=0.001-0.01。第48页,本讲稿共65页对控制参数的改进对控制参数的改进 SrinvivasSrinvivas等人提出自适应遗传算法,即等人提出自适应遗传算法,即等人提出自适应遗传算法,即等人提出自适应遗传算法,即P PC C和和和和P Pmm能能能能够随适应度自动改变,当种群的各个个体适应度趋够随适应度自动改变,当种群的各个个体适应度趋够随适应度自动改变,当种群的各个个体适应度趋够随适应度自动改变,当种群的各个个体适应度趋于一致或趋于局部最优时,使二者增加,而当种群于一致或趋于局部最优时,使二者增加,而当种群于一致或趋于局部最优时,使二者增加,而当种群于一致或趋于局部最优时,使二者增加,而当种群适应度比较分散时,使二者减小,同时对适应值高适应度比较分散时,使二者减小,同时对适应值高适应度比较分散时,使二者减小,同时对适应值高适应度比较分散时,使二者减小,同时对适应值高于群体平均适应值的个体,采用较低的于群体平均适应值的个体,采用较低的于群体平均适应值的个体,采用较低的于群体平均适应值的个体,采用较低的P PC C和和和和P Pmm,使,使,使,使性能优良的个体进入下一代,而低于平均适应值的个体,性能优良的个体进入下一代,而低于平均适应值的个体,性能优良的个体进入下一代,而低于平均适应值的个体,性能优良的个体进入下一代,而低于平均适应值的个体,采用较高的采用较高的采用较高的采用较高的P PC C和和和和P Pmm,使性能较差的个体被淘汰,使性能较差的个体被淘汰,使性能较差的个体被淘汰,使性能较差的个体被淘汰 。第49页,本讲稿共65页对执行策略的改进对执行策略的改进混合遗传算法混合遗传算法免疫遗传算法免疫遗传算法小生境遗传算法小生境遗传算法单亲遗传算法单亲遗传算法并行遗传算法并行遗传算法第50页,本讲稿共65页三、遗传算法的应用1 1、遗传算法的应用领域遗传算法的应用领域 2 2、遗传算法的应用示例遗传算法的应用示例 第51页,本讲稿共65页1 1、遗传算法的应用领域遗传算法的应用领域(1)组合优化)组合优化 (2)函数优化)函数优化(3)自动控制)自动控制 (4)生产调度)生产调度(5)图像处理)图像处理 (6)机器学习)机器学习(7)人工生命)人工生命 (8)数据挖掘)数据挖掘 第52页,本讲稿共65页遗传算法应用于组合优化遗传算法应用于组合优化 随着问题规模的增大,组合优化问题的搜索空间也急随着问题规模的增大,组合优化问题的搜索空间也急随着问题规模的增大,组合优化问题的搜索空间也急随着问题规模的增大,组合优化问题的搜索空间也急剧扩大,有时在计算机上用枚举法很难甚至不可能求出剧扩大,有时在计算机上用枚举法很难甚至不可能求出剧扩大,有时在计算机上用枚举法很难甚至不可能求出剧扩大,有时在计算机上用枚举法很难甚至不可能求出其最优解。实践证明,遗传算法已经在求解旅行商问题、其最优解。实践证明,遗传算法已经在求解旅行商问题、其最优解。实践证明,遗传算法已经在求解旅行商问题、其最优解。实践证明,遗传算法已经在求解旅行商问题、背包问题、装箱问题、布局优化、网络路由等具有背包问题、装箱问题、布局优化、网络路由等具有背包问题、装箱问题、布局优化、网络路由等具有背包问题、装箱问题、布局优化、网络路由等具有NPNP难难难难度的组合优化问题上取得了成功的应用。度的组合优化问题上取得了成功的应用。度的组合优化问题上取得了成功的应用。度的组合优化问题上取得了成功的应用。第53页,本讲稿共65页2 2、遗传算法的应用示例遗传算法的应用示例 弹药装载问题(弹药装载问题(Ammunition Loading Problem,简称,简称ALP),就是在满足各类),就是在满足各类通用弹药运输规程和安全性的前提下,通用弹药运输规程和安全性的前提下,如何将一批通用弹药箱装入军用运输工如何将一批通用弹药箱装入军用运输工具,使得通用弹药的装载效率达到最大具,使得通用弹药的装载效率达到最大值的问题。值的问题。第54页,本讲稿共65页AGSAA的基本原理的基本原理 在在弹弹药药装装载载中中,考考虑虑到到模模拟拟退退火火算算法法的的基基本本思思想想是是跳跳出出局局部部最最优优解解,将将模模拟拟退退火火思思想想引引入入遗遗传传算算法法,应应用用改改进进型型遗遗传传算算法法和和模模拟拟退退火火算算法法相相结结合合,构构建建自自适适应应遗遗传传模模拟拟退退火火算算法法(AGSAAAGSAA),从从而而综综合合了了全全局局优优化化和和局局部部搜搜索索的的特特点点,为为解解决决弹弹药药装装载这一组合优化问题提供了新的思路。载这一组合优化问题提供了新的思路。第55页,本讲稿共65页AGSAA的编码方式的编码方式 AGSAAAGSAA采采用用二二进进制制编编码码方方式式,每每一一个个二二进进制制位位对对应应一一个个待待装装弹弹药药箱箱,若若为为,表表示该弹药箱装入运输工具,为则不装。示该弹药箱装入运输工具,为则不装。第56页,本讲稿共65页AGSAA的解码和适应度函数的解码和适应度函数 AGSAAAGSAA采采用用弹弹药药装装载载的的启启发发式式算算法法来来解解码码,解解码码后后最最终终确确定定装装入入运运输输工工具具的的弹弹药药箱箱。适适应应度度函函数数主主要要考考虑虑两两个个方方面面,即即载载重重率率和和积积载载率率,对对这这两两个个因因素素加加权权,来来计计算适应度函数值。算适应度函数值。第57页,本讲稿共65页弹药装载的启发式算法弹药装载的启发式算法 (1 1)定位规则()定位规则(Locating ruleLocating rule)定位规则是指用来确定当前待装弹药箱在定位规则是指用来确定当前待装弹药箱在运输工具剩余装载空间中摆放位置的规则。运输工具剩余装载空间中摆放位置的规则。(2 2)定序规则()定序规则(Ordering ruleOrdering rule)定序规则是指用来确定弹药箱放入运输工定序规则是指用来确定弹药箱放入运输工具装载空间先后顺序的规则。具装载空间先后顺序的规则。第58页,本讲稿共65页遗传算子的选择遗传算子的选择AGSAAAGSAA的选择算子采用轮盘赌选择算的选择算子采用轮盘赌选择算子,并结合最优保存策略;变异算子采子,并结合最优保存策略;变异算子采用基本位变异算子;同时,在变异运算用基本位变异算子;同时,在变异运算之后,增加退火算子,以增强算法的局之后,增加退火算子,以增强算法的局部搜索能力;交叉概率和变异概率为自部搜索能力;交叉概率和变异概率为自适应概率,以提高种群的进化效率。适应概率,以提高种群的进化效率。第59页,本讲稿共65页交叉算子的选择交叉算子的选择 由于由于AGSAAAGSAA是采用将弹药箱的编号排列成是采用将弹药箱的编号排列成串来进行编码的,如果个体交叉采用传统方式串来进行编码的,如果个体交叉采用传统方式进行,就有可能使个体的编码产生重复基因进行,就有可能使个体的编码产生重复基因(即一个弹药箱编号在一个个体中出现两次以(即一个弹药箱编号在一个个体中出现两次以上),从而产生不符合条件的个体,因此,上),从而产生不符合条件的个体,因此,AGSAAAGSAA采用的是部分映射交叉算子。采用的是部分映射交叉算子。第60页,本讲稿共65页部分映射交叉算子部分映射交叉算子交叉前:交叉前:8 7|4 3|1 2 6 58 7|4 3|1 2 6 5 1 2|5 7|8 3 4 6 1 2|5 7|8 3 4 6交叉后:交叉后:8 3|6 7|1 2 4 58 3|6 7|1 2 4 5 1 7|6 2|8 3 4 5 1 7|6 2|8 3 4 5第61页,本讲稿共65页参考文献参考文献1 1 张伟,李守智,高峰等张伟,李守智,高峰等张伟,李守智,高峰等张伟,李守智,高峰等.几种智能最优化算法的比较研究几种智能最优化算法的比较研究几种智能最优化算法的比较研究几种智能最优化算法的比较研究.Proceedings of the 24th.Proceedings of the 24th Chinese Control Conference,Guangzhou,P.R.China July 15-18,2005:1316Chinese Control Conference,Guangzhou,P.R.China July 15-18,2005:1316132013202 2马玉明马玉明马玉明马玉明,贺爱玲贺爱玲贺爱玲贺爱玲,李爱民李爱民李爱民李爱民.遗传算法的理论研究综述遗传算法的理论研究综述遗传算法的理论研究综述遗传算法的理论研究综述.山东轻工业学院学报山东轻工业学院学报山东轻工业学院学报山东轻工业学院学报,2004,18(3):77,2004,18(3):7780803 Andreas Bortfeldt,Hermann Gehring.A Hybrid Genetic Algorithm for The Container 3 Andreas Bortfeldt,Hermann Gehring.A Hybrid Genetic Algorithm for The Container Loading Problem.Europe