非线性规划问题的求解方法
非线性规划问题的求解及其应用
非线性规划问题的求解及其应用非线性规划,可以说是一种非常复杂的数学问题。
在实际应用中,许多系统的优化问题,都可以被转化为非线性规划问题。
但是,由于这种问题的复杂性,非线性规划的求解一直是数学界的一个研究热点。
一、非线性规划的基本概念1. 可行域在非线性规划中,可行域指的是满足所有约束条件的点集。
在二维平面上,可行域能够很容易地表示出来,但在多维空间中,可行域的表示就变得非常困难。
2. 目标函数目标函数是一个数学公式,它用来评估在可行域中各个点的“好坏程度”。
一个非线性规划问题的求解,其实就是在可行域内寻找一个能够最大化目标函数值的点。
3. 约束条件约束条件是指规划问题中需要满足的条件。
这些条件包括函数值的范围限制、变量之间相互制约等。
通常来说,非线性规划的约束条件相对于线性规划而言更加复杂。
二、非线性规划的求解方法在非线性规划问题的求解中,有很多种方法可供选择。
下面,我们来介绍其中一些常用的方法。
1. 半定规划半定规划(Semi-definite Programming, SDP)是非线性规划的一个子集,它具有线性规划的一些特性,但可以解决一些非线性问题。
与线性规划不同的是,半定规划中的目标函数和约束条件都可以是非线性的。
2. 内点法内点法是一种非常流行的求解非线性规划问题的方法。
它是一种基于迭代的算法,可以在多项式时间内求解最优解。
内点法的一个优点是,它能够解决带有大量约束条件的规划问题。
3. 外点法外点法是另一种常用的求解非线性规划问题的方法。
外点法首先将非线性规划问题转化为一组等式和不等式约束条件的问题。
然后,采用一种迭代的方法,不断地拟合目标函数,以求得最优解。
4. 全局优化法全局优化法是非线性规划问题中最难的问题之一。
全局优化法的目标是寻找一个区域内的全局最优解,这个解要在这个区域中所有可能的解中处于最佳位置。
由于非线性规划问题的复杂性,全局优化法通常需要使用一些高级算法来求解。
三、非线性规划的应用非线性规划被广泛地应用于各种领域,下面我们来介绍其中一些应用。
非线性规划问题的求解方法[优质ppt]
3、问题:
4.1、外点法(外部惩罚函数法):
如何将此算法模块化?
外点法框图: kk1
初始 x(0),1 0,1 0,k1
以x(k)为初始点 , 解
min f ( x) k p( x)
得到 x (k 1)
No
k1k
kp(x(k1)) yes
停 x (k 1) f22=subs(fx2x2); if(double(sqrt(f1^2+f2^2))<=0.002)
a(k+1)=double(x1);b(k+1)=double(x2);f0(k+1)=double(subs(f)); break; else X=[x1 x2]'-inv([f11 f12;f21 f22])*[f1 f2]'; x1=X(1,1);x2=X(2,1); end end if(double(sqrt((a(k+1)-a(k))^2+(b(k+1)b(k))^2))<=0.001)&&(double(abs((f0(k+1)-f0(k))/f0(k)))<=0.001) a(k+1) b(k+1) k f0(k+1) break; else m(k+1)=c*m(k);
非线性规划问题的求解方法
Content
无约束非线性规划问题 有约束非线性规划问题 Matlab求解有约束非线性规划问题
一.无约束问题
• 一维搜索
指寻求一元函数在某区间上的最优值点的方法。这类方法不仅有实用 价值,而且大量多维最优化方法都依赖于一系列的一维最优化。
逐次插值逼近法 近似黄金分割法(又称0.618法) • 无约束最优化
运筹学中的非线性规划问题-教案
教案运筹学中的非线性规划问题-教案一、引言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梯度法:讲解梯度法的原理和步骤,以及其在求解无约束非线性规划问题中的应用。
非线性规划的解法
非线性规划的解法非线性规划是一类重要的数学规划问题,它包含了很多实际应用场景,如金融市场中的资产配置问题,工程界中的最优设计问题等等。
由于非线性目标函数及约束条件的存在,非线性规划问题难以找到全局最优解,面对这样的问题,研究人员提出了众多的解法。
本文将从梯度法、牛顿法、共轭梯度法、拟牛顿法等方法进行介绍,着重讨论它们的优劣性和适用范围。
一、梯度法首先介绍的是梯度法,在非线性规划中,它是最简单的方法之一。
梯度法的核心思想是通过寻找函数的下降方向来不断地优化目标函数。
特别是在解决单峰函数或弱凸函数方面优势明显。
然而,梯度算法也存在一些不足之处,例如:当函数的梯度下降速度过慢时,算法可能会陷入局部最小值中无法跳出,还需要关注梯度方向更新的频率。
当目标函数的梯度非常大,梯度法在求解时可能会遇到局部性和发散性问题。
因此,它并不适合解决多峰、强凸函数。
二、牛顿法在牛顿法中,通过多项式函数的二阶导数信息对目标函数进行近似,寻找下降方向,以求取第一个局部极小值,有时还可以找到全局最小值。
牛顿法在计算方向时充分利用二阶导数的信息,使梯度下降速度更快,收敛更快。
因此,牛顿法适用于单峰性函数问题,同时由于牛顿法已经充分利用二阶信息,因此在解决问题时更加精确,准确性更高。
但牛顿法的计算量比梯度法大,所以不适合大规模的非线性规划问题。
此外,当一些细节信息不准确时,牛顿法可能会导致计算数值不稳定和影响收敛性。
三、共轭梯度法共轭梯度法是非线性规划的另一种解法方法。
共轭梯度法沿预定义的方向向梯度下降,使梯度下降的方向具有共轭性,从而避免了梯度下降法中的副作用。
基于共轭梯度的方法需要存储早期的梯度,随着迭代的进行,每个轴线性搜索方向的计算都会存储预定的轴单位向量。
共轭梯度方法的收敛速度比梯度方法快,是求解非线性规划的有效方法。
四、拟牛顿法拟牛顿法与牛顿法的思路不同,它在目标函数中利用Broyden、Fletcher、Goldfarb、Shanno(BFGS)算法或拟牛顿法更新的方法来寻找下降方向。
第5章 非线性规划
(水力约束) (水力摩阻系数约束)
KD GC
L (热力约束)
(粘温关系约束)
(工艺要求约束) (管道强度约束)
在目标函数中,f1(TR)、f2(Pd)一般为非线性函数,约束条 件中亦存在不少非线性函数,显然是一个NLP问题。
非线性规划的基本概念和定理
例3:最小二乘问题:该问题大量存在于工业生产和科学 实验的数据处理中。例如原油的粘度可以表示为:
凹函数的几何意义:
对 于 一 元 函 数 f(x) , 若
函数曲线上任意两点之 间的连线永远不在曲线
的 上 方 , 则 f(x) 为 凹 函
数(参见右图) 。
非线性规划的基本概念和定理 f(X)
f [X 1 (1 ) X 2 ]
对于二元函数 f(x1,x2), 若函数曲面上任意两点 之间的连线永远不在曲 面的上方,则f(x1,x2)为 凹函数(参见右图)。
1、一元函数:
①必要条件:f(x)在x*处取得极值的必要条件是f'(x*)=0;
②充分条件:若f"(x*)<0,则x*为极大点; 若f"(x*)>0,则x*为极小点。 2、多元函数: ①必要条件: f(X)在D域内存在极值点X*的必要条件为 * f ( X ) 0 (即f(X)在X*处的所有一阶偏导数等于0)。
非线性规划的基本概念和定理
根据定义,线性函数既是凸函数,又是凹函数。 凸函数的几何意义: 对 于 一 元 函 在曲线的下方, 则 f(x) 为 凸 函 数 ( 参 见 右
图) 。
非线性规划的基本概念和定理 f(X)
f ( X 1 ) (1 ) f ( X 2 )
§5.1 非线性规划的基本概念和定理
一、什么是非线性规划?
非线性规划问题的求解方法研究
非线性规划问题的求解方法研究随着科技的不断发展,各行各业也在不断发展变化。
非线性规划问题的求解方法也成为了当下热门的话题之一。
非线性规划是指优化问题中目标函数或约束条件是非线性的情况,这类问题在实际应用中很常见。
解决非线性规划问题的数学方法又被称为非线性规划算法。
非线性规划算法主要分为两类:确定性算法和随机算法。
确定性算法是通过一系列有规律的计算来达到问题的最优解。
而随机算法则是简单而暴力的方法,通过一些随机序列来优化思路,最终达到问题的最优解。
下面将介绍几类典型的非线性规划算法。
一、传统算法1. 信赖域算法信赖域算法是一种可应用于大规模非线性规划问题的优化方法。
它考虑了简单的限制条件,以期得到最优解。
它是迭代求解算法,通过寻找限制条件来达到最优解。
2. 罚函数算法罚函数算法的思想是将限制条件进行“惩罚”,使其变得更加强烈。
它可以转化为一个无限制最优化问题来求解原问题。
3. 共轭梯度法共轭梯度法是一种求解大规模非线性规划问题的高效算法。
它是迭代法,通过寻找相互垂直的方向来达到最优解。
二、元启发式算法元启发式搜索(也称为群智能)是一种通过模拟自然界的行为以解决优化问题的算法,包括蚁群算法、粒子群算法、遗传算法等。
1. 蚁群算法蚁群算法是一种基于蚂蚁行为的元启发式算法。
它通过模拟蚂蚁寻找食物的方式来优化问题,即将蚂蚁的行为规则应用于优化问题中。
2. 粒子群算法粒子群算法是一种仿照群体行为的元启发式算法。
它通过模拟鸟群、鱼群等集体行为来寻找最优解。
3. 遗传算法遗传算法是一种模拟自然选择和遗传机制的元启发式算法。
它通过模仿生物进化的过程来寻找最优解。
遗传算法适用于搜索空间大、目标函数复杂的优化问题。
三、其他算法除了传统算法和元启发式算法,还有一些其他的算法也被应用于非线性规划问题中,包括模拟退火算法、蒙特卡罗方法等。
1. 模拟退火算法模拟退火算法是一种随机退火过程,通过在优化问题的解空间中随机地搜索来寻找最优解。
非线性规划 速度计算公式
非线性规划速度计算公式在物理学中,速度是一个非常重要的概念。
它可以用来描述物体在单位时间内移动的距离,是物体运动状态的重要指标。
在实际应用中,我们经常需要计算物体的速度,以便更好地了解物体的运动规律。
在这篇文章中,我们将介绍非线性规划速度计算公式,帮助读者更好地理解和应用速度计算的方法。
首先,让我们来了解一下什么是非线性规划。
非线性规划是指在约束条件下求解非线性目标函数的最优化问题。
在速度计算中,我们常常会遇到非线性的运动规律,比如物体在空气中的运动、弹簧的变形等。
这时,我们就需要使用非线性规划的方法来求解物体的速度。
在非线性规划速度计算中,常见的方法有牛顿法、拟牛顿法等。
这些方法都是通过迭代计算来逼近最优解,可以很好地应用于速度计算中。
下面,我们将介绍一个常用的非线性规划速度计算公式,帮助读者更好地理解速度计算的方法。
假设一个物体在空气中自由下落,其速度可以用下面的非线性规划公式来描述:\[v(t) = v_{\text{终}} \tanh\left(\frac{gt}{v_{\text{终}}}\right)\]其中,\(v(t)\)表示时间\(t\)时物体的速度,\(v_{\text{终}}\)表示物体的终端速度,\(g\)表示重力加速度。
这个公式描述了物体在空气中自由下落时速度随时间变化的规律。
通过这个公式,我们可以计算出物体在任意时间的速度,从而更好地了解物体的运动状态。
为了使用这个公式进行速度计算,我们首先需要确定物体的终端速度\(v_{\text{终}}\)和重力加速度\(g\)的数值。
通常情况下,地球表面的重力加速度约为\(9.8\, \text{m/s}^2\),而物体的终端速度可以通过实验或者理论计算得到。
一旦确定了这些参数的数值,我们就可以使用这个公式来计算物体在任意时间的速度了。
举个例子,假设一个物体在空气中自由下落,其终端速度为\(v_{\text{终}} =50\, \text{m/s}\),重力加速度为\(g = 9.8\, \text{m/s}^2\)。
非线性规划求解
1 1
x1 x2
2.输入命令:
H=[1 -1; -1 2]; c=[-2 ;-6];A=[1 1; -1 2];b=[2;2]; Aeq=[];beq=[]; VLB=[0;0];VUB=[]; [x,z]=quadprog(H,c,A,b,Aeq,beq,VLB,VUB)
i =1 i =1
m
m
1 g i X
其中称 r lng i X 或 r
i =1 i =1
m
m
1 为障碍项, r为障碍因子. g i X
这样问题(1)就转化为求一系列极值问题: min I X , r
X D
0
k
得 X(r ).
k
k
内点法的迭代步骤
(1) 给定允许误差 0 ,取r1
??xfdx?min定义2对于问题1设若存在使得对一切且都有则称x是fx在d上的局部极小值点局部最优解特别地当时若dx?0??dx????xxxx????xfxf?nrx???????njirxxhxgxd????00局部极小值点局部最优解
数学建模与数学实验
非线性规划
实验目的
1. 直观了解非线性规划的基本内容.
2. 掌握用数学软件求解优化问题.
实验内容
1.非线性规划的基本理论.
2. 用数学软件求解非线性规划. 3. 钢管订购及运输优化模型. 4.实验作业.
非线性规划
非线性规划的基本概念
*非线性规划的基本解法
返回
非现性规划的基本概念 定义 如果目标函数或约束条件中至少有一个是非线性函数, 则最优 x 2 2 2 0 x 1 0 x 2
6-3无约束非线性规划问题的求解
使得 f ( x k k d k ) min f ( x k d k )。
4. 令 x k 1 x k k d k , 令 k : k 1 , 转2。
二、共轭梯度法 1. 共轭方向与正定二次函数 设A为n×n对称正定阵,X和Y是n维欧氏空间En中的两个 向量,若有 XTAY=0, 则称X和Y关于A共轭,或X和Y关于A正交。 n p , p , , p E 设A为n×n对称正定阵,若向量组 1 2 中任 n 意两个向量关于A共轭,即满足条件 piT Ap j 0 (i j; i, j 1,2,, n) ,则称该向量组为A共轭。 定理6-11 设为A为n×n对称正定阵,p1 , p2 ,, pn 为A共轭 的非零向量,则这一向量组线性无关。 证 设有实数k1 , k 2 ,, k n ,使得 k1 p1 k 2 p2 k n pn 0 0 i=1,2,…,n 用 piT A 左乘上式得: ki piT Api , T 但 pi 0 且A为正定,从而 pi Api 0 故必有 ki 0 (i 1,2,, n) ,从而知 p1 , p2 ,, pn线性无关。
o
d (1)T Ad ( 2) 0,
即等值面上一点处的切 向量与由这一点指向极小点的向量关于A 共轭。
p0 , p1 ,, pk 1 (k n) 定理6-12 设 f ( X )是上面讲的二次正定函数, 为A共轭,则从任一点X 0出发,依次沿 p0 , p1 ,, pk 1 执行一维搜索,即 * min f ( X p ) f ( X k k k k pk )
2 f ( x ) A,
因为A 正定,所以 2 f ( x ) A 0 ,
x
非线性规划方案山大刁在筠运筹学讲义
非线性规划方案山大刁在筠运筹学讲义那天,阳光透过窗户洒在我的书桌上,我翻看着山大刁在筠教授的运筹学讲义,非线性规划这一章节引起了我的兴趣。
思绪如泉水般涌出,我决定以意识流的方式,写下这篇非线性规划方案。
一、问题的提出非线性规划是运筹学中的一个重要分支,它研究的是在一组约束条件下,如何找到使目标函数取得最优解的问题。
这类问题在实际应用中广泛存在,如生产计划、资源分配、投资决策等。
山大刁在筠教授的讲义中,以一个具体的生产问题为例,引导我们深入探讨非线性规划的方法。
二、方案的构建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.分析结果求解完成后,我们需要对结果进行分析。
我们要检查最优解是否满足所有约束条件。
如果满足,那么我们可以将最优解应用于实际问题中。
非线性规划课件
②再固定x₂=x₂ (1): 求以x₁为单变量的目标函数的极值点,
得 X(2)=(x,(2),x₂ (1))T ,S(2)=f(X(2))
此时S(2)优于S(1), 且搜索区间缩短为x₁*∈[x,(2),b,],x₂*∈[x₂ (1),b₂] 第二步:如此交替搜索,直至满足给定精度ε为止
否则,继续缩短区间,
直至满足给定的精度为
①f(x₂)≥f(xq), 取[aq=ao,b,=x,]
X₁ =X2
x'2=b₁-λ(b₁-aq) ②f(x₂)<f(x₁), 取[a=x2,b,=b,]
x=aq+λ(b₁-aq)
10
x₂ =x₁
例 求 解 f(x)=-18x²+72x+28 的极大值点,δ≤0.1,起始搜索区间为[0,3] 解:①用间接法:令 f'(x)=-36x+72=0, 得驻点 x=2
xq*∈[aq,b,],x²*∈[a₂ ,b₂ ],.,x*∈[an,b,]
1、原理: ①从起点 X(0) 出发,沿平行于 x, 轴的方向P(1)进行一维搜索,
求得 f(X) 在该方向P(1)上近似极值点 X(1);
②从点 X(1) 出发,沿平行于 x₂ 轴的方向P(2)进行一维搜索,
求得 f(X) 在该方向P(2)上近似极值点 X(2); ③从点 X(2) 出发,照此交替进行下去,直至满足给定的精度ε为止
六、 寻优方法概述:
1、N.L.P.问题分类
① 无约束条件的NLP问题。 ② 有约束条件的NLP问题。 2、寻优方法
① 间接法(解析法):适应于目标函数有简单明确的数学表达式。
非线性规划问题的求解方法[优质ppt]
4.2、内点法(内部惩罚函数法): min F ( x, )
s.t. x S
算法: ( 1) 给 定 初 始 内 点 x (0) S , 允 许 误 差 e>0,
障 碍 参 数 (1) , 缩 小 系 数 b (0 ,1) , 置 k= 1 ;
( 2) 以 x (k1) 为 初 始 点 , 求 解 下 列 规 划 问 题 :
f21=subs(fx2x1); f22=subs(fx2x2); if(double(sqrt(f1^2+f2^2))<=0.002)
a(k+1)=double(x1);b(k+1)=double(x2);f0(k+1)=double(subs(f)); break; else X=[x1 x2]'-inv([f11 f12;f21 f22])*[f1 f2]'; x1=X(1,1);x2=X(2,1); end end if(double(sqrt((a(k+1)-a(k))^2+(b(k+1)b(k))^2))<=0.001)&&(double(abs((f0(k+1)-f0(k))/f0(k)))<=0.001) a(k+1) b(k+1) k f0(k+1) break; else m(k+1)=c*m(k);
min f ( x ) ( k ) B ( x )
s.t. x S
, 令 x (k) 为 所 求 极 小 点
( 3) 如 果 (k)B (x (k) ) e , 则 停 止 计 算 , 得 到 结 果x (k) ,
(k 1) b (k )
非线性规划建模、图解法
z f ( x1 , x2 ) L zc f ( x1 , x2 ) c L z0
z
0
x1
x2
L 目标函数的等高线
线性规划3-1 规划与决策
二.图解法 (只用于求解两个变量的非线性规划问题) 2.画出目标函数的等高线: 例:在 x1 , x2 坐标平面上画出目标函数: 2 f ( x1 , x2 ) x12 x2 的等高线 x2 2 2 解: 等高线为 x1 x2 c( 0) 是一族以原点为圆心的 同心圆(半径为 c )
max f ( X ) x1 x2
s .t .
2 x1 5 x2 40 x1 , x2 0
可行域:
x2
10 40 60 7
2 x1 5 x2 40 D {( x1 , x2 ) } x1 , x2 0
T
x 等高线: 1 x2 c X (10, 4 )T , f 40
0
f ( x1 , x2 ) c L z0
线性规划3-1 规划与决策
x1
二.图解法 (只用于求解两个变量的非线性规划问题) 3.用图解法求解 例1: 解:
min f ( X ) ( x1 2)2 ( x2 2)2
s .t . g( X ) x1 x2 6 0
一.非线性规划举例及数学模型 例1: 某公司经营两种设备,第一种设备每件售价30元,第 二种设备每件售价450元。根据统计,售出一件第一 种设备所需要的营业时间平均是0.5小时,第二种设 备是2+0.25 x2小时,其中 x2 是第二种设备的售出数 量。已知该公司在这段时间内的总营业时间为800 小时,试决定使其营业额最大的营业计划。
hi ( X ) 0 s.t. gj(X) 0
非线性规划问题的求解方法
运行输出:
最优解 1.00012815099165 -0.00000145071779
k= 33
练习题:
1、用外点法求解下列模型
min( x12 2x22 ) s.t. x1 x2 1
2、将例子程序改写为一个较为通用的罚函数 法程序。(考虑要提供哪些参数)
2. 内点法(障碍函数法)
min f (x) s.t. gi (x) 0,i 1,2,, m
第二步:求 (k) 最优的目标函数
function r=fungetlamada(lamada) %关于lamada的一元函数,求最优步长 global x0 d=fun1gra(x0); r=2*(x0(1)-lamada*d(1))^2+(x0(2)lamada*d(2))^2; %注意负号表示是负梯度
a 1, b 1 ,a,b 为常数,通常取 a=b=2。
算法步骤
(1)给定初始点 x(0),初始罚因子 (1) , 放大系数 c>1;允许误差 e>0,设置 k=1;
(2)以 x(k-1)作为搜索初始点,求解无约束规划问题 min f (x) P(x) ,令 x(k)为所求极小点。
lamada=fminsearch(‘fungetlamada’,la mada);%求最优步长lamada
x0=x0-lamada*fun1gra(x0);%计算x0 d=fun1gra(x0);%计算梯度 k=k+1;%迭代次数
end
disp('x='),disp(x0),disp('k='),disp (k),disp('funobj='),disp(2*x0(1)^2+ x0(2)^2)
非线性规划
非线性规划非线性规划(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 是。
第四章 非性规划2-SUMT方法(罚函数法)
第二节 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=≤∈之间的联系:约束非线性规划问题可以通过构造新目标函数序列,用无约束优化方法求其极小点,并逐次逼近原问题的最优点。
第三章非线性规划无约束问题的最优化方法
x0
0p 0
1.919877 还需要经过10次迭代才
能满足精度要求
0.003070
第三节 牛顿法
3. 牛顿法的缺点: 牛顿法要求初始解离最优解不远,若初始点选得离最优解太
远时,牛顿法并不能保证其收敛,甚至也不是下降方向。因此, 常将牛顿法与最速下降法结合起来使用。前期使用最速下降法, 当迭代到一定程度后,改用牛顿法,可得到较好的效果。 4. 修正牛顿法 基本思想: 保留了从牛顿法中选取牛顿方向作为搜索方向,摒弃其步长恒 为1的做法,而用一维搜索确定最优步长来构造算法。
2
2
0
2e2 2 3
00 21 0
03
f x3 9
第二节 最速下降法
再从x(3)点 出发,沿x3轴方向e3进行一维搜索:
0 x 3 e3 0
3
00 00 13
f x 3 e3
32
f' 0 x4 x3
3
3
0
3e3 0 0
f x4 0
第二节 最速下降法
因为 x 1
x 4 ,0故.0以1 x(4)点作为新的x(1) ,进行新一轮迭代。
0
1 33 22
f x0
p0
52 5
42
f' x0
p0 5 5 0
22
01
第三节 牛顿法
x1 x0
1 p0 3
2
3
f x1
14
12 2
0
30
12 1 2
2
f x1
所以选取 x* x 1
1 3 作为极小点。 2
第三节 牛顿法
6. 修正牛顿法的缺点: 修正牛顿法虽然比牛顿法有所改进,但也有不足之处:
非线性规划
多项式 p(x) ax2 bx c 的插值结点。 这里a b c为待定系数.可用下述线形方程组确定.
p(x1 ) ax12 bx1 c f1
p(x2 )
axBiblioteka 2 2 bx2c
f2
p(x3 ) ax32 bx3 c f3
x1 a
计算函数值
x3 x3 b
x2
1 2
( x1
x3 )
f1 f (x1) f2 f (x2 ) f3 f (x3 )
ⅲ插值计算
x
* p
(a)若分母为零即 (x2 x3 ) f1 (x3 x1) f2 (x1 x2 ) f3 0 即
f2 f1 f3 f1 则说明三个插值点(x1, f1) (x2, f2 ) (x3, f3)在同一
向量化表示
令
g( x) ( g1 ( x),..., g p ( x))T
h( x) (h1 ( x),..., hp ( x))T ,
其中, g : R n R p , h : R n Rq ,那么(MP)可简记为
min f ( x)
s.t .
g(x) 0 或者min f ( x) x X
x b 2a
x*p
1 2
(x22 x32 ) f1 (x32 x12 ) f2 (x12 x22 ) f3 (x2 x3 ) f1 (x3 x1 ) f2 (x1 x2 ) f3
c1
f3 x3
f1 x1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
=diff(fx2,'x1');fx2x2=diff(fx2,'x2');
for k=1:100
x1=a(k);x2=b(k);e=m(k);
for n=1:100
f1=subs(fx1);
f2=subs(fx2);
f11=subs(fx1x1);
f12=subs(fx1x2);
A
11
f21=subs(fx2x1);
A
14
(二)拉格朗日乘子法 (三)可行方向法与广义简约梯度法 (四)SQP方法
A
15
三.Matlab求解有约束问题
•
A
16
运行输出:
x= 24.0000 12.0000 12.0000
fval =
-3.4560e+03
A
17
(二)非负条件下线性最小二乘lsqnonneg •
A
18
• (三)有约束线性最小二乘lsqlin
最速下降法(负梯度法) Newton法 共轭梯度法 拟Newton法 变尺度法
A
4
二.有约束问题
(一)罚函数法(SUMT) 1、算法思想: 将有约束优化问题转化为一系列无约束优化问题 进行求解.(Sequential Unconstrained Minimization Technique-SUMT) 2、算法类型: 外点法(外惩法) 内点法(内惩法)
else
m(k+1)=c*m(k);
A
12
end end
结果:
•
ans =
•
• 1.0000
•
•
• ans =
•
• -7.1594e-004
•
•
• k=
•
• 14
A
13
小结
讲解了两个求解有约束非线性规划问题的特点. 易于实现,方法简单. 没有用到目标函数的导数.
问题的转化技巧(近似为一个无约束规划).
4.2、内点法(内部惩罚函数法): min F ( x, )
s.t. x S
算法: ( 1) 给 定 初 始 内 点 x (0) S , 允 许 误 差 e>0,
障 碍 参 数 (1) , 缩 小 系 数 b ( 0 ,1) , 置 k= 1 ;
( 2) 以 x (k1) 为 初 始 点 , 求 解 下 列 规 划 问 题 :
A
5
• 3、问题:
A
6
4.1、外点法(外部惩罚函数法): •
如何将此算法模块化?
A
7
外点法框图: kk1
初始 x(0),1 0,1 0,k1
以x(k)为初始点 , 解
min f ( x) k p( x)
得到 x (k 1)
No
k1k
kp(x(k1)) yes
停 x (k 1) opt
A
8
min f ( x ) ( k ) B ( x )
s.t. x S
, 令 x (k) 为 所 求 极 小 点
( 3) 如 果 (k) B ( x (k) ) e , 则 停 止 计 算 , 得 到 结 果x (k) ,
(k 1) b (k )
( 4) 否 则 令
, 置 k= k+ 1 , 返 回 ( 2 )。
非线性规划问题的求解方法
A
1
Content
无约束非线性规划问题 有约束非线性规划问题
Matlab求解有约束非线性规划问题
A
2
一.无约束问题
• 一维搜索
指寻求一元函数在某区间上的最优值点的方法。这类方法不仅有实用 价值,而且大量多维最优化方法都依赖于一系列的一维最优化。
逐次插值逼近法 近似黄金分割法(又称0.618法) • 无约束最优化
指寻求 n元实函数f在整个n维向量空间Rn上的最优值点的方法。无约 束最优化方法大多是逐次一维搜索的迭代算法。这些迭代算法的基本
A
3
思想是:在一个近似点处选定一个有利搜索方向,沿这个方向进行一 维寻查,得出新的近似点。然后对新点施行同样手续,如此反复迭代, 直到满足预定的精度要求为止。根据搜索方向的取法不同,可以有各 种算法。
f22=subs(fx2x2);
if(double(sqrt(f1^2+f2^2))<=0.002)
a(k+1)=double(x1);b(k+1)=double(x2);f0(k+1)=double(subs(f));
break;
else
X=[x1 x2]'-inv([f11 f12;f21 f22])*[f1 f2]';
A
9
内点法框图 kk1
x(0) S0 , 1 0, [0,1], 0, k 1
min
s.t.
f (x) kq(x) x S0
从 x ( k )出发 ,
求得 x ( k 1)
No
k1 k
kq(x(k1))
yes
停
x(k1) opt
A
10
内点法的matlab程序:
m=zeros(1,50);a=zeros(1,50);b=zeros(1,50);f0=zeros(1,50);
x1=X(1,1);x2=X(2,1);
end
end
if(double(sqrt((a(k+1)-a(k))^2+(b(k+1)b(k))^2))<=0.001)&&(double(abs((f0(k+1)-f0(k))/f0(k)))<=0.001)
a(k+1)
b(k+1)
k
f0(k+1)
break;
syms x1 x2 e;
m(1)=1;c=0.2;a(1)=2;b(1)=-3;
f=x1^2+x2^2-e*(1/(2*x1+x2-2)+1/(1-x1)); f0(1)=15;
fx1=diff(f,'x1');fx2=diff(f,'x2');fx1x1=diff(fx1,'x1');fx1x2=diff(fx1,'x2'乘lsqnonlin
A
20
求解x,使得下式最小
10
e e ( 2 2 k k x 1 k x 2) 2
k 1
运行输出:
x= 0.2578 0.2578
resnorm = 124.3622
A
21
Thank you for your attention!
A
22