第6章代数方程与最优化问题的计算机求解
第六章算法和问题求解

第六章算法和问题求解本章我们来学习算法的基本概念。
首先我们要了解算法,掌握算法的描述方法,进一步我们要学习算法的三种基本结构,然后要了解常见的、典型的算法,并要学习如何设计自己的简单算法。
6.1 算法的描述方法1.用自然语言表达所谓的“自然语言”指的是日常生活中使用的语言,如汉语、英语或数学语言。
例如:我们想计算1到N的累加和,为简单起见,设N的值不大于1000。
算法可以使用自然语言描述如下:这就是用自然语言配合数学语言描述算法。
用自然语言描述的算法通俗易懂,而且容易掌握,但算法的表达与计算机的具体高级语言形式差距较大,通常是用于介绍求解问题的一般算法。
2.用伪代码表示伪代码是一种介于自然语言与计算机语言之间的算法描述方法。
它结构性较强,比较容易书写和理解,修改起来也相对方便。
其特点是不拘泥于语言的语法结构,而着重以灵活的形式表现被描述对象。
它利用自然语言的功能和若干基本控制结构来描述算法。
伪代码没有统一的标准,可以自己定义,也可以采用与程序设计语言类似的形式。
3.用传统流程图描述算法流程图也叫框图,它是是用各种几何图形、流程线及文字说明来描述计算过程的框图。
用流程图描述算法的优点是:直观,设计者的思路表达得清楚易懂,便于检查修改。
表6.1是用传统流程图描述算法时常用的符号。
用流程图描述算法时,一般要注意以下几点:(1)应根据解决问题的步骤从上至下顺序地画出流程图,各图框中的文字要尽量简洁。
(2)为避免流程图的图形显得过长,图中的流程线要尽量短。
(3)用流程图描述算法时,流程图的描述可粗可细,总的原则是:根据实际问题的复杂性,流程图达到的最终效果应该是,依据此图就能用某种程序设计语言实现相应的算法(即完成编程)。
4.N-S结构化流程图N-S结构化流程图主要特点是取消了流程线,全部算法由一些基本的矩形框图顺序排列组成一个大矩形表示,即不允许程序任意转移,而只能顺序执行,从而使程序结构化。
N-S图也是流程图的一种很好的表示方法,对应于三种基本结构的N-S图如图6.2所示。
最优化方法 第六章 二次规划

min 1 xTGx d T x
2
(3)
s.t. aiT x bi , i E I x
的局部极小点.
反之,如果 x是(1)的可行点,且是问题(3)的 K-T 点,而且
相应的 Lagrange 乘子满足
i 0, i I x
(4)
则 x也是原问题(1)的 K-T 点.
ABT xB ANT xN b 相关的量 x, g, A 与 G 作如下分块:
xxB xNAAB ANGGBB GNB
GBN GNN
g
gB gN
其中xB Rm, xN Rnm , 其余类似.
该分块使得 AB 为 mm阶非奇异方阵,因此 AB1 存在,此时由上面方程可得:
xB ABT 1 b ANT xN
s.t
x1 2x2 x3 4 0
x1 x2 x3 2 0
解:
2
G 2
2
b
4 2
1 1 A 2 1
1 1
rA 2
2 0
0
2
0 1 1 x1 0
0
2
1
x2
0
0
1
0 2
2 1
1 0
1
0
x3
1
0 4
1 1 1 0 0 2 2
x*T , *T 2 , 10 , 6 , 8 , 4
其中
x*
2
7 7 , 10 , 6
T
7 ,
7
7
7 7 7
* 8 , 4 为最优乘子.
7 7
练习
(1)用Lagrange方法求解:
min f x 2x12 x22 x1x2 x1 x2
第六章 多目标最优化方法

影响,有影响为2,无影响为1。 v 13.外来物资的装卸次数:U13(x) v 方案xi运输外来物资至坝址的装和卸总次
数。
v 以上各指标及方案的值详见表3(运输系统决 策分析技术经济指标表)
v 6.4.4 决策意见
v
U9(x)=U1(x)/Q(x) 效益投资比
v 式中Q(x)为交通运输方案xi担负的总货运量(吨)
v 10.运输系统职工总人数:U10(x) (人) v 方案xi完成运输系统运行管理的职工总人数
(反映管理的难易、繁简)。
v 11.运输工具能源消耗费用:U11(x)(万元)
v 方案xi完成商品材料、砂石料和客运、总 运量消耗的能源费用。
员) v 2. 目标函数 v (1) 总的投资最省; v (2) 工期最短; v (3) 生产均衡,不均系数小,施工高峰强度小; v (4) 工程质量优,良率最高; v (5) 能源及原材料消耗最少;
v (6) 劳力及机械设备用量最少。 v 显然目标间存在矛盾,彼长此短,无一
方案全面最优,只能整体最优。 v 6.1.3 多目标决策的一般数学表达式 v 设有m个约束条件,k个目标函数,
表3 运输系统决策分析技术经济指标表
v 表42 火车轮渡直达两岸(杨家湾设码头) v 加权多指标决策对比优序数矩阵的计算
序数法,排出如表44,从该表44中的aij'排出 加权多目标优序数决策矩阵如表45中Ki'的大 小为序,其决策顺序应为
v
x3 → x4 → x2 → x1
v 铁路 公路 水运 火车轮渡
v 建议对三峡工程施工对外交通运输方案
做决策时,应采用铁路为主,水运与公路为 辅的方案,就铁路工程本身,应采用铁二院 推荐的姜家庙电力机车牵引方案见表46 。
Cht6解线性代数方程组的迭代法市公开课获奖课件省名师示范课获奖课件

x(jk
1)
n
jiaij
x(jk
)
)
/
aii
,
(i 1,2,, n),
松弛因子 0.
采用矩阵A的分裂记号, 化为
Dx(k 1) Dx(k ) (b Lx(k 1) Ux(k ) Dx(k ))
SOR迭代法的矩阵表示形式为
x(k1) (D L)1{(1 )D U}x(k) (D L)1b .
§2 基本迭代法
考虑线性方程组
也就是
a11x1 a12x2 a1nxn b1
a21x1
a22x2
a2n xn
b2
an1x1 an2x2 annxn bn
Ax=b.
(2.1)
进行矩阵分裂
A=M-N,
(2.2)
其中M为可选择旳非奇异矩阵,且使Mx=d轻易求解.
于是,
Ax=b⇔x=M-1Nx+M-1b.
(2)若 lim x(k)存在(记为x*),则称此迭代法收敛,显然x *
k
是解,否则迭代法发散.
引进误差向量ε(k) x(k) x*,则由(1.6) (1.5)得 ε(k 1) Bε(k ) Bk ε(0).
收敛: lim ε(k) 0 lim Bk 0.
k
k
要研究B满足什么条件下Bk 0(k ).
i1
n
xi (bi j1aij x j jiaij x j ) aii .
xi(k 1) xi(k ) xi
三、逐次超松驰(SOR)迭代法
SOR迭代法旳计算公式:对k=0,1,…,
x(0) ( xi(k 1)
x1(0) ,, xn(0) )T ,
xi(k )
第6章 图上的最优化问题

第6章图上的最优化问题图论是近几十年来较为活跃的一个应用数学分支,它应用广泛,在物理·化学·生物等学科领域都有许多成功应用的范例,特别是计算机科学,更有其重要的地位,在生产技术·经营管理·投资决策乃至社会科学和日常生活中,也可以找到用其思想方法·计算方法解决有关问题的例子。
用图求实际问题具有直观明了的特点,这一特点促进了讨论方法应用范围不断的扩大。
初步掌握图论的基本理论和方法,并不要求有较深的数学基础,对中学生而言也并不是十分困难。
这一章将介绍图论的初步知识及其在最优化问题中的一些应用。
6.1图和子图早些年,中国科技大学招收少年班的测试题中有这样一道题:假定有6个点,其中任意3个点都不共线,用红蓝两种颜色的直线将这些点两两连接起来,要证明必定存在一个三角形,他的三条边的颜色是相同的,我们用图论的方法来讨论这道题。
首先,我们任取6个点v1,v2,….,v6. 如果v1和v2两点间用红线连接,那么就在该两点间连一条边;如果是用蓝线连接的,就不连边。
这样就得到一个图,图6—1就表示一种连接方法。
在这张图上,和v1有边相连的点有v2,v4,v6,显然,如果这3个点之间至少有一条边相连,那么这条边得两个端点加上v1就构成一个红色的三角形;反之(如图所示)这3个点就将形成一个蓝色的三角形。
以上用点以及连接一堆点的线(图论中称为边)所构成的图形就是图论的研究对象——图。
这种图,有别于通常意义上的图,如几何图形——机械零件图等等。
他可以用来表示很多离散对象之间的内在联系。
现实生活中有许多离散的对象:例如一个国家或地区内的城市·化化工厂的各类产品·某次竞赛中的参赛队等等;这些对象之间有存在着某种特定的关系:城市之间是否存在直达航空线,化工厂的产品能否储藏在同一个仓库内,参赛队之间在比赛中是否会相遇等等。
这些关系又带来一些相应的数学问题。
首先,我们把离散的研究对象称为元,并且用点来表示元和元之间可能存在的这种特定关系称为二元关系:如果某两个元之间存在这种关系,就在代表着两个元的点之间连一条线(称为边)。
第六章 最优控制问题的数值解

第六章 最优控制问题的数值解 直接法 间接法第1节 变分法近似求解简介 1.1Ritz 法维尔斯特拉斯逼近定理:若)(x f 在],[b a 上连续,则对任给的0>ε,总存在一多项式)(x p ,使得ε<-|)()(|x p x f若)(x f 是),(+∞-∞上连续的π2周期函数,则对任给的0>ε,总存在三角多项式)(x T ,使得ε<-|)()(|x T x f例1 求泛函0)1(,0)0(,)(][102=='+'=⎰y y dx y y x y J 的近似极值曲线)(*x y 。
例2求泛函0)1(,0)0(,)2(21][212==++'=⎰y y dx xy y y y J 的近似极值曲线)(*x y 。
Ritz 法的求解步骤:1. 选取)()()()(2211*x c x c x c x y n n ϕϕϕ+++= ,其中)}({x n ϕ为坐标函数系,2. 将)()()()(2211*x c x c x c x y n n ϕϕϕ+++= 代入][y J 得 ),,,()]([21*n c c c x y J ψ=3. 令n i c c c c n i,,2,1,0),,,(21 ==ψ∂∂,解出nc c c ,,,21)()()()(2211*x c x c x c x y nn ϕϕϕ+++= 即为近似极值曲线1.2 有限差分法-Euler 折线法 为求泛函⎰=='=Tx x TT y x y y x y dx y y x F y J 0)(,)(,),,(][00的近似极值曲线)(*x y ,我们将区间],[0T x x 有限分割n 等份,在每个小区间],[1+k k x x 上,取kk k k k k x y y x y x y y x y x x ∆-='===+)()(),()(,1,则),,(),,(),,(11111--=-==∆'='≈∑∑⎰+n n k k kk kn k x x kk k y y I x y y xF dx y y x F J k k令,1,,1,0),,(11-==∂∂-n k y y y I kn 求出ky ,由),(),,(,),,(),,(111100T T n n y x y x y x y x -- 连成的折线就是近似极值曲线)(*x y ,即1,,2,1],,[,)()(11111*-=∈+---=-----n k x x x y x x x x y y x y k k k k k k k k 。
最优化理论第6章约束
第六章 6.2 既约梯度法
一、解线性约束问题的既约梯度法 (续)
proof .
1 对x j 0
rj 0 d j rj 0 rj 0 d j x j rj 0
故总有d j 0. d B B 1 Nd N 保证Ad 0
又rNT d N
rjd j
jN
rjd j
r
2 j
x
Ad 0 0,当x j 0时.
proof . :" "d为可行方向,即 0,当 (0,)时,
A(x d ) Ax Ad b, 又Ax b, 0, Ad 0
x j d j 0, 故d j 0.
"" 0,由Ad 0, A(x d ) Ax b.
取
min{ x j dj
, g 2 (2)
1 2
1
0
g 3 ( x)
0
, g 4
1
第六章 6.1 Kuhn-Tucker 条件
二、不等式约束问题的Khun-Tucker条件: (续)
f ( x)
m
ui g i ( x) 0
i
ui 0, i 1,2,, m
ui gi (x) 0
2( x1 3) u1 2x1 u2 u3 0(1)
问题 求z=f(x,y)极值
即
在ф(x,y)=0的条件下。
引入Lagrange乘子:λ
min f(x,y) S.t. ф(x,y)=0
Lagrange函数 L(x,y;λ)= f(x,y)+ λ ф(x,y)
第六章 6.1 Kuhn-Tucker 条件
一、等式约束性问题的最优性条件: (续) 若(x*,y*)是条件极值,则存在λ* ,使
《最优化方法》 第六章
10
多目标规划求解技术简介
为了求得多目标规划问题的非劣解,常常需要将多目 标规划问题转化为单目标规划问题去处理。实现这种 转化,有如下几种建模方法。
2019/4/5
效用最优化模型 罚款模型 约束模型 目标达到法 目标规划模型
最优化方法
11
方法一: 效用最优化模型(线性加权法)
2019/4/5 最优化方法
24
目标规划模型的一般形式
假定有L个目标,K个优先级(K≤L),n个变量。在同一 优先级 pk 中不同目标的正、负偏差变量的权系数分别 为kl+ 、kl- ,则多目标规划问题可以表示为:
2019/4/5 最优化方法
4
多目标规划及其非劣解
多目标规划模型
任何多目标规划问题,都由两个基本部分组成: (1)两个以上的目标函数; (2)若干个约束条件。
对于多目标规划问题,可以将其数学模型一般地描写为如 下形式: 1 ( X ) g1 max(min) f ( X ) 1 2( X ) g2 G Z F ( X ) max(min) f 2 ( X ) s.t. ( X ) ( X ) g m m max(min) f k ( X )
思想:规划问题的各个目标函数可以通过一定的方式 进行求和运算。这种方法将一系列的目标函数与效用 函数建立相关关系,各目标之间通过效用函数协调, 使多目标规划问题转化为传统的单目标规划问题:
max Z ( X )
(1) (2)
s.t .
( X ) G
是与各目标函数相关的效用函数的和函数。
第6章 无约束问题的优化方法
第6章 无约束问题的优化方法§6.1 最速下降法和牛顿法6.1.1 最速下降法的基本原理、计算步骤和特点基本原理: 考虑无约束问题n R x x f ∈),(m in从某一点出发,选择一个目标函数值下降最快的方向,可以尽快达到极小点. 1847年法国数学家Cauchy 提出了最速下降法.后来,Curry 等人作了进一步研究. 最速下降方向是目标函数的负梯度方向:)(x f d -∇=最速下降法的迭代公式:)()()1(k k k k d x x λ+=+)(k d 取为在点)(k x 处的最速下降方向:)()()(k k x f d -∇=k λ为进行一维搜索的步长,满足:)(min )()()(0)()(k k k k k d x f d x f λλλ+=+≥计算步骤: (l)给定初点n R x∈)1(,允许误差0>ε,置1=k .(2)计算搜索方向)()()(k k x f d-∇=.(3)若ε≤)(k d ,则停止计算;否则,从)(k x出发,沿)(k d进行一维搜索,求k λ,使)(min )()()(0)()(k k k k k d x f d x f λλλ+=+≥(4)令)()()1(k k k k d x xλ+=+,置1:+=k k ,转步骤(2).例1 解问题22212)(min x x x f +=初点T x)1 ,1()1(=,10/1=ε. (最优解T x )0 ,0(*=)第1次迭代:目标函数在点x 处的梯度⎥⎦⎤⎢⎣⎡=∇2124)(x x x f令搜索方向 ⎥⎦⎤⎢⎣⎡--=-∇=24)()1()1(x f dε>=+=52416)1(d从)1(x 出发,沿方向)1(d进行一维搜索,求步长1λ,即22)1()1(0)21()41(2)()(min λλλλϕλ-+-=+=≥d x f令0)('=λϕ(一般应采用不精确一维搜索求解),解得18/51=λ在直线上的极小点: ⎥⎦⎤⎢⎣⎡-=+=9/49/1)1(1)1()2(d x x λ 第2次迭代:⎥⎦⎤⎢⎣⎡-=-∇=9/89/4)()2()2(x f d ε>=5/54)2(d 22)2()2(0)21(8116)41(812)()(min λλλλϕλ-+-=+=≥d x f 解得 12/52=λ⎥⎦⎤⎢⎣⎡=+=27/227/2)2(2)2()3(d x x λ 第3次迭代:⎥⎦⎤⎢⎣⎡--=-∇=27/427/8)()3()3(x f d ε>=27/54)3(d2222)3()3(0)21(274)41(278)()(min λλλλϕλ-+-=+=≥d x f 解得 18/53=λ⎥⎦⎤⎢⎣⎡-=+=412432)3(3)3()4(d x x λ 这时有ε<=52438)4(d 满足精度要求,得到近似解⎥⎦⎤⎢⎣⎡-=412432x 最速下降算法的特点:最速下降算法在一定条件下是收敛的.最速下降法产生的序列是线性收敛的,而且收敛性质与极小点处Hesse 矩阵)(2x f ∇的特征值有关.定理1: 设)(x f 存在连续二阶偏导数,x 是局部极小点,Hesse 矩阵)(2x f ∇的最小特征值0>a ,最大特征值为A ,算法产生的序列}{)(k x收敛于点x ,则目标函数值的序列)}({)(k x f 以不大于2⎪⎭⎫⎝⎛+-a A a A 的收敛比线性地收敛于)(x f .最速下降法存在锯齿现象:从局部看,最速下降方向确是函数值下降最快的方向.从全局看,由于锯齿现象的影响,即使向着极小点移近不太大的距离,也要经历不小的弯路,使收敛速率大为减慢.注1:最速下降法并不是收敛最快的方法,从全局看,它的收敛是比较慢的. 注2:最速下降法一般适用于计算过程的前期迭代或作为间插步骤. 当接近极小点时,使用最速下降法达到迭代终止,这样做并不有利.6.1.2 牛顿法的基本原理、计算步骤和特点1.牛顿法)(x f 在点)(k x 的二阶Taylor 展开为))(()(21 )()()()()()()(2)()()()(k k T k k T k k x x x f x x x x x f x f x x f -∇-+-∇+=≈φ 求)(x φ的平稳点,令0)('=x φ,即0))(()()()(2)(=-∇+∇k k k x x x f x f (1)设)()(2k xf ∇可逆,得到牛顿法的迭代公式)()()(1)(2)()1(k k k k x f x f x x ∇∇-=-+产生序列}{)(k x ,在适当的条件下,这个序列收敛.例2:解问题:2241)1m in(x x +- (最优解Tx )0,1(=) 目标函数的梯度和Hesse 矩阵分别为⎥⎦⎤⎢⎣⎡-=∇2312)1(4)(x x x f ⎥⎦⎤⎢⎣⎡-=∇200)1(12)(212x x f 取初点T x)1 ,0()1(=.第l 次迭代:⎥⎦⎤⎢⎣⎡-=∇24)()1(x f ⎥⎦⎤⎢⎣⎡=∇20012)()1(2x f ⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡-⎥⎦⎤⎢⎣⎡-⎥⎦⎤⎢⎣⎡=∇∇-=--03/1242001210)()(1)1(1)1(2)1()2(x f x f x x第2次迭代:⎥⎦⎤⎢⎣⎡-=∇027/32)()2(x f ⎥⎦⎤⎢⎣⎡=∇2009/48)()1(2x f ⎥⎦⎤⎢⎣⎡=∇∇-=-09/5)()()2(1)2(2)2()3(x f x f x x继续迭代,得到⎥⎦⎤⎢⎣⎡=027/19)4(x,⎥⎦⎤⎢⎣⎡=081/65)5(x ,…注3:当牛顿法收敛时,有下列关系:2)()1(x x c x x k k -≤-+c 是某个常数.因此,牛顿法至少2级收敛,收敛速率是很快的.注4:对二次凸函数,用牛顿法求解经1次迭代即达极小点.设有二次凸函数:c x b Ax x x f T T++=21)(用极值条件求解:令0)(=+=∇b Ax x f 得到最优解b A x 1--=用牛顿法求解:任取初始点)1(x ,根据牛顿法的迭代公式有b A b Ax A x x f A x x 1)1(1)1()1(1)1()2()()(----=+-=∇-=以后还会遇到一些算法,把它们用于二次凸函数时,类似于牛顿法,经有限次迭代必达到极小点.这种性质称为二次终止性.注5: 当初始点远离极小点时,牛顿法可能不收敛. 牛顿方向)()()(1)(2k k x f xf d ∇-∇=-不一定是下降方向,经迭代,目标函数值可能上升.即使目标函数值下降,得到的点)1(+k x 也不一定是沿牛顿方向的最好点或极小点.对牛顿法进行修正,提出了阻尼牛顿法.2. 阻尼牛顿法阻尼牛顿法增加沿牛顿方向的一维搜索,迭代公式:)()()1(k k k k d x x λ+=+)()()(1)(2)(k k k x f x f d ∇-∇=-为牛顿方向.k λ由一维搜索得到:)(min )()()()()(k k k k k d x f d x f λλλ+=+由于阻尼牛顿法含有一维搜索,因此每次迭代目标函数值一般有所下降(绝不会上升).可以证明,阻尼牛顿法在适当的条件下具有全局收敛性,且为2 级收敛.阻尼牛顿法的计算步骤:(l)给定初点)1(x ,允许误差0>ε,置1=k . (2)计算)()(k xf ∇,1)(2)(-∇k x f .(3)若ε<∇)()(k x f ,则停止计算;否则,令)()()(1)(2)(k k k x f x f d ∇-∇=-(4)从)(k x出发,沿)(k d进行一维搜索,求k λ,使)(min )()()(0)()(k k k k k d x f d x f λλλ+=+≥(5)令)()()1(k k k k d x xλ+=+,置1:+=k k ,转步骤(2).3.牛顿法的进一步修正原始牛顿法和阻尼牛顿法有共同缺点:(1)可能出现Hesse 矩阵奇异的情形,因此不能确定后继点;(2)即使)(2x f ∇非奇异,也未必正定,因而牛顿方向不一定是下降方向,就可能导致算法失效.例3: 用阻尼牛顿法求解:222141)1()(m in x x x x x f +++=取初始点T x)0,0()1(=. 在点)1(x 处,有⎥⎦⎤⎢⎣⎡=∇20)()1(x f ,⎥⎦⎤⎢⎣⎡=∇2110)()1(2x f牛顿方向⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡-=∇-∇=--02202110)()(1)1(1)1(2)1(x f x f d从)1(x 出发,沿)1(d 作一维搜索.令 116)()(4)1()1(+=+=λλλφd xf , 则 01=λ.用阻尼牛顿法不能产生新点,而点T x )0,0()1(=并不是问题的极小点.原因在于Hesse矩阵)()1(2x f ∇非正定.为使牛顿法从任一点开始均能产生收敛于解集合的序列}{)(k x ,要做进一步修正,克服Hesse 矩阵非正定.考虑(1)式,记搜索方向)()(k k x x d-=,得到)()()()()(2k k k x f d x f -∇=∇ (2)阻尼牛顿法所用搜索方向是上述方程的解:)()()(1)(2)(k k k x f x f d ∇-∇=-解决Hesse 矩阵)()(2k x f ∇非正定问题的基本思想:修正)()(2k xf ∇,构造一个对称正定矩阵k G .在(2)中,用k G 取代矩阵)()(2k xf ∇,得到方程)()()(k k k x f d G -∇= (3)解此方程,得到在点)(k x处的下降方向)()(1)(k k k x f G d ∇-=-构造矩阵k G 的方法之一: 令I x f G k k k ε+∇=)()(2k ε是一个适当的正数.只要k ε选择得合适,k G 就是对称正定矩阵.注6: 当)(k x为鞍点时,有0)()(=∇k x f 及 )()(2k x f ∇不定此时(3)式不能使用. 这时)(k d可取为负曲率方向:0)()()(2)(<∇k k T k d x f d当)()(2k x f ∇不定时,这样的方向必定存在,而且沿此方向进行一维搜索必能使目标函数值下降.§6.2 共轭梯度法6.2.1 共轭方向的基本原理和定理共轭梯度法是基于共轭方向的一种算法.定义1:设A 是n n ⨯对称正定矩阵,若nR 中的两个方向)1(d和)2(d满足0)2()1(=Ad d T则称这两个方向关于A 共轭,或称它们关于A 正交.若)1(d,)2(d,… ,)(k d是nR 中k 个方向,它们两两关于A 共轭,即满足j i Ad d j T i ≠= ,0)()(则称这组方向是A 共轭的,或称它们为A 的k 个共轭方向.注1:如果A 为单位矩阵,则两个方向关于A 共轭等价于两个方向正交.共轭是正交概念的推广.注2:如果A 是一般的对称正定矩阵,)(i d和)(j d关于A 共轭,也就是方向)(i d与方向)(j Ad 正交.共轭的几何意义(以正定二次函数为例): 二次函数)()(21)(x x A x x x f T --=函数)(x f 的等值面c x x A x x T =--)()(21是以x 为中心的椭球面,x 是极小点. 设)1(x 是在某个等值面上的一点,该等值面在点)1(x 处的法向量)()()1()1(x x A x f -=∇又设)1(d是这个等值面在)1(x 处的一个切向量.记)1()2(x x d -=)1(d 与)()1(x f ∇正交,即0)()1()1(=∇x f d T ,因此有0)2()1(=Ad d T即等值面上一点处的切向量与由这一点指向极小点的向量关于A 共轭.依次沿着)1(d和)2(d进行一维搜索,则经两次迭代必达到极小点.共轭方向的重要性质:定理1: 设A 是n 阶对称正定矩阵,)1(d ,)2(d,… ,)(k d是k 个A 共轭的非零向量,则这个向量组线性无关.定理2(扩张子空间定理): 设有函数c x b Ax x x f T T++=21)( 其中A 是n 阶对称正定矩阵,)1(d ,)2(d,… ,)(k d 是A 共轭的非零向量.以任意的)1(x 为初始点,依次沿)1(d,)2(d,… ,)(k d进行一维搜索,得到点)2(x ,)3(x,… ,)1(+k x,则)1(+k x 是函数)(x f 在线性流形k B x +)1(上的惟一极小点.特别地,当n k =时,)1(+n x 是函数)(x f 的惟一极小点.其中⎭⎬⎫⎩⎨⎧∞-∞∈==∑=),(,|1)(i ki i i k d x x B λλ是)1(d,)2(d,… ,)(k d生成的子空间.推论: 在定理2的条件下,必有,0)()()1(=∇+j T k d x f k j ≤∀定理2表明: 对于二次凸函数,若沿一组共轭方向(非零向量)搜索,经有限步迭代必达到极小点.6.2.2 用于正定二次函数的共轭梯度法共轭梯度法最初由Hesteness 和Stiefel 于1952年提出.本节重点介绍Fletcher-Reeves 共轭梯度法(FR 法).共轭梯度法的基本思想:把共轭性与最速下降方法相结合,利用已知点处的梯度构造一组共轭方向,沿这组方向进行搜索,求出目标函数的极小点.根据共轭方向的基本性质,这种方法具有二次终止性. 考虑如下正定二次函数优化问题的求解方法:c x b Ax x x f T T++=21)(min 令)(x f g ∇=.任意给定一个初始点)1(x ,计算出目标函数)(x f 在这点的梯度,01=g ,则停止计算;否则,令1)1()1()(g x f d -=-∇=沿方向)1(d搜索,得到点)2(x.计算在)2(x 处的梯度,若02≠g ,则利用2g -和)1(d构造第2个搜索方向)2(d ,再沿)2(d搜索.一般地,若已知点)(k x 和搜索方向)(k d ,则从)(k x出发,沿)(k d进行搜索,得到)()()1(k k k k d x x λ+=+步长k λ满足)(min )()()(0)()(k k k k k d x f d xf λλλ+=+≥.此时可求出k λ的显式表达.令)()()()(k k d x f λλφ+=,根据0)('=λφ及二次函数的梯度的表达式,得到)()()(k T k k T k k Add dg -=λ (1)计算)(x f 在)1(+k x 处的梯度,若01=+k g ,则停止计算;否则用1+-k g 和)(k d构造下一个搜索方向)1(+k d,并使)1(+k d 和)(k d关于A 共轭.按此设想,令)(1)1(k k k k d g d β+-=++上式两端左乘A dTk )(,并令0)()(1)()1()(=+-=++k T k k k T k k T k Ad d Ag d Ad d β由此得到 )()(1)(k T k k T k k Add Ag d +=β 再从)1(+k x出发,沿方向)1(+k d搜索.可以证明,按上述方法构造的一组搜索方向,是关于A 共轭的.因此,上述方法具有二次终止性.定理3: 对于正定二次函数,具有精确一维搜索的FR 法在n m ≤次一维搜索后即终止,并且对所有m i i ≤≤1(),下列关系成立:(l) )1,,2,1( 0)()(-==i j Ad dj Ti(2) )1,,2,1( 0-==i j g g j T i(3) )0()()(≠-=i i T i i T i d g g d g 蕴含证明: 用归纳法可证注3: 在FR 法中,初始搜索方向必须取最速下降方向.如果选择别的方向作为初始方向,其余方向均按FR 法构造,那么极小化正定二次函数时,构造出来的一组方向并不能保证共轭性.可以证明: 对于正定二次函数,运用FR 法时,不作矩阵运算就能求出因子 i β. 定理4: 对于正定二次函数,FR 法中因子g g ii i 221+=β,1>i , 0≠i g (2)对于二次凸函数,FR 法计算步骤: (1) 给定初始点)1(x ,置1=k .(2) 计算)()(k k x f g ∇=,若0=k g ,则停止计算,得点)(k x x =;否则,进行下一步.(3)构造搜索方向,令)1(1)(--+-=k k k k d g d β.当1=k 时,01=-k β,当1>k 时,按(2)式计算因子1-k β.(4)令)()()1(k k k k d x xλ+=+,步长k λ按(1)式计算.(5)若n k =,则停止计算,得点)1(+=k x x ;否则,置1:+=k k ,返回步骤(2).例1: 用FR 法求解问题:22212)(min x x x f +=,取初始点T x)5 ,5()1(=.目标函数梯度: ⎥⎦⎤⎢⎣⎡=∇2142)(x x x f第1次迭代: 令⎥⎦⎤⎢⎣⎡--=-=20101)1(g d,从)1(x 沿方向)1(d 作一维搜索,得 185)1()1()1(11=-=Ad d d g T T λ⎥⎦⎤⎢⎣⎡-=+=9/59/20)1(1)1()2(d x x λ 第2次迭代: 在点)2(x处,目标函数的梯度⎥⎦⎤⎢⎣⎡-=9/209/402g 构造搜索方向)2(d.计算因子 g g 81421221==β.令 ⎥⎦⎤⎢⎣⎡-=+-=1481100)1(12)2(d g d β 从)2(x出发,沿方向)2(d作一维搜索,得209)2()2()2(22=-=Ad d d g T T λ⎥⎦⎤⎢⎣⎡=+=00)2(2)2()3(d x x λ点)3(x处,目标函数梯度Tg )0 ,0(2=,已达到极小点.6.2.3 将共轭梯度法用于求解非正定二次函数优化问题用于极小化任意函数的共轭梯度法与用于极小化二次函数的共轭梯度法主要差别:(1)步长不用)()()(k T k k T k k Add dg -=λ计算,必须用其它一维搜索方法来确定. (2)凡用到矩阵A 之处,需要用现行点处的Hesse 矩阵)()(2k x f ∇.用这种方法求任意函数极小点,一般来说用有限步迭代是达不到的.迭代延续可以采取不同的方案: •直接延续,即总是用)(1)1(k k k k d g d β+-=++构造搜索方向;•把n 步作为一轮,每搜索一轮之后,取一次最速下降方向,开始下一轮.称为“重新开始”或“重置”.每n 次迭代后以最速下降方向重新开始的共轭梯度法,有时称为传统的共轭梯度法. 计算步骤:(1)给定初始点)1(x ,允许误差0>ε.置)1()1(x y =,)()1()1(y f d -∇=, 1==j k(2)若ε<∇)()(j yf ,则停止计算;否则,作一维搜索,求j λ,满足)(min )()()(0)()(j j j j j d y f d y f λλλ+=+≥令)()()1(j j j j d y yλ+=+.(3)如果n j <,则进行步骤(4);否则,进行步骤(5). (4)令)()1()1()(j j j j d y f dβ+-∇=++,其中y f y f j j j )(2)1()()(∇∇=+β置1:+=j j ,转步骤(2).(5)令)1()1(++=n k y x,)1()1(+=k x y ,)()1()1(y f d -∇=,置1=j , 1:+=k k ,转步骤(2).注4:可以采用不同公式计算因子 j β: (1) g g jj j 221+=β(FR 法)(2) g g g g g j T jj j T j j )(11-=++β(Polak,Ribiere&Polyak ,PRP 法) (3) g g d g g g j j T j j j T j j )()(1)(11--=+++β (Sorenson 和Wolfe )(4) dxf dg x f d j j Tj j j T j j )()1(2)(1)1(2)()()(+++∇∇=β (Daniel )(1)当极小化正定二次函数,初始搜索方向取负梯度时,四个公式是等价的. (2)用于一般函数时,得到的搜索方向不同.(3)有人认为PRP 方法优于FR 法.但据一些人的计算结果,几种方法彼此差别并不很大,难以给出绝对的比较结论.注5: 运用共轭梯度法时应该注意,均假设采用精确一维搜索.精确一维搜索需付出较大代价,因此许多情形下采用不精确一维搜索.不精确一维搜索会出现新的问题,按照)(1)1(k k k k d g d β+-=++构造的搜索方向可能不是下降方向.解决方法: (1)当)1(+k d不是下降方向时,以最速下降方向重新开始.当一维搜索比较粗糙时,这样的重新开始可能是大量的,因此会降低计算效率.(2)计算过程中增加附加检验.设1+k g ,)1(+k d ,k β表示在检验点)()(k k k d xα+处计算出的1+k g ,)1(+k d和k β,如满足)1(1)1(1++++≥-k k k T k dg dg σ则取k α作为步长k λ;否则,进行精确一维搜索,求最优步长k λ.共轭梯度法的收敛性:对于一般函数, 共轭梯度法在一定条件下是收敛的.Crowder 和Wolfe 证明: 共轭梯度法的收敛速率不坏于最速下降法; 不用标准初始方向1)1(g d-=,共轭梯度法的收敛速率可能像线性速率那样慢.共轭梯度法的优点:存储量小:FR 法只需存储3个n 维向量. 求解变量多的大规模问题可用共轭梯度法§6.3 拟牛顿法6.3.1 拟牛顿法简介牛顿法的最大优点是收敛速度快,原因是牛顿法在迭代点附近对目标函数进行二次近似时,利用了目标函数的曲率信息(Hesse 矩阵)。
优化问题的计算机求解
第七章 最优化问题的计算机求解7.1 无约束最优化问题求解无约束最优化问题是最简单的一类最优化问题,其一般数学描述为)(min x f x(7-1—1)其中,T n x x x x ],,,[21 =称为优化变量,)(⋅f 函数称为目标函数,该数学表示的含义亦即求取一组x 向量,使得最优化目标函数)(x f 为最小,故这样的问题又称为最小化问题。
其实,最小化是最优化问题的通用描述,它不失普遍性。
如果要想解最大化问题,那么只需给目标函数)(x f 乘一个负号就能立即将最大化问题转换成最小化问题.所以本书中描述的全部问题都是最小化问题。
7。
1.1 解析解法和图解法无约束最优化问题的最优点*x 处,目标函数)(x f 对x 各个分量的一阶导数为0,从而可以列出下面的方程:0,0,021=∂∂=∂∂=∂∂===***x x x x x x nx f x f x f(7-1—2)求解这些方程构成的联立方程可以得出极值点。
其实,解出的一阶导数均为0的极值点不一定都是极小值的点,其中有的还可能是极大值点。
极小值问题还应该有正的二阶导数。
对于单变量的最优化问题可以考虑采用解析解的方法进行来解。
然而多变量最优化问题因为需要将其转换成求解多元非线性方程,其难度也不低于直接采取最优化问题,所以没有必要采用解析解方法求解。
一元函数最优化问题的图解法也是很直观的,应绘制出该函数的曲线,在曲线上就能看出其最优值点。
二元函数的最优化也可以通过图解法求出.但三元或多元函数,由于用图形没有办法表示,所以不适合用图解法来解。
【例7-1】函数5.0)2cos(4)24sin()(5.03-++=--t e t e t f tt,试用解析求解和图形求解的方法研究该函数的最优性。
【求解】可以先表示该函数,并解析地求解该函数的一阶导教,用ezplot()函数可以给制出]4,0[∈t 区间内一阶导函数的曲线,如图7-1a 所示。
〉〉 syms t; y=exp(-3*t )*sin (4*t+2)+4*exp (-0.5*t)*cos (2*t )—0。