求解非线性规划问题的遗传算法设计与实现精品毕业设计完整版Word下载.docx
《求解非线性规划问题的遗传算法设计与实现精品毕业设计完整版Word下载.docx》由会员分享,可在线阅读,更多相关《求解非线性规划问题的遗传算法设计与实现精品毕业设计完整版Word下载.docx(29页珍藏版)》请在冰豆网上搜索。
![求解非线性规划问题的遗传算法设计与实现精品毕业设计完整版Word下载.docx](https://file1.bdocx.com/fileroot1/2022-10/13/153363f0-c6a3-475f-9ede-1cb7ea1496e0/153363f0-c6a3-475f-9ede-1cb7ea1496e01.gif)
与传统的非线性规划算法——外点罚函数法的比较结果表明该算法在一定程度上有效地克服了传统的非线性规划算法稳定性差,对函数初值和函数性态要求较高,且容易陷入局部最优解的缺陷,收敛更合理,性能更稳定。
关键词:
非线性规划;
遗传算法;
罚函数法
ABSTRACT
Non-linearprogramminghasawiderangeofapplicationsinengineering,management,economic,scientific,andmilitaryaspects.Traditionalmethodstosolvethenon-linearprogrammingproblem,suchasthegradientmethod,penaltymethod,Lagrangemultipliermethod,havepoorstability.Theyaresensitivetothefunctioninitialvalueandrequesttheobjectivefunctiontobecontinuousanddifferential.Theresultsarealsoeasilytrappedintolocaloptimalsolution.
GeneticalgorithmisakindofcalculatemodelwhichsimulatesDarwin'
sgeneticselectionandbiologicalevolutionofnaturalselection.Geneticalgorithmisaglobalsearchalgorithm.Ithassimple,universal,robustfeatures,anddoesnotrequesttheobjectivefunctiontobecontinuousanddifferential,andissuitableinparalleldistributionprocessing.Geneticalgorithmiswidelyappliedinmanyareas.
Basedontheanalysisofthedisadvantageoftraditionalnon-linearprogrammingalgorithmandtheadvantageofgeneticalgorithm,geneticalgorithmisappliedtonon-linearprogramminginthispaper.Theintroductionoftheconceptofpenaltyfunctionisusedtoconstructthefitnessfunctionwithpunishment.Byusingreal-coded,RouletteWheelselectionmethod,two-pointcrossover,uniformmutation,weformedageneticalgorithmtosolvethenon-linearprogrammingproblem.Comparedwiththemostclassicalandwidelyusedtraditionalnon-linearprogrammingproblemalgorithm–SUMTalgorithm,theresultsshowthatthenewalgorithmcouldeffectivelyovercomethedefectofthetraditionalalgorithminacertainextent.Thenewalgorithmismorestable,lesssensitivetothefunctioninitialvalueandconditions,andalwayscouldreceivetheoptimalsolutionorapproximateoptimalsolution.Itsconvergenceresultsaremorereasonable,theperformanceismorestable.
KeyWords:
Non-linearProgramming;
GeneticAlgorithm;
SUMTAlgorithm
1概论
1.1背景介绍
1.1.1非线性规划简介
具有非线性约束条件或目标函数的数学规划,称为非线性规划。
非线性规划是20世纪50年代才开始形成的一门新兴学科。
1951年H.W.库恩和A.W.塔克发表的关于最优性条件(后来称为库恩-塔克条件)的论文是非线性规划正式诞生的一个重要标志。
在50年代还得出了可分离规划和二次规划的n种解法,它们大都是以G.B.丹齐克提出的解线性规划的单纯形法为基础的。
50年代末到60年代末出现了许多解非线性规划问题的有效的算法,70年代又得到进一步的发展。
非线性规划在工程、管理、经济、科研、军事等方面都有广泛的应用,为最优化设计提供了有力的工具。
随着计算机的产生与发展,非线性规划作为一门独立的学科越来越受到人们的重视。
在非线性规划理论研究的基础上,人们日益重视非线性规划问题求解方法的研究。
传统的解决非线性规划问题的方法有多种,如搜索法、梯度法、变尺度法、罚函数法、拉格朗日乘子法、可行方向法等,虽然解法很多,非线性规划目前还没有能适用于各种问题的算法,各个方法都有自己特定的适用范围。
1.1.2遗传算法简介
遗传算法(GeneticAlgorithm),是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它是由美国Michigan大学J.Holland教授于1975年首先提出来的,并出版了颇有影响的专著《AdaptationinNaturalandArtificialSystems》,GA这个名称才逐渐为人所知,J.Holland教授所提出的GA通常为简单遗传算法(SGA)。
遗传算法是一种特别有效的算法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程,从而得到最优解或准最优解。
它的主要特点是简单、通用、鲁棒性强,对目标函数既不要求连续,也不要求可导,适用于并行分布处理,应用范围广。
遗传算法提供了一种求解复杂系统优化问题的通用框架,它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,所以广泛应用于很多领域,如函数优化、组合优化、生产调度问题、自动控制、机器人智能控制、图像处理,人工生命、遗传编程、机器学习等。
并且取得了令人瞩目的成果。
1.2研究内容
传统的非线性规划算法的缺陷是计算烦琐且精度不高,稳定性差,对函数初值和函数性态要求较高,且容易陷入局部最优解。
而遗传算法是一种鲁棒性很强的种全局搜索算法,理论上可以克服传统非线性规划算法的缺陷。
本文的主要内容就是应用遗传算法的基本思想,结合本次实验的实际情况,对基本遗传算法加以改进,将遗传算法应用于求解非线性规划问题,形成求解非线性规划问题的遗传算法。
具体内容包括编码方法设计,适应度函数设计,选择算子、交叉算子、变异算子等遗传算子设计,算法流程设计,并在设计的基础上用MATLAB语言实现该算法的程序,运行并调试程序,直至得到正确的结果。
并对实验所得结果进行分析,比较求解非线性规划问题的遗传算法与传统的非线性规划算法的优缺点。
2非线性规划
2.1非线性规划的概念
非线性规划研究一个n元实函数在一组等式或不等式的约束条件下的极值问题,且目标函数和约束条件至少有一个是未知量的非线性函数。
目标函数和约束条件都是线性函数的情形则属于线性规划。
2.2非线性规划的数学模型
对实际规划问题作定量分析,必须建立数学模型。
建立数学模型首先要选定适当的目标变量和决策变量,并建立起目标变量与决策变量之间的函数关系,称之为目标函数。
然后将各种限制条件加以抽象,得出决策变量应满足的一些等式或不等式,称之为约束条件[4]。
非线性规划问题的一般数学模型可表述为求未知量,使满足约束条件:
(2.1)
并使目标函数达到最小值(或最大值)。
其中,诸和诸都是定义在n维向量空间的某子集(定义域)上的实值函数,且至少有一个是非线性函数。
上述模型可简记为:
(2.2)
(2.3)
其中属于定义域,符号min表示“求最小值”,符号s.t.表示“受约束于”。
定义域中满足约束条件的点称为问题的可行解。
全体可行解所成的集合称为问题的可行集。
对于一个可行解,如果存在的一个邻域,使目标函数在处的值优于(指不大于或不小于)该邻域中任何其他可行解处的函数值,则称为问题的局部最优解(简称局部解)。
如果优于一切可行解处的目标函数值,则称x*为问题的整体最优解(简称整体解)。
实用非线性规划问题要求整体解,而现有解法大多只是求出局部解。
2.3非线性规划的求解方法
2.3.1一维最优化方法
指寻求一元函数在某区间上的最优值点的方法。
这类方法不仅有实用价值,而且大量多维最优化方法都依赖于一系列的一维最优化。
常用的一维最优化方法有黄金分割法、切线法和插值法[1]。
①黄金分割法,又称0.618法。
它适用于单峰函数。
其基本思想是:
在初始寻查区间中设计一列点,通过逐次比较其函数值,逐步缩小寻查区间,以得出近似最优值点。
②切线法,又称牛顿法。
它也是针对单峰函数的。
在一个猜测点附近将目标函数的导函数线性化,用此线性函数的零点作为新的猜测点,逐步迭代去逼近最优点。
③插值法,又称多项式逼近法。
其基本思想是用多项式(通常用二次或三次多项式)去拟合目标函数。
此外,还有斐波那契法、割线法、有理插值法、分批搜索法等。
2.3.2无约束最优化方法
指寻求n元实函数在整个n维向量空间上的最优值点的方法。
这类方法的意义在于:
虽然实用规划问题大多是有约束的,但许多约束最优化方法可将有约束问题转化为若干无约束问题来求解[1]。
无约束最优化方法大多是逐次一维搜索的迭代算法。
这类迭代算法可分为两类。
一类需要用目标函数的导函数,称为解析法。
另一类不涉及导数,只用到函数值,称为直接法。
这些迭代算法的基本思想是:
在一个近似点处选定一个有利搜索方向,沿这个方向进行一维寻查,得出新的近似点。
然后对新点施行同样手续,如此反复迭代,直到满足预定的精度要求为止。
根据搜索方向的取法不同,可以有各种算法。
属于解析型的算法