第四章 非线性规划 山大刁在筠 运筹学讲义教学内容
- 格式:doc
- 大小:1.42 MB
- 文档页数:27
刁在筠 运筹学第二章 线性规划教学重点:线性规划可行区域的几何结构,基本可行解及可行区域的基本定理,单纯形方法,两阶段法,对偶和对偶理论,灵敏度分析。
教学难点:线性规划可行区域的几何结构,基本可行解及可行区域的基本定理,单纯形方法,两阶段法,对偶性,灵敏度分析。
教学课时:24学时主要教学环节的组织:首先通过各种形式的例子归纳出线性数学规划的一般形式,然后在详细讲解主要内容的基础上,尽可能以图形和例题的形式给以形象的说明,使学生对知识点有更直观、具体的认识。
再通过大量习题巩固知识,也可以应用软件包解决一些实际问题。
第一节 线性规划问题教学重点:线性规划问题的实例,线性规划的一般形式、规范形式和标准形式教学难点:线性规划一般形式转换成标准形式。
教学课时:2学时主要教学环节的组织:首先通过几个实例总结出线性规划问题的一般形式,再介绍如何将一般形式转换成标准形式。
1、线性规划问题举例 生产计划问题某工厂用三种原料生产三种产品,已知的条件如下表所示,试制订总利润最大的生产计划可控因素(所求变量):设每天生产3种产品的数量分别为321,,x x x . 目标:使得每天的生产利润最大,就是使得利润函数:321453x x x ++达到最大. 受制条件:每天原料的需求量不超过可用量:原料1P :15003221≤+x x原料2P :8004232≤+x x原料3P :2000523321≤++x x x 蕴含约束:产量为非负数0,,321≥x x x模型321453max x x x ++15003221≤+x xs.t. 8004232≤+x x2000523321≤++x x x0,,321≥x x x运输问题一个制造厂要把若干单位的产品从两个仓库2,1;=i A i 发送到零售点4,3,2,1;=j B j ,仓库 i A 能供应的产品数量为2,1;=i a i ,零售点 j B 所需的产品的数量为4,3,2,1;=j b j 。
第四章非线性规划山大刁在筠运筹学讲义(共27页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第四章 非线性规划教学重点:凸规划及其性质,无约束最优化问题的最优性条件及最速下降法,约束最优化问题的最优性条件及简约梯度法。
教学难点:约束最优化问题的最优性条件。
教学课时:24学时主要教学环节的组织:在详细讲解各种算法的基础上,结合例题,给学生以具体的认识,再通过大量习题加以巩固,也可以应用软件包解决一些问题。
第一节 基本概念教学重点:非线性规划问题的引入,非线性方法概述。
教学难点:无。
教学课时:2学时主要教学环节的组织:通过具体问题引入非线性规划模型,在具体讲述非线性规划方法的求解难题。
1、非线性规划问题举例 例1 曲线最优拟合问题已知某物体的温度ϕ 与时间t 之间有如下形式的经验函数关系:312c t c c t e φ=++ (*)其中1c ,2c ,3c 是待定参数。
现通过测试获得n 组ϕ与t 之间的实验数据),(i i t ϕ,i=1,2,…,n 。
试确定参数1c ,2c ,3c ,使理论曲线(*)尽可能地与n 个测试点),(i i t ϕ拟合。
∑=++-n1i 221)]([ min 3i t c i i e t c c ϕ例 2 构件容积问题通过分析我们可以得到如下的规划模型:⎪⎪⎩⎪⎪⎨⎧≥≥=++++=0,0 2 ..)3/1( max 212121222211221x x S x x x x a x x t s x x a V ππππ 基本概念设n T n R x x x ∈=),...,(1,R R q j x h p i x g x f n j i :,...,1),(;,...,1),();(==, 如下的数学模型称为数学规划(Mathematical Programming, MP):⎪⎩⎪⎨⎧===≤q j x h p i x g t s x f j i ,...,1,0)( ,...,1,0)( ..)( min 约束集或可行域X x ∈∀ MP 的可行解或可行点MP 中目标函数和约束函数中至少有一个不是x 的线性函数,称(MP)为非线性规划令 T p x g x g x g ))(),...,(()(1=T p x h x h x h ))(),...,(()(1=,其中,q n p nR R h R Rg :,:,那么(MP )可简记为⎪⎩⎪⎨⎧≤≤ 0)( 0 ..)( min x h g(x)t s x f 或者 )(min x f Xx ∈ 当p=0,q=0时,称为无约束非线性规划或者无约束最优化问题。
教案运筹学中的非线性规划问题-教案一、引言1.1非线性规划的基本概念1.1.1定义:非线性规划是运筹学的一个分支,研究在一组约束条件下,寻找某个非线性函数的最优解。
1.1.2应用领域:广泛应用于经济学、工程学、管理学等,如资源分配、生产计划、投资组合等。
1.1.3发展历程:从20世纪40年代开始发展,经历了从理论到应用的转变,现在已成为解决实际问题的有效工具。
1.1.4教学目标:使学生理解非线性规划的基本理论和方法,能够解决简单的非线性规划问题。
1.2非线性规划的重要性1.2.1解决实际问题:非线性规划能够处理现实中存在的非线性关系,更贴近实际问题的本质。
1.2.2提高决策效率:通过优化算法,非线性规划可以在较短的时间内找到最优解,提高决策效率。
1.2.3促进学科交叉:非线性规划涉及到数学、计算机科学、经济学等多个学科,促进了学科之间的交叉和融合。
1.2.4教学目标:使学生认识到非线性规划在实际应用中的重要性,激发学生的学习兴趣。
1.3教学方法和手段1.3.1理论教学:通过讲解非线性规划的基本理论和方法,使学生掌握非线性规划的基本概念和解题思路。
1.3.2实践教学:通过案例分析、上机实验等方式,让学生动手解决实际问题,提高学生的实践能力。
1.3.3讨论式教学:鼓励学生提问、发表观点,培养学生的批判性思维和创新能力。
1.3.4教学目标:通过多种教学方法和手段,使学生全面掌握非线性规划的理论和实践,提高学生的综合素质。
二、知识点讲解2.1非线性规划的基本理论2.1.1最优性条件:介绍非线性规划的最优性条件,如一阶必要条件、二阶必要条件等。
2.1.2凸函数和凸集:讲解凸函数和凸集的定义及其在非线性规划中的应用。
2.1.3拉格朗日乘子法:介绍拉格朗日乘子法的原理和步骤,以及其在解决约束非线性规划问题中的应用。
2.1.4教学目标:使学生掌握非线性规划的基本理论,为后续的学习打下坚实的基础。
2.2非线性规划的求解方法2.2.1梯度法:讲解梯度法的原理和步骤,以及其在求解无约束非线性规划问题中的应用。
运筹学——线性规划与非线性规划线性规划与非线性规划是运筹学的一个分支.运筹学研究什么呢?运筹学是研究“如何做出正确决策或选择,以达到最好结果”的一门数学学科.有一句成语形象地说明了运筹学的特点:运筹帷幄,决胜千里.数学因实际的需要而产生,数学的很多重大发现也因实际的需要而出现.数学建模竞赛既因实际的重要需要而在世界范围内(在我国近十几年)各大学蓬勃开展.没有受到条条框框制约、富有聪明才智的大学生们,在每次竞赛中都能对实际中的一些重要问题与难题给出富有新鲜创意的解决办法,往往因此产生重大的社会效益和经济效益.建模竞赛就是知识的“强行军”.竞赛会极大地激发学生们的创造性思维,是对学生们思考能力和动手能力的考验.竞赛能让学生们切身感受到学习各科知识的必要性、重要性,成为学生们认真学习的推动力.数学建模会涉及数学的众多学科:微分方程,运筹学,概率统计,图论,层次分析,变分法……,要求建模者有较高的数学素养,有综合应用已学到的数学方法和思维对问题进行分析、抽象及简化的能力.数学建模既是建立实际问题的数学模型.一、最优化模型数学建模的目的是使决策人的“利益”最大化,因此而建立的数学模型即所谓的最优化模型.决策人在作决策时要有“科学观”,为实现目标(“利益”最大化)应进行“科学决策”.最优化模型正是为实现科学决策而建立的数学模型,是科学决策的科学体现.科学决策的目的是要对为实现目标而提出的设计和操作最佳化,最终实现决策人的“利益”最大化.一个最优化模型包括决策变量、目标函数和约束条件,它将“说明”决策变量在满足约束条件的前提下应使目标函数值最优化(最大或最小).决策变量是指影响并决定目标实现的变量,其变化范围一般是可控制的.目标函数是指根据决策变量建立的目标的函数表达式.约束条件是指决策变量所受的限制(用等式、不等式的函数方程表示).人们建立最优化模型的目的是,希望通过科学的计算方法(称为最优化方法)找出使目标函数值最优(最大或最小)的决策变量的值(称为最优决策).实际问题的7步建模过程:第1步:表述问题.说明目标及各种因素.第2步:分析数据或采集(或收集)并分析数据.第3步:建立数学模型.第4步:对模型求解.即寻找最优决策.第5步:检验、评价模型.如果与实际情况(或实际数据)吻合,则转到第7步,否则转到第6步.第6步:修改或矫正模型,并返回到第1步、第2步或第3步.第7步:模型应用,提出合理化建议.最优化数学模型的一般形式为.,,1,0),,,(,,,1,0),,,(..);,,,(max 212121min)(m p i x x x g p i x x x g t s x x x f z n i n i n +=≥===或 (1.1)其中,),,1(n j x j =是决策变量;),,,(21n x x x f z =是目标函数;),,1(0),,,(21p i x x x g n i ==和),,1(0),,,(21m p i x x x g n i +=≥是约束条件,前者称为等式约束,后者称为不等式约束.不带约束条件的(1)式是无约束问题的模型.由满足所有约束条件的决策向量Tn x x x x ),,,(21=组成的集合称为可行域,通常记为D .求解(1)是指,寻找D x x x x Tn ∈=),,,(**2*1* 使),,,(**2*1n x x x f z =为目标函数f 在可行域D 上的最小值(或最大值).*x称为最优解,),,,(**2*1n x x x f 称为最优值.最优解有严格与非严格和全局与局部之分.优化模型的最优解是指全局最优解. 严格极小点 严格极小点 局部 全局 非严格极小点图1 一维函数的最优解图示这里指出:最优化方法解出的多是优化模型的局部最优解.由于最优化方法多为迭代法,所以取不同的初始点一般会得到一个或多个局部最优解,然后再从这些局部最优解中找出“全局”最优解. 二、线性规划(LP)线性规划在银行、教育、林业、石油、运输……等各种行业以及科学的各个领域中有着广泛的应用. 1. 线性规划模型目标函数、约束函数均为线性函数的最优化模型既是所谓的线性规划模型.(1)标准形式.,,1,0,,,1,..;min 22112211max)(n j x m i b x a x a x a t s x c x c x c z j i n in i i n n =≥==++++++=或 (2.1)这里,约束i n in i i b x a x a x a =+++ 2211),,1(m i =是对决策变量的主要约束,称为主约束,而约束),,1(0n j x j =≥(),,1(n j x j =称为非负变量)是对决策变量的符号约束;(1,,)j b i m = 是主约束的右端常数项(通常不妨设为非负数);),,1(n j c j =称为价值系数.(2.1)式可以写成如下矩阵形式.0,..;min max)(≥==x b x A t s x c z T 或 (2.2)其中,⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫⎝⎛=m n n mn m m n n b b b b x x x x c c c c a a a a a a a a a A212121212222111211,,,. T n x x x x ),,,(21=——决策向量,T m b b b ),,(1 =——主约束右端常数向量,1(,,)T n c c c =——价值向量.(2)一般形式.,,1,,,,1,0,,,1,,,,1,,,,1,..;min 2211221122112211max)(n q j x q j x m u i b x a x a x a u p i b x a x a x a p i b x a x a x a t s x c x c x c z j j i n in i i i n in i i i n in i i n n +==≥+=≤++++=≥+++==++++++=任意或 (2.3)这里,约束),,1(2211p i b x a x a x a i n in i i ==+++、in in i i b x a x a x a ≥+++ 2211),,1(u p i +=和),,1(2211m u i b x a x a x a i n in i i +=≤+++是主约束,而约束),,1(0q j x j =≥和j x 任意),,1(n q j +=是符号约束,其中j x ),,1(n q j +=称为自由变量.一般形式可以(通过如下办法)转化为标准形式. (i)将不等式约束转化为等式约束引入剩余变量0≥i s ,将不等式约束i n in i i b x a x a x a ≥+++ 2211改写为i i n in i i b s x a x a x a =-+++ 2211,u p i ,,1 +=. (2.4)引入松弛变量0≥i e ,将不等式约束i n in i i b x a x a x a ≤+++ 2211改写为i i n in i i b e x a x a x a =++++ 2211,m u i ,,1 +=. (2.5)(ii)去除自由变量去掉自由变量),,1(n q j x j +=有两种办法: ①用非负变量的差表示自由变量 设j j j x x x +-=-, (2.6)其中0≥+j x ,0≥-j x ,代入到目标函数和其它约束中便可去掉j x .②取一个包含j x 的等式约束(如果有的话),比如:11i ij j in n i a x a x a x b ++++= ,由此解出11i i in j n ijijijb a a x x x a a a =---, (2.7)代入到目标函数和其它约束函数中便可去掉j x .第一种方法将增加变量的数目,导致问题的维数增大.第二种方法正好相反.用(2.4)、(2.5)两式替换(2.3)式中相应的不等式约束,将(2.6)式或(2.7)式代入目标函数和其它约束函数中,去掉目标函数与主约束中的所有自由变量,最后将),,1(0u p i s i +=≥、),,1(0m u i e i +=≥和),,1(0,0n q j x x j j +=≥≥-+加入(2.3)式的符号约束中,(2.3)式就此转化为标准形式的线性规划.,,1,0;,,1,0;,,1,0,0;,,1,0,,,1,,,,1,,,,1,..;min 11111111111111111111max)(m u i e u p i s n q j x x q j x m u i b e x x a x x a x a x a u p i b s x x a x x a x a x a p i b x x a x x a x a x a t s x x c x x c x c x c z i i j j j i i nn in q q iq q iq i i i n n in q q iq q iq i i n n inq q iq q iq i n n nq q q q q +=≥+=≥+=≥≥=≥+=≤+-++-++++=≥--++-+++==-++-+++-++-+++=-+++++++++++++++++++++++++++++)()()()()()()()(或,一般形式与其标准形式问题的求解等价,因为这两个问题的可行解一一对应,目标函数值对应相等.所以如果这两个问题之一有最优解,那么另一个也必有最优解,且最优值相等.2. 线性规划的特点(1)线性规划的可行域是凸集:凸多边形、凸多面体或空集.凸集非凸集凸多边形凸多面体(2)目标函数的等值面(或等值线)是平行的(超)平面(或直线).(3)如果线性规划有最优解,那么可行域的某个顶点必是最优解.(4)求解线性规划将出现下列4种情况之一.情况1:有唯一(最优)解.情况2:有无穷多(最优)解.情况3:解无界.情况4:无解.有唯一解有无穷多解有无界解无解3. 一般线性规划的解法线性规划的解法有Dantzig单纯形法,大M法,对偶单纯形法,Karmarkar法,列生成法,目标规划,分解算法等.软件中多为Dantzig单纯形法.参考书目:薛嘉庆.线性规划.北京:高等教育出版社,1989刁在筠郑汉鼑等. 运筹学.北京:高等教育出版社,20014. 特殊的线性规划当所有决策变量都取整数时,称为整数规划(IP).当所有决策变量只取0或1时,称为0-1规划.当只有部分决策变量取整数时,称为混合整数规划(混合IP).解整数规划的方法主要有穷举法(对决策变量过多的问题不适用)、分枝定界法和割平面法.分枝定界法比较常用.解小规模0-1规划的常用方法——隐枚举法.分枝定界法也适用于求解混合整数规划.参考书目:刁在筠郑汉鼑等. 运筹学.北京:高等教育出版社,2001胡运权.运筹学基础及应用.北京:高等教育出版社,20045. 特殊的线性规划问题及其解法(1)运输问题运输问题用“运输”单纯形法求解.(2)转运问题转运问题可以化为运输问题,所以也用“运输”单纯形法求解.(3)指派问题指派问题是特殊的0-1规划,常用匈牙利法求解.线性规划的算法可在Matlab “优化”工具箱中寻找. 6. 线性规划建模实例在一个线性规划模型中,(1)决策变量应当完全描述要做出的决策.(2)决策者都希望由决策变量表示的目标函数最大化(通常为收入或利润)或最小化(通常为成本).目标函数中的系数反映的是决策变量对目标函数的单位贡献.(3)主约束条件中决策变量的系数称为“技术”系数,这是因为技术系数经常影响用于“生产”不同“产品”的技术.右端项常表示可用资源的数量.示例1 一家汽车公司生产轿车和卡车.每辆车都必须经过车身装配车间和喷漆车间处理. 车身装配车间如果只装配轿车,每天可装配50辆;如果只装配卡车,每天可装配50辆.喷漆车间如果只喷轿车,每天可喷60辆;如果只喷卡车,每天可喷40辆. 每辆轿车的利润是1600元,每辆卡车的利润是2400元.公司的生产计划部门须制定一天的产量计划以使公司的利润最大化.建模过程:公司追求的目标是其利润的最大化,生产计划部门为此要决定每一种车型的产量,所以定义两个决策变量:=1x 每天生产的轿车数量,=2x 每天生产的卡车数量. 公司每天的利润为2124001600x x +,因此该公司追求利润最大化即为2124001600max x x z +=.按题意,决策变量须满足以下3个条件(如果把每天的时间设为1,那么每天的工作时间应该小于等于1.)(1)1x 辆轿车和2x 辆卡车的时间应满足11121≤+x x . (2)所以处理1x 辆轿车和2x 辆卡车的时间应满足140160121≤+x x . (3)非负限制j x 为负整数,2,1=j .该汽车公司追求利润最大化的数学模型为如下线性规划.2,1,,1401601,1501501..24001600max 212121=≤+≤++=j x x x x x t s x x z j 为非负整数;示例2(饮食问题) 有一个美国人的饮食方案要求他吃的所有食物都来自四个“基本食物组”之一(巧克力蛋糕、冰淇淋、苏打水和干酪蛋糕).目前他可以消费的食物有下列4种:胡桃巧克力糖、巧克力冰淇淋、可口可乐和菠萝干酪蛋糕.一块胡桃巧克力糖的价格为50美分,一勺巧克力冰淇淋的价格为20美分,一瓶可口可乐的价格为30美分,一块菠萝干酪蛋糕的价格为80美分.他每天至少必须摄取500卡路里、6盎司巧克力、10盎司糖和8盎司脂肪.表1列出了每种食物每单位的营养含量.这个美国人想以最小成本满足自己每天的营养要求,那他应该怎样做.建模过程:这个美国人追求的目标是使饮食的费用最少.因此这个美国人必须做出决策:对于每种食物,每天应当吃多少.因此,需要定义下列决策变量:=1x 每天吃的胡桃巧克力糖的数量(单位:块),=2x 每天吃的巧克力冰淇淋的数量(单位:勺), =3x 每天喝的可口可乐的数量(单位:瓶),=4x 每天吃的菠萝干酪蛋糕的数量(单位:块).他追求的目标是使饮食的费用最少,因此目标函数为432180302050x x x x z +++=.决策变量必须满足以下4个条件:(1) 每天摄取的卡路里至少必须达到500卡路里.即5005001502004004321≥+++x x x x .(2)每天摄取的巧克力至少必须达到6盎司.即62321≥+x x .(3)每天摄取的糖至少必须达到10盎司.即1044224321≥+++x x x x .(4)每天摄取的脂肪至少必须达到8盎司.即85424321≥+++x x x x .以及非负限制4,3,2,1,0=≥j x j .该美国人饮食费用最少的数学模型为.4,3,2,1,0,8542,104422,623,500500150200400..80302050max 432143212143214321=≥≥+++≥+++≥+≥++++++=i x x x x x x x x x x x x x x x t s x x x x z i ;这个问题的最优解是90,1,3,03241=====z x x x x ,表示每天最少花90美分便可得到符合饮食要求的750卡路里、6盎司巧克力、10盎司糖和13盎司脂肪.列出更现实的食物和营养需求的饮食问题是计算机解决的最早的LP 之一.整数规划已用于计划每周或每月的公共饮食业菜单.菜单计划模型包含反映可口性和多样性要求的约束条件.示例3 某服务部门一周中每天需要不同数目的雇员:周一到周四每天至少需要50人,周五至少需要80人,周六和周日至少需要90人.规定应聘者需连续工作5天.试确定聘用方案:使在满足需要的条件下聘用的总人数最少.建模过程:该服务部门追求的目标是一周中聘用的总人数最少.该服务部门因此必须做出决策:每天聘用多少人.为此,定义以下决策决量:721,,,x x x 分别表示周一至周日聘用的人数. 因此目标函数为7654321x x x x x x x z ++++++=.决策变量必须满足以下7个条件:周一工作的雇员应是周四到周一聘用的,按照需要至少有50人,即5076541≥++++x x x x x . 类似地,有.90,90,80,50,50,50765436543254321743217632176521≥++++≥++++≥++++≥++++≥++++≥++++x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x人数应该是整数,所以决策变量须是非负的整数变量,即i x 为非负整数,7,,2,1 =i .该服务部门聘用总人数最少的数学模型是如下的整数规划模型:.7,,2,1,,90,90,80,50,50,50,50..min 765436543254321743217632176521765417654321 =≥++++≥++++≥++++≥++++≥++++≥++++≥++++++++++=i x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x t s x x x x x x x z i 为非负整数;示例4(工作调度问题) 在每周的不同工作日,一个邮局需要不同数量的专职员工.表1给出了每天需要的专职员工的数量.工会章程规定:每个专职员工每周必须连续工作五天,然后休息两天.这个邮局希望通过只使用专职员工来满足每天的需要,那么这个邮局至少要聘用多少专职员工.首先来看一个不正确的模型.有许多学生定义决策变量i 为第天上班员工的数量(第1天=星期一,第2天=星期二,依次类推),然后推出邮局专职员工的数量=(星期一上班员工的数量+星期二上班员工的数量+…+星期日上班员工的数量)/5,于是得到如下目标函数7654321x x x x x x x z ++++++=.添加约束条件≥i x (第i 天需要的员工数量)和符号限制条件)7,,2,1(0 =≥i x i 后,得到如下不正确的线性规划模型:,11,16,14,19,15,13,17..;min 76543217654321≥≥≥≥≥≥≥++++++=x x x x x x x t s x x x x x x x zi x 为非负整数,7,,2,1 =i .这里目标函数是专职员工的数量的5倍,问题是约束条件不能反映员工连续工作五天然后休息两天的事实.建模过程:这个邮局追求的目标是聘用尽可能少的专职员工.正确表述这个问题的关键是,定义的决策变量不应该是每天有多少人上班,而是一周中每天有多少人开始上班.定义决策变量:i x =第i 天开始上班员工的数量. 例如,1x 是星期一开始上班员工的数量(这些人从星期一工作到星期五).那么邮局(专职员工的数量)=(星期一开始上班员工的数量)+(星期二开始上班员工的数量)+…+(星期日开始上班员工的数量).由于每个员工都只在一周的某一天开始上班,所以这个表达式不会重复计算员工.因此,追求聘用尽可能少的专职员工的目标函数为;7654321x x x x x x x z ++++++= 决策变量满足以下约束条件:在星期一上班员工的数量不少于17人:1776541≥++++x x x x x ;在星期二上班员工的数量不少于13人:1376521≥++++x x x x x ; 在星期三上班员工的数量不少于15人:1576321≥++++x x x x x ; 在星期四上班员工的数量不少于19人:1974321≥++++x x x x x ; 在星期五上班员工的数量不少于14人:1454321≥++++x x x x x ; 在星期六上班员工的数量不少于16人:1665432≥++++x x x x x ; 在星期日上班员工的数量不少于11人:1176543≥++++x x x x x . 及符号限制条件:i x 为非负整数,7,,2,1 =i .邮局追求聘用尽可能少的专职员工的调度方案数学模型为;min 7654321x x x x x x x z ++++++=,17 ..76541≥++++x x x x x t s,13 76521≥++++x x x x x 15 76321≥++++x x x x x , 19 74321≥++++x x x x x , 14 54321≥++++x x x x x , 16 65432≥++++x x x x x , 11 76543≥++++x x x x x ,i x 为非负整数,7,,2,1 =i .这个模型的一个最优解为3,4,0,6,2,4,47654321=======x x x x x x x ,最优值23=z . □该模型存在另外一个问题:只有在周一、周二开始上班的员工才能在周末休息,而在其它时间开始上班的员工永远不会有在公休日与家人团聚的机会.显然这不公平合理.从该模型的解出发,我们可以设计出如下公平合理的以23周为一个轮转周期的员工调度方案:·第1-4周:在星期一开始上班 ·第5-8周:在星期二开始上班 ·第9-10周:在星期三开始上班 ·第11-16周:在星期四开始上班 ·第17-20周:在星期六开始上班 ·第21-23周:在星期日开始上班员工1将遵守这个调度方案23周,员工2从第2周开始遵守这个调度方案23周(在星期一开始上班的时间为3周,在星期二开始上班的时间为4周,…,在星期日开始上班的时间为3周,在星期一开始上班的时间为1周).以这样的方式继续下去,就可以为每个员工制定一个23周调度方案.例如,员工13的调度方案如下:·第1-4周:在星期四开始上班 ·第5-8周:在星期六开始上班 ·第9-11周:在星期日开始上班 ·第12-15周:在星期一开始上班 ·第16-19周:在星期二开始上班 ·第20-21周:在星期三开始上班 ·第22-23周:在星期四开始上班 本示例提醒我们,所建立的模型一定要考虑合理性,符合实际.而本示例更符合实际的考虑是员工还有年休假.在邮局这个示例中,如果邮局可以同时使用专职员工和兼职员工来满足每天的需要,且在每一周,专职员工必须连续工作5天,每天工作8小时;兼职员工必须连续工作5天,每天工作4小时. 专职员工的工资是每小时15美元,而兼职员工的工资只有每小时10美元(没有附加福利).工会把每周的兼职劳动限制在25%,表述一个LP ,使这个邮局每周的劳动力成本最少.比示例5的单阶段工作调度模型更复杂的是多阶段工作调度模型. 类似的还有多阶段库存模型、多阶段财务管理(投资)模型等.示例5(指派问题) 某班准备从5名游泳队员中选4人,组队参加学校的1004⨯m 混合泳接力比赛.5名队员4种泳姿的百米平均成绩如表1所示,问应该怎样选拔接力队成员?建模过程:该班追求的目标是接力队的成绩最好.该班因此要做出决策:从5名队员中选出4人,每人一种泳姿,且4人的泳姿各不相同(容易想到的一个办法是穷举法,组成接力队的方案共有5!=120种.).设5,4,3,2,1=i 分别代表甲、乙、丙、丁和戊队员,4,3,2,1=j 分别代表蝶泳、仰泳、蛙泳和自由泳泳姿,ij c 表示队员i 的第j 种泳姿的百米平均成绩.定义决策决量ij x :若选择队员i 参加泳姿j 的比赛(4,3,2,1,5,4,3,2,1==j i ),则1=ij x ,否则0=ij x .该班追求的目标是接力队的成绩最好(只要对每一方案的成绩作比较,即可找出最优方案,但显然这不是解决问题的好办法.随着问题规模的变大,穷举法的计算量将是无法接受的).当队员i 入选泳姿j 时,ij ij x c 表示他的成绩,否则0=ij ij x c ,因此目标函数为∑∑===4151j i ij ij x c z .决策变量必须满足以下3个条件:(1) 每人最多只能入选4种泳姿之一,即141≤∑=j ijx,5,4,3,2,1=i .(2)每种泳姿必须有1人而且只能有1人入选,即151=∑=i ijx,4,3,2,1=j .(3)取值受限0=ij x 或1,4,3,2,1,5,4,3,2,1==j i .该班追求接力队成绩最好的数学模型为0-1规划:.4,3,2,1,5,4,3,2,1,10,4,3,2,1,1,5,4,3,2,1,1..;min 51414151======≤=∑∑∑∑====j i or x j xi xt s x c z ij i ijj ijj i ij ij三、非线性规划(NLP)非线性规划广泛存在于科学与工程领域. 1.非线性规划模型目标函数、约束函数中至少有一个非线性函数的最优化模型既是所谓的非线性规划模型..,,1,0)(,,,1,0)(..);(min max)(m p i x g p i x g t s x f z i i+=≥===或其中函数),,1(),,,1(,m p i g p i g f i i +==中至少有一个为非线性函数.非线性规划有无约束问题与有约束问题之分. 2.非线性规划的特点非线性规划的可行域及最优解的情况远比线性规划的可行域及最优解复杂的多:可能有最优解,也可能没有最优解;约束问题的最优解可能在可行域的内部,也可能在可行域的边界上.一些常用概念:等值面(线)——函数值相等的决策变量曲面(曲线)C x f =)(.上升/下降方向——至少在局部范围内,函数值升的方向/函数值降的方向),0(),()(/),0(),()(δδ∈>+∈>+t x f p t x f t x f p t x f.梯度——多元函数的“一阶导数”,由函数的偏导数组成的向量()()()()12,,,∂∂∂⎛⎫∇= ⎪∂∂∂⎝⎭Tn f x f x f x f x x x x .当梯度()f x ∇ 连续时,若()0f x ∇≠ ,则()f x ∇ 必垂直于()f x 过点x的等值面;梯度()f x ∇ 的方向是函数()f x 在点x具有最大变化率的方向.方向导数——函数在某方向上的变化率(下式中e 是p方向上的单位向量)tx f e t x f p x f t )()(lim )(0 -+=∂∂+→. e x f px f T)()(∇=∂∂. 若0)(>∂∂p x f,即()00T f x p ∇> ,则p方向是()f x 在点0x 处的上升方向;若0)(<∂∂px f,即()00T f x p ∇< ,则p 方向是()f x 在点0x 处的下降方向. 海赛矩阵——多元函数的“二阶导数”,由函数的二阶偏导数组成的矩阵()22⎛⎫∂∇=⎪ ⎪∂∂⎝⎭ i j nf f x x x . 空间中由点0x 和方向p所确定的直线方程为10,x x tp t R =+∈.图2 直线的几何图示3.非线性规划的解法(1)非线性规划基本解法 基本解法的迭代格式一般为1k k k k x x t p +=+, k = 0,1,….称0x 为初始点,k p 为k x处的搜索方向,k t 为步长因子,满足()()k k k k f x t p f x +<,且+k k k x t p 仍在可行域内.判断1k x + 是否为最优解.若是,则输出1k x + 和1()k f x +;否则,继续迭代.由基本解法解出的一般是局部最优解.k t 的确定方法——直线搜索(一维优化问题的数值迭代方法)()()k k t f x tp ϕ=+,min ()t ϕ.直线搜索方法有“精确的”对分法、黄金分割法、抛物线插值法……和不精确的直线搜索技术.k p的确定方法——各种优化方法求解无约束问题的基本方法按确定k p方法的不同,有使用导数的最速下降法、Newton 法、阻尼-Newton 法、共轭梯度法、逆Newton 法(DFP 法、BFGS 法)等,有不使用导数的单纯形替换法、步长加速法、Power 法等,以及最小二乘法.最速下降法——1()k k k k x x t f x +=-∇, k = 0,1,…. 特点:简单,存储量小,锯齿现象.线性收敛.Newton 法:211()()k k k k x x f x f x -+=-∇∇, k = 0,1,…. 特点:对目标函数的要求高,计算量、存储量大.二阶收敛.阻尼-Newton 法:211()()k k k k k x x t f x f x -+=-∇∇, k = 0,1,…. 特点:比Newton 法相对有效的方法,计算量、存储量大.F-R 共轭梯度法:1k k k k x x t p +=+, k = 0,1,…,其中211121()(),()k k k k k k k f x p f x p f x αα----∇=-∇+=∇. 特点:存储量小.是二次收敛算法.超线性收敛.DFP 法:1k k k k x x t p +=+, k = 0,1,…, 其中()k k k p H f x =-∇.特点:是二次收敛算法.是拟Newton 法.超线性收敛.∶ ∶ ∶单纯形替换法、步长加速法、Power 法等适用于目标函数的导数不存在或导数过于复杂的情形.最小二乘法是求解最小二乘问题的特定解法. 求解约束问题的基本方法有Z-容许方向法、梯度投影法、外点法(外部罚函数法)、内点法(内部罚函数法)、乘子法、线性化法、简约梯度法等.Z-容许方向法:利用线性规划得到搜索方向k p,然后再通过受限的直线搜索确定步长因子k t .梯度投影法:利用对梯度投影的方式得到搜索方向k p,然后再通过受限的直线搜索确定步长因子k t .外点法、内点法、乘子法:通过求解一系列的无约束问题解约束问题.而这一系列无约束问题的目标函数则是根据目标函数及约束函数,通过“惩罚”方式产生.∶ ∶ ∶ (2)非线性规划智能算法遗传算法、蚁群算法、粒子群算法、禁忌搜索算法……. 非线性规划的算法可在Matlab “优化”工具箱中寻找.参考书目:薛嘉庆.最优化方法.北京:冶金工业出版社邢文训,谢金星.现代优化计算方法.北京:清华大学出版社,1999《现代应用数学手册》编委会.现代应用数学手册—运筹学与最优化理论卷.北京:清华大学出版社,1998 4. 特殊的非线性规划问题及其解法 (1)二次规划(QPP)1min ()2..T T f x x Qx b x cs t Ax p Cx d =++≥=Wolfe 法.参考书目:赵凤治.约束最优化方法.北京:科学出版社,1991 (2)数据拟合问题(最小二乘问题) 最小二乘法 5. 非线性规划建模实例示例1 某公司有6个建筑工地要开工,每个工地的位置(用平面坐标),(b a 表示,距离单位:km)及水泥日用量d (单位:t (吨))由表1给出.目前有两个临时料场位于)1,5(A 和)7,2(B ,日储量各有20t .请回答以下两个问题:(1)假设从料场到工地之间均有直线道路相连,试制定每天从A 、B 两料场分别向各工地运送水泥的供应计划,使总的吨公里数最小.(2)为进一步减少吨公里数,打算舍弃目前的两个临时料场,修建两个新料场,日储量仍各为20t ,问建在何处最佳,可以节省多少吨公里数.表1 工地的位置),(b a 及水泥日用量d 的数据建模过程:公司追求的目标是每天从A 、B 两料场分别向各工地运送水泥总的吨公里数最小.为表述该问题,设工地的位置与水泥日用量分别为),(i i b a 和i d (6,,2,1 =i ),料场位置及其日储量分别为),(j j y x 和j e (2,1=j ).定义决策变量ij w (6,,2,1 =i ,2,1=j ):料场j 向工地i 的运送量(6,,2,1 =i ,2,1=j ),在问题(2)中,新建料场位置),(j j y x 也是决策变量.公司追求总的吨公里数最小的目标函数为∑∑==-+-=216122)()(j i i j i j ij b y a x w f .决策变量ij w (6,,2,1 =i ,2,1=j )必须满足以下约束条件:(i)满足各工地的水泥日用量6,,2,1,21==∑=i d wi j ij.(ii)各料场的运送量不能超过日储量2,1,61=≤∑=j e wj i ij.(iii)符号限制条件0≥ij w , 6,,2,1 =i ,2,1=j .(1)公司追求总的吨公里数最小的数学模型是如下线性规划模型∑∑==-+-+-+-=6122261221)7()2()1()5(min i i i i i i i i b a w b a w f ;6,,2,1,..21 ==∑=i d wt s i j ij,2,1,61=≤∑=j e wj i ij,0≥ij w , 6,,2,1 =i ,2,1=j .总的吨公里数为136.2275.(2)这时公司追求总的吨公里数最小的数学模型是如下有约束的非线性规划模型∑∑==-+-=216122)()(min j i i j i j ij b y a x c f ;6,,2,1,..21 ==∑=i d wt s i j ij,2,1,61=≤∑=j e wj i ij,0≥ij w , 6,,2,1 =i ,2,1=j .以(1)的解及临时料场的坐标为初始迭代值,利用Matlab 优化工具箱求得这个模型的一个数值解,两个新料场的位置为)3943.4,3875.6(A 和)1867.7,7511.5(B 和它们向6个工地运送总的吨公里数为105.4626,比用临时料场节省约31吨公里.若初始迭代值取为上面的计算结果,那么得到的数值解为)9194.4,5369.5(A 和)2852.7,8291.5(B 和它们向6个工地运送水泥的计划为总的吨公里数为103.4760,又节省约2吨公里.若初始迭代值取为上面的计算结果,却计算不出解.若初始迭代值取为ij w (6,,2,1 =i ,2,1=j )=[3,5,4,7,1,0,0,0,0,0,],),(j j y x (2,1=j )=[5.6348,4.8687;7.2479,7.7499],那么得到的数值解为)9285.4,6959.5(A 和)7500.7,2500.7(B 和它们向6个工地运送水泥的计划为总的吨公里数为89.8835,又节省约13.5吨公里.通过此例可以看出初始迭代值的选取对非线性规划方法的重要性.总结:以建线性规划模型为第一选择,单纯形法能求到全局最优解.非线性规划模型往往求不到全局最优解,而且数值解受初始迭代值的影响很大.6. 建模说明对于大规模实际问题,清晰地表述问题,以正确的方式和方法采集(或收集)数据,准确地分析数据是非常重要的.应该多角度建立既合理又尽可能简单的数学模型.这需要建模者有较高的数学素养,要有灵性、有想象力、判断力、洞察力.选择最适合模型的最优化解法,这要求建模者有较多的数学知识储备.掌握检验、评价模型的基本原理与方法.灵敏度分析常被用在检验与评价模型中. 如果模型的解明显不正确或与实际情况吻合的不好,建模者应该具有发现问题所在的能力:是第1步的问题、第2步的问题,还是第3步的问题.。
非线性规划方案山大刁在筠运筹学讲义那天,阳光透过窗户洒在我的书桌上,我翻看着山大刁在筠教授的运筹学讲义,非线性规划这一章节引起了我的兴趣。
思绪如泉水般涌出,我决定以意识流的方式,写下这篇非线性规划方案。
一、问题的提出非线性规划是运筹学中的一个重要分支,它研究的是在一组约束条件下,如何找到使目标函数取得最优解的问题。
这类问题在实际应用中广泛存在,如生产计划、资源分配、投资决策等。
山大刁在筠教授的讲义中,以一个具体的生产问题为例,引导我们深入探讨非线性规划的方法。
二、方案的构建1.确定目标函数我们要明确目标函数。
在生产问题中,我们通常追求的是最大化利润或最小化成本。
以最大化利润为例,我们可以将目标函数表示为:maxf(x)=p1x1+p2x2++pnxn其中,x1,x2,,xn分别表示各种产品的产量,p1,p2,,pn表示相应产品的单位利润。
2.构建约束条件我们要构建约束条件。
约束条件通常包括资源约束、技术约束、市场约束等。
以资源约束为例,我们可以将其表示为:a11x1+a12x2++a1nxn≤b1a21x1+a22x2++a2nxn≤b2am1x1+am2x2++amnxn≤bm其中,a11,a12,,amn表示各种资源消耗系数,b1,b2,,bm表示各种资源的总量。
3.确定求解方法构建好目标函数和约束条件后,我们需要选择合适的求解方法。
非线性规划问题的求解方法有很多,如拉格朗日乘子法、KKT条件、序列二次规划法等。
在实际应用中,我们需要根据问题的特点选择合适的方法。
三、方案的实施1.确定初始解在实际操作中,我们通常需要先确定一个初始解。
这个初始解可以是任意一个满足约束条件的解。
我们可以通过观察目标函数和约束条件的图形,或者使用启发式算法来找到一个合适的初始解。
2.迭代求解3.分析结果求解完成后,我们需要对结果进行分析。
我们要检查最优解是否满足所有约束条件。
如果满足,那么我们可以将最优解应用于实际问题中。
1非线性规划线性规划及其扩展问题的约束条件和目标函数都是关于决策变量的一次函数。
虽然大量的实际问题可以简化为线性规划及其扩展问题来求解,但是还有相当多的问题很难用线性函数加以描述。
如果目标函数或约束条件中包含有非线性函数,就称这样的规划问题为非线性规划问题。
由于人们对实际问题解的精度要求越来越高,非线性规划自20世纪70年代以来得到了长足的发展;目前,已成为运筹学的一个重要分支,在管理科学、最优设计、系统控制等许多领域得到了广泛的应用。
一般来讲,非线性规划问题的求解要比线性规划问题的求解困难得多;而且也不象线性规划问题那样具有一种通用的求解方法(单纯形法)。
非线性规划没有能够适应所有问题的一般求解方法,各种方法都只能在其特定的范围内发挥作用。
本章在简要介绍非线性规划基本概念和一维搜索的基础上,重点介绍无约束极值问题和约束极值问题的求解方法。
§1非线性规划的数学模型1.1 非线性规划问题[例1] 某商店经销A 、B 两种产品,售价分别为20和380元。
据统计,售出一件A 产品的平均时间为0.5小时,而售出一件B 产品的平均时间与其销售的数量成正比,表达式为n 2.01+。
若该商店总的营业时间为1000小时,试确定使其营业额最大的营业计划。
解:设1x 和2x 分别代表商店经销A 、B 两种产品的件数,于是有如下数学模型:2138020)(max x x x f +=10002.05.02221≤++x x x,021≥≥x x1.2 非线性规划问题的数学模型同线性规划问题的数学模型一样,非线性规划问题的数学模型可以具有不同的形式;但由于我们可以自由地实现不同形式之间的转换,因此我们可以用如下一般形式来加以描述:nE X X f ∈),(min ),,2,1(,0)(m i X h i == ),,2,1(,0)(l j X g j =≥其中T n x x x X ),,,(21 =是n 维欧氏空间nE 中的向量点。
非线性规划非线性规划(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 是。
第四章 非线性规划教学重点:凸规划及其性质,无约束最优化问题的最优性条件及最速下降法,约束最优化问题的最优性条件及简约梯度法。
教学难点:约束最优化问题的最优性条件。
教学课时:24学时主要教学环节的组织:在详细讲解各种算法的基础上,结合例题,给学生以具体的认识,再通过大量习题加以巩固,也可以应用软件包解决一些问题。
第一节 基本概念教学重点:非线性规划问题的引入,非线性方法概述。
教学难点:无。
教学课时:2学时主要教学环节的组织:通过具体问题引入非线性规划模型,在具体讲述非线性规划方法的求解难题。
1、非线性规划问题举例 例1 曲线最优拟合问题 已知某物体的温度ϕ与时间t 之间有如下形式的经验函数关系:312c t c c t e φ=++ (*)其中1c ,2c ,3c 是待定参数。
现通过测试获得n 组ϕ与t 之间的实验数据),(i i t ϕ,i=1,2,…,n 。
试确定参数1c ,2c ,3c ,使理论曲线(*)尽可能地与n 个测试点),(i i t ϕ拟合。
∑=++-n1i 221)]([ min 3i t c i i e t c c ϕ例 2 构件容积问题通过分析我们可以得到如下的规划模型:⎪⎪⎩⎪⎪⎨⎧≥≥=++++=0,0 2 ..)3/1( max 212121222211221x x S x x x x a x x t s x x a V ππππ 基本概念设n T n R x x x ∈=),...,(1,R R q j x h p i x g x f n j i α:,...,1),(;,...,1),();(==, 如下的数学模型称为数学规划(Mathematical Programming, MP):⎪⎩⎪⎨⎧===≤q j x h p i x g t s x f j i ,...,1,0)( ,...,1,0)( ..)( min 约束集或可行域X x ∈∀ MP 的可行解或可行点MP 中目标函数和约束函数中至少有一个不是x 的线性函数,称(MP)为非线性规划令 T p x g x g x g ))(),...,(()(1=T p x h x h x h ))(),...,(()(1=,其中,q n p nR R h R Rg αα:,:,那么(MP )可简记为⎪⎩⎪⎨⎧≤≤ 0)( 0 ..)( min x h g(x)t s x f 或者 )(min x f Xx ∈ 当p=0,q=0时,称为无约束非线性规划或者无约束最优化问题。
否则,称为约束非线性规划或者约束最优化问题。
定义4.1.1 对于非线性规划(MP ),若X x ∈*,并且有X ),()(*∈∀≤x x f x f设计一个右图所示的由圆锥和圆柱面 围成的构件,要求构件的表面积为S , 圆锥部分的高h 和圆柱部分的高x 2之 比为a 。
确定构件尺寸,使其容积最 大。
则称*x 是(MP )的整体最优解或整体极小点,称)(*x f 是 (MP )的整体最优值或整体极小值。
如果有** ),()(x x X,x x f x f ≠∈∀<则称*x 是(MP )的严格整体最优解或严格整体极小点,称)(*x f 是(MP )的严格整体最优值或严格整体极小值。
定义 4.1.2 对于非线性规划(MP ),若X x ∈*,并且存在*x 的一个 领域}{),0( )(**R x x R x x N n ∈><-∈=δδδδ,使I X x N x x f x f )( ),()(**δ∈∀≤,则称*x 是(MP )的局部最优解或局部极小点,称)(*x f 是(MP )的局部 最优值或局部极小点。
如果有I *** ,)( ),()(x x X x N x x f x f ≠∈∀<δ,则称*x 是(MP )的严格局部最优解或严格局部极小点,称)(*x f 是(MP ) 的严格局部最优值或严格局部极小点。
定义 4.1.3 设0,,,:≠∈∈p R p R x R R f n n n α,若存在0>δ ,使),0( ),()(δ∈∀<+t x f tp x f则称向量p 是函数f(x)在点x 处的下降方向。
定义 4.1.4 设0,,,≠∈∈⊂p R p X x R X n n ,若存在0>t ,使X tp x ∈+则称向量p 是函数f(x)在点x 处关于X 的可行方向。
一般解非线性规划问题的迭代方法的步骤:第一步:选取初始点0,:0x k =; 第二步:构造搜索方向k p ; 第三步:根据k p ,确定步长k t ;第四步:令1k k k k x x t p +=+若1k x +已满足某种终止条件,停止迭代,输出近似最优解1k x +,否则令:1k k =+,转回第二步。
常用规则:1、相邻两次迭代点的绝对差小于给定误差,即1k k x x ε+-<;2、相邻两次迭代点的相对差小于给定误差,即1k kkx x x ε+-<;3、()k f x ε∇<;4、1()()k k f x f x ε+-<第二节 凸函数和凸规划教学重点:凸函数的概念及性质,凸规划的概念、性质及判定。
教学难点:凸规划的概念及性质。
教学课时:4学时主要教学环节的组织:首先介绍凸函数的定义,然后给出凸函数及凸规划的性质。
凸函数的定义及性质:定义 4.2.1 设n R S ⊂是非空凸集,R S f α:,如果对任意的)1,0(∈α有)()1()())1((2121x f x f x x f αααα-+≤-+,S x x ∈∀21,则称f 是S 上的凸函数,或f 在S 上是凸的。
如果对于任意的)1,0(∈α有)()1()())1((2121x f x f x x f αααα-+<-+,21x x ≠则称f 是S 上的严格凸函数,或f 在S 上是严格凸的。
若-f 是S 上的(严格)凸函数,则称f 是S 上的(严格)凹函数, 或f 在S 上是(严格)凹的。
凸函数的性质:定理 4.2.1 设n R S ⊂是非空凸集。
(1)若R R f n α:是S 上的凸函数,0≥α,则 f α是S 上的凸函数; (2)若R R f f n α:,21都是S 上的凸函数,则21f f +是S 上的凸函数。
定理 4.2.2 设n R S ⊂是非空凸集,R R f n α:是凸函数,R c ∈,则集合}{c x fS x c f H S ≤∈=)(),(是凸集。
注:一般来说上述定理的逆是不成立的。
(a) 凸函数 (b)凹函数定理 4.2.3 设n R S ⊂是非空开凸集,R S f α:可微,则 (1) f 是S 上的凸函数的充要条件是)()()()(12121x f x f x x x f T -≤-∇, S x x ∈∀21,其中T nxx f x x f x f ))(,....,)(()(1111∂∂∂∂=∇是函数f 在点1x 处的一阶 导数或梯度。
(2) f 是S 上的严格凸函数的充要条件是)()()()(12121x f x f x x x f T -<-∇, 2121,, x x S x x ≠∈∀证明(1). 必要性.设f 是S 上的凸函数,对(0,1)α∀∈有:212112((1))()(1)(),,f x x f x f x x x S αααα+-≤+- ∀∈故121121(())()()()f x x x f x f x f x αα+--≤-(4.2.3)由多元函数Taylor 展开式可知:121112121(())()()()(())T f x x x f x f x x x x x ααοα+--=∇-+-将其带入(4.2.3)并令αο+→便便可得到12121()()()()T f x x x f x f x ∇-≤-充分性.设1212112()()()(),T f x x x f x f x x x S ∇-≤- ∀∈对(0,1),α∀∈取12(1)x x x αα=+-,由S 凸知x S ∈,对12,,x x S x x S ∈∈和分别有: 111()()()(),T f x f x x x f x x S +∇-≤ ∀∈(4.2.4)和222()()()(),T f x f x x x f x x S +∇-≤ ∀∈ (4.2.5)将(4.2.4)乘以α,(4.2.5)乘以(1)α-,两式相加得到12121212((1))()()()((1))()(1)(),,T f x x f x f x f x x x x f x f x x x Sαααααα+-==+∇+--≤+- ∀∈(2). 证明和(1)类似.定理 4.2.4 设n R S ⊂是非空开凸集,R S f α:二阶连续可导,则f 是S 上的凸函数的充要条件是f 的Hesse 矩阵)(2x f ∇在S 上是半正定的。
当)(2x f ∇在S 上是正定矩阵时,f 是S 上的严格凸函数。
(注意:该逆命题不成立。
)⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂∂=∇22221222222122122122122)()()(....)(...)()()(....)()()(n n n n n x x f x x x f x x x f x x x f x x f xx x f x x x f x x x f x x f x f 凸规划及其性质⎪⎩⎪⎨⎧===≤qj x h p i x g t s x f j i ,...10,)( (MP) ,...,1,0)( ..)( min ⎪⎩⎪⎨⎧⎪⎭⎪⎬⎫===≤∈=q j x h p i x g R x X j i n,...,1,0)(,...,1,0)( 约束集如果(MP)的约束集X 是凸集,目标函数f 是X 上的凸函数,则(MP)叫做非线性凸规划,或简称为凸规划。
凸规划的性质定理 4.2.5 对于非线性规划(MP),若p i x g i ,...,1),(= 皆为n R 上的凸函数,q j x h j ,...,1),(=皆为线性函数, 并且f 是X 上的凸函数,则(MP)是凸规划。
定理 4.2.6 凸规划的任一局部最优解都是它的整体最优解。
证明:设*x 是凸规划(MP )的一个局部解,存在则*x 的临域*()N x δ使得**()(),()f x f x x X N x δ≤ ∀∈I若*x 不是(MP )的整数最优解,则存在x X ∈,使*()()f x f x <又因为f 是凸函数,有*****((1))()(1)()()(1)()()f x x f x f x f x f x f x αααααα+-≤+-<+-=显然,当α充分小时,有**(1)()x x X N x δαα+-∈I出现矛盾。