遗传算法基本原理陈景伟提纲遗传算法概述实现遗传算法的基本步骤遗传算法的应用遗传算法概述寻优算法:求解最优值问题的方法遗传算法粒子群算法模拟退火算法……遗传算法的概念是在1975年由Michigan大学的J.Holland提出的,这是一种通过模拟自然进化过程寻找最优解的方法。遗传算法概述遗传算法的基本原理:生物进化论和遗传学遗传:子代与父代具有相同或相似的性状,保证物种的稳定性;变异:子代与父代,以及子代不同个体之间总有差异,是生命多样性的根源;生存斗争与适者生存:具有适应性变异的个体被保留,不具有适应性变异的个体被淘汰。进化:生物在其延续生存的过程中,逐渐适应其生存环境,使得其品质不断改良,这种现象被称为进化。实现遗传算法的基本步骤编码与解码实现遗传算法的第一步就是明确对求解问题的编码和解码方式。对于函数优化问题,一般有两种编码方式:1.实数编码:直接用实数表示基因,容易理解且不需要解码过程,但容易过早收敛,从而陷入局部最优。2.二进制编码:简单易行,稳定性高,种群多样性大,但需要的存储空间大。一串编码代表一个染色体。实现遗传算法的基本步骤适应度函数进化论中的适应度,是表示某一个体对环境的适应能力,也表示该个体繁殖后代的能力。遗传算法的适应度函数也叫评价函数,是用来判断群体中的个体的优劣程度的指标,它是根据所求问题的目标函数来进行评估的。遗传算法在搜索进化过程中一般不需要其他外部信息,仅用评估函数来评估个体或解的优劣,并作为以后遗传操作的依据。由于遗传算法中,适应度函数要比较排序并在此基础上计算选择概率,所以适应度函数的值要取正值。由此可见,在不少场合,将目标函数映射成求最大值形式且函数值非负的适应度函数是必要的。实现遗传算法的基本步骤遗传算子遗传算子是用来模拟生物基因遗传的算子,包括选择、交配和突变三种算子。选择选择操作是从前代种群中选择多对较优个体,一对较优个体称之为一对父母,让父母们将它们的基因传递到下一代,直到下一代个体数量达到种群数量上限;在选择操作前,将种群中个体按照适应度从小到大进行排列,采用一种选择方法,如轮盘赌方法,各个个体被选中的概率与其适应度函数值大小成正比。轮盘赌选择方法具有随机性,在选择的过程中可能会丢掉较好的个体,所以可以使用精英机制,将前代最优个体直接选择。实现遗传算法的基本步骤交配生物遗传基因的重组是自然界生物进化过程中的核心。在遗传算法中与之相对应的是遗传操作中的交配算子。所谓交配是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。通过交配,遗传算法的搜索能力得以飞跃提高。交配算子根据交配率将种群中的两个个体随机地交换某些基因,能够产生新的基因组合,期望将有益基因组合在一起。最常用的交配算子为单点交配。具体操作是:在个体串中随机设定一个交配点,实行交配时,该点前或后的两个个体的部分结构进行互换,并生成两个新个体。下面给出了单点交配的一个例子:个体A:1001↑111→1001000新个体个体B:0011↑000→0011111新个体实现遗传算法的基本步骤突变突变算子是用来模拟生物基因突变的操作。一般来说,突变算子操作的基本步骤如下:a)对群中所有个体以事先设定的变异概率判断是否进行变异b)对进行变异的个体随机选择变异位进行变异。遗传算法引入突变的目的有两个:一是使遗传算法具有局部的随机搜索能力。当遗传算法通过交配算子已接近最优解邻域时,利用突变算子的这种局部随机搜索能力可以加速向最优解收敛。显然,此种情况下的变异概率应取较小值,否则接近最优解的积木块会因变异而遭到破坏。二是使遗传算法可维持群体多样性,以防止出现未成熟收敛现象。此时收敛概率应取较大值。实现遗传算法的基本步骤遗传算法流程遗传算法的应用函数优化函数优化是遗传算法的经典应用领域,也是遗传算法进行性能评价的常用算例。对于一些非线性、多模型、多目标的函数优化问题,用其它优化方法较难求解,而遗传算法可以方便的得到较好的结果。组合优化主要用于解决组合优化中的NP完全问题。自动控制如模糊控制器优化设计、参数辨识等。遗传算法的应用函数优化例子:遗传算法的应用编码遗传算法的应用以上编码前18位表示𝒙𝟏,后15位表示𝒙𝟐,如下表所示:遗传算法的应用遗传算法的应用评价个体适应度遗传算法的应用遗传算法的应用遗传算法的应用种群每条染色体的适应度、被复制概率和累积概率遗传算法的应用遗传操作:选择遗传算法的应用遗传操作:交配遗传算法的应用遗传算法的应用遗传操作:突变遗传算法的应用遗传算法的应用遗传算法的应用至此,已经完成了遗传算法的第一代操作。重复以上操作,直到最优个体的适应度达到给定的阈值,或者最优个体的适应度和群体适应度不再上升时,或者迭代次数达到预设的代数时,算法终止。在本例中,到第451代得到对应最优解的染色体:其适应度为38.818208。谢谢!