最优化理论与方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最优化理论与方法综述
李超雄
最优化方法是近几十年形成的,它主要运用数学方法研究各种系统的优化途径及方案,为决策者提供科学决策的依据。
最优化方法的主要研究对象是各种管理问题及其生产经营活动。
最优化方法的目的在于针对所研究的系统,求得一个合理运用人力、物力和财力的最佳方案,发挥和提高系统的效能及效益,最终达到系统的最优目标。
实践表明,随着科学技术的日益进步和生产经营的日益发展,最优化方法已成为管理科学的重要理论基础和不可缺少的方法,被人们广泛地应用到公共管理、经济管理、工程建设、国防等各个领域,发挥着越来越重要的作用。
这就是我理解的整个课程的流程。
在这整个学习的过程当中,当然也会遇到很多的问题,不论是从理论上的还是从实际将算法编写出程序来解决一些问题。
下面给出学习该课程的必要性及结合老师讲解以及在作业过程中遇到的问题来阐述自己对该课程的理解。
20世纪40年代以来,由于生产和科学研究突飞猛进地发展,特别是电子计算机日益
广泛应用,使最优化问题的研究不仅成为一种迫切需要,而且有了求解的有力工具。
因此最优化理论和算法迅速发展起来,形成一个新的学科。
至今已出现线性规划、整数规划、非线性规划、几何规划、动态规划、随机规划、网络流等许多分文。
最优化理论与算法包括线性规划单纯形方法、对偶理论、灵敏度分析、运输问题、内点算法、非线性规划K-T条件、无约束最优化方法、约束最优化方法、参数线性规划、运输问题、线性规划路径跟踪法、信赖域方法、二次规划路径跟踪法、整数规划和动态规划等内容。
最优化理论所研究的问题是讨论在众多的方案中什么样的方案最优以及怎样找出最优方案。
这类问题普遍存在。
例如,工程设计中怎样选择设计参数,使得设计方案满足设计要求,又能降低成本;资源分配中,怎样分配有限资源,使得分配方案既能满足各方面的基本要求,又能获得好的经济效益;生产评价安排中,选择怎样的计划方案才能提高产值和利润;原料配比问题中,怎样确定各种成分的比例,才能提高质量,降低成本;城建规划中,怎样安排基本单位的合理布局,才能方便群众,有利于城市各行各业的发展;农田规划中,怎样安排各种农作物的合理布局,才能保持高产稳产,发挥地区优势;军事指挥中,怎样确定最佳作战方案,才能有效地消灭敌人,保存自己,有利于战争的全局;在人类活动的各个领域中,诸如此类,不胜枚举。
最优化这一数学分支,正是为这些问题的解决,提供理论基础和求解方法,它是一门应用广泛、实用性强的学科。
一、最优化学习的必要性
最优化,在热工控制系统中应用非常广泛。
为了达到最优化目的所提出的各种求解方法。
从数学意义上说,最优化方法是一种求极值的方法,即在一组约束为等式或不等式的条件下,使系统的目标函数达到极值,即最大值或最小值。
从经济意义上说,是在一定的
人力、物力和财力资源条件下,使经济效果达到最大,或者在完成规定的生产或经济任务下,使投入的人力、物力和财力等资源为最少。
通过老师的讲解,我们了解不同类型的最优化问题可以有不同的最优化方法,即使同一类型的问题也可有多种最优化方法。
反之,某些最优化方法可适用于不同类型的模型。
最优化问题的求解方法一般可以分成解析法、直接法。
1、直接法
当目标函数较为复杂或者不能用变量显函数描述时,无法用解析法求必要条件。
此时可采用直接搜索的方法经过若干次迭代搜索到最优点。
这种方法常常根据经验或通过试验得到所需结果。
对于一维搜索(单变量极值问题),一维搜索介绍了黄金分割法即为0.618法(前提是存在单峰区间(所以在此时要提出使用进退法来得到该单峰区间))、二分法(效率最高,但是必须求取函数的导数不好求)、抛物线法(不推荐);对于多维搜索问题(多变量极值问题)。
①黄金分割法是一维搜索方法,只针对一元函数来求解。
黄金分割法的局限性在于要求是单峰函数,所以要先用进退法找到一个函数的其中一个单峰。
步骤就是在区间[a,b]中取点x1=a+0.382(b-a),x2=a+0.618(b-a),如果f(x1)>f(x2),说明选取的步长太小,要扩大,令a=x1,x1=x2,再求新的x2;如果f(x1)<=f(x2),步长选取过大,缩小步长,令
b=x2,x2=x1,再求新的x1,循环。
这样做每次可将搜索区间缩小0.382倍或0.618倍,直至缩为最小点。
该算法为收敛速度很快的一维搜索方法。
前提是要先利用进退法选择一个下降的单峰区间(即黄金分割法的单峰搜索区间)。
②进退法
用进退法来确定下单峰区间,即黄金分割法的搜索区间。
2、线性规划问题
单纯形法对于一般形式的线性规划问题,引入松弛变量或者剩余变量来化为标准型,可以将引入的变量作为初始基变量,该基变量对应的单位阵可以作为一个初始基可行解,然后进行单纯形法求解过程。
如果线性规划是非退化的,则按照进基,离基迭代一次后,目标函数值有所下降.经过有限次迭代之后,一定可以得到一个基可行解,使得其所有判别数非负(得到最优解),或者其有一个判别数是负的,但对应列向量的所有分量非正(线性规划无最优解)。
而对于一般标准型的线性规划问题,约束方程组的系数矩阵中不包含单位阵,从而需要引入人工变量,构造一个单位矩阵,得到初始基可行解的方法。
而利用单纯形法求解问
题最关键的环节是初始基可行解的求解,因为单纯形法的迭代过程是在已有一个初始基可行解的前提下进行的,而常用的方法有两种,一是大M法,二是两阶段法。
①大M单纯形法,其中M定义为一个比较大的数,通常比系数矩阵中的系数大一个数量级,与引入的人工变量结合构造辅助线性规划问题,从而也在系数矩阵中构造出了单位阵,对应的变量值作为一组初始基可行解进行单纯形法的迭代运算。
在取得的最优解中人工变量全为零,即M的引入不影响目标函数的最优解。
②对偶单纯形法,单纯形法与对偶单纯形法是对偶的可以互相转换可以简化求解过程,而对偶之间只有最优解是相等的。
单纯形法保证解可行,而对偶单纯形法保证对偶规划解可行。
不同点在于对偶单纯形法的最优性判别是已知线性规划问题的基矩阵B及它所对应的基解的所有的判别数非负(即XB=B-1b>=0)时有最优解。
对偶单纯形法并不是解对偶线性规划问题的单纯形法,而是根据对偶原理求解原线性规划问题的另一种单纯形法。
3、无约束最优化问题
解析法只适用于目标函数有明显的解析表达式的情况。
求解方法是:先求出最优的必要条件,得到一组方程或不等式,再求解这组方程或不等式,一般是用求导数的方法求出必要条件,通过必要条件将问题简化,因此也称间接法。
这种方法针对的是无约束最优化,主要考虑下降算法包括最速下降法、newton法、共轭梯度法、拟newton法等。
最速下降法是求梯度的方法中效率最低的方法,它所提供的下降方向只是眼前下降最快的方向,用图形表示是一种锯齿形的路线,收敛速度慢,但是迭代计算量小、算法简单。
它的原理就是沿着负梯度方向就是下降速度最快的方向,主要步骤就是取初值以及允许误差,求取函数的负梯度,若梯度范数小于允许误差,此时得到最优解。
反之,得到此时的xk再用一维搜索求取合适的步长满足最小函数值方程,计算下一个xk+1值,求出梯度,循环计算最小函数值找到最优解。
最速下降法
基本思想:最速下降法是应用目标函数的负梯度方向作为每一步迭代的搜索方向,因为每一步都取负梯度方向的最优步长。
使用条件:目标函数在迭代点处必须可微,且导数不为0。
特点:沿负梯度方向寻优的最优梯度法,其搜索路径实际上是成直角的锯齿形前进的,它是在某一点附近的最速下降方向,是一局部性质,开始时步长较大,收敛速度较快,但越接近极小点,步长越小,收敛速度越慢。
Newton法有很快的收敛速度,但它只是局部收敛的。
所以提出共轭梯度法。
如果在
共轭方向法中初始的共轭向量恰好取为初始点X0处的负梯度-g0,而以下各共轭方向Pk 由第k 迭代点Xk 处的负梯度-gk 与已经得到的共轭向量Pk-1的线性组合来确定,那么就构成了一种具体的共轭方向法。
因为每一个共轭向量都是依赖于迭代点处的负梯度而构造出来的,所以称为共轭梯度法。
产生的N 个共轭方向
⎪⎪⎪⎩
⎪⎪⎪⎨⎧-==-=+-=-=+++.2,,1,0,,2,,1,0,,22111
00n k g g n k p g p g p k k k k k k k ββNewton 法,算法流程如下:
(1)取初始点,置精度要求,置()1x ε1
k =(2)如果,则停止计算(作为无约束问题的解);否则求解线性方
()k f ε∇≤x ()k x 程组,得到()()2()()k k f f ∇=-∇x d x ()
k d (3)置,,转(2)
()()()1k k k +=+x x d 1k k =+牛顿迭代法是求方程根的重要方法之一。
约束最优化方法包括:Kuhn-Tucker 条件,既约梯度法及凸单纯行法,罚函数法及乘子法。
罚函数法包括简单罚函数法、内点罚函数法和乘子法。
约束最优化方法:问题
min ()f x ..s t ()0
g x ≤
()0h x = 约束集 {}
()0,()0S x g x h x =I ≤=共轭梯度法的效果介于最速下降法和newton 法之间,既能克服最速下降法的慢收敛性,又避免了newton 法的计算量大和具有局部收敛性的缺点,因而是比较有效的算法。
而且共轭方向法中的共轭梯度法,由于其存贮量小,可用来求解大规模(n 较大)无约束优化问题。
基本思想:共轭梯度法是对最速下降法进行了修正的一种寻优方法,它是使搜索方向为共轭方向(将负梯度方向旋转一个角度),即每步的搜索方向都要对该步的负梯度方向做一个修正。
算法特点:共轭梯度法利用了各步搜索方向关于互为共轭的性质,它是利用梯度信息寻找共轭方向的;共轭梯度法具有二次终结的性质,这一点与共轭方向法相同,且其存储量小,不需存储矩阵,只需存储向量,在大规模问题中具有明显优势;但在实践中由于初始点选择不当或计算机的舍入误差等原因,会出现二次终结时精度不高的情况。
此时,可继续迭代或重新开始新一轮共轭梯度法搜索或改用其他数值算法以满足高精度的要求。
无约束最优化的直接法;单纯形调优法(与线性规划中的不同,是针对非线性的问题的求解方法)。
单纯形法求解控制系统参数优化。
具体过程是给定寻优参数初值,然后利用matlab优化工具箱来构造误差目标函数(给定控制对象参数),再进行以下四步操作:反射,延伸,扩张和收缩。
在此过程中有很多问题,开始不熟悉优化工具箱,所以无法建立误差目标函数;而且利用优化工具箱无法加入延迟环节;确定各个计算公式的系数(反射、扩大、收缩、压缩)的值是个大问题,对最坏值的判断很关键,什么条件下被取代的一系列的问题,最后得出最优解(但是得到的参数PI都非常大),则在simulink搭建该仿真系统(不知道应该如何建立被控对象的延迟环节的函数),将优化后的参数带入,观察分析所得曲线却能很好的满足系统性能优化。
对于如此大的参数,在实际应用中肯定是会造成该系统剧烈振荡的不稳定的。
4、约束最优化问题
约束最优化方法是指对于一般非线性规划模型的求解方法。
惩罚函数法(包括外罚函数法和闸函数法)是一种有效的求解方法。
而在构造罚函数的过程中,对于不等式约束和等式约束的构造方式是不一样的:对于不等式约束是用对数或者是倒数来构造,而对于等式约束则是求平方和来构造。
步骤是:构造罚函数是为了将约束问题改变为无约束的问题进行求解,将问题简单化。
内罚函数的步骤选取初始数据,给定初始内点(必须是可行的(即保证在可行域内),这样最终结果就能够保证是可行的)、初始罚因子、缩小系数、允许误差,k为迭代次数,构造罚函数,求解无约束问题(在求解无约束问题时用下降算法来求
解即可,最有效的方法就是用拟牛顿法,而在实际时用的是最速下降法求解,问题是该如何给出约束条件,是将约束条件化作矩阵形式来构造罚函数),得到下一个解,判断终止条件是否满足,反之,则改变参数重新循环,直到得到最优解。
与外罚函数法的唯一不同就是它的初始内点是在可行域内,保证了最优解的可行性。
经过实践检验来看,罚函数法是一种比较有效的解约束最优化问题的方法。