求解非线性规划问题的遗传算法设计与实现(33页).doc
《求解非线性规划问题的遗传算法设计与实现(33页).doc》由会员分享,可在线阅读,更多相关《求解非线性规划问题的遗传算法设计与实现(33页).doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-求解非线性规划问题的遗传算法设计与实现-第 28 页摘 要非线性规划在工程、管理、经济、科研、军事等方面都有广泛的应用。传统的解决非线性规划问题的方法,如梯度法、罚函数法、拉格朗日乘子法等,稳定性差,对函数初值和函数性态要求较高,且容易陷入局部最优解。遗传算法是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型。遗传算法是一种全局搜索算法,简单、通用、鲁棒性强,对目标函数既不要求连续,也不要求可导,适用于并行分布处理,应用范围广。本文在分析传统的非线性规划算法的不足和遗传算法的优越性的基础上,将遗传算法应用于非线性规划。算法引进惩罚函数的概念,构造带有惩罚项的适应度函数;通过实数编码,转
2、轮法选择,双点交叉,均匀变异,形成了求解非线性规划问题的遗传算法。与传统的非线性规划算法外点罚函数法的比较结果表明该算法在一定程度上有效地克服了传统的非线性规划算法稳定性差,对函数初值和函数性态要求较高,且容易陷入局部最优解的缺陷,收敛更合理,性能更稳定。关键词:非线性规划;遗传算法;罚函数法ABSTRACTNon-linear programming has a wide range of applications in engineering, management, economic, scientific, and military aspects. Traditional metho
3、ds to solve the non-linear programming problem, such as the gradient method, penalty method, Lagrange multiplier method, have poor stability. They are sensitive to the function initial value and request the objective function to be continuous and differential. The results are also easily trapped int
4、o local optimal solution.Genetic algorithm is a kind of calculate model which simulates Darwins genetic selection and biological evolution of natural selection. Genetic algorithm is a global search algorithm. It has simple, universal, robust features, and does not request the objective function to b
5、e continuous and differential, and is suitable in parallel distribution processing. Genetic algorithm is widely applied in many areas.Based on the analysis of the disadvantage of traditional non-linear programming algorithm and the advantage of genetic algorithm, genetic algorithm is applied to non-
6、linear programming in this paper. The introduction of the concept of penalty function is used to construct the fitness function with punishment. By using real-coded, Roulette Wheel selection method, two-point crossover, uniform mutation, we formed a genetic algorithm to solve the non-linear programm
7、ing problem. Compared with the most classical and widely used traditional non-linear programming problem algorithm SUMT algorithm, the results show that the new algorithm could effectively overcome the defect of the traditional algorithm in a certain extent. The new algorithm is more stable, less se
8、nsitive to the function initial value and conditions, and always could receive the optimal solution or approximate optimal solution. Its convergence results are more reasonable, the performance is more stable.Key Words: Non-linear Programming; Genetic Algorithm; SUMT Algorithm 目 录1 概论11.1 背景介绍11.1.1
9、 非线性规划简介11.1.2 遗传算法简介11.2 研究内容22 非线性规划32.1 非线性规划的概念32.2 非线性规划的数学模型32.3 非线性规划的求解方法42.3.1 一维最优化方法42.3.2 无约束最优化方法42.3.3 约束最优化方法52.4 非线性规划的应用53 传统非线性规划算法外点罚函数法63.1 算法概述63.2 算法描述63.3 算法性能分析73.4 外点罚函数法的程序设计8程序步骤8程序流程图84 遗传算法104.1 遗传算法概述104.1.1 遗传算法的生物学基础104.1.2 遗传算法的一般结构104.1.3 遗传算法的特点124.1.4 遗传算法的应用124.2
10、 遗传算法实现的关键技术135 求解非线性规划问题的遗传算法设计165.1 实用遗传算法设计165.2 求解非线性规划问题的遗传算法程序设计215.2.1 算法过程描述215.2.2 遗传算法程序流程图225.2.3 遗传算法中所设计的辅助算法的设计226 算法的结果分析246.1 概述246.2 结果比较247 总结28致谢29参考文献301 概 论1.1 背景介绍 非线性规划简介具有非线性约束条件或目标函数的数学规划,称为非线性规划。非线性规划是20世纪50年代才开始形成的一门新兴学科。1951年H.W.库恩和A.W.塔克发表的关于最优性条件(后来称为库恩塔克条件)的论文是非线性规划正式诞
11、生的一个重要标志。在50年代还得出了可分离规划和二次规划的n种解法,它们大都是以G.B.丹齐克提出的解线性规划的单纯形法为基础的。50年代末到60年代末出现了许多解非线性规划问题的有效的算法,70年代又得到进一步的发展。非线性规划在工程、管理、经济、科研、军事等方面都有广泛的应用,为最优化设计提供了有力的工具。随着计算机的产生与发展,非线性规划作为一门独立的学科越来越受到人们的重视。在非线性规划理论研究的基础上,人们日益重视非线性规划问题求解方法的研究。传统的解决非线性规划问题的方法有多种,如搜索法、梯度法、变尺度法、罚函数法、拉格朗日乘子法、可行方向法等,虽然解法很多,非线性规划目前还没有能
12、适用于各种问题的算法,各个方法都有自己特定的适用范围。 遗传算法简介遗传算法(Genetic Algorithm),是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它是由美国Michigan大学J.Holland教授于1975年首先提出来的,并出版了颇有影响的专著Adaptation in Natural and Artificial Systems,GA这个名称才逐渐为人所知,J.Holland教授所提出的GA通常为简单遗传算法(SGA)。遗传算法是一种特别有效的算法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过
13、程,从而得到最优解或准最优解。它的主要特点是简单、通用、鲁棒性强,对目标函数既不要求连续,也不要求可导,适用于并行分布处理,应用范围广。遗传算法提供了一种求解复杂系统优化问题的通用框架,它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,所以广泛应用于很多领域,如函数优化、组合优化、生产调度问题、自动控制、机器人智能控制、图像处理,人工生命、遗传编程、机器学习等。并且取得了令人瞩目的成果。1.2 研究内容传统的非线性规划算法的缺陷是计算烦琐且精度不高,稳定性差,对函数初值和函数性态要求较高,且容易陷入局部最优解。而遗传算法是一种鲁棒性很强的种全局搜索算法,理论上可以克服传统非线性规划算法的缺
14、陷。本文的主要内容就是应用遗传算法的基本思想,结合本次实验的实际情况,对基本遗传算法加以改进,将遗传算法应用于求解非线性规划问题,形成求解非线性规划问题的遗传算法。具体内容包括编码方法设计,适应度函数设计,选择算子、交叉算子、变异算子等遗传算子设计,算法流程设计,并在设计的基础上用MATLAB语言实现该算法的程序,运行并调试程序,直至得到正确的结果。并对实验所得结果进行分析,比较求解非线性规划问题的遗传算法与传统的非线性规划算法的优缺点。2 非线性规划2.1 非线性规划的概念具有非线性约束条件或目标函数的数学规划,称为非线性规划。非线性规划研究一个n元实函数在一组等式或不等式的约束条件下的极值
15、问题,且目标函数和约束条件至少有一个是未知量的非线性函数。目标函数和约束条件都是线性函数的情形则属于线性规划。2.2 非线性规划的数学模型对实际规划问题作定量分析,必须建立数学模型。建立数学模型首先要选定适当的目标变量和决策变量,并建立起目标变量与决策变量之间的函数关系,称之为目标函数。然后将各种限制条件加以抽象,得出决策变量应满足的一些等式或不等式,称之为约束条件4。非线性规划问题的一般数学模型可表述为求未知量,使满足约束条件:并使目标函数达到最小值(或最大值)。其中,诸和诸都是定义在n维向量空间的某子集(定义域)上的实值函数,且至少有一个是非线性函数。 上述模型可简记为: (2.2) (2
16、.3)其中属于定义域,符号min表示“求最小值”“受约束于”。定义域中满足约束条件的点称为问题的可行解。全体可行解所成的集合称为问题的可行集。对于一个可行解,如果存在的一个邻域,使目标函数在处的值优于(指不大于或不小于)该邻域中任何其他可行解处的函数值,则称为问题的局部最优解(简称局部解)。如果优于一切可行解处的目标函数值,则称x*为问题的整体最优解(简称整体解)。实用非线性规划问题要求整体解,而现有解法大多只是求出局部解。2.3 非线性规划的求解方法 一维最优化方法指寻求一元函数在某区间上的最优值点的方法。这类方法不仅有实用价值,而且大量多维最优化方法都依赖于一系列的一维最优化。常用的一维最
17、优化方法有黄金分割法、切线法和插值法1。黄金分割法,又称0.618法。它适用于单峰函数。其基本思想是:在初始寻查区间中设计一列点,通过逐次比较其函数值,逐步缩小寻查区间,以得出近似最优值点。 切线法,又称牛顿法。它也是针对单峰函数的。其基本思想是:在一个猜测点附近将目标函数的导函数线性化,用此线性函数的零点作为新的猜测点,逐步迭代去逼近最优点。插值法,又称多项式逼近法。其基本思想是用多项式(通常用二次或三次多项式)去拟合目标函数。 此外,还有斐波那契法、割线法、有理插值法、分批搜索法等。 无约束最优化方法指寻求n元实函数在整个n维向量空间上的最优值点的方法。这类方法的意义在于:虽然实用规划问题
18、大多是有约束的,但许多约束最优化方法可将有约束问题转化为若干无约束问题来求解1。 无约束最优化方法大多是逐次一维搜索的迭代算法。这类迭代算法可分为两类。一类需要用目标函数的导函数,称为解析法。另一类不涉及导数,只用到函数值,称为直接法。这些迭代算法的基本思想是:在一个近似点处选定一个有利搜索方向,沿这个方向进行一维寻查,得出新的近似点。然后对新点施行同样手续,如此反复迭代,直到满足预定的精度要求为止。根据搜索方向的取法不同,可以有各种算法。属于解析型的算法有:梯度法:又称最速下降法。这是早期的解析法,收敛速度较慢。牛顿法:收敛速度快,但不稳定,计算也较困难。共轭梯度法:收敛较快,效果较好。变尺
19、度法:这是一类效率较高的方法。其中达维登-弗莱彻-鲍威尔变尺度法,简称DFP法,是最常用的方法。属于直接型的算法有交替方向法(又称坐标轮换法)、模式搜索法、旋转方向法、鲍威尔共轭方向法和单纯形加速法等。 约束最优化方法指前述一般非线性规划模型的求解方法。常用的约束最优化方法有4种1:拉格朗日乘子法:它是将原问题转化为求拉格朗日函数的驻点。制约函数法:又称系列无约束最小化方法,简称SUMT法。它又分两类,一类叫惩罚函数法,或称外点法;另一类叫障碍函数法,或称内点法。它们都是将原问题转化为一系列无约束问题来求解。可行方向法:这是一类通过逐次选取可行下降方向去逼近最优点的迭代算法。如佐坦迪克法、弗兰
20、克沃尔夫法、投影梯度法和简约梯度法都属于此类算法。近似型算法:这类算法包括序贯线性规划法和序贯二次规划法。前者将原问题化为一系列线性规划问题求解,后者将原问题化为一系列二次规划问题求解。2.4 非线性规划的应用在经营管理、工程设计、科学研究、军事指挥等方面普遍地存在着最优化问题。例如:如何在现有人力、物力、财力条件下合理安排产品生产,以取得最高的利润;如何设计某种产品,在满足规格、性能要求的前提下,达到最低的成本;如何确定一个自动控制系统的某些参数,使系统的工作状态最佳;如何分配一个动力系统中各电站的负荷,在保证一定指标要求的前提下,使总耗费最小;如何安排库存储量,既能保证供应,又使储存费用最
21、低;如何组织货源,既能满足顾客需要,又使资金周转最快等。对于静态的最优化问题,当目标函数或约束条件出现未知量的非线性函数,且不便于线性化,或勉强线性化后会招致较大误差时,就可应用非线性规划的方法去处理。3 传统非线性规划算法外点罚函数法3.1 算法概述罚函数法求解非线性规划问题的思想是,利用问题中的约束函数做出适当的罚函数,由此构造出带参数的增广目标函数,把问题转化为无约束非线性规划问题。利用罚函数法,可将非线性规划问题的求解,转化为求解一系列无约束极值问题,因而也称这种方法为序列无约束最小化技术,简记为SUMT(Sequential Unconstrained Minimization Te
22、chnique)。主要有两种形式,一种叫外点罚函数法,另一种叫内点罚函数法。外点罚函数法是从非可行解出发逐渐移动到可行区域的方法。内点罚函数法也称为障碍罚函数法,这种方法是在可行域内部进行搜索,约束边界起到类似围墙的作用,如果当前解远离约束边界时,则罚函数值是非常小的,否则罚函数值接近无穷大的方法。3.2 算法描述对于问题(2.2),本文所述的基本策略是,根据约束特点(等式或不等式)构造某种“罚函数”,然后把它加到目标函数中去,使得对约束最优化问题的求解转化为一系列无约束问题。极小点或者无限地向可行域靠近,或者一直保持在可行集内移动,直到收敛于原来约束最优化问题极小点。对于问题(2.2),构造
23、一函数为 (3.1)其中, (3.2)在()中,又称为惩罚函数, (3.3) (3.4)是一个逐渐增大的参数,称为惩罚因子。又称为问题(2.2)的增广目标函数。显然,增广目标函数是定义在上的一个无约束函数。由增广目标函数的构造知当时 (3.5)此时的最优解就是问题(2.2)的最优解;而当时,的最优解就不一定是问题(2.2)的最优解。但是研究时,的最优解不是我们所需要的。为此规定,当时,在点处的函数值迅速变大,换而言之,可行域外的任一点处的函数值都相当大。此时要求在中的最优解,只能让点回到内才有可能,然而一旦点回到内,即,此时就与问题(2.2)有相同的最优解。当时,迅速变大的原因是通过惩罚因子来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 求解 非线性 规划 问题 遗传 算法 设计 实现 33
限制150内