第四章 约束非线性规划
- 格式:doc
- 大小:1.03 MB
- 文档页数:5
非线性规划非线性规划是一种涉及非线性目标函数和/或非线性约束条件的优化问题。
与线性规划不同,非线性规划可能存在多个局部最优解,而不是全局最优解。
非线性规划在许多领域都有广泛的应用,如经济学、工程学和管理学等。
非线性规划的一般形式可以表示为:最小化或最大化 f(x),其中 f(x) 是一个非线性函数,x 是决策变量向量。
满足一组约束条件g(x) ≤ 0 和 h(x) = 0,其中 g(x) 和 h(x) 是非线性函数。
为了求解非线性规划问题,可以使用不同的优化算法,如梯度下降法、牛顿法和拟牛顿法等。
这些算法的目标是找到目标函数的最小值或最大值,并满足约束条件。
非线性规划的难点在于寻找全局最优解。
由于非线性函数的复杂性,这些问题通常很难解析地求解。
因此,常常使用迭代算法来逼近最优解。
非线性规划的一个重要应用是在经济学中的生产计划问题。
生产活动通常受到多个因素的限制,如生产能力、原材料和劳动力等。
非线性规划可以帮助确定最佳的生产数量,以最大化利润或最小化成本。
另一个应用是在工程学中的优化设计问题。
例如,优化某个结构的形状、尺寸和材料以满足一组要求。
非线性规划可以帮助找到最佳设计方案,以最大程度地提高性能。
在管理学中,非线性规划可以用于资源分配和风险管理问题。
例如,优化一个公司的广告预算,以最大程度地提高销售额。
非线性规划可以考虑多种因素,如广告投入和市场需求,以找到最佳的广告投放策略。
总之,非线性规划是一种重要的优化方法,用于解决涉及非线性目标函数和约束条件的问题。
它在经济学、工程学和管理学等领域有广泛的应用。
尽管非线性规划的求解难度较大,但通过合适的优化算法,可以找到最佳的解决方案。
求解带约束的非线性规划问题罚函数法求解带约束的非线形规划问题的基本思想是:利用问题的目标函数和约束函数构造出带参数的所谓增广目标函数,把约束非线形规划问题转化为一系列无约束非线形规划问题来求解。
增广目标函数由两个部分构成,一部分是原问题的目标函数,另一部分是由约束函数构造出的“惩罚”项,“惩罚”项的作用是对“违规”的点进行“惩罚”。
罚函数法主要有两种形式。
一种称为外部罚函数法,或称外点法,这种方法的迭代点一般在可行域的外部移动,随着迭代次数的增加,“惩罚”的力度也越来越大,从而迫使迭代点向可行域靠近;另一种成为内部罚函数法,或称内点法,它从满足约束条件的可行域的内点开始迭代,并对企图穿越可行域边界的点予以“惩罚”,当迭代点越接近边界,“惩罚”就越大,从而保证迭代点的可行性。
1. 外部罚函数法(外点法)约束非线形规划问题min f(x),s.t. g(x)>=0,其中g (x) = (g 1(x),…,gm(x)),将带约束的规划问题转化为无约束非线形规划问题来求解的一个直观想法是:设法加大不可行点处对应的目标函数值,使不可行点不能成为相应无约束问题的最优解,于是对于可行域 S= { x | g(x) >= 0} 作一惩罚函数P(x) = 0, x∈S;K, else其中K是预先选定的很大的数。
然后构造一个增广目标函数F (x) = f (x) + P (x) ,显然x∈S时,F(x)与f (x)相等,而x S 时,相应的F值很大。
因此以F(x)为目标函数的无约束问题minF x) = f(x) + P (x) (1)的最优解也是原问题(NP)的最优解。
上述P(x)虽然简单,但因它的不连续性导致无约束问题(1)求解的困难。
为此将P(x)修改为带正参数M(称为罚因子)的函数P(x) =M ∑[min (0,gj(x))]²则min F(x,M) = f(x) + M∑[min (0,gj(x))]²的最优解x(M) 为原问题的最优解或近似最优解。
非线性规划什么是非线性规划?非线性规划(Nonlinear Programming,简称NLP)是一种数学优化方法,用于求解包含非线性约束条件的优化问题。
与线性规划不同,非线性规划中的目标函数和约束条件都可以是非线性的。
非线性规划的数学表达式一般来说,非线性规划可以表示为以下数学模型:minimize f(x)subject to g_i(x) <= 0, i = 1, 2, ..., mh_j(x) = 0, j = 1, 2, ..., px ∈ R^n其中,f(x)是目标函数,g_i(x)和h_j(x)分别是m个不等式约束和p个等式约束,x是优化变量,属于n维实数空间。
非线性规划的解法由于非线性规划问题比线性规划问题更为复杂,因此解决非线性规划问题的方法也更多样。
以下列举了几种常用的非线性规划求解方法:1. 数值方法数值方法是最常用的非线性规划求解方法之一。
它基于迭代的思想,通过不断优化目标函数的近似解来逼近问题的最优解。
常见的数值方法有梯度下降法、牛顿法、拟牛顿法等。
2. 优化软件优化软件是一类针对非线性规划问题开发的专用软件,它集成了各种求解算法和优化工具,可以方便地求解各种类型的非线性规划问题。
常见的优化软件有MATLAB、GAMS、AMPL等。
3. 线性化方法线性化方法是一种将非线性规划问题转化为等价的线性规划问题的求解方法。
它通过线性化目标函数和约束条件,将非线性规划问题转化为线性规划问题,然后利用线性规划的求解方法求解得到最优解。
4. 分类方法分类方法是一种将非线性规划问题分解为若干个子问题求解的方法。
它将原始的非线性规划问题分解为多个子问题,然后将每个子问题分别求解,并逐步逼近原始问题的最优解。
以上仅是非线性规划求解方法的一小部分,实际上还有很多其他的方法和技巧可供选择。
在实际应用中,选择合适的方法和工具是非常重要的。
非线性规划的应用非线性规划在实际生活和工程中有着广泛的应用。
第四章 非线性规划教学重点:凸规划及其性质,无约束最优化问题的最优性条件及最速下降法,约束最优化问题的最优性条件及简约梯度法。
教学难点:约束最优化问题的最优性条件。
教学课时: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 ϕ拟合。
∑=++-n 1i 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 n R R h R R g :,:,那么(MP )可简记为⎪⎩⎪⎨⎧≤≤ 0)( 0 ..)( min x h g(x)t s x f 或者 )(min x f X x ∈ 当p=0,q=0时,称为无约束非线性规划或者无约束最优化问题。
第五节 可行方向法(FDM )可行方向法是用梯度去求解约束非线性最优化问题的一种有代表性的直接探索方法,也是求解大型约束优化设计问题的主要方法之一。
其收敛速度快,效果较好,适用于大中型约束最优化问题,但程序比较复杂。
可行方向法(Feasible Direction Method)是一种直接搜索方法,其搜索方向的获取利用了目标函数和约束函数的梯度信息。
用目标函数的梯度可以得到目标函数值的下降方向,而利用约束函数的梯度则可以得到可行的搜索方向。
因此,可行方向法的搜索方向实质上是既使目标函数值下降,同时又可行的方向,即可行下降方向。
满足这一条件的方法就称为可行方向法。
一、基本原理当求解目标函数的极小值min () ..()0 1,2,3,nu f X X R s t g X u m ⎧∈⎨≤=⎩ 当设计点()k X 处于起作用约束i g 上时,下降可行方向S 必须同时满足条件: ()0T k i S g X ∇≤()0T k S f X ∇<由于于多数非线性规划的最优点都处在可行区的约束边界上或者几个约束边界的交点上,因此最优搜索如能沿着约束边界附近进行,就有可能加速最优化搜索的进程。
按照这一基本思路,在任意选定—初始点后到最后得到最优点必须解决三个问题: 一是如何尽快使最优搜索从初始点到达约束边界二是到达边界后怎样判断所找到的边界点是否是最优点;三是如果边界点经判断不是最优点,那么下一步应如何进行最优搜索。
二、如何从初始点尽快到达边界在任意选定初始点0X 之后,首先判断0X 是否为可行点,若是可行点,则选择目标函数的负梯度方向作为下一步的搜索方向。
若是非可行点,则选择目标函数的梯度方向为搜索方向。
搜索的步长可采用试探的方法逐步缩小,直到最后到达边界。
如图5-13表示了初始点为可行点时的搜索过程。
从初始点0X 出发沿0()f X -∇方向,取步长为t ,进行搜索,得到1X100()X X t f X =-∇若1X 仍在可行区内,则把步长加大一倍继续搜索得到2112()X X t f X =-∇若1X 仍在可行区内,则把步长再加大一倍继续搜索,如此方法得到新点只要仍在可行区内,则加大步长只到得到的点进入非可行区。
第二节 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 >—可变化乘子,它是一个很小的正数。
其最优解为:*()k X r b =+此时对应的(,)k X r Φ的最小值为***1(,)k kX r ax r b x ab Φ=--=+ 最优点*()k X r 和最小值*(,)k X r Φ均是k r 的函数。
当k r 取不同值时,它们有不同的值,而当0k r →时,**()k X r X b →=,*(,)*k X r f X ab Φ→=(),即最后收敛于约束最优点。
0min lim[min (,)]() {|()0}k k i r X r f X R X g X X R→Φ==≤∈ 以上分析从理论上说明了无约束最优化问题min (,)k X r Φ与约束优化问题min () {|()0}i f X R X g X X R=≤∈之间的联系:约束非线性规划问题可以通过构造新目标函数序列,用无约束优化方法求其极小点,并逐次逼近原问题的最优点。
第四章 非线性规划⎧⎪⎧⎨⎨⎪⎩⎩无约束最优化问题线性规划约束最优化问题非线性规划⎧⎨⎩凸规划约束最优化问题非凸规划⎧⎨⎩直接解法约束最优化问题求解方法间接解法间接解法是将约束优化问题转化为一系列无约束优化问题来解的一种方法。
由于这类方法可以选用有效的无约束优化方法,且易于处理同时具有不等式约束和等式约束的问题,因而在工程优化中得到了广泛的应用。
直接解法是在满足不等式约束的可行设汁区域内直接按索问题的约束最优解。
第一节 目标函数的约束极值问题所谓约束优化设计问题的最优性条件.就是指在满足等式和不等式约束条件下,其目标函数值最小的点必须满足的条件,须注意的是,这只是对约束的局部最优解而言。
对于带有约束条件的目标函数,其求最优解的过程可归结为:一、约束与方向的定义 一)起作用约束与松弛约束对于一个不等式约束()0g X ≤来说,如果所讨论的设计点()k X 使该约束()0g X =(或者说()k X当时正处在该约束的边界上)时,则称这个约束是()k X点的一个起作用约束或紧约束,而其他满足()0g X <的约束称为松弛约束。
冗余约束40g ≤当一个设计点同时有几个约束起作用时,即可定义起作用约束集合为{}()()()|()0,1,2,,k k u I X u g X u m ===其意义是对()k X点此时所有起作用约束下标的集合。
二)冗余约束如果一个不等式约束条件的约束面(即()0g X =)对可行域的大小不发生影响,或是约束面不与可行域D 相交,即此约束称为冗余约束。
三)可行方向可行方向:一个设计点()k X 在可行域内,沿某一个方向S 移动,仍可得到一个属于可行域的新点,则称该方向为可行方向。
1)设计点为自由点 设计点()k X 在可行域内是一个自由点,在各个方向上都可以作出移动得到新点仍属于可行域,如图所示。
2)设计点为约束边界点当设计点()k X 处于起作用约束i g 上时,它的移动就会受到可行性的限制。
第二节 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 >—可变化乘子,它是一个很小的正数。
其最优解为:*()k X r b =+ 此时对应的(,)k X r Φ的最小值为***1(,)k kX r ax r b x ab Φ=--=+最优点*()k X r 和最小值*(,)k X r Φ均是k r 的函数。
当k r 取不同值时,它们有不同的值,而当0k r →时,**()k X r X b →=,*(,)*k X r f X ab Φ→=(),即最后收敛于约束最优点。
0min lim[min (,)]() {|()0}k k i r X r f X R X g X X R→Φ==≤∈ 以上分析从理论上说明了无约束最优化问题min (,)k X r Φ与约束优化问题min () {|()0}i f X R X g X X R=≤∈之间的联系:约束非线性规划问题可以通过构造新目标函数序列,用无约束优化方法求其极小点,并逐次逼近原问题的最优点。
第四章 约束非线性规划 § 4.3 可行方向法
作者:黄希勇 2013.5.28
引入:
对于非线性规划问题,如果不存在约束,从任一个初始点 )0(x 出发,沿)(x f 的负梯度方向进行一维收索,便可求得目标函数的无约束极小值;而对有约束的极小化问题来说,除要使目标函数在每次迭代有所下降之外,还要注意解的可行性问题,为此,在求解约束非线性规划迭代法的设计中,应在每个迭代点)(k x 出构造一个可行下降方向 )(k d 。
引入:有效约束和可行下降方向的概念 考虑非线性规划
⎪⎩
⎪⎨⎧=≥==m i x g l
j x h t
s x f i j .....2,10)(......2,10)(.)
(min (4.3.1)
其中,)(),(),(x g x h x f i j 均为实值连续函数,且具有二阶连续偏导数。
设)0(x 是非线性规划的一个可行解。
现考虑某一不等式约束条件
0)(≥x g i
满足它有两种可能:其一为0)(>x g i ,这时,点)0(x 不是处于由这一约束条件形成的可行域边界上,因而这一约束对)0(x 点的微小摄动不起限制作用,从而称这个约束条件是)0(x 点的不起作用约束(或无效约束);其二是0)(=x g i ,这时)0(x 点处于该约束条件形成的可行域边界上,
它对)0(x 的摄动起到了某种限制作用,故称这个约束是点的起作用约束(有效约束)。
显而易见,等式约束对所有可行点来说都是起作用约束。
1.1
D e f : 设可行域是非空集,D x ∈,若对某非零向量n R d ∈,存在0>δ,使对任意),0(δ∈t 均有D td x ∈+,则称d 为从x 出发的可行方向。
若非线性规划的某一可行点)0(x ,对该点的任一方向d 来说,若存在实数't ,使对任意
]',0[t t ∈均有
)()()0()0(x f td x f <+ 就称方向d 为)0(x 点的一个下降方向。
如果方向d 既是)0(x 点的可行方向,又是这个点的下降方向,就称它是该点的可行下降方向。
Eg 4.4: 略
现考虑非线性规划(4.3.1)式,设)(k x 是它的一个可行解,但不是要求的极小点。
为了求它的极小点或近似极小点,根据以前所说,应在)(k x 点的可行下降方向中选取某一方向)(k d ,并确定步长k t ,使
⎩⎨⎧<+=++)
()()
()1()
()()1(k k k k k k x f x f d t x x (4.3.2) 若满足精度要求,迭代停止,)1(+k x 就是所要的点。
否则,从)1(+k x 出发继续进行迭代,直到满足要求为止。
上述方法称为可行方向法; 其特点是:迭代过程中采用的搜索方向为可行方向,所产生的迭代
点列{X(k)}始终在可行域内,目标函数值单调下降。
下面介绍Zoutendijk 可行方向法
简 介
● Zoutendijk 可行方向法是Zoutendijk 于1960年提出的. ● Zoutendijk 可行方向法中选择搜索方向包括:起作用(有效)约束构造可行方向和ε起作用约束构造可行方向.
● Zoutendijk 可行方向法可以求解线性约束优化问题和非线性约束优化问题.
考虑线性约束问题
⎪⎩
⎪
⎨⎧
=≥c
Gx b Ax t
s x f .)(min (4.3.3)
其中)(x f 可微,n R x n l G n m A ∈⨯⨯矩阵,为矩阵,为,
维列向量和分别为和l m c b
怎样选择下降可行方向?
由于问题(4.3.3)中约束是线性的,)(x f 是非线性的,在)(k x 附近考察)(x f ,
我们用)(x f 在)(k x 处的一阶Taylor 多项式代替)(x f 。
设)(k x 满足c Gx b x A b x A k k k ==>)
(2)(21)(1,,,其中⎥⎦
⎤⎢⎣⎡=21A A A ,⎥⎦⎤⎢⎣⎡=21b b b ,令
d x f x f x f d x x T k k k )()()(,)()()(∇+≈+=,
于是(4.3.3)转化为下述线性规划:
⎪⎪⎩
⎪⎪⎨
⎧=+≥+≥+∇+c
d x G b d x A b d x A t
s d x f x f k k k T k k )()()(.)()(min )(2)(21
)(1)()(
由于)()(k x f 为常数且1)(1b x A k >,故上述线性规划等价于
⎪⎩
⎪
⎨⎧=≥∇00.)(min 2)(Gd d A t
s d x f T k (4.3.4) 因为0=d 为(4.3.4)的可行点,其对应的目标函数值为0,即*d 为(4.3.4)的最优解,则0)(*)(≤∇d x f T k :
(1)若0)(*)(<∇d x f T k ,*d 为原问题(4.3.3)在)(k x 处的下降可行方向;
(2)若0)(*)(=∇d x f T k ,)(k x 为(4.3.3)的T K -点; 证明(2):见课本P79 现在来确定一维搜索的步长?
设)(k x 是(4.3.3)的可行解,不妨设第k 次迭代的出发点)(k d 为)
(k x 处一个下降可行方向后继点)1(+k x 由下列迭代公式给出:
)()()1(k k k k d t x x +=+ 为确定k t ,k t 取值遵循下列原则:
(1)保持迭代)()(k k k d t x +的可行性; (2)使目标函数值尽可能减小;
根据上述原则,可以通过求解下列一维搜索问题来确定步长,这里不再赘述,我们只要知道怎么计算就可以了。
综上得Zoutendijk 可行方向法的步骤为:
(1)确定允许误差ε,任选可行点)0(x 作初始点,令0=k ; (2)根据)(k x 的有效约束把A 分解为2,1A A ,相应的把b 分解为21,b b ,使得2)(21)(1,b x A b x A k k >>; (3)求解线性规划
⎪⎩
⎪
⎨⎧=≥∇00.)(min 2)(Gd d A t
s d x f T k ,11≤≤-i d n i ,.......
2,1= 设最优解为*d ,式中i d 为向量d 的分量,限制i d 是为使该线性规划有有限最优解;
(4)若ε<∇*)()(d x f T k ,则)(k x 为所求最优点,停止,否则转(5); (5)若0*1≥d A ,则由一维线收索)(min *)(td x f k +得*)()1(d t x x k k k +=+,令1+=k k 转(2),否则转(6); (6)设*21)(1,d A v b x A u k =-=,计算
⎭
⎬⎫
⎩⎨⎧<-=-
0|min i i i v v u t
由)(min *)(0td x f k t
t +-
≤≤确定*)()1(d t x x k k k +=+,令1+=k k 转(2);
例:见课本P80。