◇ 当前位置:中华论文网 → 论文中心 → 教育教学 → 基础教育 → 论文内容
遗传算法在数学中的应用
佚名
【减小字体】 【增大字体】
摘 要:简单介绍了标准遗传算法的基本原理及要素,并对比了传统方法与遗传算法。应用MATLAB遗传算法工具箱进行函数极值的求解。关键词:遗传算法 MATLAB 函数极值一、遗传算法简介遗传算法是模仿生物遗传学和自然选择机理,通过人工方式构造的一类优化搜索算法,是对生物进化过程进行的一种数学仿真,是进化计算的一种最重要的形式。遗传算法与传统数学模型截然不同,它为那些难以找到传统数学模型的难题找到了一个解决方法。同时,进化计算的遗传算法借鉴了生物科学中的某些知识,从而体现了人工智能这一交叉学科的特点。自从霍兰德(Holland)于1975年在他的著作《Adaption im Natural and artificial Systems》中首次提出遗传算法以来,经过了近30年的研究,现在已经发展到了一个比较成熟的阶段,并且在实际中得到了很好的应用。 遗传算法主要步骤:(1)编码:由于GA不能直接处理解空间的数据,必须通过编码将它们表示成遗传空间的基因型串结构数据。(2)选择初始种群 :随机产生N个初始串结构数据,每个串结构数据称为一个个体,也称为染色体(chromosome)N个个体体构成了一个种群。(3)选择适应度函数:遗传算法在搜索过程中一般不需要其他外部信息或知识,仅用适应度函数来评价个体的适应度。(4)选择:利用选择概率再随机的选择个体和复制数量。选择算子的设计可依据达尔文适者生存的进化论原则,选择概率大的被选中的机会较多。(5)杂交:对被选中的个体进行随机配对并随机的选择基因交换位,交换基因后产生新的个体,全体新个体构成新的(下一代)种群。(6)变异:变异操作是按位进行求反,对二二进制编码的个体而言,就是对随机选中的某位进行求反运算,即“0”变“1”,“1”变大“0”。(7)一代种群 通过遗传,即选择、杂交和变异产生下一代种群 。新种群又可重复上述的选择、杂交和变异的遗传过程。Holland遗传算法通常也称为标准遗传算法或者简单遗传算法(a simple genrtic algorithm,SGA),算法SGA包括如下五个基本要素:(1)解空间的编码与解码。遗传算法对问题的求解,不是直接在解空间上搜索,而是在个体空间上进行搜索。编码方式的选择,将对算法的性能产生很大的影响。(2)初始种群的设定。遗传算法的搜索过程是初始种演化过程。(3)适应度函数的设计。适应度函数是对个体进化质量的一种评价度量,它通常仅依赖于解的行为及其与种群的关系,一般以目标函数或费用函数的形式来表示。个体的适应度是演化过程中进行选择的依据。(4)遗传进程设计。遗传过程的基本操作是选择、杂交和变异。选择策略的确定是依据优胜劣汰的选择机制,使适应度较大的个体有较高的存活率,较大的选择压力使优良的个体具有较高的复制数目,从而使算法收敛速度较快,但容易出现过早收敛的现象。(5)控制参数设定。控制参数主要包括种群的规模、不同遗传操作的概率、算法执行的最大代数以及其他一些辅助性的控制参数。由于遗传算法没有利用目标函数的梯度等信息,从而无法用传统方法判断算法的收敛与否来终止算法。常用的方法是通过控制参数来实现算法和终止。二、遗传算法函数简介function [x,endPop,bPop,traceInfo]=ga(bounds, eevalFN,eevalOps,startPop,opts,termFN,termOps,selectFN, selectOps,xOverFNs,xOverOps,mutFNs,mutOps)输出参数:X 求得的最优解endPop