进化算法及其在数值计算中的应用.ppt
《进化算法及其在数值计算中的应用.ppt》由会员分享,可在线阅读,更多相关《进化算法及其在数值计算中的应用.ppt(34页珍藏版)》请在三一办公上搜索。
1、进化算法及其在数值计算中的应用,最优化问题:在满足一定的约束条件下,寻找一组参数值,使某些最优性度量得到满足,即使系统的某些性能指标达到最大或最小。最优化问题的应用涉及工业技术、社会、经济、管理等各个领域,具有重要意义。最优化问题的一般形式为:式中,称为目标函数,称为约束函数。极大极小的转换:,数学规划:在一些等式或不等式约束条件下,求一个目标函数的极大(或极小)的优化模型称为数学规划。根据有、无约束条件可以分为约束数学规划和无约束数学规划;根据目标函数 和约束函数 是否为线性函数,分为线性规划和非线性规划;根据问题中是否只有一个目标函数,分为单目标规划和多目标规划。很多非常重要的问题是线性的
2、(或者用线性函数能够很好地近似表示),因此线性规划的研究具有重要意义。与非线性规划相比,线性规划的研究更加成熟。,进化算法及其在数值计算中的应用,在数学规划中,把满足所有约束条件的点 称为可行点(或可行解),所有可行点组成的点集称为可行域,记为 于是数学规划即为求,并且使得 在 上达到最大(或最小),把 称为最优点(最优解),称为最优值。,进化算法及其在数值计算中的应用,进化计算(Evolutionary Computation,EC)受生物进化论和遗传学等理论的启发,是一类模拟生物进化过程与机制,自组织、自适应的对问题进行求解的人工智能技术。进化计算的具体实现方法与形式称为进化算法(Evol
3、utionary Algorithm,EA)。进化算法是一种具有“生成+检测”(generate-and-test)迭代过程的搜索算法,算法体现群体搜索和群体中个体之间信息交换两大策略,为每个个体提供了优化的机会,使得整个群体在优胜劣汰(survival of the fittest)的选择机制下保证进化的趋势。,进化算法及其在数值计算中的应用,进化算法采用编码的形式来表示复杂结构,并将每个编码称为一个个体(individual),算法维持一定数目的编码集合,称为种群或群体(population)。通过对群体中个体进行相应的操作,最终获得一些具有较高性能指标的个体。进化算法的研究始于20世纪6
4、0年代,Holland针对机器学习问题发展了遗传算法(genetic algorithm,GA),Fogel对于优化模型系统提出了进化规划(evolutionary programming,EP)Rechenberg和Schwefel对于数值优化问题提出了进化策略(evolutionary strategy,ES)。,进化算法及其在数值计算中的应用,遗传算法是一种宏观意义下的仿生算法,它模仿的机制是一切生命与智能的产生与进化过程。遗传算法通过模拟达尔文“优胜劣汰、适者生存”的原理,激励好的结构;通过模拟孟德尔遗传变异理论,在迭代过程中保持已有的结构,同时寻找更好的结构。适应度:遗传算法中使用适
5、应度这个概念来度量群体中的每个个体在优化计算中可能达到或接近最优解的程度。适应度较高的个体遗传到下一代的概率较大,而适应度较低的个体遗传到下一代的概率相对较小。度量个体适应度的函数称为适应度函数(Fitness Function)。,进化算法及其在数值计算中的应用,遗传操作是遗传算法的核心,它直接影响和决定遗传算法的优化能力,是生物进化机理在遗传算法中的最主要体现,遗传算法的遗传操作包括选择、变异和交叉。选择(selection):选择操作与生物的自然选择机制相类似,体现了“适者生存,优胜劣汰”的生物进化机理。根据适应度的大小来判断个体的优良,性状优良的个体有更大的机会被选择,产生后代。比例选
6、择:个体被选中的概率与其适应度大小成正比。假设群体规模为M,个体i的适应度为,则个体i被选中的概率为,进化算法及其在数值计算中的应用,交叉(crossover):交叉操作是指对两个相互配对的染色体按某种方式相互交换其部分基因,从而形成两个新的个体。交叉运算是遗传算法区别于其它进化算法的重要特征,它在遗传算法中起着关键作用,是产生新个体的主要方法,决定了遗传算法的全局搜索能力。,进化算法及其在数值计算中的应用,单点交叉:,算术交叉:,变异(mutation):变异运算是指将个体染色体编码串中的某些基因座上的基因值用该基因座上的其它等位基因来替换从而形成一个新的个体。变异运算只是产生新个体的辅助方
7、法,但也是一个必不可少的运算步骤,它决定了遗传算法的局部搜索能力。通过变异操作可以维持群体多样性,防止出现早熟现象,改善遗传算法的局部搜索能力。基本位变异:对个体编码串中以变异概率随机指定的某一位或某几位基因座上的基因值做变异运算。二进制中,把基因值取反,即0变1,1变0。浮点数编码中对选定的第i个个体进行逆转操作,如果浮点数变化范围是,则,进化算法及其在数值计算中的应用,遗传算法是一个迭代过程,它模拟生物在自然环境中的遗传和进化机理,反复将选择算子、交叉算子、变异算子作用于群体,最终可得到问题的最优解或近似最优解。遗传算法提供了一种求解复杂系统优化问题的通用框架,它不依赖于问题的领域和种类。
8、对于一个需要进行优化计算的实际应用问题,可按下述步骤构造求解该问题的遗传算法:第一步:确定决策变量及其各种约束条件,即确定出个体的表现型和问题的解空间;第二步:建立优化模型,即确定出目标函数的类型(求解目标函数的最大值还是最小值)及其数学描述形式或量化方法,进化算法及其在数值计算中的应用,第三步:确定表示可行解的染色体编码方法,即确定出个体的基因型及遗传算法的搜索空间;第四步:确定解码方法,即确定出由个体基因型到个体表现型的对应关系或转换方法;第五步:确定个体适应度的量化评价方法,即确定出由目标函数值 到个体适应度值 的转换规则;第六步:设计遗传算法,即确定出选择、交叉、变异等遗传算子的具体操
9、作方法;第七步:确定遗传算法的有关运行参数,包括个体数、进化代数、变异概率、交叉概率等。,进化算法及其在数值计算中的应用,进化算法及其在数值计算中的应用,具体的运算步骤:第一步:初始化,设置进化代数记数器,设置最大进化代数T,随机生成M个个体作为初始群体;第二步:个体评价,计算群体 中每个个体的适应度第三步:选择运算;第四步:交叉运算;第五步:变异运算,群体 经过选择、交叉、变异运算得到下一代群体;第六步:终止条件判断,若,则,转到第二步;若,则以进化过程中所得到的具有最大适应度的个体作为最优解输出,终止计算。,进化算法及其在数值计算中的应用,进化算法及其在数值计算中的应用,群体智能算法(Sw
10、arm Intelligence Algorithm)的研究开始于20世纪90年代,其基本思想是模拟自然界生物的群体行为来构造随机优化算法。典型的有蚁群算法、粒子群算法、人工鱼群算法等。粒子群优化(Particle Swarm Optimization,PSO)算法由美国社会心理学家James Kennedy和电气工程师Eberhart共同提出。基本思想是受到鸟群和鱼群群体觅食行为研究结果的启发,与基于达尔文“适者生存,优胜劣汰”进化思想不同,粒子群优化算法是通过个体间的协作来寻找最优解的。作为一种新的并行优化进化算法,粒子群优化算法具有很强的通用性,可用于解决大量非线性、不可微和多峰值的复杂
11、问题优化,并已广泛应用于科学和工程领域。,进化算法及其在数值计算中的应用,自然界中各种生物体均具有一定的群体行为,人工生命的主要研究领域之一就是探索自然界生物的群体行为,从而在计算机上构建其群体模型。通常,群体行为可以由几条简单的规则进行建模,但群体表现出的行为却非常复杂。在对鸟群行为进行仿真时,可以采用下面三条简单规则:(1)飞离最近的个体,避免碰撞。(2)飞向目标。(3)飞向群体的中心。群体内的每一个体的行为可采用上述规则描述,这是粒子群算法的基本概念之一。,进化算法及其在数值计算中的应用,在研究人类的决策过程中,人们提出了个体学习和文化传递的概念。一个人在决策过程中,会使用两类重要的信息
12、:一是自身的经验,二是其他人的经验。也就是说,人们根据自身的经验和他人的经验进行自己的决策。这是粒子群算法的另一基本概念。粒子群(PSO)算法与其它进化类算法相类似,也采用“群体”与“进化”的概念,同样也是依据个体(粒子)的适应度大小进行操作。粒子群算法将每个个体看作是在N维搜索空间中的一个没有重量和体积的粒子,并在搜索空间中以一定的速度飞行。飞行速度由个体的飞行经验和群体的飞行经验进行动态调整。,进化算法及其在数值计算中的应用,假设 为粒子 的当前位置,为粒子 的当前飞行速度,为粒子 所飞过的最好位置,也就是粒子 所经历过的具有最好适应度的位置,称为个体最好位置。对于最小化问题,目标函数值越
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 进化 算法 及其 数值 计算 中的 应用
链接地址:https://www.31ppt.com/p-5789153.html