资源预览内容
第1页 / 共43页
第2页 / 共43页
第3页 / 共43页
第4页 / 共43页
第5页 / 共43页
第6页 / 共43页
第7页 / 共43页
第8页 / 共43页
第9页 / 共43页
第10页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
毕业设计 题目题目: 惩罚函数法求解多维 非线性优化问题的算法设计 学学 院院: : 专专 业业: : 学学 号号: : 学生姓名学生姓名: : 指导教师指导教师: : 日日 期期: : 摘 要 现在的科技进步速度惊人,可以用一日千里来形容了。在我们所学的专业课程中, 如自动控制原理、现代控制理论等课程,一般讲的都是线性系统。但是,在现实生活 中,我们所碰到的不可能是线性系统。因为在实际中,总是会有很多不确定的因素会 影响到系统的运行,诸如温度、压力、湿度等等。所以本文主要是研究非线性函数在 约束条件下的优化。 本文是在 Matlab 环境下,在 M 文件中通过编写程序来实现遗传算法,进而来求得 函数的最优解。所以主要程序都是 M 文件来完成的。编写的程序可以实现一维函数、 二维函数的优化,并且能将算法实现在过程通过 Matlab 的 plot 函数画图,图像可以像 动画一样呈现在我们面前。 通过实验,我们可以清晰的看见算法实现的过程。计算一维函数时,第一代在约 束范围内随机产生 inn 个点(即 inn 个第一代个体) ,然后经过以遗传算法为核心的算 法运算 gn 代后,最终会集中到一个点上去。这个点就是要求的那个点。求二维函数优 化算法的原理和计算一维的原理是一样的,但是在画图方面就比一维的难一点。 利用遗传算法求解优化,可以对非线性的函数求解优化,并且在以后的进一步对 程序优化后,可以再广泛的生产和生活中得到运用。所以在我们以后的学习中,可以 把这一思想运用到那些生产生活中碰到的非线性问题。 关键词: Matlab; 优化; 遗传算法; 非线性 Abstract Now at an alarming rate of scientific and technological progress, by leaps and bounds can be used to describe it. What we learned in our professional courses, such as automatic control principle, modern control theory and other courses are generally said linear system. However, in real life, we have encountered can not be the linear system. Because in practice, there will always be a lot of uncertain factors that may affect the operation of the system, such as temperature, pressure, humidity and so on. Therefore, this paper is to examine the nonlinear function in the optimization of binding conditions. This article is in the Matlab environment, in the M documents through the preparation process to achieve the genetic algorithm, and then to find the optimal solution function. Therefore, the main procedures are to be completed M documents. Procedures for the preparation of one-dimensional function can be achieved, two-dimensional function optimization, and algorithm can be adopted in the process of drawing Matlabs plot function, images can be shown the same animation as before us. Through experiments, we can clearly see the process of algorithm. Calculation of one- dimensional function, the first generation in the range of randomly generated binding sites inn (the inn of the first generation of individuals), and then through a genetic algorithm as the core gn-generation algorithm, the final will focus on up to a point. The point is that the points required. Optimization algorithm for two-dimensional function of the principle and the principle of one-dimensional calculation is the same, but in drawing on more than one- dimensional point of difficulty. Optimize the use of genetic algorithm can solve the nonlinear optimization function, and in the future after further optimization of the process, can be a wide range of production and life use to be. Therefore, in our subsequent study, this idea can be applied to the production and life of those they encountered in nonlinear problems. Keywords: Matlab; Optimization; Genetic Algorithm; Nonlinear 目 录 1 绪论.1 1.1 研究背景及意义1 1.2 研究的内容2 1.3 本文的结构安排3 2 研究原理和工具介绍.4 2.1 遗传算法的原理和应用4 2.1.1 遗传算法的定义和现状.4 2.1.2 遗传算法的特点及应用.6 2.1.3 遗传算法的应用步骤.8 2.2 惩罚函数简介8 2.3 求解最优化问题的介绍和方法分类9 2.3.1 最优化问题及分类.9 2.3.2 优化算法及分类.10 2.4 Matlab 的介绍和应用.11 2.4.1 Matlab 简介11 2.4.2 Matlab 的应用11 3 算法的分析设计及部分程序说明.14 3.1 算法的一维部分14 3.1.1 一维程序的分析与设计.14 3.1.2 一维程序关键部分说明.16 3.2 算法的二维部分19 3.2.1 二维程序的分析与设计.19 3.2.2 二维程序关键部分说明.19 4 运行结果及分析.20 4.1 算法的一维部分20 4.1.1 直接运行结果.20 4.1.2 参数修改运行对比.23 4.2 算法的二维部分28 4.3 本章小结29 5 算法设计的优化.30 5.1 已经完成的优化30 5.2 未来优化方向34 6 结束语.36 参考文献.37 致 谢.38 1 绪论绪论 1.1 研究背景及意义 按照进化论的观点,地球上的每一物种从诞生开始就进去了漫长的进化过程,各 种生物药生存下去就必须进行生存斗争,既有较强生存能力的生物个体容易存活下来 并有较多的机会产生后代,反之则被淘汰,逐渐消亡。这就是“自然选择,适者生存” 。 我们也已经知道,基因对物种产生巨大影响,不同基因的组合产生的个体对环境的适 应性不一样。通过基因的交叉和突变可以产生对环境适应性强的后代。在一定的环境 下,生物物种通过自然选择、基因交叉和变异等过程构成了生物的进化过程。另外, 生物进化是一个开放的过程,自然界对进化中的生物群体提供及时的反馈信息,这些 信息是外界对生物的评价。评价反映了生物的生存价值和机会。在相同环境下的生存 斗争中生存价值低的个体被淘汰了,具有较高生存价值的个体生存下来了,并产生后 代。由此形成了生物进化的外部机制。遗传算法(Genetic Algorithm)是模拟达尔文生 物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然 进化过程搜索最优解的方法,是一种借鉴生物界自然选择和自然遗传机制的随机、高 度并行、自适应搜索算法。遗传算法是多学科相互结合与渗透的产物1。 最早的惩罚函数(Penalty function)法是有 Courant 在 1943 年提出来的,其基本 思想是:对不满足约束条件的点进行惩罚,通过求解多个罚函数的极小的约束问题的 最优解2。 最优化理论和方法是第二次世界大战后迅速发展起来的一个新学科,随着现代化 生产的发展和科学技术的进步,最优化理论和方法日益受到人们的重视。现在它已渗 透到生产、管理、商业、军事、决策等各领域。优化技术是一种以数学为基础的,用 于求解各种工程问题优化解的应用技术,作为一个重要的科学分支一直受到人们的广 泛注视,并在诸多工程领域得到迅速的推广和应用,如系统控制、人工智能、模式识 别、生产调度、计算机工程等等。优化方法涉及的工程领域很广,问题种类与性质繁 多。归纳而言,最优化问题可以分为函数优化问题和组合优化问题两大类。 进入 90 年代,遗传算法迎来了兴盛发展时期,无论是理论研究还是应用研究都成 了十分热门的课题。然而,到 20 世纪 90 年代,Matlab 已成为国际控制界的标准计算 软件。这样将二者结合起来来实现算法就成为了一个热门3。虽然 Matlab 的工具箱已 经就该部分编写了相应的模块,但是算法是完全模仿遗传算法的。随着新世纪的到来, 遗传算法依然发展的如火如荼,对不同种群基于不同的遗传策略,如变异概率,不同 的变异算子等来搜索变量空间,并利用种群间迁移算子来进行遗传信息交流,以解决 经典遗传算法的收敛到局部最优值问题。从现在遗传算法的应用来看,大多数的设计、 论文都是完全模仿遗传算法的。 Matlab 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和 测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的 专用 Matlab 函数集)扩展了 Matlab 环境,以解决这些应用领域内特定类型的问题4。 当然在 Matlab 的工具箱里面也有关于本文的研究内容,遗传算法的工具箱。但是,在 设计中没有用到它。 跳跃基因是维持生物大脑神经细胞多样性的主要原因,因此在遗传算法中引入跳 跃基因操作能够提高算法的全局搜索能力。然而,标准跳跃基因遗传算法的随机跳跃 过程容易破坏较优性能染色体的基因。针对此问题,提出了一种改进跳跃基因遗传算 法。在改进方案中,适应度越高的染色体上的跳跃基因,能以越高的概率朝性能比它 差的染色体上跳跃,以提高进化速度。并且,在适应度函数中引入密度函数,以保持 染色体的多样性。通过对经典多极值测试函数的寻优仿真表明,改进跳跃基因遗传算 法能够更有效地提高遗传算法对复杂多峰函数最优解的求解速度与精度5。 针对标准顺序生境(SN)算法在求解复杂优化问题时遇到的困难,提出了两种改 进策略。一种策略是新的保存最优解
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号