分数:___________任课教师签字:___________华北电力大学研究生作业学年学期:2010/2011学年第二学期课程名称:优化理论与最优控制学生姓名:潘巾杰学号:2102216088提交时间:2011年4月26日何谓最优化,就是给出一个函数,得到使其达到最大值或者最小值的最优解的过程(也可以是一个系统的参数整定等)。最优化问题根据数学模型中有无约束函数分为有约束的和无约束的最优化问题;根据目标函数和约束函数的函数类型分类则有线性最优化问题、非线性最优化问题、二次规划、多目标规划、动态规划、整数规划、0-1规划等。老师从最优化问题入手,让我了解了最基本的最优化存在的意义,再到最优化算法了解了如何使最优化问题得到最优解,最后是最优控制了解对于一个具体的问题要怎样进行优化控制。这就是我理解的整个课程的流程。在这整个学习的过程当中,当然也会遇到很多的问题,不论是从理论上的还是从实际将算法编写出程序来解决一些问题。下面给出学习该课程的必要性及结合老师讲解以及在作业过程中遇到的问题来阐述自己对该课程的理解。一、学习最优化的必要性最优化,在热工控制系统中应用非常广泛。为了达到最优化目的所提出的各种求解方法。从数学意义上说,最优化方法是一种求极值的方法,即在一组约束为等式或不等式的条件下,使系统的目标函数达到极值,即最大值或最小值。从经济意义上说,是在一定的人力、物力和财力资源条件下,使经济效果达到最大(如产值、利润),或者在完成规定的生产或经济任务下,使投入的人力、物力和财力等资源为最少。最优控制:主要用于对各种控制系统的优化。例如,导弹系统的最优控制,能保证用最少燃料完成飞行任务,用最短时间达到目标;再如飞机、船舶、电力系统等的最优控制,化工、冶金等工厂的最佳工况的控制。计算机接口装置不断完善和优化方法的进一步发展,还为计算机在线生产控制创造了有利条件。最优控制的对象也将从对机械、电气、化工等系统的控制转向对生态、环境以至社会经济系统的控制。最优化是当今社会的一种趋势,什么都需要高效,什么都离不开最优化。二、所学最优化课程内容回顾通过老师的讲解,我们了解不同类型的最优化问题可以有不同的最优化方法,即使同一类型的问题也可有多种最优化方法。反之,某些最优化方法可适用于不同类型的模型。最优化问题的求解方法一般可以分成解析法、直接法。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值,求出梯度,循环计算最小函数值找到最优解。②最速下降法因迭代路线呈锯齿形,故收敛速度慢,仅是线性的。其实,最速下降法的本质是用线性函数去近似目标函数。因此,要想得到快速算法,需要考虑目标函数的高阶逼近。所以提出newton法,收敛速度快。它的原理是该目标函数具有二阶偏导数以及hesse矩阵正定,步骤和最速下降差不多,只是求取公式不同Xk+1=Xk+Pk(Pk满足GkPk=-gk(梯度),Gk为二阶偏导),最优化的条件也不同。但是若对于目标函数是非二次函数的非约束最优化问题,一般地说,用newton法通过有限轮迭代并不能保证可求得最优解(还有对选取得初始值有要求,不然不保证收敛性)。③Newton法有很快的收敛速度,但它只是局部收敛的。所以提出共轭梯度法。如果在共轭方向法中初始的共轭向量恰好取为初始点X0处的负梯度-g0,而以下各共轭方向Pk由第k迭代点Xk处的负梯度-gk与已经得到的共轭向量Pk-1的线性组合来确定,那么就构成了一种具体的共轭方向法。因为每一个共轭向量都是依赖于迭代点处的负梯度而构造出来的,所以称为共轭梯度法。产生的N个共轭方向.2,,1,0,,2,,1,0,,2211100nkggnkpgpgpkkkkkkk生成共轭梯度法。因为k的求解公式不同得到FR与PRP算法,从实际计算的结果发现,PRP算法一般优于FR算法。共轭梯度法的效果介于最速下降法和newton法之间,既能克服最速下降法的慢收敛性,又避免了newton法的计算量大和具有局部收敛性的缺点,因而是比较有效的算法。而且共轭方向法中的共轭梯度法,由于其存贮量小,可用来求解大规模(n较大)无约束优化问题。④前面介绍了newton法,它的突出优点是收敛很快。但是,运用newton法需要计算二阶偏导数,而且目标函数的Hesse矩阵可能非正定,为了克服newton法的缺点,人们提出了拟newton法。它的基本思想是用不包含二阶导数的矩阵(一般取单位矩阵I)近似newton法中Hesse矩阵的逆矩阵。经理论证明和实践检验(用编程来解决同一个问题),拟newton法相对于newton法来说更有效,计算简单,迭代次数少。利用拟newton法解决无约束问题过程很复杂,我也是借鉴了别人的程序来自己理解,而该程序也只能解决一部分固定结构的函数问题。一开始不知道如何将需要求解的问题带入程序中,后来给出方程中的系数组成矩阵最后再乘上变量[x1x2]来还原为原方程,而且在拟newton法中,需要保留前一个梯度,前一个最优解以及前一个H矩阵的值,再根据修正公式来循环求解。而且这个方法是建立在有进退法的黄金分割法求出最佳步长的前提下的求解的,很复杂。⑤无约束最优化的直接法;单纯形调优法(与线性规划中的不同,是针对非线性的问题的求解方法)。单纯形法求解控制系统参数优化。具体过程是给定寻优参数初值,然后利用matlab优化工具箱来构造误差目标函数(给定控制对象参数),再进行以下四步操作:反射,延伸,扩张和收缩。在此过程中有很多问题,开始不熟悉优化工具箱,所以无法建立误差目标函数;而且利用优化工具箱无法加入延迟环节;确定各个计算公式的系数(反射、扩大、收缩、压缩)的值是个大问题,对最坏值的判断很关键,什么条件下被取代的一系列的问题,最后得出最优解(但是得到的参数PI都非常大),则在simulink搭建该仿真系统(不知道应该如何建立被控对象的延迟环节的函数),将优化后的参数带入,观察分析所得曲线却能很好的满足系统性能优化。对于如此大的参数,在实际应用中肯定是会造成该系统剧烈振荡的不稳定的。4、约束最优化问题约束最优化方法是指对于一般非线性规划模型的求解方法。惩罚函数法(包括外罚函数法和闸函数法)是一种有效的求解方法。而在构造罚函数的过程中,对于不等式约束和等式约束的构造方式是不一样的:对于不等式约束是用对数或者是倒数来构造,而对于等式约束则是求平方和来构造。步骤是:构造罚函数是为了将约束问题改变为无约束的问题进行求解,将问题简单化。内罚函数的步骤选取初始数据,给定初始内点(必须是可行的(即保证在可行域内),这样最终结果就能够保证是可行的)、初始罚因子、缩小系数、允许误差,k为迭代次数,构造罚函数,求解无约束问题(在求解无约束问题时用下降算法来求解即可,最有效的方法就是用拟牛顿法,而在实际时用的是最速下降法求解,问题是该如何给出约束条件,是将约束条件化作矩阵形式来构造罚函数),得到下一个解,判断终止条件是否满足,反之,则改变参数重新循环,直到得到最优解。与外罚函数法的唯一不同就是它的初始内点是在可行域内,保证了最优解的可行性。经过实践检验来看,罚函数法是一种比较有效的解约束最优化问题的方法。5、最优控制部分最优控制的主要方法:古典变分法---泛函极值(何谓泛函即是函数的函数);最大值原理----是古典变分法的推广;动态规划法。第一部分简要介绍了最优控制问题包括最优控制问题的提法(根据已建立的被控对象的数学模型,选择一个容许的控制律,使得被控对象按预定要求运行,并使给定的某一个性能指标达到极小值(或极大值))、典型的最优控制问题(最小时间问题、最小能量问题、最省燃料问题等)、最优控制问题的实例三个方面来介绍。第二部分介绍了一下无约束最优控制问题的变分法如何求解:包括泛函与变分的概念,还简单了解了泛函变分与函数微分的区别;欧拉-拉格朗日方程的求解(给出了欧拉方程);自由端点问题和可动边界问题的概念(以及对于这类问题的求解过程);推广到多变量的情况;无约束最优控制问题的解(计算步骤:先构造哈密顿函数,对该函数求偏导,然后将求出的u带入正则方程(包括协状态方程和状态方程)得到所求的最优控制)。经典变分法解最优控制问题的局限性包括①变分法要求控制变量u无约束(或者u属于某个开集);而在实