遗传算法应用论文
遗传算法的研究与进展

遗传算法的研究与进展一、综述随着科学技术的不断发展和计算能力的持续提高,遗传算法作为一种高效的优化方法,在许多领域中得到了广泛的应用。
本文将对遗传算法的研究进展进行综述,包括基本原理、改进策略、应用领域及最新研究成果等方面的内容。
自1975年Brendo和Wolfe首次提出遗传算法以来,该算法已经发展成为一种广泛应用于求解最优化问题的通用方法。
遗传算法主要基于自然选择的生物进化机制,通过模拟生物基因的自然选择、交叉和变异过程来寻找最优解。
在过去的几十年里,众多研究者和开发者针对遗传算法的性能瓶颈和改进方向进行了深入探讨,提出了许多重要的改进策略。
本文将对这些策略进行综述,并介绍相关的理论依据、实现方法以及在具体问题中的应用。
遗传算法的核心思想是基于种群搜索策略,在一组可行解(称为种群)中通过选择、交叉和变异等遗传操作产生新的候选解,进而根据适应度函数在种群中选择优良的候选解,重复上述过程,最终收敛于最优解。
遗传算法的关键要素包括:染色体表示、适应度函数设计、遗传操作方法等。
为进一步提高遗传算法的性能,研究者们提出了一系列改进策略。
这些策略可以从以下几个方面对遗传算法进行改进:多目标优化策略:针对单点遗传算法在求解多目标优化问题时容易出现陷入局部最优解的问题,可以通过引入多目标遗传算法来求解多目标问题。
精英保留策略:为了避免遗传算法在进化过程中可能出现未成熟个体过早死亡的现象,可以采用精英保留策略来保持种群的优良特性。
基于随机邻域搜索策略:这种策略通过对当前解的随机邻域进行搜索,可以在一定程度上避免陷入局部最优解,并提高算法的全局收敛性。
遗传算法作为一种常用的优化方法,在许多领域都有广泛应用,如组合优化、约束满足问题、机器学习参数优化、路径规划等。
随着技术的发展,遗传算法在深度学习、强化学习和智能交通系统等领域取得了显著成果。
研究者们在遗传算法的设计和应用方面取得了一系列创新成果。
基于神经网络的遗传算法被用于解决非线性优化问题;基于模型的遗传算法通过建立优化问题模型来提高算法的精度和效率;一些研究还关注了遗传算法的鲁棒性和稳定性问题,提出了相应的改进措施。
遗传算法理论及其应用发展

遗传算法理论及其应用发展摘要:首先介绍了遗传算法的基本工作原理和主要特点; 然后讨论了近年来从遗传算子、控制参数等方面对遗传算法的发展,并对遗传算法在国内外的研究进展和新的应用领域进行了讨论; 最后评述了遗传算法未来的研究方向和主要研究内容。
关键词:遗传算法; 遗传算子; 控制参数; 组合优化遗传算法[1] (Genetic Algorithms,简称GA )是由美国Michigan 大学的Holland教授于1975年首先提出的。
它源于达尔文的进化论、孟德尔的群体遗传学说和魏茨曼的物种选择学说; 其基本思想是模拟自然界遗传机制和生物进化论而形成的一种过程搜索最优解的算法。
从公开发表的论文看, 我国首先开始研究应用遗传算法的有赵改善和华中理工大学的师汉民等人。
遗传算法最早应用于一维地震波形反演中, 其特点是处理的对象是参数的编码集而不是问题参数本身, 搜索过程既不受优化函数联系性的约束, 也不要求优化函数可导, 具有较好的全局搜索能力; 算法的基本思想简单, 运行方式和实现步骤规范, 具有全局并行搜索、简单通用、鲁棒性强等优点, 但其局部搜索能力差, 容易出现早熟现象。
自1985年起, 国际遗传算法会议每两年召开一次, 在欧洲, 从1990年开始每隔一年也举办一次类似的会议。
1993年, 国际上第一本以遗传算法和进化计算为核心内容的学术期刊5 Evolutionary Com putation6 (进化计算) 在MIT 创刊; 1994年, 在美国奥兰多召开的IEEE World Congress on Computation Intelligence ( IEEE全球计算智能大会)上, 进化计算与模糊逻辑、神经网络一起统称为计算智能; 1997年, 5 IEEE Transaction son Evolutionary Computation6创刊。
这些刊物及时全面地报道了近年来遗传算法的最新研究成果。
遗传算法应用论文

遗传算法应用论文
摘要
这篇文章通过研究遗传算法(GA)在计算机视觉应用中的应用,探讨GA的特点及优势。
首先,介绍了遗传算法以及它的工作原理,然后介绍了应用于计算机视觉的GA的特点,其中包括使用卷积神经网络(CNN)、使用变种遗传算法(VGA)和使用深度学习(DL)的特点。
接下来分析了GA在图像分类任务、图像处理任务和图像识别任务中的应用,以及GA应用时需要考虑的问题。
最后,本文还提出了将GA与其他计算机视觉技术结合使用的一些建议。
关键词:遗传算法;卷积神经网络;变种遗传算法;深度学习;图像分类;图像处理;图像识别
Introduction
Main Body
Based on GA, the features of the input parameters are learned and utilized, and the coordinates of the local optimal solution are accurately found, which makes GA more sensitive to the optimization of external parameters. GA has the advantages of simple structure, fast convergence speed and easy to implement.
2. Image Classification
3. Image Processing
4. Image Recognition。
数学建模优秀论文--基于遗传算法的机组组合问题的建模与求解

数学建模优秀论文--基于遗传算法的机组组合问题的建模与求解摘要本文针对当前科技水平不足以有效存储电力的情况下产生的发电机机组组合的问题,考虑负荷平衡、输电线传输容量限制等实际情况产生的约束条件,建立机组组合优化模型,追求发电成本最小。
同时采用矩阵实数编码遗传算法(MRCGA)和穷举搜索算法,利用MATLAB 7.0.1和C++编程,分别对模型进行求解,并对所得结果进行分析比较,以此来帮助电力部门制定机组启停计划。
首先,建立发电成本最小目标函数和各项约束条件的数学表达式。
其中机组空载成本和增量成本之和随该机组发电出力增长呈折线关系,在分析计算时为了简便,本文采用一条平滑的二次曲线来近似代替。
对于问题1,选取相应的约束条件对目标函数进行约束,从而给出优化模型Ⅰ。
由于问题1的求解规模很小,所以采用穷举搜索算法,利用C++编程求解,得到了3母线系统4小时的最优机组组合计划(见表一)。
对于问题2,在优化模型Ⅰ的基础上,增加最小稳定运行出力约束、机组启动和停运时的出力约束以及机组最小运行时间和最小停运时间约束这三个约束条件,建立了优化模型II。
同时采用遗传算法和穷举搜索算法,利用MATLAB和C++编程,分别对模型进行求解,部分结果如下:发电总成本(单位:元)矩阵实数编码遗传算法6780穷举搜索算法6820在对所得结果进行了分析比较,重新制定了3母线系统4小时最优机组组合计划(见表三)。
对于问题3,用IEEE118系统对优化模型II进行测试。
由于求解规模巨大,同样采用遗传算法和穷举搜索算法,利用MATLAB和C++编程,分别对模型进行求解,部分结果如下:发电总成本(单位:百万)矩阵实数编码遗传算法 2.034穷举搜索算法 2.135在对所得结果进行比较时发现对于大规模问题,遗传算法优势明显,将其求解结果作为24小时的最优机组组合计划(见附录)。
最后,我们就模型存在的不足之处提出了改进方案,并对优缺点进行了分析。
本科毕业论文-基于遗传算法的测试用例生成方法【精品毕业设计】(完整版)

摘要软件测试是保证软件质量和可靠性重要手段,在这方面发挥着其它方法不可替代的作用。
然而,软件测试是一个复杂的过程,需要耗费巨大的人力、物力和时间,约占整个软件开发成本的40%~50%。
因此,提高软件测试工具的自动化程度对于确保软件开发质量、降低软件开发成本非常重要。
而提高测试用例生成的自动化程度又是提高测试工具乃至整个测试过程自动化程度的关键所在,本文主要针对这一问题进行了研究和设计。
本文在分析软件测试和遗传算法基本概念的基础上,提出软件测试用例的设计是软件测试的难点之一。
论文提出了基于遗传算法的测试用例生成的内含是应用遗传算法来求解一组优化的测试用例,其框架包括了测试环境构造、遗传算法及测试运行环境三部分,论文给出了基于遗传算法的测试用例生成的模型。
最后以三角形分类程序为例应用遗传算法进行测试用例生成的模拟,结果显示,应用遗传算法进行测试用例生成可行。
关键词:软件测试测试用例遗传算法ABSTRACTSoftware test is the important means that guarantee software quality and reliability,and in this respect,it plays the role that other method cannot replace. However software test is a complex process , it needs to consume huge manpower,material resources and time,which takes the 40%~50% of entire software development cost approximately . Therefore,raising the automation level of software test tool is very important for ensure software development quality and reduction software development cost . And then,the most important is raising the automation level of the test case generation for raising the automation level of test tool and even entire test process,so this paper study and design mainly according to this problem.Based on the analysis of basic concepts of software testing and genetic algorithm, this article proposes that software test case design is one of the difficulties of software testing. Paper presents the inherent in software test case designing based on genetic algorithm is using genetic algorithm to solve a set of optimization test cases, and the framework includes three parts which are test environment construction, genetic algorithm and the environment for test . Paper presents the model of software test case generation based on genetic algorithm. Finally, we take the triangle categorizer as an example, simulate software test case generation based on genetic algorithm. The results display that software test case generation basing on genetic algorithm is possible.KEY WORDS: software test , test case , genetic algorithm目录摘要 (1)ABSTRACT (2)目录 (3)第一章绪论 (5)1.1 问题的提出 (5)1.2 国内外研究现状 (6)1.3 论文研究内容 (8)第二章软件测试及遗传算法基本概念 (9)2.1 软件测试基本概念 (9)2.1.1 软件测试的目的 (9)2.1.2 软件测试的原则 (9)2.2 软件测试的难点 (10)2.3 遗传算法 (11)2.3.1 遗传算法的思想及流程 (11)2.3.2 遗传算法的特点 (13)2.4本章小结 (14)第三章基于遗传算法的测试用例生成 (15)3.1基于遗传算法的测试用例生成基本内涵 (15)3.1.1 软件测试用例的基本内涵 (15)3.1.2 基于遗传算法的测试用例生成的基本内涵 (16)3.2 基于遗传算法的测试用例生成框架 (16)3.3 基于遗传算法的测试用例生成算法实现 (18)3.3.1 编码策略 (18)3.3.2 适应度函数及程序插桩 (19)3.3.3 遗传策略 (20)3.3.4 参数控制 (21)3.4 本章小结 (22)第四章实验及结果分析 (23)4.1 待测程序分析 (23)4.1.1 待测程序引入 (23)4.1.2 程序流程分析 (23)4.1.3 路径分析 (24)4.2 程序插桩 (24)4.3 参数设定及程序实现 (25)4.3.1 参数设定 (25)4.3.2 部分程序实现 (26)4.4 结果分析 (28)4.5 本章小结 (30)第五章总结与展望 (31)致谢语 (32)参考文献 (33)第一章绪论1.1 问题的提出在信息化普及的今天,计算机在人们的生活和工作中占据着重要地位,使人们的工作效率提高,也使生活更丰富多彩。
毕业设计论文基于遗传算法的BP神经网络的优化问题研究.doc

编号:审定成绩:重庆邮电大学毕业设计(论文)设计(论文)题目:基于遗传算法的BP神经网络的优化问题研究学院名称:学生姓名:专业:班级:学号:指导教师:答辩组负责人:填表时间:2010年06月重庆邮电大学教务处制摘要本文的主要研究工作如下:1、介绍了遗传算法的起源、发展和应用,阐述了遗传算法的基本操作,基本原理和遗传算法的特点。
2、介绍了人工神经网络的发展,基本原理,BP神经网络的结构以及BP算法。
3、利用遗传算法全局搜索能力强的特点与人工神经网络模型学习能力强的特点,把遗传算法用于神经网络初始权重的优化,设计出混合GA-BP算法,可以在一定程度上克服神经网络模型训练中普遍存在的局部极小点问题。
4、对某型导弹测试设备故障诊断建立神经网络,用GA直接训练BP神经网络权值,然后与纯BP算法相比较。
再用改进的GA-BP算法进行神经网络训练和检验,运用Matlab软件进行仿真,结果表明,用改进的GA-BP算法优化神经网络无论从收敛速度、误差及精度都明显高于未进行优化的BP神经网络,将两者结合从而得到比现有学习算法更好的学习效果。
【关键词】神经网络BP算法遗传算法ABSTRACTThe main research work is as follows:1. Describing the origin of the genetic algorithm, development and application, explain the basic operations of genetic algorithm, the basic principles and characteristics of genetic algorithms.2. Describing the development of artificial neural network, the basic principle, BP neural network structure and BP.3. Using the genetic algorithm global search capability of the characteristics and learning ability of artificial neural network model with strong features, the genetic algorithm for neural network initial weights of the optimization, design hybrid GA-BP algorithm, to a certain extent, overcome nerves ubiquitous network model training local minimum problem.4. A missile test on the fault diagnosis of neural network, trained with the GA directly to BP neural network weights, and then compared with the pure BP algorithm. Then the improved GA-BP algorithm neural network training and testing, use of Matlab software simulation results show that the improved GA-BP algorithm to optimize neural network in terms of convergence rate, error and accuracy were significantly higher than optimized BP neural network, a combination of both to be better than existing learning algorithm learning.Key words:neural network back-propagation algorithms genetic algorithms目录第一章绪论 (1)1.1 遗传算法的起源 (1)1.2 遗传算法的发展和应用 (1)1.2.1 遗传算法的发展过程 (1)1.2.2 遗传算法的应用领域 (2)1.3 基于遗传算法的BP神经网络 (3)1.4 本章小结 (4)第二章遗传算法 (5)2.1 遗传算法基本操作 (5)2.1.1 选择(Selection) (5)2.1.2 交叉(Crossover) (6)2.1.3 变异(Mutation) (7)2.2 遗传算法基本思想 (8)2.3 遗传算法的特点 (9)2.3.1 常规的寻优算法 (9)2.3.2 遗传算法与常规寻优算法的比较 (10)2.4 本章小结 (11)第三章神经网络 (12)3.1 人工神经网络发展 (12)3.2 神经网络基本原理 (12)3.2.1 神经元模型 (12)3.2.2 神经网络结构及工作方式 (14)3.2.3 神经网络原理概要 (15)3.3 BP神经网络 (15)3.4 本章小结 (21)第四章遗传算法优化BP神经网络 (22)4.1 遗传算法优化神经网络概述 (22)4.1.1 用遗传算法优化神经网络结构 (22)4.1.2 用遗传算法优化神经网络连接权值 (22)4.2 GA-BP优化方案及算法实现 (23)4.3 GA-BP仿真实现 (24)4.3.1 用GA直接训练BP网络的权值算法 (25)4.3.2 纯BP算法 (26)4.3.3 GA训练BP网络的权值与纯BP算法的比较 (28)4.3.4 混合GA-BP算法 (28)4.4 本章小结 (31)结论 (32)致谢 (33)参考文献 (34)附录 (35)1 英文原文 (35)2 英文翻译 (42)3 源程序 (47)第一章绪论1.1 遗传算法的起源从生物学上看,生物个体是由细胞组成的,而细胞则主要由细胞膜、细胞质、和细胞核构成。
基于遗传算法的微分方程求解问题的研究

河北工业大学硕士学位论文基于遗传算法的微分方程求解问题的研究姓名:王晓翠申请学位级别:硕士专业:计算机应用技术指导教师:武优西20071101河北工业大学硕士学位论文基于遗传算法的微分方程求解问题的研究摘要遗传算法提供了一种求解非线性、多模型、多目标等复杂系统优化问题的通用框架,它不依赖于问题的具体领域,已经广泛应用于函数优化、组合优化、自动控制、机器学习等科技领域。
自然科学和工程技术中的许多问题被归结为微分方程这一数学形式,而微分方程通常难以解析求解。
本文提出了利用最小二乘原理将微分方程的求解问题转化为求函数最小值的最优化问题,然后利用遗传算法进行进化计算求解常微分和偏微分方程,仿真实验验证了该方法的可行性。
本论文首先分析了课题的研究背景及意义,总结了国内外的研究现状,指出了现阶段求解微分方程的几种方法,并在此基础上进一步确立了利用遗传算法来求解微分方程作为本论文的主要研究内容。
其次,阐述了遗传算法的基本实现机理,并对遗传算法的特点及应用进行了比较详细的叙述,同时简要介绍了MATLAB遗传算法工具箱。
再次,在详细论述了遗传算法理论的基础上,研究了遗传算法在求解微分方程中的应用。
分别介绍了常微分方程及偏微分方程求解问题转化为最优化问题的基本过程,针对常微分方程和偏微分方程分别提出了方程解析解的构造方法,利用遗传算法进行进化计算,并通过实例说明了遗传算法中各个参数的设置方法,最终求得方程的近似最优解。
最后通过具体实例分析了该方法的求解过程,对结果进行了相应的误差分析,验证了该方法的可行性。
最后对本课题的研究进行了总结和进一步展望。
关键词:遗传算法,最优化问题,常微分方程,偏微分方程,构造函数基于遗传算法微分方程求解问题的研究GENETIC ALGORITHM FOR SOLVING ORDINARY AND PARTIAL DIFFERENTIAL EQUATIONSABSTRACTGenetic algorithm brings up a common frame to solve complex system problems, such as non-linear, multi-model, multi-objective and so on. It does not depend on the specific areas of problems and has been applied to many technological areas like functional optimization, combination optimization, auto-control, machine learning. Many problems in natural science and engineering technology could be expressed in a form of differential equations, while it is often difficult to solve that. This article presented a method to transform the problem of solving differential equations to the problem of optimization according to least square principle and some examples were solved to prove it feasible.The paper firstly analyzes the background and meanings of the research work and summarizes the research present situations home and abroad. At the same time, several methods solving differential equations now have been pointed out. Based on above, to solve differential equations with genetic algorithm is established as the main research contents.Secondly, the basic of genetic algorithm is elaborated and its characteristics and applications is detailed, meanwhile it also introduces the tools of genetic algorithm in MATLAB.Thirdly, based on above, genetic algorithm applying to solve differential equations is researched. How to transform the solving problem to optimization problem and how to construct analytical solution is proposed. Also it gives a method to set some parameters through the process solving some examples and the feasibility of the method is illustrated by putting it into solving those examples.At last, the research work is summarized and expected.KEY WORDS: genetic algorithm, optimization problem, ordinary differential equation, partial differential equation, constructed function原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作所取得的成果。
遗传算法在给水管网优化设计中的应用论文

遗传算法在给水管网优化设计中的应用摘要:本文主要介绍了遗传算法的基本思想,及基本遗传算法的求解步骤。
通过对遗传算法的数学原理的分析,进一步认识了遗传算法的数学本质。
然后介绍了目前一些改进的遗传算法的发展状况。
最后结合遗传算法的特性,简要介绍了遗传算法在给水管网优化设计中的应用方法。
abstractin this paper the basic concept of the genetic algorithm (ga) and the procedure of the simple genetic algorithm (sga) were introduced。
through the analysis of the mathematical principle of ga, the mathematical essence of the ga was discovered。
then the developments of the modified ga were showed。
at last, the application of ga in the design of water and wastewater distribution networks was introduced briefly in combination with the characteristic of ga。
中图分类号:s611文献标识码:a 文章编号:至从改革开放以来,我国经济不断发展,城市化发展速度惊人,大中城市扩建,中小城市升级,建制镇增多。
城市化发展必然带来给水系统的变化和发展,而给排水系统设施的建设也是制约城市化发展的因素之一。
伴随着改革开放,我国城镇给排水事业有了长足的发展,为国家的高速经济发展和人民生活水平不断提高提供了重要的基础设施保障条件。
作为给水设施的重要组成部分,给水管网建设和运行管理科学技术的发展,已经成为我国城镇给排水科学技术进步的重要标志之一。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
论文题目:遗传应用算法院系:计算机工程系专业:网络工程班级学号:学生姓名:2014年10月23日摘要: 遗传算法是基于自然界生物进化基本法则而发展起来的一类新算法。
本文在简要介绍遗传算法的起源与发展、算法原理的基础上,对算法在优化、拟合与校正、结构分析与图谱解析、变量选择、与其他算法的联用等方面的应用进行了综述。
该算法由于无需体系的先验知识,是一种全局最优化方法,能有效地处理复杂的非线性问题,因此有着广阔的应用前景。
关键词: 遗传算法; 化学计量学; 优化THEORY AND APPL ICATION OF GENETIC AL GORITHM ABSTRACT: Genetic Algo rithm( GA) is a kind of recursive computationalprocedure based on the simulation of principle principles of evaluati on of living organisms in nature1Based on brief int roduction of the principle ,the beginning and development of the algorithms ,the pape r reviewed its applications in the fields of optimization ,fitting an d calibration,structure analysis and spectra interpretation variable selection ,and it s usage in combination with othersThe application o f GA needs no initiating knowledge of the system ,and therefore is a comprehensive optimization method with extensive application in terms of processing complex nonlinear problems。
KEY WORDS : Genetic Algorithm( GA) Chemometrics Optimization遗传算法是在模拟自然界生物遗传进化过程中形成的一种自适应优化的概率搜索算法,它于1962年被提出,直到1989年才最终形成基本框架。
遗传算法是一种借鉴生物界自然选择和自然遗传机制的随机化搜索算法, 由美国J. H. Ho llad教授提出, 其主要特点是群体搜索策略和群体中个体之间的信息交换。
该算法尤其适用于处理传统搜索方法难以解决的复杂和非线性问题, 可广泛用于组合优化、机器学习、自适应控制、规划设计和人工生命等领域。
顾名思义,遗传算法(Genetic Algorithm ,GA)是模拟自然界生物进化机制的一种算法 ,即遵循适者生存、优胜劣汰的法则 ,也就是寻优过程中有用的保留 ,无用的则去除。
在科学和生产实践中表现为 ,在所有可能的解决方法中找出最符合该问题所要求的条件的解决方法 ,即找出一个最优解。
这种算法是 1960 年由Holland提出来的 ,其最初的目的是研究自然系统的自适应行为 ,并设计具有自适应功能的软件系统。
它的特点是对参数进行编码运算,不需要有关体系的任何先验知识 ,沿多种路线进行平行搜索 ,不会落入局部较优的陷阱 ,能在许多局部较优中找到全局最优点 ,是一种全局最优化方法。
近年来 ,遗传算法已经在国际上许多领域得到了应用。
1985 年召开了第 1 届有关遗传算法的国际会议 ,第 1 部关于这方面的专著在 1989 年问世。
遗传算法是一种有广泛应用前景的算法但是它的研究和应用在国内尚处于起步阶段。
遗传算法是一种基于生物的自然选择和群体遗传机理的搜索算法。
它模拟了自然选择和自然遗传过程中发生的繁殖、交配和突变现象。
它将每个可能的解看做是群体(所有可能解)中的一个个体,并将每个个体编码成字符串的形式,根据预定的目标函数对每个个体进行评价,给出一个适应度值。
开始时总是随机地产生一些个体(即候选解),根据这些个体的适应度利用遗传算子对这些个体进行操作,得到一群新个体,这群新个体由于继承了上一代的一些优良性状,因而明显优于上一代,这样逐步朝着更优解的方向进化。
遗传算法在每一代同时搜索参数空间的不同区域,然后把注意力集中到解空间中期望值最高的部分,从而使找到全局最优解的可能性大大增加。
作为进化算法的一个重要组成部分,遗传算法不仅包含了进化算法的基本形式和全部优点,同时还具备若干独特的性能:(1)在求解问题时,遗传算法首先要选择编码方式,它直接处理的对象是参数的编码集而不是问题参数本身,搜索过程既不受优化函数连续性的约束,也没有函数导数必须存在的要求。
通过优良染色体基因的重组,遗传算法可以有效地处理传统上非常复杂的优化函数求解问题。
(2)若遗传算法在每一代对群体规模为n的个体进行操作,实际上处理了大约O (n3)个模式,具有很高的并行性,因而具有明显的搜索效率。
(3)在所求解问题为非连续、多峰以及有噪声的情况下,能够以很大的概率收敛到最优解或满意解,因而具有较好的全局最优解求解能力。
(4)对函数的性态无要求,针对某一问题的遗传算法经简单修改即可适应于其他问题,或者加入特定问题的领域知识,或者与已有算法相结合,能够较好地解决一类复杂问题,因而具有较好的普适性和易扩充性。
(5)遗传算法的基本思想简单,运行方式和实现步骤规范,便于具体使用。
1算法原理1.1基本遗传算法在自然界 ,由于组成生物群体中各个体之间的差异 ,对所处环境有不同的适应和生存能力 ,遵照自然界生物进化的基本原则 ,适者生存、优胜劣汰 ,将要淘汰那些最差个体 ,通过交配将父本优秀的染色体和基因遗传给子代 ,通过染色体核基因的重新组合产生生命力更强的新的个体与由它们组成的新群体。
在特定的条件下 ,基因会发生突变 ,产生新基因和生命力更强的新个体;但突变是非遗传的 ,随着个体不断更新 ,群体不断朝着最优方向进化 ,遗传算法是真实模拟自然界生物进化机制进行寻优的。
在此算法中 ,被研究的体系的响应曲面看作为一个群体 ,相应曲面上的每一个点作为群体中的一个个体 ,个体用多维向量或矩阵来描述 ,组成矩阵和向量的参数相应于生物种组成染色体的基因 ,染色体用固定长度的二进制串表述 ,通过交换、突变等遗传操作 ,在参数的一定范围内进行随机搜索 ,不断改善数据结构 ,构造出不同的向量 ,相当于得到了被研究的不同的解 ,目标函数值较优的点被保留 ,目标函数值较差的点被淘汰。
由于遗传操作可以越过位垒 ,能跳出局部较优点 ,到达全局最优点。
遗传算法是一种迭代算法 ,它在每一次迭代时都拥有一组解 ,这组解最初是随机生成的 ,在每次迭代时又有一组新的解由模拟进化和继承的遗传操作生成 ,每个解都有一目标函数给与评判 ,一次迭代成为一代。
典型的算法步骤有: (1)初始化 ,即随机生成一个符号串群体; (2)基于适度函数对符号串进行评价; (3)应用一组遗传操作生成一个新的符号串群体; (4)重复步骤(2)和(3)直至结果收敛。
基于对自然界中生物遗传与进化机理的模仿,针对不同的问题,很多学者设计了许多不同的编码方法来表示问题的可行解,开发了许多种不同的遗传算子来模仿不同环境下的生物遗传特性。
这样,由不同的编码方法和不同的遗传算子就构成了各种不同的遗传算法。
但这些遗传算法都有共同的特点,即通过对生物遗传和进化过程中选择、交叉、变异机理的模仿,来完成对问题最优解的自适应搜索过程。
基于这个共同特点,Goldberg总结出了一种统一的最基本的遗传算法——基本遗传算法(simple genetic algorithms,简称SGA)[20]。
基本遗传算法只使用选择算子、交叉算子和变异算子这三种基本遗传算子,其遗传进化操作过程简单,容易理解,是其他一些遗传算法的雏形和基础,它不仅给各种遗传算法提供了一个基本框架,同时也具有一定的应用价值。
下面给出基本遗传算法的构成要素:(1)染色体编码方法。
基本遗传算法使用固定长度的二进制符号串来表示群体中的个体,其等位基因是由二值符号集{0,1}所组成的。
初始群体中各个个体的基因值可用均匀分布的随机数来生成。
如: X=100111001000101101就可表示一个个体,该个体的染色体长度是n=18。
(2)个体适应度评价。
基本遗传算法按与个体适应度成正比的概率来决定当前群体中每个个体遗传到下一代群体中的机会多少。
为正确计算这个概率,这里要求所有个体的适应度必须为正数或零。
这样,根据不同种类的问题,必须预先确定好由目标函数值到个体适应度之间的转换规则,特别是要预先确定好当目标函数值为负数时的处理方法。
(3)遗传算子。
基本遗传算法使用下述三种遗传算子:·选择运算使用比例选择算子;·交叉运算使用单点交叉算子;·变异运算使用基本位变异算子或均匀变异算子。
(4) 基本遗传算法的运行参数。
基本遗传算法有下述4个运行参数需要提前设定:·N :群体大小,即群体中所含染色体的数量,一般取为20~100。
·maxgen :遗传运算的终止进化代数,一般取为100~500。
·pc :交叉概率,一般取为0.4~0.99。
·pm :变异概率,一般取为0.0001~0.1。
需要说明的是,这里给出的4个运行参数的取值范围是在经过了多次试验后得到的经验值,它们对遗传算法的求解结果和求解效率都有一定的影响,但目前尚无合理选择它们的理论依据。
所以我们在遗传算法的实际应用中,要根据问题的不同并经过多次试验来合理地选择这些参数的取值大小或取值范围。
1.2遗传算法的运算流程遗传算法的主要运算流程如下:步骤一:初始化。
设置进化代数计数器t=0;设置最大进化代数T;随机生成M 个个体作为初始群体P(0)。
步骤二:个体评价。
计算群体P(t)中各个个体的适应度。
步骤三:选择运算。
将选择算子作用于群体。
步骤四:交叉运算。
将交叉算子作用于群体。
步骤五:变异运算。
将变异算子作用于群体。
群体P(t)经过选择、交叉、变异运算之后得到下一代群体P(t+1)。
步骤六:终止条件判断。
若t≤T,则:t=t+1,转到步骤二;若t>T,则以进化过程中所得到的具有最大适应度的个体作为最优解输出,终止计算。
2遗传算法的应用遗传算法可处理连续变量参数的优化问题 ,特别是适用于复杂非线性问题的处理。
可用于 NMR脉冲形状分析、RNA 核苷酸测定、DNA 构象分析、分子识别和设计、变量选择等 ,在分析化学、环境科学、机械设计中的应用也非常广泛。