第12讲 非线性规划方法(new)
非线性规划
1. 非线性规划我们讨论过线性规划,其目标函数和约束条件都是自变量的线性函数。
如果目标函数是非线性函数或至少有一个约束条件是非线性等式(不等式),则这一类数学规划就称为非线性规划。
在科学管理和其他领域中,很多实际问题可以归结为线性规划,但还有另一些问题属于非线性规划。
由于非线性规划含有深刻的背景和丰富的内容,已发展为运筹学的重要分支,并且在最优设计,管理科学,风险管理,系统控制,求解均衡模型,以及数据拟合等领域得到越来越广泛的应用。
非线性规划的研究始于三十年代末,是由W.卡鲁什首次进行的,40年代后期进入系统研究,1951年.库恩和.塔克提出带约束条件非线性规划最优化的判别条件,从而奠定了非线性规划的理论基础,后来在理论研究和实用算法方面都有很大的发展。
非线性规划求解方法可分为无约束问题和带约束问题来讨论,前者实际上就是多元函数的极值问题,是后一问题的基础。
无约束问题的求解方法有最陡下降法、共轭梯度法、变尺度法和鲍威尔直接法等。
关于带约束非线性规划的情况比较复杂,因为在迭代过程中除了要使目标函数下降外,还要考虑近似解的可行性。
总的原则是设法将约束问题化为无约束问题;把非线性问题化为线性问题从而使复杂问题简单化。
求解方法有可行方向法、约束集法、制约函数法、简约梯度法、约束变尺度法、二次规划法等。
虽然这些方法都有较好的效果,但是尚未找到可以用于解决所有非线性规划的统一算法。
非线性规划举例[库存管理问题] 考虑首都名酒专卖商店关于啤酒库存的年管理策略。
假设该商店啤酒的年销售量为A 箱,每箱啤酒的平均库存成本为H 元,每次订货成本都为F 元。
如果补货方式是可以在瞬间完成的,那么为了降低年库存管理费用,商店必须决定每年需要定多少次货,以及每次订货量。
我们以Q 表示每次定货数量,那么年定货次数可以为QA,年订货成本为Q A F ⨯。
由于平均库存量为2Q,所以,年持有成本为2Q H ⨯,年库存成本可以表示为:Q HQ A F Q C ⨯+⨯=2)( 将它表示为数学规划问题:min Q H Q A F Q C ⋅+⋅=2)( ..t s 0≥Q其中Q 为决策变量,因为目标函数是非线性的,约束条件是非负约束,所以这是带约束条件的非线性规划问题。
非线性规划知识点讲解总结
非线性规划知识点讲解总结1. 非线性规划的基本概念非线性规划是指目标函数和/或约束条件包含非线性项的优化问题。
一般来说,非线性规划问题可以表示为如下形式:\[\min f(x)\]\[s.t. \ g_i(x) \leq 0, \ i=1,2,...,m\]\[h_j(x)=0, \ j=1,2,...,p\]其中,\(x \in R^n\)是优化变量,\(f(x)\)是目标函数,\(g_i(x)\)和\(h_j(x)\)分别表示不等式约束和等式约束。
目标是找到使目标函数取得最小值的\(x\)。
2. 非线性规划的解决方法非线性规划问题的求解是一个复杂的过程,通常需要使用数值优化方法来解决。
目前,常用的非线性规划求解方法主要包括梯度方法、牛顿方法和拟牛顿方法。
(1)梯度方法梯度方法是一种基于目标函数梯度信息的优化方法。
该方法的基本思想是在迭代过程中不断沿着梯度下降的方向更新优化变量,以期望找到最小值点。
梯度方法的优点是简单易实现,但缺点是可能陷入局部最优解,收敛速度慢。
(2)牛顿方法牛顿方法是一种基于目标函数的二阶导数信息的优化方法。
该方法通过构造目标函数的泰勒展开式,并利用二阶导数信息来迭代更新优化变量,以期望找到最小值点。
牛顿方法的优点是收敛速度快,但缺点是计算复杂度高,需要计算目标函数的二阶导数。
(3)拟牛顿方法拟牛顿方法是一种通过近似求解目标函数的Hessian矩阵来更新优化变量的优化方法。
该方法能够克服牛顿方法的计算复杂度高的问题,同时又能保持相对快速的收敛速度。
拟牛顿方法的典型代表包括DFP方法和BFGS方法。
3. 非线性规划的应用非线性规划方法在实际生活和工程问题中都有着广泛的应用。
以下将介绍非线性规划在生产优化、资源分配和风险管理等领域的应用。
(1)生产优化在制造业中,生产线的优化调度问题通常是一个非线性规划问题。
通过对生产线的机器设备、生产工艺和生产速度等因素进行建模,并设置相应的目标函数和约束条件,可以使用非线性规划方法来求解最优的生产调度方案,以最大程度地提高生产效率和减少成本。
非线性规划ppt课件
g3(x) x1 x2 x3 0
;
20
一维搜索方法
目标函数为单变量的非线性
规划问题称为一维搜索问题
min t0 (0ttmax )
其中 t R 。
(t)
➢精确一维搜索方法 0.618法 Newton法
➢非精确一维搜索方法 Goldstein法 Armijo法
;
21
0.618法(近似黄金分割法)
定义 4.1.2 对于非线性规划(MP),若 x* X ,并且存在 x* 的一个
领域 N ( x* ) x Rn x x* ( 0, R) ,使
f (x* ) f (x), x N (x* ) X ,
则称 x* 是(MP)的局部最优解或局部极小点,称 f ( x* ) 是(MP)的局部
函数(t) 称为在[a,b]上是单谷的,如果存在一个 t * [a, b] ,使得(t) 在[a, t * ]上严格递减,且在[t * , b] 上严格递增。区间[a,b]称为(t) 的单 谷区间。
第 1 步 确定单谷区间[a,b],给定最后区间精度 0 ;
第 2 步 计算最初两个探索点
t1 a 0.382(b a) b 0.618(b a)
;
22
0.618法例题
• 例4.3.1 用0.618法求解
min(t) t3 2t 1 t0
(t) 的单谷区间为[0,3], 0.5
解答
例4.3.1解答 • 迭换换代tbtb 过程0311..62..∧✓18可0036145436481由-00下101.2.∧...0✓871110650431表48611 给0-0100.2.∨...0✓1470出2064308168821 --000100...∨...00✓4178376340791868681 01..7140486 a2112a
非线性规划
1 1 x1 2 1 2 x2 2 0 x1 x 0 2
2
4 x2 6 x2
H=[2 -4; -2 4]; 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)
6
n)
G j , I j , Aj 分别表示第j年进入政府,工业界,科学界
为了有根据地衡量这个模型的可靠性,必须了解 进入这三各部门的实际人数G j , I j , A j 与预计人数 G j,, I j A j间的差别,按最小二乘法估计为使得
2 2 2 [( G N ) ( I N ) ( A N ) ], j 1 j j 1 j j 1 j j 1 n
10
非线性规划的基本解法
SUTM外点法
1、罚函数法 SUTM内点法(障碍罚函数法)
2、近似规划法
11
罚函数法 罚函数法基本思想是通过构造罚函数把 约束问题转化为一系列无约束最优化问题,
进而用无约束最优化方法去求解.这类方法
称为序列无约束最小化方法.简称为SUMT
法.
其一为SUMT外点法,其二为SUMT内点 法.
(4) x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’) (5)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’,options)
输出极值点
M文件
迭代的初值
变量上下限
参数说明
非线性规划理论与算法_图文
firstorderopt: [ ] cgiterations: [ ] lambda =
3、问题:
4、外点法(外部惩罚函数法)
(1)几何解释
(2)算法步骤(外点法):
(3)外点法框图
No
yes
(4)应注意的问题
例 :
(5)一般模型的外点法
算法步骤相同
(6)算法收敛性
5、内点法(障碍函数法) (1)集合结构
(2)算法思想
内点法(障碍函数法)的迭代点是在可行域点集内 部移动的,对接近可行域边界上的点施加越来越大的惩 罚,对可行域边界上的点施加无限大的惩罚,这好比边 界是一道障碍物,阻碍迭代点穿越边界。
内点法要求可行点集的内点集合非空,否则算法无法 运行。这样一来内点法只对不等式约束的优化问题才可能 有效。
(3)算法分析
(4)算法步骤(内点法):
内点法框图
No
yes
例 解
(5)算法收敛性: (6)罚函数法的缺点
(7)内、外点法的优缺点的比较
外点法
内点法
1.任意x(0)∈Rn
1. x(0)∈S 0(参阅P220讨论内点的选取)
二次规划问题(quadratic programming)的Matlab解
函数 quadprog
格式: x = quadprog(H,f,A,b) %其中H,f,A,b为标准形中的参数,x
为目标函数的最小值。
x = quadprog(H,f,A,b,Aeq,beq) %Aeq,beq满足等约束条件
非线性规划的解法
非线性规划的解法非线性规划是一类重要的数学规划问题,它包含了很多实际应用场景,如金融市场中的资产配置问题,工程界中的最优设计问题等等。
由于非线性目标函数及约束条件的存在,非线性规划问题难以找到全局最优解,面对这样的问题,研究人员提出了众多的解法。
本文将从梯度法、牛顿法、共轭梯度法、拟牛顿法等方法进行介绍,着重讨论它们的优劣性和适用范围。
一、梯度法首先介绍的是梯度法,在非线性规划中,它是最简单的方法之一。
梯度法的核心思想是通过寻找函数的下降方向来不断地优化目标函数。
特别是在解决单峰函数或弱凸函数方面优势明显。
然而,梯度算法也存在一些不足之处,例如:当函数的梯度下降速度过慢时,算法可能会陷入局部最小值中无法跳出,还需要关注梯度方向更新的频率。
当目标函数的梯度非常大,梯度法在求解时可能会遇到局部性和发散性问题。
因此,它并不适合解决多峰、强凸函数。
二、牛顿法在牛顿法中,通过多项式函数的二阶导数信息对目标函数进行近似,寻找下降方向,以求取第一个局部极小值,有时还可以找到全局最小值。
牛顿法在计算方向时充分利用二阶导数的信息,使梯度下降速度更快,收敛更快。
因此,牛顿法适用于单峰性函数问题,同时由于牛顿法已经充分利用二阶信息,因此在解决问题时更加精确,准确性更高。
但牛顿法的计算量比梯度法大,所以不适合大规模的非线性规划问题。
此外,当一些细节信息不准确时,牛顿法可能会导致计算数值不稳定和影响收敛性。
三、共轭梯度法共轭梯度法是非线性规划的另一种解法方法。
共轭梯度法沿预定义的方向向梯度下降,使梯度下降的方向具有共轭性,从而避免了梯度下降法中的副作用。
基于共轭梯度的方法需要存储早期的梯度,随着迭代的进行,每个轴线性搜索方向的计算都会存储预定的轴单位向量。
共轭梯度方法的收敛速度比梯度方法快,是求解非线性规划的有效方法。
四、拟牛顿法拟牛顿法与牛顿法的思路不同,它在目标函数中利用Broyden、Fletcher、Goldfarb、Shanno(BFGS)算法或拟牛顿法更新的方法来寻找下降方向。
非线性规划算法介绍
非线性规划算法介绍在优化问题中,线性规划被广泛应用,但是有时候我们需要解决一些非线性问题。
非线性规划问题是指目标函数或约束条件至少有一个是非线性的优化问题,求解非线性规划问题是在一些工程和科学领域中很重要的任务。
这篇文章将会介绍非线性规划算法的一些概念和原理。
1. 概述非线性规划(Non-linear programming,简称NLP)是指存在非线性的目标函数和约束的最优化问题。
相对于线性规划问题,非线性规划问题的求解要困难得多,因此需要更复杂的算法来解决。
然而,在实际应用中非线性规划问题比比皆是,如金融风险管理、科学研究、交通规划等,因此非线性规划算法的研究意义非常重大。
2. 常见算法(a) 梯度下降法梯度下降法(Gradient descent algorithm)是求解最小化目标函数的一种方式。
在非线性规划问题中,该方法利用目标函数的梯度方向来确定下降的方向,迭代调整参数,直到梯度为零或达到可接受的误差范围。
梯度下降法有多种变形,包括共轭梯度法、牛顿法等。
(b) 拟牛顿法拟牛顿法(Quasi-Newton methods)是用来求解非线性约束优化问题的经典算法之一。
拟牛顿法利用牛顿法的思想,但不需要求解目标函数的二阶导数,转而用近似的Hessian矩阵来取代二阶导数,并用更新步长向量的方式近似求解目标函数的最小值。
(c) 启发式算法启发式算法(Heuristic algorithms)是一种不确定性的、基于经验的求解方法,因此不保证能找到全局最优解。
虽然有缺点,但启发式算法具有较强的鲁棒性和适应性,可用于非线性规划问题的求解。
常见的启发式算法包括模拟退火、遗传算法、蚁群算法、粒子群算法等。
3. 应用案例非线性规划算法在实际应用中发挥着不可或缺的作用。
这里介绍两个基于非线性规划算法的应用案例。
(a) 水利工程在水利工程中,常常需要寻找最优的方案来解决水库调度、灌溉、排洪等问题。
非线性规划算法能够通过寻找水资源的最优利用方法,保证水利工程的经济和社会效益。
非线性规划问题的求解方法
第二步:求 (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; %注意负号表示是负梯度
程序1:主程序main2.m
global lamada%主程序main2.m,罚函数方法
x0=[1 1];
lamada=2;
c=10;
e=1e-5;
k=1;
while lamada*fun2p(x0)>=e
x0=fminsearch('fun2min',x0);
lamada=c*lamada;
k=k+ En ,给定误差 0 ,令 k=1;
2. d x 计算搜索方向 (k) f ; (k)
3. 如果 d (k) ,则迭代终止,否则通过下列一维搜索
min x d 求 : (k)
f (k) (k)
0
x x d 4. 令 (k1) (k) (k) (k) ,置 k=k+1,转(2)步执行。
P (k)为第 k+1 步的搜索方向。
(3) 求出沿 P (k)方向前进的步长 (k )
(4) 得到新的点 X (k+1), X (k1) X (k ) (k ) P(k )
检验 X (k+1)是否最优,如果是最优,则迭代结束,
否则 k k 1,转到(2)执行。
注意:数值求解最优化问题的计算效率取决
解析法) 。
一般要用到目标函数的导数。
(2)直接法
非线性规划
非线性规划什么是非线性规划?非线性规划(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. 分类方法分类方法是一种将非线性规划问题分解为若干个子问题求解的方法。
它将原始的非线性规划问题分解为多个子问题,然后将每个子问题分别求解,并逐步逼近原始问题的最优解。
以上仅是非线性规划求解方法的一小部分,实际上还有很多其他的方法和技巧可供选择。
在实际应用中,选择合适的方法和工具是非常重要的。
非线性规划的应用非线性规划在实际生活和工程中有着广泛的应用。
学习非线性规划的基本方法
学习非线性规划的基本方法非线性规划(Nonlinear Programming,简称NLP)是数学规划中的一种重要方法,被广泛应用于工程、经济、管理、物理等领域。
与线性规划相比,非线性规划在模型的描述和求解方法上更为复杂,但也更为灵活和准确。
本文将介绍非线性规划的基本方法,包括问题的建模、常用的求解算法和实际应用。
一、非线性规划问题的建模在开始学习非线性规划之前,我们首先需要对非线性规划问题进行合理的建模。
通常,一个典型的非线性规划问题可以表示为以下形式:最小化 f(x)约束g_i(x) ≤ 0, i = 1, 2, ..., mh_j(x) = 0, j = 1, 2, ..., n其中,f(x)是目标函数,g_i(x)是不等式约束条件,h_j(x)是等式约束条件,x为决策变量,m和n分别表示不等式约束条件和等式约束条件的个数。
在建模时,需要特别注意以下几点:1. 选择合适的决策变量,使得问题的描述和求解更加精确和高效。
2. 明确目标函数和约束条件,确保数学模型的准确性。
3. 充分考虑实际问题的特性,对问题进行合理的简化和假设。
二、非线性规划问题的求解算法非线性规划问题的求解算法可以分为两类:直接法和间接法。
直接法直接对非线性规划问题进行求解,而间接法先将非线性规划问题转化为等价的特殊结构问题,再对等价问题进行求解。
下面介绍两种常用的求解算法:单纯形法和内点法。
1. 单纯形法单纯形法是线性规划中常用的一种求解算法,但也可以用于求解非线性规划问题。
该算法通过寻找可行解的连续改进路径,不断接近最优解。
单纯形法的核心思想是在可行域内搜索目标函数极小值点。
2. 内点法内点法是一类有效的非线性规划求解方法,其基本思想是将原问题转化为一个等价的凸优化问题,通过寻找问题凸对偶的极值点来求解原问题。
该方法的优点是能够处理大规模的非线性规划问题,并具有较好的收敛性和全局最优性。
三、非线性规划的实际应用非线性规划方法在实际应用中具有广泛的应用前景。
《非线性规划》课件
非线性规划的约束条件
非线性规划的约束条件是指限制问题解的一组方程或不等式。这些约束条件可以包括物理限制、资源约 束和行为限制等。
非线性规划的求解方法
线性化方法
将非线性问题转化为等价的 线性问题,然后使用线性规 划方法求解。
牛顿法
使用牛顿迭代法逐步逼近最 优解。
拟牛顿法
使用近似Hessian矩阵的方法 优化牛顿法。
变尺度法、全局优化方法
1
变尺度法
通过改变尺度,将问题转化为更易求解的形式。
2
全局优化方法
使用启发式算法寻找全局最优解。
非线性规划的应用领域
生产计划问题
优化生产计划,提高效率和利润。
交通运输问题
优化交通网络和运输流程。
优化电力系统
使电力系统运行更加高效和可靠。
决策支持系统
为决策者提供优化建议和决策支持。
医资源分配和治疗方案。
非线性规划的挑战
复杂的问题结构和求解困难。
未来的研究方向
未来的研究方向包括改进算法性能、适用于大规模问题的方法和考虑不确定性的优化模型等。
《非线性规划》PPT课件
在这个《非线性规划》PPT课件中,我们将深入探讨非线性规划的各个方面, 并介绍其在不同领域的应用。让我们一起开启这个激动人心的学习之旅!
什么是非线性规划?
非线性规划是一种在优化问题中寻找最优解的数学方法。它处理的是有非线 性约束条件和目标函数的优化问题。
非线性规划的优化目标
非线性规划算法综述
非线性规划算法综述非线性规划是现代数学中的一个重要领域,其应用范围广泛,包括物理学、经济学、机械工程学、化学工程学等众多领域。
而在实际应用中,非线性规划问题往往十分复杂,需要采用各种算法进行求解。
本文将对非线性规划算法进行综述,重点介绍了当前主要的非线性规划算法,包括黄金分割法、拟牛顿法、粒子群算法、遗传算法等。
一、黄金分割法黄金分割法是一种基于区间搜索的优化算法,其核心思想是通过不断缩小搜索区间,逐步逼近最优解。
该算法要求函数必须在搜索区间内具有单峰性质。
黄金分割法的优点是简单易懂、易于实现、对初始区间的选择不敏感。
但其缺点也十分明显,当函数具有多峰性质时,该算法的表现将十分不理想。
二、拟牛顿法拟牛顿法是一种基于梯度下降的优化算法,其核心思想是利用梯度信息寻找搜索方向,并通过迭代逐步改进优化结果。
该算法可以处理非线性约束和非线性目标,且具有较高的收敛速度和精度。
拟牛顿法优点是在一定程度上能解决高维、多约束、多峰等非线性问题,且能够综合利用目标函数和约束条件信息。
但是其在某些情况下会出现收敛陷入局部极小值的问题,需要采用一些策略来提高其质量。
三、粒子群算法粒子群算法是一种基于启发式算法的优化方法,利用群体行为的思想进行全局搜索。
该算法基于种群演化,可以利用全局信息和局部交换以及自我适应等特点,综合利用了搜索中的多样性和少数量的节点数。
粒子群算法的优点是能够解决高维、多峰、非线性约束、非凸性等问题,并且具备较强的全局搜索能力。
然而其也存在较大的局限性,例如易收敛到局部最优解、易出现早熟现象等问题,需结合其他优化算法进一步优化。
四、遗传算法遗传算法是一种基于生物遗传进化机制的优化算法,其核心思想是通过选择、交叉、变异等操作,利用自然选择和适应性的原理进行问题求解。
该算法基于种群智能,适用于高维、非线性、找寻全局最优解等具有良好解空间的优化问题。
遗传算法的优点在于其能够在多峰时取得较优的解,尤其适用于求解具有很多可怕的自变量时。
非线性规划
的可行集或容许集, x R 称为可行解或容许解. 多目标规划问题与前面讲的规划问题的主要区 别在于:目标函数不止一个,而是 p 个( p 2 ) 。 多目标规划问题的解法大致可分为两类:直接 解法和间接解法. 到目前为止,常用的多为间接 解法,即根据问题的实际背景和特征,设法将多 目标优化问题转化为单目标优化问题,从而得到 满意解的方法.
( 布料 生产数量 m / h ) 利润( 元 / m ) 最大销售量( m / 周 ) 40000 51000 30000 能耗( t / km ) 1.2 1.3 1.4
A1 A2
A3
400 510 360
0.15 0.13 0.20
问每周应生产三种布料各多少 m, 才能使该厂的利润 最高,而能源消耗最少?
例7.(石油最优储存方法)有一石油运输公司, 为了减少开支,希望作了节省石油的存储空间.
但要求存储的石油能满足客户的要求.为简化问
题,假设只经营两种油,各种符号表示的意义
如表4所示.其中供给率指石油公司供给客户的
速度.
表4 各种符号表示意义表
xi
ai
bi hi
ti
第i种油的存储量
第i种油的价格
第i种油的供给率 第i种油的每单位的存储费用 第i种油的每单位的存储空间
min f ( x) g i ( x ) 0, i 1, 2, m s.t. h j ( x ) 0, j 1, 2, r
其中, x为 n维欧式空间 R n 中的向量, f ( x)为 目标函数,gi ( x)、 j ( x)为约束条件. 且h j ( x)、 h
gi ( x)、 f ( x)中至少有一个是非线性函数.
得最优解 x(3) 及最优值 f 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 )
非线性规划(教案)
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 是。
非线性规划
第六章 非线性规划(NP )§6.1 非线性规划简介1 非线性规划的实例与定义如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题。
一般说来,解非线性规划要比解线性规划问题困难得多。
而且,也不象线性规划有单纯形法这一通用方法,非线性规划目前还没有适于各种问题的一般算法,各个方法都有自己特定的适用范围。
下面通过实例归纳出非线性规划数学模型的一般形式,介绍有关非线性规划的基本概念。
例1 (投资决策问题)某企业有n 个项目可供选择投资,并且至少要对其中一个项目投资。
已知该企业拥有总资金A 元,投资于第),,1(n i i =个项目需花资金i a 元,并预计可收益i b 元。
试选择最佳投资方案。
解 设投资决策变量为 1,0i i i x ⎧=⎨⎩决定投资第个项目决定不投资第个项目,,n i ,,1 =,则投资总额为∑=ni ii xa 1,投资总收益为∑=ni ii xb 1。
因为该公司至少要对一个项目投资,并且总的投资金额不能超过总资金A ,故有限制条件 ∑=≤<ni ii A xa 1另外,由于),,1(n i x i =只取值0或1,所以还有 .,,1,0)1(n i x x i i ==-最佳投资方案应是投资额最小而总收益最大的方案,所以这个最佳投资决策问题归结为总资金以及决策变量(取0或1)的限制条件下,极大化总收益和总投资之比。
因此,其数学模型为:∑∑===ni ii ni ii xa xb Q 11maxs.t. ∑=≤<ni ii A xa 1.,,1,0)1(n i x x i i ==-上面例题是在一组等式或不等式的约束下,求一个函数的最大值(或最小值)问题,其中目标函数或约束条件中至少有一个非线性函数,这类问题称之为非线性规划问题,简记为(NP )。
可概括为一般形式)(min x fq j x h j ,,1,0)(s.t. =≤ p i x g i ,,1,0)( ==其中T n x x x ][1=称为模型(NP )的决策变量,f 称为目标函数,i g ),,1(p i =和),,1(q j h j =称为约束函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本思想:将求解非线性规划的问题转化为一 系列无约极值问题来求解,故也称为序列无约束最 小化方法.在无约束问题的求解中,对企图违反约 束的那些点给出相应的惩罚约束,迫使这一系列的 无约束问题的极小点不断地向可行域靠近(在可行外 部),或者一直在可行域内移动(在可行域内部),直 到收敛到原问题的最优解为止.
4
2021年4月24日
1. 引例:股票的组合投资问题
(1) 问题的提出
表 1 股票的相关数据表
股票名称 五年期望收益 率(%)
A
92
B
64
C
41
五年的协方差(%)
A
B
C
180
36
110
36
120
-30
110
-30
140
试从两个方面分别给出三支股票的 投资比例:
5
2021年4月24日
1. 引例:股票的组合投资问题
k
为最佳步长,由 min
f (X (k)
P(k) )
f
(X (k)
k P(k) ) 确定;
3)计算 k1 X (k1) X (k ) , k 1 f ( X ) (k 1) f ( X (k ) ) ,
H (k1)
H (k)
k 1 T k 1
T k 1
k 1
H
(k) T
k 1
140 x32
72x1x2
220x1x3
1
60 x2 x3 ]2
12,
x1
,
x2
,
x3
0.
10
2021年4月24日
二. 非线性规划的数学模型
1 . 非线性规划问题的一般模型
如果问题的目标函数和约束条件中包含有非线 性函数,则这样的规划问题称为非线性规划问题。
非线性规划的一般模型为
min
hi
f (x1, x2 ,, xn (x1, x2 ,, xn )
根据表 1 中的数据计算得到
Var(R) 180x12 120x22 140x32 72x1x2 220x1x3 60x2x3.
投资组合的标准差为
1
D [180x12 120x22 140x32 72x1x2 220x1x3 60x2x3]2 .
8
2021年4月24日
1. 引例:股票的组合投资问题
第十二章 非线性规划方法
非线性规划的一般模型; 无约束线性规划的求解方法; 带约束非线性规划的求解方法; 非线性规划的软件求解方法; 非线性规划的应用案例分析。
3
2021年4月24日
一、非线性规划的一般模型
1. 引例:股票的组合投资问题
一个投资者拟选择A,B,C三支业 绩好的股票来进行长期组合投资.通过对 这三支股票的市场分析和统计预测得到 相关数据如下表 1 所示.
梯度法,或最速下降法.
(2)共轭梯度法 共轭梯度法仅适用于正定二次函数的极小值问题:
min f (X ) 1 X T AX BT X c 2
其中 A 为 n n 实对称正定阵, X , B E n , c 为常数.
18
2021年4月24日
2、 一维搜索法
(3)牛顿(Newton)法
对于问题: min f ( X ) 1 X T AX BT X c 2
选择 k 和 P(k) 的一般原则是使
f ( X (0) ) f ( X (1) ) f ( X (k) )
这种算法称为下降算法。 最后检验 X (k) 是否收敛于最优
解,即对 0,是否有 f (X (k1) ) 决定迭代是否结束。
16
2021年4月24日
三、无约束非线性规划的解法
min f (X )
一般模型形式: g j (X ) 0, j 1, 2,
(3)
,m
12
2021年4月24日
二. 非线性规划的数学模型
2 . 非线性规划模型的几种特殊情况
(1)无约束的非线性规划
当问题无约束条件时,则此问题 称为无约束的非线性规划问题。
mXinR f ( X ) (4) X 0
当黑塞矩阵 2 f (X (k) ) 正定时,也可应用上面的牛顿法,这
就是拟牛顿法,
19
2021年4月24日
2、 一维搜索法
(5) 变尺度法
1)任取 X (0) E n 和 H (0) (一般取 H (0) I 为单位阵),计算
P(0) H (0) f ( X (0) ), k 0 ;
2)若 f ( X (k) ) 0 ,则停止计算,否则令 X (k1) X (k) k P(k) ,其中
(1) 若目标函数为最大化问题,由 max f (X ) min[ f (X )] , 令 F(X ) f (X ) ,则 min F(X ) max f (X ) ;
(2) 若约束条件为 g j ( X ) 0 ,则 g j ( X ) 0 ; (3) hi ( X ) 0 hi ( X ) 0且 hi ( X ) 0 。
7
2021年4月24日
1. 引例:股票的组合投资问题
2 . 模型的分析
由概率统计的知识,投资组合的方差为
Var(R) x12Var(r1) x22Var(r2 ) x32Var(r3) 2x1x2Cov(r1, r2 ) 2x1x3Cov(r1, r3) 2x2x3Cov(r2, r3) ,
f ( X ) 的一个极小点。
??问题:如何来产生这个点列?即如何由一个解向量 X (k) 求出另一个新的向量解 X (k1) ?
15
2021年4月24日
1. 一般迭代法
实际上:向量 X (k1) 总可以写成
X (k1) X (k ) k P (k ) (k 1,2,) 其中 P(k) 为一个向量, k 为一个实数,称为步长。 实际中各种迭代法就在于寻求不同的 k 和 P(k) ,特别是方 向 P(k) 的确定是问题的关键,称为搜索方向。
9
2021年4月24日
1. 引例:股票的组合投资问题
3 . 模型的建立
问题(2):希望在标准差最大不超过12%的情 况下,获得最大的收益.
根据投资者第(2)项要求,则问题的模型为
max R 0.92x1 0.64x2 0.41x3;
x1 x2 x3 1,
s.t.[180x12
120 x22
为进一步寻找最优解在它的可行下降方向中选取其一个方向
D(k) ,并确定最佳步长 k 使
X (k1) X (k)
f
(
X
(k 1)
)
f
k D(k)
(X (k) )
R ,k
0,1,2,
反复进行这一过程,直到得到满足精度要求为止。即称为
可行方向法.
21
2021年4月24日
四、带约束非线性规划的解法
13
2021年4月24日
二. 非线性规划的数学模型
2 . 非线性规划模型的几种特殊情况
min f (X )
一般模型形式: g j (X ) 0, j 1, 2,
(3)
,m
(3)凸规划
当 模 型 (3 ) 中 的 目 标 函 数 f (X ) 为 凸 函 数 , g j (X )( j 1,2,, m) 均 为 凹函 数 (即 g j (X ) 为 凸 函
(1) 问题的提出
(1)希望将投资组合中的股票收益的标 准差降到最小,以降低投资风险,并希望五 年后的期望收益率不少于65%.
(2)希望在标准差最大 不超过12%的情况下, 获得最大的收益.
6
2021年4月24日
1. 引例:股票的组合投资问题
2 . 模型的分析
设 x1, x2 , x3 分别表示A,B,C三支股票的
投资比例,其五年的期望收益率分别记为
r1, r2, r3 ,即为随机变量.
五年后投资组
表 1 股票的相关数据表 股票 五年期望收 五年的协方差(%)
合的总收益率为
名称 益率(%) A B C
A
92
180 36 110
R x1r1 x2r2 x3r3 ,
B C
64 41
36 120 -30 110 -30 140
T
k 1 k 1
H (k)
H
k 1
(k)
,
P (k 1) H (k 1) f ( X (k 1) )
4)令 k k 1; 返回 2).
20
2021年4月24日
四、带约束非线性规划的解法
1、非线性规划的可行方向法
假设 X (k) 是问题(3)的
一个可行解,但非最优解,
min f ( X ) g j ( X ) 0, j 1,2,, m (3)
当 A 为正定时,A1 存在,于是有 X * A1B 为最优解.
(4) 拟牛顿法)
对于一般的二阶可微函数 f ( X ) ,在 X (k) 点的局部有 f ( X ) f ( X (k) ) f ( X (k) )T ( X X (k) )
1 ( X X (k) )T 2 f ( X (k) )( X X (k) ) 2
(2)二次规划 如果目标函
数是 X 的二次函
数,约束条件都有 是线性的,则称此 规划为二次规划.
min f (X ) n c j x j n
n
c jk x j xk
j 1
j1 k 1
n
aij x j bi 0,i 1,2,, m
j1
x j 0, c jk ckj , j, k 1,2,, n
数),则这样的非线性规划称为凸规划。
14
2021年4月24日
三、无约束非线性规划的解法