《非线性规划的相关概念课件》由会员分享,可在线阅读,更多相关《非线性规划的相关概念课件(76页珍藏版)》请在金锄头文库上搜索。
1、非线性规划的相关概念http:/ 资料下载大全资料下载大全 在科学管理和其他领域中,大量应用问题可以归结为线性规划在科学管理和其他领域中,大量应用问题可以归结为线性规划问题,但是,也有另外许多问题,其目标函数和(或)约束条件问题,但是,也有另外许多问题,其目标函数和(或)约束条件很难用线性函数表达。如果目标函数和(或)约束条件中包含有很难用线性函数表达。如果目标函数和(或)约束条件中包含有自变量的非线性函数,则这样的规划问题就属于非线性规划。自变量的非线性函数,则这样的规划问题就属于非线性规划。 非线性规划是运筹学的重要分支之一。最近非线性规划是运筹学的重要分支之一。最近3030多年来发展很多
2、年来发展很快,不断提出各种算法,而其应用范围也越来越广泛。比如在各快,不断提出各种算法,而其应用范围也越来越广泛。比如在各种预报、管理科学、最优设计、质量控制、系统控制等领域得到种预报、管理科学、最优设计、质量控制、系统控制等领域得到广泛且不短深入的应用。广泛且不短深入的应用。 一般来说,求解非线性规划问题比线性规划问题困难得多。一般来说,求解非线性规划问题比线性规划问题困难得多。而且,也不象线性规划那样有单纯形法这一通用的方法。非线性而且,也不象线性规划那样有单纯形法这一通用的方法。非线性规划的各种算法大都有自己特定的使用范围,都有一定的局限性。规划的各种算法大都有自己特定的使用范围,都有一
3、定的局限性。到目前为止还没有到目前为止还没有适合于各种问题的一般算法适合于各种问题的一般算法,这是需要深入研,这是需要深入研究的一个领域。我们只是对一些模型及应用作简单介绍。究的一个领域。我们只是对一些模型及应用作简单介绍。http:/ 资料下载大全资料下载大全1 1非线性规划问题举例非线性规划问题举例例一:选例一:选址问题址问题设有设有 个市场,第个市场,第 个市场位置为个市场位置为 ,它对某种货物的需要,它对某种货物的需要量为量为 。现计划建立。现计划建立 个仓库,第个仓库,第 个仓库的存储个仓库的存储容量为容量为 试确定仓库的位置,使各仓库对各市场的试确定仓库的位置,使各仓库对各市场的运
4、输量与路程乘积之和为最小。运输量与路程乘积之和为最小。设第设第 个仓库的位置为个仓库的位置为 第第 个仓库到第个仓库到第 个市场的货物供应量为个市场的货物供应量为 则第则第 个个仓库到第仓库到第 个市场的距离为个市场的距离为http:/ 资料下载大全资料下载大全目标函数为目标函数为约束条件为约束条件为 (1 1)每个仓库向各市场提供的货物量之和不能超过它的)每个仓库向各市场提供的货物量之和不能超过它的存储容量。存储容量。 (2)每个市场从各仓库得到的货物量之和应等于它的)每个市场从各仓库得到的货物量之和应等于它的需要量。需要量。(3)运输量不能为负数)运输量不能为负数http:/ 资料下载大全
5、资料下载大全例例2. 木木梁设计问题梁设计问题 把圆形木材加工成矩形横截面的木梁,要求木梁高度把圆形木材加工成矩形横截面的木梁,要求木梁高度不超过不超过 ,横截面的惯性矩(高度的平方,横截面的惯性矩(高度的平方 宽度)不小宽度)不小于于 ,而且高度介于宽度与,而且高度介于宽度与4倍宽度之间。问如何确定木倍宽度之间。问如何确定木梁尺寸可使木梁成本最小梁尺寸可使木梁成本最小.设矩形横截面的高度为设矩形横截面的高度为 , 宽度宽度为为 ,则圆形木材的半径,则圆形木材的半径而木梁长度无法改变,因此成本只与圆形而木梁长度无法改变,因此成本只与圆形而木梁长度无法改变,因此成本只与圆形而木梁长度无法改变,因
6、此成本只与圆形木材的横截面积有关。木材的横截面积有关。木材的横截面积有关。木材的横截面积有关。http:/ 资料下载大全资料下载大全目标函数为目标函数为约束条件为约束条件为 http:/ 资料下载大全资料下载大全(1)数学规划模型的一般形式:)数学规划模型的一般形式:其中其中, 简记为简记为MP(Mathematical Programming) 2 2 非线性规划问题的数学模型非线性规划问题的数学模型http:/ 资料下载大全资料下载大全(2)简记形式:)简记形式:引入引入向量函数向量函数符号:符号:http:/ 资料下载大全资料下载大全(3)数学规划问题的分类:)数学规划问题的分类:若若
7、为线性函数,即为为线性函数,即为线性规划线性规划(LP);若若 至少一个为非线性至少一个为非线性, 即为即为非线性规划非线性规划(NLP);对于非线性规划,对于非线性规划,若没有若没有 ,即即X=Rn,称为称为 无约束非线性规划无约束非线性规划或或无约束最优化问题无约束最优化问题;否则称为否则称为约束非线性规划或约束最优化问题约束非线性规划或约束最优化问题。http:/ 资料下载大全资料下载大全(4)可行域和可行解:)可行域和可行解:称称为为MP问题的问题的约束集约束集或或可行域可行域。若若x在在X内,称内,称x为为MP的的可行解可行解或者或者可行点可行点。http:/ 资料下载大全资料下载大
8、全(5)最优解和极小点)最优解和极小点对于非线性规划(对于非线性规划(MP),若),若 ,并且有,并且有如果有如果有定义定义:http:/ 资料下载大全资料下载大全如果有如果有定义定义则称则称 x* 是是(MP)的的局部最优解或或局部极小解,http:/ 资料下载大全资料下载大全 例1: 用图解法求解 min f(x)=(x12)2 +(x22)2 s.t. h(x)= x1 + x2 - 6 = 0x1x20662233最优解 x* = ( 3,3 )T可行解 x = ( 1.5,4.5 )T最优级解即为最小圆的半径:最优级解即为最小圆的半径:f(x)=(x12)2 +(x22)2 = 23
9、 非线性规划问题的图解法 对二维最优化问题,总可以用图解法求解,而对三维或高维问题,对二维最优化问题,总可以用图解法求解,而对三维或高维问题,已不便在平面上作图,此法失效。已不便在平面上作图,此法失效。http:/ 资料下载大全资料下载大全x1x206622D可行域最优解最优解 x x* * = = ( 2( 2,2 2 ) )T T 例2: 用图解法求解 min f(x)=(x1 - 2)2 +(x2 - 2)2 s.t. h(x)= x1 + x2 - 6 03 3 非线性规划问题的图解法非线性规划问题的图解法最优级解即为最小圆的半径:最优级解即为最小圆的半径:f f( (x x)=()=
10、(x x1 1 - 2) - 2)2 2 +( +(x x2 2 - 2) - 2)2 2 = 0 = 0http:/ 资料下载大全资料下载大全解:先画出等式约束曲线 的图形抛物线, 例3:用图解法求解 再画出不等式约束区域, 最后画出目标函数等值线, 所以 最优解最优解 x*=(4,1), 最优值最优值 min f(x)=4.http:/ 资料下载大全资料下载大全4 梯度、Hesse矩阵、Jacobi阵(1) (1) 二次函数二次函数一般形式:矩阵形式:二次型:矩阵A的正定性: 正定、半正定、负定、不定。其中AAT。二次型的正定性: 正定、半正定、负定、不定。http:/ 资料下载大全资料下
11、载大全(2 2) 梯度梯度 定义:f(x) 是定义在是定义在En上的可微函数。上的可微函数。f(x) 的的n个偏导数个偏导数为分量的向量称为为分量的向量称为f(x) 的的梯度梯度. 性质:设f(x) 在定义域内有连续偏导数,即有连续梯度,则梯度有以下两个重要性质: 性质一 函数在某点的梯度不为零,则该梯度方向必与过该点的等值面垂直; 性质二 梯度方向是函数具有最大变化率的方向(负梯度方向也叫最速下降方向)。http:/ 资料下载大全资料下载大全解: 由于例:试求目标函数 在点 x =0,1T 处的最速下降方向,并求沿这个方向移动一个单位长度后新点的目标函数值。 则函数在 x =0,1T 处的最
12、速下降方向是这个方向上的单位向量是:http:/ 资料下载大全资料下载大全解: 由于例:试求目标函数 在点x =0,1T 处的最速下降方向,并求沿这个方向移动一个单位长度后新点的目标函数值。新点是:函数值:http:/ 资料下载大全资料下载大全几个常用的梯度公式几个常用的梯度公式:http:/ 资料下载大全资料下载大全(3 3)HesseHesse矩阵矩阵多元函数 f(x) 关于x的二阶导数,称为 f(x)的Hesse矩阵.当f(x)的所有二阶偏导数连续时,即Hesse矩阵是对称的.时,时,http:/ 资料下载大全资料下载大全几个常用Hessian公式:http:/ 资料下载大全资料下载大全
13、(4 4)JacobiJacobi矩阵矩阵向量变量值函数:向量值函数g(x)在点 x0处的Jacobi矩阵向量变量值函数的导数:http:/ 资料下载大全资料下载大全(1)凸函数:凸函数:定义定义5 凸函数和凸规划凸函数和凸规划http:/ 资料下载大全资料下载大全例:正定二次函数例:正定二次函数其中其中A是正定矩阵,是正定矩阵,f(x)是凸函数。是凸函数。参见参见参见参见P104P104例。例。例。例。http:/ 资料下载大全资料下载大全性质性质1:(2)凸函数的性质)凸函数的性质性质性质2:是凸集。是凸集。证明证明:略略.http:/ 资料下载大全资料下载大全定理定理1:(一阶条件):(
14、一阶条件)n=1时几何意义:可微函数是凸的等价于切线不在函数图像时几何意义:可微函数是凸的等价于切线不在函数图像上方。上方。 (3) 凸函数的判定凸函数的判定http:/ 资料下载大全资料下载大全定理定理2:(二阶条件):(二阶条件)http:/ 资料下载大全资料下载大全(4)凸规划的定义及其性质:)凸规划的定义及其性质:凸规划定义:凸规划定义:http:/ 资料下载大全资料下载大全凸规划性质:凸规划性质:凸规划的任一局部最优解都是它的整体最优解。凸规划的任一局部最优解都是它的整体最优解。凸规划是以后重点讨论的一类非线性规划凸规划是以后重点讨论的一类非线性规划凸函数凸函数线性函数线性函数htt
15、p:/ 资料下载大全资料下载大全(1)微分学方法的局限性:)微分学方法的局限性:实际的问题中,函数可能是不连续或者不可微的。需要解复杂的方程组,而方程组到目前仍没有有效的算法。实际的问题可能含有不等式约束,微分学方法不易处理。6 6 非线性规划方法概述非线性规划方法概述http:/ 资料下载大全资料下载大全(2)数值方法的基本思路:迭代给定初始点x0根据x0,依次迭代产生点列xkxk的最后一点为最优解xk有限xk无限xk收敛于最优解http:/ 资料下载大全资料下载大全迭代格式迭代格式xkxk+1pk称称pk为第为第k轮轮搜索方向搜索方向,tk为第为第k轮沿轮沿pk方向的方向的步长步长。产生产
16、生tk和和pk的不同方法,形成了不同的算法。的不同方法,形成了不同的算法。http:/ 资料下载大全资料下载大全定义定义:特殊搜索方向:特殊搜索方向下降方向下降方向http:/ 资料下载大全资料下载大全定义:定义:特殊搜索方向特殊搜索方向可行可行可行可行下降方向下降方向解非线性规划问题,关键在于解非线性规划问题,关键在于找到某个方向,使得在此方向找到某个方向,使得在此方向上,目标函数得到下降,同时上,目标函数得到下降,同时还是可行方向。还是可行方向。这样的方向称为这样的方向称为可行下降方向。可行下降方向。http:/ 资料下载大全资料下载大全定义:算法收敛、下降迭代算法定义:算法收敛、下降迭代
17、算法集合集合S上的迭代算法:上的迭代算法:(1)初始点)初始点;(2)按照某种搜索方向)按照某种搜索方向pk产生下一个迭代点产生下一个迭代点(i)如果点列)如果点列收敛于最优解收敛于最优解,则称此,则称此算法收敛算法收敛。(ii)如果)如果,则称此算法为,则称此算法为下降迭代算法下降迭代算法。.http:/ 资料下载大全资料下载大全(3)下降迭代算法步骤)下降迭代算法步骤(1)给出初始点)给出初始点,令,令;(2)按照某种规则确定下降搜索方向)按照某种规则确定下降搜索方向;(3)按照某种规则确定搜索步长)按照某种规则确定搜索步长,使得,使得;(4)令)令 ,;(5)判断)判断是否满足是否满足停
18、止条件停止条件。是则停止,否则转第。是则停止,否则转第2步。步。搜索步长确定方法:搜索步长确定方法:称称为为最优步长最优步长,且有对,且有对 k的梯度的梯度http:/ 资料下载大全资料下载大全(4) 终止条件终止条件http:/ 资料下载大全资料下载大全(5)常用的收敛性判别准则)常用的收敛性判别准则:()点收敛准则()点收敛准则: :( (可取可取Rn中任一种模中任一种模) )。e e - - - ) 1()(kkxx()目标函数值准则:()目标函数值准则:(绝对差)。(绝对差)。e e - - -)()() 1()(kkffxx()目标函数值准则:()目标函数值准则:(相对差)。(相对差
19、)。e e - - -)()()()() 1()(kkkfffxxx取其中之一取其中之一,也可同时取也可同时取(1)与与(2);(1)与与(3);或或(1),(2)和和(3)等。等。http:/ 资料下载大全资料下载大全(6)算法的收敛速度)算法的收敛速度则称则称 的收敛阶为的收敛阶为 。设算法所得的点列为设算法所得的点列为,如果,如果1.线性收敛(当线性收敛(当k充分大时):充分大时): 2.超线性收敛:超线性收敛:3.二阶收敛:二阶收敛: (*)式中)式中 =2时成立。时成立。(* *)http:/ 资料下载大全资料下载大全 单变量单变量( (一维一维) )最优化最优化l一维最优化问题一维
20、最优化问题l进退法进退法l黄金分割法黄金分割法l抛物线搜索法抛物线搜索法l三次插值法三次插值法http:/ 资料下载大全资料下载大全下降迭代算法下降迭代算法中最优步长的确定中最优步长的确定.一维最优化问题:一维最优化问题:解析的方法解析的方法(极值点的必要条件)极值点的必要条件)一、一维最优化问题一、一维最优化问题http:/ 资料下载大全资料下载大全1. 单峰函数单峰函数定义定义:设:设是区间是区间上的一元函数,上的一元函数,是是在在上的极小点,且对任意的上的极小点,且对任意的有有(a)当)当时,时,(b)当)当.则称则称 是单峰函数。是单峰函数。.http:/ 资料下载大全资料下载大全性质
21、性质:通过计算区间:通过计算区间 a, b 内两个不同点的函数值,就可内两个不同点的函数值,就可以确定一个包含极小点的子区间。以确定一个包含极小点的子区间。定理定理 设设是区间是区间上的一元函数,上的一元函数, 是是在在上的极小点。任取点上的极小点。任取点则有则有(1)如果)如果,则,则(2)如果)如果则则.http:/ 资料下载大全资料下载大全2 搜索法求解:搜索法求解:或或基本过程:基本过程:给出给出a,b,使得使得x*在在a,b中。中。a,b称为称为搜索区间搜索区间。迭代缩短迭代缩短a,b的长度。的长度。当当a,b的长度小于某个预设的值,或者导数的绝对的长度小于某个预设的值,或者导数的绝
22、对值小于某个预设的正数,则迭代终止。值小于某个预设的正数,则迭代终止。http:/ 资料下载大全资料下载大全二进退法二进退法思想思想 从一点出发从一点出发,按一定的步长按一定的步长, 试图确定出函数值呈现试图确定出函数值呈现“高高 - 低低 - 高高”的三点。一个方向不成功,就退回来,再沿相反方的三点。一个方向不成功,就退回来,再沿相反方向寻找。向寻找。进退法的计算步骤进退法的计算步骤如何确定包含极小点的一个区间?如何确定包含极小点的一个区间?http:/ 资料下载大全资料下载大全例:例:http:/ 资料下载大全资料下载大全假定:已经确定了单峰区间假定:已经确定了单峰区间a,bx1x2aba
23、bx12新搜索区间为新搜索区间为a,x2新搜索区间为新搜索区间为x1,b三三. 黄金分割法(黄金分割法(0.618法)法)http:/ 资料下载大全资料下载大全区间缩小比例的确定:区间缩小比例的确定:区间缩短比例为区间缩短比例为(x2-a)/(b-a)缩短比例为缩短比例为(b-x1)/(b-a)缩短比例缩短比例 满足:满足:每次插入搜索点使得两个区间每次插入搜索点使得两个区间a,x2和和x1,b相等;相等;每次迭代都以相等的比例缩小区间。每次迭代都以相等的比例缩小区间。0.618法法x1x2ababx1x2http:/ 资料下载大全资料下载大全黄金分割法的计算公式的推导:黄金分割法的计算公式的
24、推导:http:/ 资料下载大全资料下载大全http:/ 资料下载大全资料下载大全通过确定通过确定 的取值,使上一次迭代剩余的迭代点恰与下一次的取值,使上一次迭代剩余的迭代点恰与下一次迭代的一个迭代点重合,从而减少算法的计算量。迭代的一个迭代点重合,从而减少算法的计算量。同理可得。同理可得。http:/ 资料下载大全资料下载大全3. 0.618法的算法步骤:法的算法步骤:http:/ 资料下载大全资料下载大全确定确定a,b,计算探索点计算探索点x1=a+0.382(b-a)x2=a+0.618(b-a)是是否否是是停止,输出停止,输出x1否否以以a,x2为新的搜索区间为新的搜索区间是是停止,输
25、出停止,输出x2否否以以x1,b为新的搜索区间为新的搜索区间3. 0.618法的算法框图:法的算法框图:http:/ 资料下载大全资料下载大全黄金分割法的迭代效果:黄金分割法的迭代效果:第第 k 次后迭代后所得区间长度为初始区间长度的次后迭代后所得区间长度为初始区间长度的其它的试探点算法:其它的试探点算法:Fibonacci算法。算法。http:/ 资料下载大全资料下载大全例例:解:解:t1t230t1、第一轮:、第一轮:t1=1.146, t2=1.854t200.5http:/ 资料下载大全资料下载大全2、第二轮:、第二轮:t2=1.146, t1=0.708t20=1.1460.53、第
26、三轮:、第三轮:t1=0.438, t2=0.708b -t1=1.146-0.4380.51.8540tt2t11.1460tt2t1http:/ 资料下载大全资料下载大全4、第四轮:、第四轮:t2=0.876=(1.146-0.438), t1=0.708b-t1=1.146-0.7080,求目标函数值的计算次,求目标函数值的计算次数数 n,使,使置辨别常数置辨别常数0。计算试探点。计算试探点 计算函数值和计算函数值和 。置。置k =1。(2) 若若 ,则转(,则转(3);); 若若 ,则转(,则转(4)。)。http:/ 资料下载大全资料下载大全(3) (5) 置置k= k+1,转(,转
27、(2)。)。(4) (6) http:/ 资料下载大全资料下载大全思想思想在极小点附近,用二次三项式在极小点附近,用二次三项式四四. 抛物线(二次)插值抛物线(二次)插值即即“两头大中间小两头大中间小”http:/ 资料下载大全资料下载大全如何计算函数如何计算函数令令x=33221123322221111111121fxfxfxxfxfxf- -http:/ 资料下载大全资料下载大全抛物线插值算法步骤:抛物线插值算法步骤:解出解出http:/ 资料下载大全资料下载大全思路:思路:五五. 三次插值法三次插值法http:/ 资料下载大全资料下载大全设设令令则有则有http:/ 资料下载大全资料下载
28、大全求解满足求解满足的极小点的极小点 令令而而解方程(解方程(3),有两种情况:),有两种情况:由(由(2)可知)可知http:/ 资料下载大全资料下载大全http:/ 资料下载大全资料下载大全极小点的计算公式:极小点的计算公式:令令http:/ 资料下载大全资料下载大全算法步骤:算法步骤:http:/ 资料下载大全资料下载大全http:/ 资料下载大全资料下载大全其它插值算法:其它插值算法:有理插值。有理插值。收敛速度:三次插值算法的收敛阶为收敛速度:三次插值算法的收敛阶为2。http:/ 资料下载大全资料下载大全六、六、MATLAB单变量函数求最小值的标准形式为单变量函数求最小值的标准形式
29、为 s.t 函数函数 fminbnd格式格式 x = fminbnd(fun,x1,x2) %返回自变量返回自变量x在区间在区间上函数上函数fun取最小值时取最小值时x值,值,fun为目标函数的表达式字符串为目标函数的表达式字符串或或MATLAB自定义函数的函数柄。自定义函数的函数柄。 函数函数fminbnd的算法基于黄金分割法和二次插值法,它要求的算法基于黄金分割法和二次插值法,它要求目标函数必须是连续函数,并可能只给出局部最优解。目标函数必须是连续函数,并可能只给出局部最优解。http:/ 资料下载大全资料下载大全x = fminbnd(fun,x1,x2,options) % optio
30、ns为指定优化为指定优化参数选项参数选项x,fval = fminbnd() % fval为目标函数的最小值为目标函数的最小值x,fval,exitflag = fminbnd() %xitflag为终止迭代的为终止迭代的条件条件x,fval,exitflag,output = fminbnd() % output为优化为优化信息信息说明说明 若参数若参数exitflag0,表示函数收敛于,表示函数收敛于x,若,若exitflag=0,表示超过函数估计值或迭代的最大数字,表示超过函数估计值或迭代的最大数字,exitflag0表示函数不收敛于表示函数不收敛于x;若参数;若参数output=iterations表示迭代次数,表示迭代次数,output=funccount表表示函数赋值次数,示函数赋值次数,output=algorithm表示所使用的算法。表示所使用的算法。