当前位置:
文档之家› 进化算法及其在数值计算中的应用
进化算法及其在数值计算中的应用
进化算法及其在数值计算中的应用
遗传操作是遗传算法的核心,它直接影响和决定遗传算 法的优化能力,是生物进化机理在遗传算法中的最主要体现 ,遗传算法的遗传操作包括选择、变异和交叉。 选择(selection):选择操作与生物的自然选择机制相 类似,体现了“适者生存,优胜劣汰”的生物进化机理。根 据 适应度的大小来判断个体的优良,性状优良的个体有更大的 机会被选择,产生后代。 比例选择:个体被选中的概率与其适应度大小成正比。 fi 假设群体规模为M,个体i的适应度为 ,则个体i被选中的 fi pi M , (i 1, 2, , M ) 概率为 fi
进化算法及其在数值计算中的应用
进化算法采用编码的形式来表示复杂结构,并将每个编码 称为一个个体(individual),算法维持一定数目的编码集合, 称为种群或群体(population)。通过对群体中个体进行相应 的操作,最终获得一些具有较高性能指标的个体。 进化算法的研究始于20世纪60年代,Holland针对机器学 习问题发展了遗传算法(Genetic Algorithm,GA),Fogel对 于优化模型系统提出了进化规划(Evolutionary Programming, EP),Rechenberg和Schwefel对于数值优化问题提出了进化 策略(Evolutionary Strategy,ES)。
式中, f X 称为目标函数,hi X, g j X 称为约束函数。 极大极小形式的转换:
max f X或minf X
max f X min f X; g j X 0 g j X 0
进化算法及其在数值计算中的应用
数学规划:在一些等式或不等式约束条件下,求一个目标函 数的极大(或极小)的优化模型称为数学规划。根据有、无 约束条件可以分为约束数学规划和无约束数学规划;根据目 标函数 f X 和约束函数 hi X, g j X 是否为线性函数,分为 线性规划和非线性规划;根据问题中是否只有一个目标函数, 分为单目标规划和多目标规划。 很多非常重要的问题是线性的(或者用线性函数能够很好地 近似表示),因此线性规划的研究具有重要意义。与非线性 规划相比,线性规划的研究更加成熟。非线性规划问题相当 复杂,求解方法多种多样,目前为止仍没有一种有效的适合 所有问题的方法。
进化算法及其在数值计算中的应用
遗传算法等进化算法提供了一种求解这种优化问题的通 用框架。遗传算法通过对群体所施加的迭代进化过程,不断 地将当前群体中具有较高适应度的个体遗传到下一代群体中 ,并且不断地淘汰掉适应度较低的个体,从而最终得到适应 度最大的个体。这个适应度最大的个体经过解码处理后对应 的个体表现型就是这个实际应用问题的最优解或近似最优解。 自然界中的生物对其生存环境具有优良的自适应性,各 种物种在一种竞争的环境中生存,优胜劣汰,使得物种不断 改进。几十年来,人们从不同的角度出发对生物系统及其行 为特及其在数值计算中的应用
对于很多实际问题进行数学建模后,都可以抽象为一个 数值函数的优化问题。由于问题的种类繁多,影响因素复杂 ,数学函数呈现出不同的数学特征(连续、离散,凸函数、 非凸函数,单峰值、多峰值,多种不同数学特征的组合)。 除了在函数是连续、可导、低阶的简单情况下可通过解析方 法求出最优解外,大部分情况下需要通过数值计算的方法来 进行近似优化计算。至今没有一种既能处理各种不同的复杂 函数,又具有良好求解结果的数值计算方法。
进化算法及其在数值计算中的应用
(6)评价群体 P t 的适应度; Pt Pt Pt 1 Re production (7)个体选择、复制操作: (8)终止条件判断:如果不满足终止条件,则 t t 1 , 转到(4)继续进行进化操作过程;如果满足终止条件,则 输出当前最优个体,算法结束。 进化计算的三个主要分支虽然基于自然界中生物进化的 不同背景,但是具有很多相似之处,可以统一于上面的基本 框架之内。
进化算法及其在数值计算中的应用
(3)搜索算法:寻求一种搜索算法,在可行解集合的子集 内进行搜索操作,以找到问题的最优解或近似最优解。该方 法虽然保证不了一定能够得到问题的最优解,但如果适当地 利用一些启发知识,就可在近似解的质量和求解效率上达到 一种较好的平衡。 当问题的规模比较大,优化计算的搜索空间急剧扩大, 要严格地求出其最优解是不可能的,所以需要研究出一种能 够在可接受的时间和精度范围内求出数值函数近似最优解的 方法或通用算法。
进化算法及其在数值计算中的应用
在数学规划中,把满足所有约束条件的点 S 称为可行点 (或可行解),所有可行点组成的点集称为可行域,记为
S X | hi X 0, i 1,, l; g j X 0, j 1,, m
于是数学规划即为求 X S ,并且使得 f X 在 S 上达到 f X 最大(或最小),把 X 称为最优点(最优解),称 为最优值。
进化算法及其在数值计算中的应用
进化计算(Evolutionary Computation,EC)受生物进 化论和遗传学等理论的启发,是一类模拟生物进化过程与机制 ,自组织、自适应的对问题进行求解的人工智能技术。进化计 算的具体实现方法与形式称为进化算法(Evolutionary Algorithm,EA)。 进化算法是一种具有“生成+检测”(generate-and-test) 迭 代过程的搜索算法,算法体现群体搜索和群体中个体之间信息 交换两大策略,为每个个体提供了优化的机会,使得整个群体 在优胜劣汰(survival of the fittest)的选择机制下保证进化的 趋势。
进化算法及其在数值计算中的应用
编码:
在遗传算法的运行过程中,它不对所求解问题的实际决 策变量直接进行操作,而是对表示可行解的个体编码施加遗 传运算,通过遗传操作来达到优化的目的。在遗传算法中如 何描述问题的可行解,即把一个问题的可行解从其解空间转 换到遗传算法所能处理的搜索空间的转换方法就称为编码。 编码是应用遗传算法时首先要解决的问题,也是设计遗 传算法的一个关键步骤。编码方法在很大程度上决定了如何 进行群体的遗传进化运算,以及遗传进化运算的效率。目前 的编码方法可以分为三大类:二进制编码、浮点数编码和符 号编码。
进化算法及其在数值计算中的应用
最优化问题:在满足一定的约束条件下,寻找一组参数值, 使某些最优性度量得到满足,即使系统的某些性能指标达到 最大或最小。最优化问题的应用涉及工业技术、社会、经济、 管理等各个领域,具有重要意义。 最优化问题的一般形式为:
s.t. hi X 0, i 1,2,, l; g j X 0, j 1,2,, m
进化算法及其在数值计算中的应用
由于进化算法具备上述特点,使得它能够用于解决复杂 系统的优化问题,特别是能够解决一些利用其他方法难以解 决或根本无法解决的问题。并且说明了进化算法是一类全局 优化自适应概率搜索技术,不依赖于具体问题的种类,具有 广泛的应用价值。
进化算法及其在数值计算中的应用
遗传算法是一种宏观意义下的仿生算法,它模仿的机制 是一切生命与智能的产生与进化过程。遗传算法通过模拟达 尔文“优胜劣汰、适者生存”的原理,激励好的结构;通过 模 拟孟德尔遗传变异理论,在迭代过程中保持已有的结构,同 时寻找更好的结构。 适应度:遗传算法中使用适应度这个概念来度量群体中 的每个个体在优化计算中可能达到或接近最优解的程度。适 应度较高的个体遗传到下一代的概率较大,而适应度较低的 个体遗传到下一代的概率相对较小。度量个体适应度的函数 称为适应度函数(Fitness Function)。
进化算法及其在数值计算中的应用
基于对生物进化机制的模仿,发展了三种典型的优化计 算模型,分别是遗传算法(Genetic Alogrithms,GA)、进 化策略(Evolution Strategy,ES)和进化规划 (Evolutionary Programming,EP)。这些方法各自有不同 的侧重点,各自有不同的生物进化背景,各自强调了生物进 化过程中的不同特性,但是都是一种稳定性较好的计算机算 法,适用范围广。近年来这几种方法相互借鉴和交流,使得 区别逐渐缩小,统称为进化计算(Evolutionary Computation,EC)或进化算法(Evolutionary Alogrithms,EA)。
进化算法及其在数值计算中的应用
总的来说,求最优解或近似最优解的方法主要有三类: 枚举法、启发式算法和搜索算法。 (1)枚举法:枚举出可行解集合内的所有可行解,以求出 精确最优解。但是对于连续函数,需要先进行离散化处理, 这样就有可能产生离散误差而永远达不到最优解。另外,当 枚举空间比较大时,该方法效率低下,甚至在目前最先进的 计算工具上都无法求解。 (2)启发式算法:寻求一种能产生可行解的启发式规则, 以找到一个最优解或近似最优解。虽然效率较高,但是对于 每一个需要求解的问题都必须找出其特有的启发式规则,因 此无通用性,不适合于其他的问题求解。
进化算法及其在数值计算中的应用
进化计算的基本框架
进化计算提供了一种求解复杂系统优化问题的通用框 架,性能比较稳定,下面给出进化计算的统一算法描述。 算法Evolutionary Algorithms (1)进化代数计数器初始化:t 0 ; (2)随机产生初始群体 Pt ; (3)评价群体 Pt 的适应度; nPt ; (4)个体重组操作:Pt Re combinatio (5)个体变异操作:Pt Mutation Pt ;
进化算法及其在数值计算中的应用
(5)算法所模拟的生物进化过程都是一个反复迭代的过程。 在群体的迭代进化过程中,个体的适应度和群体中所有个体 的平均适应度都不断地得到改进,最终可得到一个或几个具 有较高适应度的个体,它们就对应于问题的最优解或近似最 优解; (6)算法所模拟的进化过程均受随机因素的影响,所以不 易陷入局部最优点,并都能以较大的概率找到全局最优点; (7)算法具有一种天然的并行结构,均适合于在并行机或 局域网环境中进行大规模复杂问题的的求解。