非线性规划算法
- 格式:docx
- 大小:37.61 KB
- 文档页数:4
检测与仪表化工自动化及仪表,2009,36(5):70—73C ont r o l a nd I nst r um ent s i n C h em i ca l I ndu s t r y多变量非线性规划算法下涡轮传感器的优化贾云飞1,王振2,蒋伟伟3(1.南京理工大学机械丁程学院精仪系,南京210094;2.辽宁省汁量科学研究院,沈阳110025;3.南京财经大学信息工程学院,南京210046)摘要:通过对建立的数学模型求解优化了涡轮流量传感器的结构参数,减小了传感器仪表系数的线性度误差。
利用叶轮的四个结构参数建立了单相流条件下涡轮流量传感器的数学模型,以仪表系数的线性度误差为约束方程。
采用多变量非线性规划算法对模型求解来获取优化后的结构参数值。
以50m m和25m m口径的涡轮流量传感器为优化对象,在水流量装置上进行了实流实验。
结果表明,优化后两种口径的涡轮流量传感器的线性度误差分别降低了38.48%和43.59%,表明了理论优化分析的有效性。
.关键词:涡轮流量传感器;结构参数;线性度误差;单相流中图分类号:T H814文献标识码:A文章编号:1000-3932(2009)05-0070-041引言线性度误差是涡轮流量传感器重要的性能指标之一,决定着涡轮流量传感器实际测量的精确程度和性能。
作为工业中大量使用的一种传统流量传感器,研究者们针对涡轮流量传感器提出了多种不同的优化方案。
赵学端…将临界雷诺数引入到对涡轮流量传感器特性曲线的评价中来,通过临界雷诺数来指导传感器结构参数的优化,扩大了仪表的量程比。
吴海燕【2’提出速差因子的概念,利用速差因子来获取涡轮流量传感器的优化设计。
Bl ow spl通过优化涡轮流量传感器的表体来提高流量传感器的流量测量范围。
Sal a m i M l给出了影响涡轮流量传感器测量性能的几个主要设计参数,并指出在传感器的优化设计中应当充分考虑这些参数。
李刚”。
更以涡轮流量计作为标准表法流量标准装置的标准表为例,提出了一种提高装置计数精度的方法。
mpc中的优化算法MPC中的优化算法: 从理论到应用引言:Model Predictive Control(MPC)是一种广泛应用于工业自动化领域的控制策略。
它通过对系统模型进行预测,并通过优化算法来选择最优控制策略。
本文将介绍MPC中常用的优化算法,并探讨其在实际应用中的一些挑战和解决方案。
一、线性二次规划(Linear Quadratic Programming,LQP)线性二次规划是MPC最常用的优化算法之一。
它通过最小化代价函数来选择最优控制策略,同时满足系统的动态方程和约束条件。
LQP算法具有计算效率高、收敛性好等优点,适用于许多实际控制问题。
二、非线性规划(Nonlinear Programming,NLP)当系统模型具有非线性特性时,MPC需要使用非线性规划算法来求解最优控制策略。
NLP算法通过迭代优化过程,逐步逼近最优解。
然而,由于非线性规划问题的复杂性,NLP算法的计算量较大,需要高效的数值求解方法。
三、多目标优化算法在某些应用中,MPC需要同时优化多个目标函数,如最小化能耗和最大化生产效率。
这时,多目标优化算法可以用来解决这类问题。
常用的多目标优化算法有遗传算法、粒子群算法等。
这些算法通过搜索解空间的不同位置,找到一组最优解,满足不同的目标需求。
四、鲁棒优化算法在实际应用中,系统模型通常存在不确定性和扰动。
鲁棒优化算法可以在系统不确定性较大时,保证控制性能的稳定性和鲁棒性。
这类算法通常使用鲁棒约束和鲁棒代价函数来处理不确定性,以保证控制器在各种不确定情况下都具有良好的性能。
五、混合整数优化算法有些应用中,MPC需要考虑离散控制变量,如开关状态等。
混合整数优化算法可以用来求解这类问题。
它将连续变量和离散变量结合起来,通过搜索整数解空间,找到最优解。
然而,由于整数优化问题的NP难度,混合整数优化算法通常需要进行适当的求解策略和剪枝操作。
六、并行优化算法随着计算机硬件的发展,MPC中的优化算法可以利用并行计算的优势来提高计算效率。
毕业论文题目非线性最优化计算方法与算法学院数学科学学院专业信息与计算科学班级计算1201学生陶红学号20120921104指导教师邢顺来二〇一六年五月二十五日摘要非线性规划问题是一般形式的非线性最优化问题。
本文针对非线性规划的最优化问题进行方法和算法分析。
传统的求解非线性规划的方法有最速下降法、牛顿法、可行方向法、函数逼近法、信赖域法,近来研究发现了更多的求解非线性规划问题的方法如遗传算法、粒子群算法。
本文对非线性规划分别从约束规划和无约束规划两个方面进行理论分析。
利用最速下降法和牛顿法两种典型算法求解无约束条件非线性规划问题,通过MATLAB程序求解最优值,探讨其收敛性和稳定性。
另外给出了阻尼牛顿法,探讨其算法的收敛性和稳定性,求解无约束非线性规划比牛顿法的精确度更高,收敛速度更快。
惩罚函数是经典的求解约束非线性的方法,本文采用以惩罚函数法为核心的遗传算法求解有约束条件非线性规划问题,通过MATLAB程序求解最优值,探讨其收敛性和稳定性。
并改进遗传算法,给出适应度函数,通过变换适应度函数,提高算法的收敛性和稳定性。
关键词:非线性规划;最速下降法;牛顿法;遗传算法ABSTRACTNonlinear programming problem is the general form of the nonlinear optimization problem. In this paper, we carry on the analysis of the method and algorithm aiming at the optimization problem of nonlinear programming. The traditional methods of solving nonlinear programming problems include steepest descent method, Newton method, the feasible direction method, function approximation method and trust region method. Recent studies found more method of solving nonlinear programming problems, such as genetic algorithm, particle swarm optimization (pso) algorithm. In this paper, the nonlinear programming is analyzed from two aspects: the constraint programming and the unconstrained programming.We solve unconstrained condition nonlinear programming problem by steepest descent method and Newton's method, and get the optimal value through MATLAB. Then the convergence and stability are discussed. Besides, the damped Newton method is furnished. By discussing the convergence and stability of the algorithm, the damped Newton method has higher accuracy and faster convergent speed than Newton's method in solving unconstrained nonlinear programming problems.Punishment function is a classical method for solving constrained nonlinear. This paper solves nonlinear programming problem with constraints by using genetic algorithm method, the core of which is SUMT. Get the optimal value through MATLAB, then the convergence and stability are discussed. Improve genetic algorithm, give the fitness function, and improve the convergence and stability of the algorithm through transforming the fitness function.Key words:Nonlinear Programming; Pteepest Descent Method; Newton Method; GeneticAlgorithm目录摘要 (I)ABSTRACT .......................................................................................................................... I I 1 前言 .. (4)1.1 引言 (4)1.2 非线性规划的发展背景 (5)1.3 国内外研究现状 (5)1.4 研究主要内容及研究方案 (6)1.4.1 研究的主要内容 (6)1.4.2 研究方案 (6)1.5 研究难点 (7)2 预备知识 (8)2.1 向量和矩阵范数 (8)2.1.1 常见的向量范数 (8)2.1.2 谱范数 (9)2.2符号和定义 (9)2.3 数值误差 (10)2.4 算法的稳定性 (10)2.5 收敛性 (12)3 非线性规划模型 (13)3.1 非线性规划模型 (13)3.2 无约束非线性规划 (14)3.2.1 最速下降法 (16)3.2.2 牛顿法 (18)3.2.2 阻尼牛顿法 (18)3.3 约束非线性规划 (20)3.3.1 惩罚函数法 (21)3.3.2 遗传算法 (21)3.3.3 自适应遗传算法 (22)结论 (26)参考文献 (27)致谢 (28)附录 (29)1 前言1.1 引言我们知道最优化是一门很古老的求极值问题,最优化在求解线性规划,非线性规划,随机规划,多目标规划,非光滑规划,整数规划,几何规划等方面研究得到迅速发展。
关于序列二次规划(SQP)算法求解非线性规划问题研究兰州大学硕士学位论文关于序列二次规划(SQP)算法求解非线性规划问题的研究姓名:石国春申请学位级别:硕士专业:数学、运筹学与控制论指导教师:王海明20090602兰州大学2009届硕士学位论文摘要非线性约束优化问题是最一般形式的非线性规划NLP问题,近年来,人们通过对它的研究,提出了解决此类问题的许多方法,如罚函数法,可行方向法,Quadratic及序列二次规划SequentialProgramming简写为SOP方法。
本文主要研究用序列二次规划SOP算法求解不等式约束的非线性规划问题。
SOP算法求解非线性约束优化问题主要通过求解一系列二次规划子问题来实现。
本文基于对大规模约束优化问题的讨论,研究了积极约束集上的SOP 算法。
我们在约束优化问题的s一积极约束集上构造一个二次规划子问题,通过对该二次规划子问题求解,获得一个搜索方向。
利用一般的价值罚函数进行线搜索,得到改进的迭代点。
本文证明了这个算法在一定的条件下是全局收敛的。
关键字:非线性规划,序列二次规划,积极约束集Hl兰州人学2009届硕二t学位论文AbstractNonlinearconstrainedarethemostinoptimizationproblemsgenericsubjectsmathematicalnewmethodsareachievedtosolveprogramming.Recently,Manyasdirectionit,suchfunction,feasiblemethod,sequentialquadraticpenaltyprogramming??forconstrainedInthisthemethodspaper,westudysolvinginequalityabyprogrammingalgorithm.optimizationproblemssequentialquadraticmethodaofSQPgeneratesquadraticprogrammingQPsequencemotivationforthisworkisfromtheofsubproblems.OuroriginatedapplicationsinanactivesetSQPandSQPsolvinglarge-scaleproblems.wepresentstudyforconstrainedestablishontheQPalgorithminequalityoptimization.wesubproblemsactivesetofthesearchdirectionisachievedQPoriginalproblem.AbysolvingandExactfunctionsaslinesearchfunctionsubproblems.wepresentgeneralpenaltyunderobtainabetteriterate.theofourisestablishedglobalconvergencealgorithmsuitableconditions.Keywords:nonlinearprogramming,sequentialquadraticprogrammingalgorithm,activesetlv兰州大学2009届硕士学位论文原创性声明本人郑重声明:本人所呈交的学位论文,是在导师的指导下独立进行研究所取得的成果。
非线性规划非线性规划(Nonlinear Programming ,简记为NP)研究的对象是非线性函数的数值最优化问题,是运筹学的最重要分支之一,20世纪50年代形成一门学科,其理论和应用发展十分迅猛,随着计算机的发展,非线性规划应用越来越广泛,针对不同的问题提出了特别的算法,到目前为止还没有适合于各种非线性规划问题的一般算法,有待人们进一步研究.§1 非线性规划基本概念一、引例例7.1 一容器由圆锥面和圆柱面围成. 表面积为S ,圆锥部分高为h ,h 和圆柱部分高2x 之比为a ,1x 为圆柱底圆半径.求21,x x 使面积最大.解: 由条件 a x h =2/22121231x x x ax V ππ+=21212222112221x x x x a x x S πππ+++⋅⋅=所以,数学模型为:212)311(max x x a V π+=s.t. S x x x x a x x =+++21212222112πππ0,21≥x x例7.2 某高校学生食堂用餐,拟购三种食品,馒头0.3元/个,肉丸子1元/个,青菜0.6/碗.该学生的一顿饭支出不能够超过5元.问如何花费达到最满意?解: 设该学生买入馒头,肉丸子,青菜的数量分别为321,,x x x ; 个人的满意度函数即为效用函数为321321321),,(aaax x Ax x x x u =.于是数学模型为321321321),,(max aaax x Ax x x x u =s.t.56.03.0321≤++x x x 321,,x x x 为非负整数二、数学模型称如下形式的数学模型为数学规划(Mathematical Programming 简称MP ) )(min x f z = (7.1) (MP ) t s . 0)(≥x g i m i ,,1 = (7.2) 0)(=x h j l j ,,1 = (7.3)其中Tn x x x x ),,,(21 =是n 维欧几里得空间nR 中的向量(点),)(x f 为目标函数,0)(,0)(=≥x h x g j i 为约束条件.称满足约束条件的向量x 为(MP )问题的一个可行解,全体可行点组成的集合称为可行域.K ={}l j x h mi x g R x j i n,,2,10)(,,2,10)( ===≤∈如果)(),(),(x h x g x f j i 均为线性函数,就是前面所学的线性规划问题(LP).如果至少有一个为非线性函数称为非线性规划问题.由于等式约束0)(=x h j 等价于下列两个不等式约束 0)(,0)(≥-≥x h x h j j 所以(MP)问题又可表示为 )(min x f z =s.t. 0)(≥x g i m i ,,1 = (7.4) 三、数学基础 1、线性代数知识考虑二次型Az z T ,z 为n 维向量正定的二次型:若对于任意0≠z ,有0>Az z T; 半正定的二次型:若对于任意0≠z ,有0≥Az z T ; 负定的二次型:若对于任意0≠z ,有0<Az z T ; 半负定的二次型:若对于任意0≠z ,有0≤Az z T ;不定二次型:0≠∃z ,有0>Az z T,又0≠∃z ,有0<Az z T.二次型Az z T 为正定的充要条件是它的矩阵A 的左上角各阶主子式都大于零. 二次型Az z T 为负定的充要条件是它的矩阵A 的左上角各阶主子式负正相间.2、分析数学知识(1)方向导数和梯度(二维为例)考虑函数),(21x x f Z =,及方向j i lϕϕsin cos +=梯度:Tx f x f j x f i x f x x f ),(),(212121∂∂∂∂=∂∂+∂∂=∇ ; 方向导数:⎪⎪⎭⎫⎝⎛∂∂∂∂=∂∂+∂∂=∂∂ϕϕϕϕsin cos ),(sin cos 2121x f x f x f x f l f )),,(cos(||),(||),(),(21212121l x x gardf x x gardf lx x gardf lx x f T=⋅=⋅∇=考虑等值线00201),(c x x f =上一点),(0201x x 梯度方向 ),(0201x x gardf 即为法线方向n.如果)(x f 二次可微,称⎪⎪⎪⎪⎪⎭⎫⎝⎛=)()()()()()()()()()(212222111211x h x h x h x h x h x h x h x h x h x H nn n n n n为)(x f 在点 x 处的Hesse 矩阵.(2)多元函数泰勒公式:若)(,),(0x f R S x x f u n⊆∈=在点0x 处的某个领域具有二阶连续偏导数,则有x x x f x x x f x f x x f T T∆∆+∇∆+∆∇+=∆+)(21)()()(02000θ 10≤≤θ )||(||)(21)()(||)(||)()(2020000x x x f x x x f x f x x x f x f T TT ∆+∆∇∆+∆∇+=∆+∆∇+=οο 四、最优解的类型定义7.1 (MP)问题的一个可行点*x 被称为整体极小点,如果对于任意的可行点K x ∈,都有不等式)()(*x f x f ≥成立.如果对于任意可行点*,x x K x ≠∈均有)()(*x f x f >,称点*x 是)(x f 的可行解集K上的严格整体极小点.定义7.2 问题(MP)的一个可行点*x 被称为一个局部极小点,如果存在一个正数ε使得对于所有满足关系式ε<-*x x 的可行点x 都有)()(*≥x f x f 成立.如果对任意的可行点K x ∈,*≠x x ,存在一个正数ε使得对于所有满足关系式ε<-*x x 的可行点x 都有)()(*>x f x f 成立.则称*x 是)(x f 在K 上的一个局部严格极小点.显然整体极小点一定是局部极小点,反之不然. 五、凸规划定义7.3 集合K 被称为nR 中的一个凸集,如果对于K 中任意两点21,x x 和任一实数]1,0[∈λ,点K x x ∈-+21)1(λλ.几何解释:当一个集合是凸集时,连接此集合中任意两点的线段也一定包含在此集合内,规定φ空集是凸集.定义7.4 凸函数:)(x f 是凸集K 上的实值函数,如果对于K 中任意两点21,x x 和任意实数]1,0[∈λ有不等式)()1()())1((2121x f x f x x f λλλλ-+≤-+成立.严格凸函数:)(x f 是凸集K 上的实值函数,如果对于K 中任意两点21,x x ,21x x ≠和任意实数)1,0(∈λ,有不等式)()1()())1((2121x f x f x x f λλλλ-+<-+成立.定义7.5 )(x f 是定义在凸集K 上的实值函数,如果)(x f -是K 上凸函数,称)(x f 是凹函数.定理7.1 设)(x f 是凸集K 上的凸函数,则)(x f 在K 中的任一局部极小点都是它的整体极小点.证明: 设*x 是一局部极小点而非整体极小点,则必存在可行点K x ∈(可行域))()(*x f x f <∍.对任一]1,0[∈λ,由于)(x f 的凸性,有 )()()1()())1((***x f x f x f x x f ≤-+≤-+λλλλ当0→λ时,*)1(x x λλ-+与*x 充分接近,与*x 是局部极小矛盾. 证毕. 定义7.6 设有(MP)问题)(min x f kx ∈,若可行域K 是凸集,)(x f 是K 上的凸函数,则称此规划问题为凸规划.定理7.2 凸规划的任一局部极小解为整体极小解. 六、非线性规划问题的求解方法 考虑(MP)问题:lj x h m i x g t s x f j i ,,10)(,,10)(.)(min ===≥ (7.5) 一般来说,MP 问题难以求得整体极小点,只能求得局部极小点.以后我们说求(MP)问题,指的是求局部极小点.1、无约束极小化问题(UMP ) )(min x f nRx ∈ (7.6) 这里)(x f 是定义在n R 上的一个实值函数定理7.3(一阶必要条件)如果)(x f 是可微函数.*x 是上述无约束问题(UMP )的一个局部极小点或局部极大点的必要条件是:0)(*=∇x f .满足0)(=∇x f 的点称为平稳点或驻点.定理7.4 设)(x f 为定义在n R 上的二阶连续可微函数,如果*x 是)(x f 的一个局部极小点,必有nT Ry y x H y x f ∈∀≥=∇0)(0)(**这里)(*x H 表示)(x f 在*x 处的Hesse 矩阵.证明:nE y ∈∀,根据)(x f 在点*x 处的展开式有)()(21)()(2*2**λολλ++=+y x H y x f y x f T)0)((*=∇x f若0)(,*<∍∈∃y x H y R y T n ,当λ充分小时,有 )()(21|2*2λολ>y x H y T∴有)()(**x f y x f <+λ.这和*x 是)(x f 的极小矛盾.定理7.5 设)(x f 是定义在nR 上的二阶连续可微函数,如果点*x 满足0)(*=∇x f ,而且存在*x 的一个邻域0)(),(,),(*≥∈∀∈∀∍*y x H y x x R y x T n 有 ,则*x 是)(x f 的一个局部极小点.在高等数学中求解极值点方法先求出满足0)(=∇x f 的点及不可导点.在这些点判断)(x f 是否取得极小值.2、等式约束的极小化问题考虑 )(min x fl j x h t s j ,,10)(. == (7.7)定义7.7 如果)(,),(),(21x h x h x h l ∇∇∇ 在点x 处线性无关,则称点x 是此约束条件的一个正则点.Langrange 乘子法:引进拉格朗日函数 ∑=-=lj jj x h u x f u x L 1)()(),(其中Tl u u u u ),,,(21 =被称为拉格朗日乘子向量.定理7.6 设l j x h x f j ,,1),(),( =是连续可微函数,*x 是)(x f 在可行集中的一个局 部极小点.在*x 是正则点的假定下必存在一个拉格朗日乘子向量u ,使得),(*u x 满足方程组)(0)()(*1**==∇-∇∑=x h x h u x f lj j j对等式约束,用拉格朗日乘子法求解出平稳点,判断是否极值点.用上述解析法求解无约束和等式约束极值问题的平稳点,再判断是否为极值点.该方法有一定的局限性:(1)它们要求函数是连续的,可微的,实际问题中不一定满足这一条件; (2)上述求平稳点的方程组求解比较困难,有些解不出来; (3)实际问题中有大量的不等式约束.因此求解非线性规划应有更好的新方法.实际应用中一般用迭代法来求解非线性规划问题,即求近似最优解的方法.3、非线性规划问题的求解方法—迭代法迭代法一般过程为:在(MP)问题的可行域K 内选择初始点0:,0=k x ,确定某一方向k p ,使目标函数)(x f 从k x 出发,沿k p 方向使目标函数值下降,即)0(,>∈+=λλK p x x k ,有)()(0x f x f <,进一步确定kλ,使)(m i n )(0k k k k k p x f p x f λλλ+=+>,令k k k k p x x λ+=+1.如果1+k x 已满足某终止条件,1+k x 为近似最优解.否则,从1+k x 出发找一个方向1+k p ,确定步长1+k λ,使K p x x k k k k ∈+=++++1112λ,有)(min )(1102++>++=k k k p x f x f λλ.如此继续,将得到点列{}kx .显然有 >>>>)()()(1kx f x f x f ,即点列{}kx 相对应的目标函数是一个单调下降的数列.当{}kx 是有穷点列时,希望最后一个点是(MP)问题的某种意义下的最优解.当{}kx 为无穷点列时,它有极限点,其极限点是(MP)的某种意义下的最优解(此时称该方法是收敛的).迭代法求解(MP)的注意点:该方法构造的点列{}kx ,其极限点应是近似最优解,即该算法必须是收敛的.迭代法一般步骤:①. 选取初始点0x ,0:=k ②. 构造搜索方向kp ③. 根据kp 方向确定k λ ④. 令k k k k p x xλ+=+1⑤. 若1+k x已满足某终止条件,停止迭代,输出近似最优解1+k x.否则令1:+=k k ,转向第②步.计算终止条件在上述迭代中有:若1+k x满足某终止条件则停止计算,输出近似最优解1+k x.这里满足某终止条件即到达某精确度要求.常用的计算终止条件有以下几个:(1)自变量的改变量充分小时,11||||ε<-+k k x x,或21||||||||ε<-+kk k x x x ,停止计算. (2)当函数值的下降量充分小时,31)()(ε<-+k kx f x f ,或41|)(|)()(ε<-+k k k x f x f x f , 停止计算.(3)在无约束最优化中,当函数梯度的模充分小时51||)(||ε<∇+k x f ,停止计算.迭代法的关键:① 如何构造每一轮的搜索方向kp ② 确定步长k λ关于k λ,前面是以)(min kk p x f λλ+产生的,也有些算法k λ取为一个固定值,这要根据具体问题来确定.关于kp 的选择,在无约束极值问题中只要是使目标函数值下降的方向就可以了,对于约束极值问题则必需为可行下降方向.定义7.8 设0,,:1≠∈→p R x R R f nn,若存在0>δ使),0(δλ∈∀,)()(x f p x f <+λ则称向量p 是函数)(x f 在点x 处的下降方向.定义7.9 设0,,,≠∈∈∈p R p K x R K nn,若存在0>λ使得K p x ∈+λ,称向量p 是点x 处关于K 的可行方向. 若一个向量p 既是目标函数f 在点x 处的下降方向,又是该点处关于可行域K 的可行方向,则称p 为函数f 在点x 处关于区域K 的可行下降方向.根据不同原理产生了不同的kp 和k λ的选择方法,就产生了各种算法. 在以后的讨论中,一维极值的优化问题是讨论求解步长k λ.无约束极值中讨论的最速下降法,共轭方向法,坐标轮换法,牛顿法,变尺度法及有约束极值中讨论的可行方向法都是根据不同的原理选择kp 得到的迭代算法.七、迭代算法的收敛性定义7.10 设有一算法A ,若对任一初始点(可行点),通过A 进行迭代时,或在有限步后停止得到满足要求的点;或得到一个无穷点列,它的任何一个聚点均是满足要求的点,则称此算法A 具有全局收敛性.定义7.11 设(UMP )问题的目标函数Px Qx x x f T+=21)(,Q 为对称半正定矩阵, 若由算法A 进行迭代时,不论初始点0x 如何选择,必能在有限步后停止迭代,得到所要求的点,则称此算法A 有二次有限终止性.定义7.12 设序列{}kr收敛于*r,定义满足∞<=--≤**+∞−→−βhkk k rr r r 1______lim0的非负数h 的上确界为{}k r 的收敛级.若序列的收敛级为h ,就称序列是h 级收敛的.若1=h 且1<β就称序列是以收敛比β线性收敛的. 若1>h 或1=h 且0=β就称序列是超线性收敛的. 如何判别算法的收敛性和收敛速度问题本书不讨论.本书给出的算法中,最速下降法具有全局收敛性、是线性收敛的;改进牛顿法具有全局收敛性、二次有限终止性、是二阶线性收敛的;变尺度法和共轭方向法具有全局收敛性和二次有限终止性、是超线性收敛的;Zoutenddijk 法不具有全局收敛性、改进的T-V 法具有全局收敛性;制约函数法具有全局收敛性.关于这些算法的收敛性的讨论和证明有兴趣的读者可参考其他文献.§2 一维极值问题的优化方法前面讨论迭代算法时,从kx 出发确定沿k p 方向的步长k λ是这样求解的),(min 0k k p x f λλ+>这里k x ,k p 已知.所以,若记)()(λλg p x f k k =+,则为求解)(min 0λλg >的过程.于是我们考虑如下形式的极值问题.)(min x f bx a ≤≤ (7.8)b a R x ,,1∈为任意实数很显然可应用高等数学中学过的解析法,即令0)('=x f 求出平稳点,但如前面所述如果该方程解不出来,怎么办?可用下述迭代算法—0.618法.定义7.13 )(x f 定义在],[b a 上,若存在点∍∈],[*b a x 当*x y x ≤<,有)()(y f x f >,当*x y x ≥>时,)()(y f x f >,称)(x f 在],[b a 中为单峰函数(单谷函数).显然满足定义要求的点*x 是)(x f 在],[b a 中的极小点.在],[b a 中任选两点21,x x ,且b x x a <<<21,根据)(x f 的单峰性,若)()(21x f x f <,则*x 必然位于],[2x a 内,如果)()(21x f x f >,则*x 必然位于],[1b x 内.如果)()(21x f x f =,则*x 必然位于],[21x x ,记此区间为],[11b a .如此继续,得闭区间套⊃⊃⊃⊃],[],[],[11n n b a b a b a .显然 ,1,0],,[*=∈i b a x i i ,又0→-i i a b .由闭区间套性质, *x 为极小值点.闭区间套的选择方法不同,求得的*x 的快慢及求解过程的计算量是不一样的,有一个常用的方法是0.618法.0.618法: 取],[],[b a =βα① 在],[βα中选取1λ和2λ,)(618.0),(382.021αβαλαβαλ-+=-+=,求出)(1λf 和)(2λf 进入②.② 若)()(21λλf f <,取],[],[2λαβα=,若αλ-2已足够小,停止,否则进入③.若)()(21λλf f >,取],[],[1βλβα=,若1λβ-已足够小,停止,否则进入④. 若)()(21λλf f =,取],[],[21λλβα=,若12λλ-已足够小,停止,否则进入①. ③ 取上一步中的1λ为2λ,显然有)(618.02αβαλ-+=,令)(382.01αβαλ-+=,求出)(1λf ,返回②.④ 取上一步的2λ为1λ,则有)(382.01αβαλ-+=,令)(618.02αβαλ-+=,求出)(2λf 返回②.设初始区间为],[b a ,用0.618法,经过k 次迭代后],[βα的长度ka b 618.1)(-=-αβ,只要k 充分大αβ-可以小于任何给定的正数.例7.3 用0.618法求解λλλ2)(min 2+=f单峰区间为[-3,5],2.0=ε解:[α,β]=[-3,5]1λ=-3+0.382×8=0.056 )(1λf =0.1152λ=-3+0.618×8=1.944 )(2λf =7.667由于)(1λf <)(2λf 所以新的不定区间为[α,β] =[-3,1.944] 由于β-α=4.944>0.22λ:=1λ=0.056 )(2λf :=)(1λf =0.115 1λ=-3+0.382×4.944=-1.112 )(1λf =-0.987如此反复得下表7-1:在进行8次迭代后,2.0112.1936.0<+-=-αβ取中间值024.1*-=λ或032.12-=λ作为近似最优解.显然真正极小点是-1.0.一维收索方法很多,如函数逼近法、牛顿法等可参考其他文献.§3 无约束极值的优化方法考虑无约束最优化问题(UMP ))(min x f nR x ∈ (7.9) 前面已经讨论过,求解此无约束优化问题,可以求出平稳点及不可导点的方法.令0)(*=∇x f ,求出平稳点.如果)(*2x f ∇是正定的,则*x 是UMP 的严格局部最优解.若)(x f 在n R 上是凸函数,则是整体最优解.在求解0)(*=∇x f 这n 维方程组比较困难时,就用最优化算法——迭代法.本节将介绍最速下降法,牛顿法,共轭方向法,坐标轮换法,变尺度法.这些算法就是用不同的方法来选择搜索方向k p 而得到的.当然kp 必须是下降方向.定理7.7 设R R f n→:,在点x 处可微,若存在nR p ∈,使0)(<∇p x f T,则向量p是f 在x 处的下降方向.证明:)(x f 可微(在x 处),由泰勒展开式,有 ||)(||)()()(p p x f x f p x f Tλολλ+∇+=+ ,0,0)(><∇λp x f T0)(<∇∴p x f Tλ),(当δλδ0∈∃∴时,有0||)(||)(<+∇p p x f Tλολ),0()()(δλλ∈∀<+∴x f p x fp ∴是)(x f 在点x 的下降方向. 证毕.一、最速下降法最速下降法又称梯度法,选择负梯度方向作为目标函数值下降的方向,是比较古老的一种算法,其它的方法是它的变形或受它的启发而得到的,因此它是最优化方法的基础. 基本思想:迭代法求解无约束最优化(5.9)问题的关键是求下降方向kp .显然最容易想到的是使目标函数值下降速度最快的方向.从当前点kx 出发,什么方向是使)(x f 下降速度最快呢? 由泰勒展开知:||)(||)()()(k k T k k k k p p x f p x f x f λολλ+∇-=+-略去λ的高阶无穷小项,取)(kkx f p -∇=时,函数值下降最多.而)(kx f ∇为)(x f 在kx 处的梯度,所以下降方向kp 取为负梯度方向时,目标函数值下降最快.最速下降法:①. 取初始点0x ,允许误差0>ε,令0:=k ②. 计算)(kkx f p -∇=③. 若ε<||||k p ,停止,点k x 为近似最优解.否则进入④.④. 求 k λ,使)(min )(0kk k k k p x f p x f λλλ+=+≥ ⑤. 令kk k k p x xλ+=+1,1:+=k k ,返回②例7.4 用最速下降法求解下列无约束优化问题1222121225),(m in x x x x x f -+=取初始点Tx )2,2(0= 终止误差 610-=ε解:很显然,该问题的整体最优解为Tx )0,1(*=⎪⎪⎭⎫⎝⎛-=∇215022)(x x x f ,令0,10)(21==⇒=∇x x x f易验证)(*2x f ∇是正定的, ∴是整体最优解. 下面用最速下降法求解T T x x x f x f x f )50,22(),()(2121-=∂∂∂∂=∇ T x )2,2(0=T x f )100,2()(0=∇∴取Tp )100,2(0-=由⎪⎪⎭⎫⎝⎛--=⎪⎪⎭⎫ ⎝⎛--+⎪⎪⎭⎫ ⎝⎛=+λλλλ10022210022200p x4)22(2)1002(25)22()(2200+---+-=+λλλλp x f得0)1002(5000)22(4=----=λλλd df020007679.0500008100080==⇒λ⎪⎪⎭⎫⎝⎛-=⎪⎪⎭⎫ ⎝⎛--+⎪⎪⎭⎫ ⎝⎛=+=0007679.0959984642.11002020007679.0220001p x x λ重复上述过程得 Tx )01824717.0,009122542.1(2=789850288.0)(,078282.0)(,100)(21-=-==x f x f x f图7-1从图7-1可知,{}kx 随着迭代次数的增加,越来越接近与最优解)0,1(,同时也看到,随着迭代次数的增加,收敛速度越来越慢.极小点附近沿着一种锯齿形前进,即产生“拉锯”现象:{}kx沿相互正交的方向小步拐进,趋于最优解的过程非常缓慢.这种现象怎样解释?如何克服?在求k λ时,由于)()(kkp x f λλϕ+=,求导得0)('=λϕ,k λ是)(λϕ的极小点.故有0)()('=⋅+∇=k T k k k k p p x f λλϕ,即0)(=⋅+∇kk k k p p x f λ,又)(11++-∇=k k x f p,即0)(1=⋅+k T k p p 或0)()(1=∇⋅∇+k T k x f x f .也就是最速下降法相邻两个搜索方向是彼此正交的.因此最速下降法是局部下降最快,但不一定是整体下降最快的.在实际应用中一般开始几步用最速下降法,后来用下面介绍的牛顿法.这样两个算法结合起来,求解速度较快.二、牛顿法 基本思想:考虑无约束优化问题(5.9))(min x f nRx ∈ 由前面的讨论知,若能解出方程组0)(=∇x f ,求出平稳点*x ,则可验证*x 是否为极值点.由于0)(=∇x f 难以求解.如果)(x f 具有连续的二阶偏导数,则考虑用)(x f 在点*x 二阶泰勒展开式条件替代)(x f ∇,即由22||)(||))(()(21)()()()(k k k T k k T k k x x x x x f x x x x x f x f x f -+-∇-+-∇+=ο))(()(21)()()()()(2kk T k k T k k x x x f x x x x x f x f x g x f -∇-+-∇+=≈⇒令0))(()()()(2=-∇+∇=∇≈∇kk k x x x f x f x g x f)())((121k k k k x f x f x x ∇∇-=⇒-+即从kx 出发,搜索方向为)())((12kkkx f x f p ∇∇-=-,步长恒为1,得到下一个迭代点1+k x.牛顿法:①. 选取初始点0,0=:k x ,精度0>ε ②. 计算)(kx f ∇,如果ε≤∇||)(||kx f ,计算终止.否则计算)(2kx f ∇,求出搜索方向)())((12kk k x f x f p ∇∇-=-. ③. 令1:,1+=+=+k k p x x k k k ,返回②.例7.5 考虑无约束问题22122214)(m in x x x x x f -+=试分别取初始点(1)T x )1,1(0=,(2)T x )4,3(0=(3)Tx )0,2(0=,取精度要求310-=ε,用牛顿法求解.解:⎪⎪⎭⎫ ⎝⎛--=∇212211228)(x x x x x x f ⎪⎪⎭⎫⎝⎛---=∇22228)(1122x x x x f (1) 取Tx )1,1(0=有Tx f )1,6()(0=∇ ε>=∇0828.6||)(||0x f⎪⎪⎭⎫⎝⎛--=∇2226)(02x fT x f x f p )2500.2,7500.1()())((01020--=∇⋅∇-=-Tp x x )2500.1,7500.0(01--=+= 重复计算结果得表7-2.ε<=0||)(||4x f T x )0,0(4=∴为近似最优解.实际上,该问题最优解为**)0,0(=x(2) 取Tx )4,3(0=,同上计算,得TT x x x )4,8284.2(,)4,8333.2(),4,3(21===有ε<=∇=∇=∇0||)(||,1667.0||)(||,1||)(||210x f x f x f ,这一迭代结果收敛到)(x f 的鞍点T)4,22(.(3) 取Tx )0,2(0=T x f )4,16()(0-=∇ ⎪⎪⎭⎫⎝⎛--=∇2448)(02x f0)(02=∇x f , 即)(02x f ∇不可逆,所以无法求得点1x .牛顿法的主要缺点:(1) 该法的某次迭代反而使目标函数值增大(见上例).(2) 初始点0x 距极小点*x 较远时,产生的点列{}kx可能不收敛,还会出现)(*2x f ∇的奇异情况.(3) )(*2x f ∇的逆矩阵计算量大. 牛顿迭代法的主要优点:当目标函数)(x f 满足一定条件,初始点0x 充分接近极小点*x 时,由牛顿法产生的点列{}kx 不仅能够收敛到*x,而且收敛速度非常快.实际应用中常将最速下降法和牛顿法结合起来使用.牛顿法的改进:上面介绍的牛顿法中,kx 处的搜索方向为)())((12kkkx f x f p ∇∇-=-,步长恒为 1.若通过一维搜索来取最优步长k λ,可防止在迭代中步长恒为1时标目标函数值增大的可能. 改进的牛顿法:①. 取初始点nR x ∈0,允许误差0:,0=>k ε.②. 检验是否满足ε<∇||)(||kx f ,若是,迭代停止,得到k x 为近似最优解.否则进入③.③. 令)())((12kk k x f x f p ∇∇-=-.④. 求k λ,使)()(min kk k k k p x f p x f λλλ+=+. ⑤. 令k k k k p x x λ+=+1,令1+=k k :转②.三、坐标轮换法既然求解非线性规划问题的迭代法是给出初始点0x ,求出一个方向kp ,根据kp 确定步长k λ,使k k k k p x xλ+=+1,如果1+k x 满足某精度要求则停止,否则继续找方向1+k p .显然构造出搜索方向有一定的困难,能否按既定的搜索方向寻找最优解,省去找搜索方向kp 呢?在最速下降法中我们看到相邻两个搜索方向kp 和1+k p是正交的.我们知道在n 维欧氏空间中坐标轴向量n εεε,,,21 是正交的,可否选坐标轴向量为搜索方向kp 为呢?回答是肯定的,这样我们得到了坐标轮换法.基本思想:从1x 出发,取11ε=p ,沿1p 进行一维搜索得到1112p x x λ+=.若2x 满足精度要求,则停止.否则取22ε=p ,2223p x x λ+=.如此继续,, 取n n n n n n p x x p λε+==+1,,若1+n x 满足精度要求,则停止.否则令11ε=+n p ,1112+++++=n n n n p x x λ,如此反复连续,可以求出近似最优解.坐标轮换法的缺点是收敛速度较慢,搜索效率较低,但基本思想简单,沿坐标轴的方向进行搜索.四、共轭方向法和共轭梯度法共轭方向法是一类方法的总称,它原来是为求解目标函数为二次函数的问题而设计的.这类方法的特点是:方法中的搜索方向是与二次函数的系数矩阵Q 有关的所谓共轭方向,用这类方法求解n 元二次函数的极小化问题最多进行n 次一维搜索便可以得到极小点.由于可微的非二次函数在极小点附近的性态近似于二次函数,因此这类方法也用于求可微的非二次函数的UMP 问题.定义7.14 设Q 为n n ⨯对称正定矩阵,如果0=Qy x T称n 维向量x 和y 关于Q 共轭.定义7.15 设k p p p ,,,21 为nR 中一组向量, Q 是一个n n ⨯对称正定矩阵.如果k j i j i Qp p Qp p i T i j T i ,,2,1,,,0,0 =≠≠=,称k p p p ,,,21 为Q 共轭向量组,也称它们为一组Q 共轭方向.当E Q =(单位矩阵)时,为正交方向.定理7.8 若k p p p ,,,21 为矩阵Q 共轭向量组,则它们必线性无关. 证明: 若存在k l l l ,,,21 ,使011=++k k p l p l ,则对任一k j ,,2,1 =,由 0)(11===∑∑==j T j j ki j T j iki iiT jQp p l Qp pl p l Q p又0>j Tj Qp p , 0=∴j l∴ k p p p ,,,21 线性无关. 证毕.由高等代数知识可知, Q 共轭向量组中最多包含n 个向量, n 是向量的维数.反之,可以证明,由n 维空间的任一组基出发可以构造出一组Q 共轭方向11,,,-n pp p .前面我们已经讲述了坐标轮换法,在n 维欧几里德空间中, n εεε,,,21 是一组线性无关的正交向量.从0x 出发,依次使用n εεε,,,21 作为下降方向进行一维精确搜索来确定n x x x ,,,21 ,重复进行得点列{}k x ,最终求得满足精度要求的最优解.刚才我们引进了共轭向量组11,,,-n p p p ,又证明了它们的线性无关性,那么是否可以用这共轭向量组像坐标轮换法一样,从0x 出发依次用11,,,-n pp p 作为下降方向来确定{}kx,最终求得近似最优解?回答是肯定的.这个方法称为共轭方向法.共轭方向法适合任何可微凸函数,且对于二次函数极值)(min x f x p Qx x T T+=21特 别有效.下面的定理告诉我们用共轭方向法求解二次函数的极值,经过n 次迭代就能求得最优解.定理7.9 设Q 为n n ⨯对称正定矩阵,函数x p Qx x x f T T+=21)(,又设 110,,,-n p p p 为一组Q 共轭向量组,且每个i p 是(下面形成的)i x 点处的下降方向.则由任一点0x 出发,按如下迭代至多n 步后收敛,k k k k p x xλ+=+1,这里k λ满足)(m i n )(0k k k k k p x f p x f λλλ+=+>.证明: 欲证至多n 步收敛,即证0)(=∇nx f .下证)(nx f ∇和11,,,-n pp p 正交.p Qx x f +=∇)( p Qx x f kk+=∇∴)( p p x Q p Qx xf k k k k k ++=+=∇++)()(11λkk k k k k Qp x f p Qp Qx λλ+∇=++=)( =+∇=∇---111)()(n n n n Qpx f x f λ 11111)(--++++++∇=n n k k k Qp Qp xf λλQ p Q p x f x f Tn n T k k T k T n )()()()(11111--++++++∇=∇λλkT n n k T k k k T k k T n Qp p Qp p p x f p x f )()()()(11111--++++++∇=∇λλ000+++= )2,,2,1,0(-=n k 又0)(1=∇-n Tn px f0)(=∇∴kT n p x f )1,,1,0(-=n k)(nx f ∇∴和11,,,-n pp p 正交, 又110,,,-n pp p 线性无关.0)(=∇∴nx fnx ∴是问题的最优解. 证毕. 共轭方向法具有二次有限终止性. 由于共轭方向组11,,,-n p p p 的取法有很大的随意性,用不同方式产生一组共轭方向就得到不同的共轭方向法.如果利用迭代点处的负梯度向量为基础产生一组共轭方向,这样的方法叫共轭梯度法.下面对二次函数讨论形成Q 共轭梯度方向的一般方法,然后引到求解无约束化问题上.任取初始点n R x ∈0,若0)(0≠∇x f ,取)(0x f p -∇=,从0x 点沿方向0p 进行一维搜索 ,求得0λ.令0001p x x λ+=,若0)(1=∇x f ,则已获得最优解1*x x =.否则,取0011)(p x f p υ+-∇=,其中0υ的选择要使1p 和0p 关于Q 共轭,由0)(01=Qp p T ,得0100)()()(Qp p x f Q p T T ∇=υ一般地,若已获得Q 共轭方向kp p p ,,,1和依次沿它们进行一维搜索的得到的点列110,,,+k x x x ,若0)(1=∇+k x f ,则最优解为1*+=k x x ,否则∑=+++-∇=ki i i k k p xf p011)(α为使1+k p 和11,,,-k pp p 是共轭,可证0110====-k ααα所以有 k k k k p x f pυ+-∇=++)(11又1+k p和kp 是Q 共轭的.有0)(1=+k Tk Qp p,得kT k k T k k Qpp x f Q p )()()(1+∇=υ 2,,2,1,0-=n k 进一步可得k υ221||)(||||)(||k k x f x f ∇∇=+ 2,,1,0-=n k综合起来得 Fletcher-Reeves 公式2)21110||(||||)(||)()(k k k k k k k x f x f p x f px f p ∇∇=+-∇=-∇=+++υυ 2,,2,1,0-=n k (7.10)共轭梯度法: ①. 选取初始点0x ,给定终止误差0>ε. ②. 计算)(0x f ∇,若ε≤∇||)(||0x f ,停止迭代,输出0x .否则进行③.③. 取)(0x f p -∇=,令0:=k④. 求k λ,)(min )(0kkkk kp x f p x f λλλ+=+≥,令k k k k p x xλ+=+1⑤. 计算)(1+∇k xf ,若ε≤∇+||)(||1k x f ,停止迭代,1*+=k x x 为最优解.否则转⑥.⑥. 若n k =+1,令nx x =:0,转③(已经完成一组共轭方向的迭代,进入下一轮)否则转⑦ ⑦. 取kk k k p xf pυ+-∇=++)(11,其中221||)(||||)(||k k k x f x f ∇∇=+υ,令1:+=k k ,转④当)(x f 是二次函数时上述共轭梯度法至多进行n 步可求得最优解.当)(x f 不是二次函数,共轭梯度法也可以构造11,,,-n p p p ,但已不具有有限步收敛的性质,于是和坐标轮换法一样经过一轮迭代后,采用重新开始的技巧.上述共轭梯度法就是带有再开始技巧的F-R 法.例7.6 用F-R 法求下面问题 2212121252),(m in x x x x x f +-=取初始点T x )2,2(0=,终止误差为610-=ε解:在例7.4中已得Tx f p )100,2()(0-=-∇= Tx )0007679.0,959984642.1(1-= Tx f )038395.0,919969284.1()(1-=∇000368628.010004687756228.3||)(||||)(||20210==∇∇=x f x f υ ⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎭⎫ ⎝⎛--+⎪⎪⎭⎫ ⎝⎛-=+-∇=0015322.092070654.11002000368628.0038395.0919969284.1)(0011p x f p υ⎪⎪⎭⎫ ⎝⎛+--=+0015322.00007679.092070654.1959984642.111λλλp x0378228399.7687703443.3)(11=+-=+λλλd p x df499808794.01=∴λ⎪⎪⎭⎫ ⎝⎛≈⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎭⎫⎝⎛⨯+--⨯+=+=010********.0999998622.00015322.0499808794.00007679.0)92070654.1(499808794.0959984642.11112p x x λε<=∇0||)(||2x f , ∴最优解⎪⎪⎭⎫⎝⎛==012*x x .五、变尺度法当初始点为)(x f 的其极值点附近时牛顿法收敛速度很快,但缺点是需计算)(2kx f ∇的逆矩阵,在实际问题中目标函数往往相当复杂,计算二阶导数的工作量或者太大或者不可能,在x 的维数很高时,计算逆矩阵也相当费事.如果能设法构造另一个矩阵kH ,用它来逼近二阶导数矩阵的逆矩阵12))((-∇kx f 则可避免上述问题.下面就来研究如何构造12))((-∇kx f 的近似矩阵kH .我们希望:每一步都能以现有的信息来确定下一个搜索方向,每做一次迭代,目标函数值均有所下降,这些近似矩阵最后应收敛于最优解处的海赛矩阵的逆矩阵12))((-∇kx f .p Qx x f xp Qx x x f T T+=∇+=)(21)(考虑于是 )]()([)()()(11111k k k k k k k k x f x f Q x x x x Q x f xf ∇-∇=-⇒-=∇-∇+-+++当)(x f 是非二次函数时,令)]()([111k k k k k x f x f H x x ∇-∇=-+++ (7.11)称为拟牛顿条件.显然,我们构造出来的近似矩阵k H 必须满足上述拟牛顿条件及递推性:k k k H H H ∆+=+1,这里k H ∆称为矫正矩阵.记 k k k kk k x x x x f x f G -=∆∇-∇=∆++11)()( 有 kk k k k k G H H G H x ∆∆+=∆=∆+)(1 .变尺度法即DEP 法是由Davidon 首先提出,后来又被Fletcher 和Powell 改进的算法.记kk T k kT k k k k T k T k k k k kk T k kT k k k k T k T k k kG H G HG G H x G x x H H G H G H G G H x G x x H ∆∆∆∆-∆∆∆∆+=∆∆∆∆-∆∆∆∆=∆+)()()()()()()()(1 (7.12)容易验证1+k H 满足拟牛顿条件,称上式为DEP 公式.变尺度方法计算步骤:(1) 给出初始点nR x ∈0,允许误差0>ε.(2) 若ε<∇||)(||0x f ,停止,0x 为近似最优解;否则转下一步.(3) 取I H =0(单位矩阵),0=:k . (4) )(kk k x f H p ∇-=(5) 求k λ,使)(min )(0kk k k k p x f p x f λλλ+=+≥. (6) 令kk k k p x xλ+=+1(7) 若ε<∇+||)(||1k xf ,1+k x 为最优解,停止;否则当1-=n k 时,令n x x =:0转(3).(即迭代一轮n 次仍没求得最优解,以新的0x 为起点重新开始一轮新的迭代).k k k k k kx x x x f xf G n k -=∆∇-∇=∆-<++11),()(1时,令当.计算kk T k kT k k k k T k T k k kk G H G H G G H x G x x H H∆∆∆∆-∆∆∆∆+=+)()()()(1,令1+=k k :,转(4). §4 约束极值的最优化方法考虑(MP)问题:0)(0)(..)(min =≥x H x g t s x f (7.13)其中Tl T m x h x h x h x g x g x g ))(,),(()(,))(,),(()(11 ==是向量函数.显然 0)(0)(0)(≥-≥⇔=x h x h x h , 于是(MP )问题可以写为:Tm x g x g x g x g t s x f ))(,),(()(0)(..)(min 1 =≥ (7.14)一、积极约束设0x 是(MP )问题(5.14)的一个可行解.对0)(0≥x g i 来说,在点0x 有两种情况:或者0)(0>x g i ,或者0)(0=x g i .0)(0>x g i 时,则0x 不在0)(0=x g i 形成的边界上,称这一约束为0x 的非积极约束;0)(0=x g i 时,0x 处于由0)(0≥x g i 这个约束条件形成的可行域边界上,当0x 有变化时就不满足0)(0=x g i 的条件,所以称为积极约束,记为:{}()|()0,1i I x i g x i m ==≤≤.定义7.16 设x 满足约束条件0)(0≥x g i ),,1(m i =,0)(|{)(==x g i x I i ,}m i ≤≤1,如果)(x g i ∇,)(x I i ∈线性无关,则称点x 是约束条件的一个正则点.二、可行方向、下降方向的代数条件前面我们已经给出可行方向和下降方向的定义,下面给出其代数条件.可行方向:设K 是(MP )问题(5.14)的可行域,K x ∈,0,≠∈p R p n.若存在00>λ使得],0[0λλ∈时有K p x ∈+λ,称p 为x 点处的一个可行方向.由泰勒公式:||)(||)()()(p p x g x g p x g T i i i λολλ+∇+=+当x 为)(x g i 的积极约束时,有0)(=x g i .只要0>λ足够小,)(p x g i λ+和p x g T i )(∇λ同号,于是当0)(>∇p x g T i 时有0)(≥+p x g i λ )(x I i ∈.当x 为)(x g i 的非积极约束时,有0)(>x g i .由)(x g i 的连续性,当0>λ足够小时,由保号性知 0)(≥+p x g i λ )(x I i ∉.所以只要 0)(>∇p x g T i ,)(x I i ∈就可保证0)(≥+p x g i λ,于是p 为x 点处的一个可行方向.称0)(>∇p x g T i ,)(x I i ∈ 为p 在点x 处是可行方向的代数条件.下降方向:设K 是(MP )问题的可行域,K x ∈,0,≠∈p R p n.若存在00>λ使得],0[0λλ∈时,有)()(x f p x f <+λ,称p 为x 点处的一个下降方向.由泰勒公式:||)(||)()()(p p x f x f p x f Tλολλ+∇+=+.当λ足够小时,只要0)(<∇p x f T,有)()(x f p x f <+λ. 称0)(<∇p x f T为p 在x 点处的一个下降方向的代数条件.三、可行下降方向设K 为(MP )问题(5.14)的可行域,K x ∈,若存在0,≠∈p R p n,p 既是x 点处的下降方向又是可行方向,则称p 为点x 处的可行下降方向.定理7.10 考虑非线性规划问题(5.14),K x ∈,),,1)()(m i x g x f i =(和在x点处可微,若*x 是局部极小点,则x 点处必不存在可行下降方向,即不存在p 同时满足:⎪⎩⎪⎨⎧∈>∇<∇)(0)(0)(x I i p x g p x f Ti T证明:反证法,设局部极小点x 处存在可行下降方向p ,于是1λ∃,当],0[1λλ∈时有)()(x f p x f <+λ,又p 为可行方向.2λ∃∴当],0[2λλ∈时K p x ∈+λ,这与x 是。
数学建模按算法法分类知识点梳理一、线性规划算法相关知识点。
1. 基本概念。
- 线性规划问题是在一组线性约束条件下,求线性目标函数的最优值问题。
例如,目标函数z = ax+by(a、b为常数),约束条件可能是mx + ny≤slant c、px+qy≥slant d等形式的线性不等式组(m、n、p、q、c、d为常数)。
- 可行解:满足所有约束条件的解(x,y)称为可行解,所有可行解构成的集合称为可行域。
2. 求解方法。
- 单纯形法:这是求解线性规划问题的经典算法。
它从可行域的一个顶点(基本可行解)开始,沿着可行域的边界移动到另一个顶点,使得目标函数值不断优化,直到找到最优解。
在人教版教材中,会详细介绍单纯形表的构造和迭代步骤。
- 对偶理论:每一个线性规划问题都有一个与之对应的对偶问题。
原问题与对偶问题之间存在着许多重要的关系,例如对偶定理(若原问题有最优解,则对偶问题也有最优解,且目标函数值相等)。
利用对偶理论可以简化线性规划问题的求解,或者从不同角度分析问题的性质。
3. 在数学建模中的应用示例。
- 生产计划安排问题:某工厂生产两种产品A和B,生产A产品每单位需要m_1小时的劳动力和n_1单位的原材料,生产B产品每单位需要m_2小时的劳动力和n_2单位的原材料。
已知劳动力总工时为T小时,原材料总量为S单位,A产品单位利润为p_1,B产品单位利润为p_2。
求如何安排生产A和B的数量,使得利润最大。
可以设x为A产品的产量,y为B产品的产量,建立线性规划模型求解。
二、非线性规划算法相关知识点。
- 非线性规划问题是目标函数或约束条件中至少有一个是非线性函数的规划问题。
例如目标函数z = f(x,y),其中f(x,y)是一个非线性函数,如f(x,y)=x^2+y^2+xy,约束条件可能也包含非线性函数,如g(x,y)=x^3+y^3- 1≤slant0。
2. 求解方法。
- 梯度下降法:对于无约束的非线性规划问题,梯度下降法是一种常用的迭代算法。
第二节 SUMT 方法(罚函数法)一、SUMT 方法的原理SUMT (sequential unconstrained minimization technique )法,序列无约束极小化方法,亦称为罚函数法。
它是一种不等式约束最优化问题的间接解法它的基本思想是将原来的目标函数和约束函数按一定的方式构成一个新的函数,在这个新函数中,既包括目标函数,又包括全部约束函数和一个可以变化的乘子。
当这个乘子按一定的方式改变时,就得到一个新函数序列,求每一个新函数的最优解都是一个无约束最优化问题,这样就把一个约束最优化问题转化为一系列无约束最优化问题进行求解。
所得到的最优解序列将逐步逼近原问题的最优解。
引例一:min ()f X ax = s.t ()0g X b x =-≤ 显然f (X )的最优点为x*=b ,对应的最小值为f (X*)=ab用SUMT 求解函数的最优解 构造函数11(,)()()k k kX r f X r ax r g X b xΦ=-=--0k r >—可变化乘子,它是一个很小的正数。
其最优解为:*()kkr X r b a=+此时对应的(,)k X r Φ的最小值为***1(,)2k k kX r ax r b x ab ar Φ=--=+最优点*()k X r 和最小值*(,)k X r Φ均是kr 的函数。
当kr 取不同值时,它们有不同的值,而当0kr →时,**()k X r X b →=,*(,)*k X r f X ab Φ→=(),即最后收敛于约束最优点。
minlim[min (,)]() {|()0}kki r X r f X R X g X X R→Φ==≤∈ 以上分析从理论上说明了无约束最优化问题min (,)kX r Φ与约束优化问题min() {|()0}i f X R X g X X R=≤∈之间的联系:约束非线性规划问题可以通过构造新目标函数序列,用无约束优化方法求其极小点,并逐次逼近原问题的最优点。
非线性规划算法
现代数学算法的发展,使得计算机在解决多种实际问题中发挥出越来越重要的作用。
其中,非线性规划算法作为一种重要的优化算法,被广泛应用于生产、经济、地质和金融等领域。
本文将介绍非线性规划问题的定义、特点、求解方法和应用。
一、非线性规划问题的定义
非线性规划问题是指在目标函数和约束条件中至少有一项是非线性函数的数学规划问题。
具体的表示形式可以是以下形式:$$\min f(x)$$
$$s.t.\ \ \ \ \ \ \ \ \ \ \ g_i(x) \leq 0, \ \ i=1,2, \cdots, m $$
$$h_j(x) =0,\ \ j=1,2, \cdots, n$$
其中,$x$为决策变量,$f(x)$为目标函数,$g_i(x)$和
$h_j(x)$分别是不等式约束和等式约束条件。
二、非线性规划问题的特点
非线性规划问题与线性规划问题相比,具有以下几个特点:
1. 非线性规划问题的数学模型较为复杂。
在考虑实际问题时,目标函数中经常包含各种复杂的非线性函数,如三角函数、指数
函数、对数函数等等。
同时,约束条件的不等式表达式也可能是
非线性函数。
2. 非线性规划问题的求解难度较大。
因为非线性规划问题的目
标函数和约束条件不再满足线性性质,导致求解过程中出现很多
非线性优化问题。
这也意味着,非线性规划问题中需要用到高级
的优化算法,这些算法的计算成本和正确性都需要严格考虑。
3. 非线性规划问题的解可能存在多个局部最优解。
相比线性规
划问题,非线性规划问题的解集合往往具有多个局部最优解。
这
意味着,解决这类问题时需要针对不同的局部解进行分析,从而
找到全局最优解。
三、非线性规划求解方法
通常情况下,非线性规划问题的求解方法包括以下几种:
1. 梯度方法。
梯度方法是一种基于梯度信息的优化算法,能保
证解的收敛性和稳定性。
这种方法的主要思想是通过计算目标函
数的梯度信息来确定下一步迭代的方向和步长。
2. 共轭梯度法。
共轭梯度法是在梯度法基础上改进而来的算法,更加高效和优化。
它能快速地找到目标函数的极小值,并通过迭
代的方式不断优化结果。
3. 牛顿法。
牛顿法是一种基于泰勒级数展开的优化算法,能快
速地收敛到目标函数的最优解。
它通过计算函数的一阶导数和二
阶导数信息,来确定下一步迭代的方向和步长。
4. 信赖域方法。
信赖域方法是一种非常流行的优化算法,它通
过逐步调整信赖域的大小,使得迭代过程更加稳定,并可以快速
收敛到最优解。
四、非线性规划应用
非线性规划算法广泛应用于生产、物流、供应链、交通等领域,解决了很多复杂问题。
例如:
1. 生产中的生产计划与调度。
针对生产中的复杂生产流程和机
器安排问题,非线性规划算法可以通过优化机器时间和工人配备
等方案,从而使生产过程更加高效。
2. 物流领域的运输路径规划。
对于物流运输中的不同货物和路
线的选择问题,非线性规划算法可以针对不同运输方式、货物类
型和运输距离等方面考虑优化方案。
3. 供应链中的库存管理。
针对供应链中的库存管理问题,非线
性规划算法可以综合考虑货物运输、库存成本、订单等因素,选
择最优方案。
总之,非线性规划算法作为一种重要的优化算法,在解决实际
问题中具有广泛的应用前景。
从根本上来说,非线性规划算法的
不断发展,不仅有助于提高企业的效益和竞争力,也促进了整个社会的发展。