文档库 最新最全的文档下载
当前位置:文档库 › 非线性规划课程设计【共轭梯度法】

非线性规划课程设计【共轭梯度法】

非线性规划课程设计【共轭梯度法】
非线性规划课程设计【共轭梯度法】

题目:共轭梯度法及其数值实现

院系:数理学院应用数学系

专业:数学与应用数学

姓名学号:谁知道089084000

指导教师:张是淘

日期:2012 年 6 月18 日

摘要

共轭梯度法原是为求解目标函数为二次函数的问题而设计的一类算法,这类算法的特点是:方法中搜索方向是与二次函数系数矩阵有关的所谓共轭方向。用这类方法求解n元二次正定函数的极小问题,最多进行n次一维搜索便可求的极小点。而可微的非二次函数在极小点附近的性态近似于二次函数,因此这类方法也能用于求可微的非二次函数的无约束极小问题。

关键词:最优化;共轭梯度法;二次函数;极小问题;

Abstract

Conjugate Gradient Method solve the objective function for the original quadratic function problems and design for a class of algorithm, This algorithm is characteristic: Methods the search direction is associated with the quadratic function coefficient matrix related to so-called conjugate direction. With this kind of method for solving N yuan two positive definite functions minimax problems. Up to N times of one-dimensional search can find minimizers. And differentiable non two function in minimum near the behavior is similar to the two function, This method can also be used for differentiable non two function of unconstrained minimization problem.

Keywords:Optimization; Conjugate Gradient Method; Quadratic function; minimum problem

非线性规划课程设计

目录

第一章引言 (2)

1.1无约束优化问题概述 (2)

1.2 共轭方向……………………………………………………………………

1.2 共轭方向法…………………………………………………………………第二章共轭梯度法………………………………………………………………

2.1 基本原理……………………………………………………………………

2.2 算法步骤……………………………………………………………………

2.3 程序流程图…………………………………………………………………第三章算例………………………………………………………………………总结…………………………………………………………………………………参考文献……………………………………………………………………………附录…………………………………………………………………………………

16梯度法和共轭梯度法基本原理和特点

16梯度法和共轭梯度法基本原理和特点? 梯度法又称最速下降法,基本原理是在迭代点附近采用使目标函数值下降最快的负梯度方向作为搜索方向, 求目标函数的极小值,特 点;迭代计算简单,只需求一阶偏导数,所占的存储单 元少,对初始点的要求不 高,在接近极小点位置时收敛速度很慢,共轭的特点为 在梯度法靠近极值点收敛速度放慢时,它可以构造共轭方向使其收敛速度加快, 迭代计算比较简单,效果 好,在每一步迭代过程中都要构造共轭的、方向,比较繁琐。 17迭代终止准则有哪三种? 1)当设计变量在相邻两点之间的移动距离充分小时,可用相邻两点的矢量差的模作为终止的判据, 2)当相邻两点目标函数值之差达到充分小时,可 用两次迭代的目标函数之 差作为终止判据。 3)当迭代点逼近极值点时,目标函数在该点的梯度已达到充分小时,可用梯度的模作为

终止判据。 18 .无约束设计法,1)powell法,它是在下降迭代过运算中只需计算和比较目标函数值的大小,不需计算偏导数的方法,是较好的一种直接搜索 算法。 2)梯度法,又称最速下降法,它是采用使目标 函数值下降最快的负梯度方向作为搜索方向来求目标函数的极小值。 3)共轭梯度法,又称FR法,是利用目标函数的梯度确定共轭方向,使得计算简便而效 果好,只需利用相邻两点的梯度就可以构造一个共轭方向,这种方式产生共轭方 向并进行迭代的算法称为 共轭梯度法。 4)变尺度法,又称DFP法,为了得到既有快速收敛的性质,又能避免计算二阶导数矩阵及逆矩阵,减少计算工作量。迭代公式X=X+aS, 19有约束设计法? 1)复合形法,在可行域中选取k个设计点作为

初始复合形的顶点,然后比较复合形个各项 目标函数值的大小,其中目标函数值最大的点为坏点,以坏点之外其余各点的中心为映 射中心,寻坏点的映射点,以映射点替换坏点,并与原复合 型除坏点之外其余各点构成就k 顶点的新的复合型,这样反复迭代直到达到精度找到最优点, 2)简约梯度法,用来解决线性约束非线性规划问题。3)罚函数法,是把一个有约束的问 题转化为一系列无约束的问 题求解,逐渐逼近最优值。 . 可靠性工程包括的三个方面? 1可靠性设计,包括设计方面的分析,对比评价,必要时也包 括可靠性实验,生产制造中的质量控制设计 及使用维修规程的设计。 2可靠性分析,主要是失效分析,也包括故障分析 3可靠性数学, 这是数理统计方法在开展 可靠性工作中发展起来的 数学分支。 常用的可靠

最优化课程设计--共轭梯度法算法分析与实现

最优化课程设计--共轭梯度法算法分析与实现(设计程序) 题目共轭梯度法算法分析与实现 班级 / 学号 14140101/2011041401011 学生姓名黄中武指导教师王吉波王微微 课程设计任务书 课程名称最优化方法课程设计院(系) 理学院专业信息与计算科学 课程设计题目共轭梯度法算法分析与实现课程设计时间: 2014 年 6月 16日至 2014 年 6月 27日 课程设计的要求及内容: [要求] 1. 学习态度要认真,要积极参与课程设计,锻炼独立思考能力; 2. 严格遵守上机时间安排; 3. 按照MATLAB编程训练的任务要求来编写程序; 4. 根据任务书来完成课程设计论文; 5. 报告书写格式要求按照沈阳航空航天大学“课程设计报告撰写规范”; 6. 报告上交时间:课程设计结束时上交报告; 7. 严禁抄袭行为,一旦发现,课程设计成绩为不及格。 一、运用共轭梯度法求解无约束最优化问题 要求:1)了解求解无约束最优化问题的共轭梯度法; 2)绘出程序流程图; 3)编写求解无约束最优化问题的共轭梯度法MATLAB程序; 4)利用编写文件求解某无约束最优化问题;

5)给出程序注释。 指导教师年月日 负责教师年月日 学生签字年月日 沈阳航空航天大学 课程设计成绩评定单 课程名称最优化理论与算法课程设计院(系) 理学院专业信息与计算科学课程设计题目共轭梯度法算法分析与实现学号 2011041401011 姓名黄中武指导教师评语: 课程设计成绩 指导教师签字 年月日 最优化方法课程设计沈阳航空航天大学课程设计用纸目录 目录 一、正 文 (1) 二、总结 ............................................................... 8 参考文 献 ............................................................... 9 附录 .. (10) 第 I 页 最优化方法课程设计沈阳航空航天大学课程设计用纸正文 一、正文 一无约束最优化问题的共轭梯度法

数学实验“线性方程组的最速下降法与共轭梯度法解法”实验报告(内含matlab程序代码)

西京学院数学软件实验任务书

实验五实验报告 一、实验名称:最速下降法与共轭梯度法解线性方程组。 二、实验目的:进一步熟悉理解掌握最速下降法与共轭梯度法解法思路,提高matlab 编程能力。 三、实验要求:已知线性方程矩阵,应用最速下降与共轭梯度法在相关软件编程求解线性方程组的解。 四、实验原理: 1.最速下降法: 从某个初始点)0(X 出发,沿)(X f 在点)0(X 处的负梯度方向 )0()0()0()(AX b X f r -=-?= 求得)(X f 的极小值点)1(X , 即 )(min )0()0(0 r X f λλ+> 然后从)1(X 出发,重复上面的过程得到)2(X 。如此下去,得到序列{)(k X } )(...)()()()1()0(k X f X f X f >>> 可以证明,从任一初始点)0(X 出发, 用最速下降法所得到的序列{)(k X }均收敛于问题使X 最小化)(X f 的解,也就是方程组b AX =的解。其收敛速度取决于 1 1 λλλλ+-n n ,其中1λ ,n λ分别

为A 的最小,最大特征值。最速下降法迭代格式:给定初值)0(X , )(k X 按如下方法决定: ()) ()(1)(k )()()()(k ) ()(X ,,)(k k k k T k k T k k k k r X Ar r r r AX b X f r λλ+=> <><=-=-?=+ 2.共轭梯度法 其基本步骤是在点)(k X 处选取搜索方向)(k d , 使其与前一次的搜索方向)1(-k d 关于A 共轭,即 (1)()(1),0k k k d d Ad --<>= 然后从点)(k X 出发,沿方向)(k d 求得)(X f 的极小值点 )1(+k X , 即 )(min )() ()(0 )1(k d X f X f k k λλ+=>+ 如此下去, 得到序列{)(k X }。不难求得0,)1()(>=<-k k Ad d 的解为 ) () 1()1()()() () 1(,,k k k k k k k d Ad d d AX b X X > <>-<+=--+ 注意到)(k d 的选取不唯一,我们可取

共轭梯度法

共轭梯度法 1.算法思想: 共轭梯度法是利用目标函数梯度逐步产生共轭方向作为线搜索方向的方法,每次搜索方向都是在目标函数梯度的共轭方向,搜索步长通过一维极值算法确定。 2.算法步骤: 用共轭梯度法求无约束多维极值问题min (),n f x x R ∈的算法步骤如下: (1) 给定初始点(0)x ,及精度0ε>; (2) 若 (0)()f x ε ?≤,停止,极小值点为(0)x ,否则转步骤(3); (3) 取(0)(0)()p f x =-?,且置0k =; (4) 用一维搜索法求k t ,使得()()()()()0 ()min k k k k k t f x t p f x tp ≥+=+,令,(1)()()k k k k x x t p +=+,转步骤5; (5) 若 (1)()k f x ε +?≤,停止,极小值点为(1)k x +,否则转步骤(6); (6) 若1k n +=,令(0)()n x x =,转步骤(3),否则转步骤(7); (7) 令(1)(1)()()k k k k p f x p λ++=-?+,2(1)2 () () () k k k f x f x λ+?=?,置1k k =+,转 步骤(4)。 3.算法源程序: #include #include

#define N 10 #define eps pow(10,-6) double f(double x[],double p[],double t) { double s; s=pow(x[0]+t*p[0],2)+25*pow(x[1]+t*p[1],2); return s; } /*以下是进退法搜索区间源程序*/ void sb(double *a,double *b,double x[],double p[]) { double t0,t1,t,h,alpha,f0,f1; int k=0; t0=2.5; /*初始值*/ h=1; /*初始步长*/ alpha=2; /*加步系数*/ f0=f(x,p,t0); t1=t0+h; f1=f(x,p,t1); while(1) {

最优化方法实验报告(2)

最优化方法实验报告Numerical Linear Algebra And Its Applications 学生所在学院:理学院 学生所在班级:计算数学10-1 学生姓名:甘纯 指导教师:单锐 教务处 2013年5月

实验三 实验名称: 无约束最优化方法的MATLAB 实现 实验时间: 2013年05月10日 星期三 实验成绩: 一、实验目的: 通过本次实验的学习,进一步熟悉掌握使用MATLAB 软件,并能利用该软件进行无约束最优化方法的计算。 二、实验背景: (一)最速下降法 1、算法原理 最速下降法的搜索方向是目标函数的负梯度方向,最速下降法从目标函数的负梯度方向一直前进,直到到达目标函数的最低点。 2、算法步骤 用最速下降法求无约束问题n R x x f ∈,)(min 的算法步骤如下: a )给定初始点)0(x ,精度0>ε,并令k=0; b )计算搜索方向)()()(k k x f v -?=,其中)()(k x f ?表示函数)(x f 在点)(k x 处的梯度; c )若ε≤)(k v ,则停止计算;否则,从)(k x 出发,沿)(k v 进行一维搜索, 即求k λ,使得)(min )()()(0 )()(k k k k v x f v x f λλλ+=+≥; d )令1,)()()1(+=+=+k k v x x k k k k λ,转b )。

(二)牛顿法 1、算法原理 牛顿法是基于多元函数的泰勒展开而来的,它将 )()]([-)(1)(2k k x f x f ??-作为搜索方向,因此它的迭代公式可直接写出 来: )()]([)(1)(2)()(k k k k x f x f x x ??-=- 2、算法步骤 用牛顿法求无约束问题n R x x f ∈),(min 的算法步骤如下: a )给定初始点)0(x ,精度0>ε,并令k=0; b )若ε≤?)()(k x f ,停止,极小点为)(k x ,否则转 c ); c )计算)()]([,)]([)(1)(2)(1)(2k k k k x f x f p x f ??-=?--令; d )令1,)()()1(+=+=+k k p x x k k k ,转b )。 (三)共轭梯度法 1、算法原理 共轭梯度法是利用目标函数梯度逐步产生共轭方向作为线搜索方向的方法,每次搜索方向都是在目标函数梯度的共轭方向,搜索步长通过一维极值算法确定。 2、算法步骤 a )给定初始点)0(x ,精度0>ε;

清华大学高等数值计算(李津)实践题目一(共轭梯度CG法,Lanczos算法与MINRES算法)

高等数值计算实践题目一 1. 实践目的 本次计算实践主要是在掌握共轭梯度法,Lanczos 算法与MINRES 算法的基础上,进一步探讨这3种算法的数值性质,主要研究特征值特征向量对算法收敛性的影响。 2. 实践过程 (一)生成矩阵 (1)作5个100阶对角阵i D 如下: 1D 对角元:1,1,...,20,1+0.1(-20),21,...,100j j d j d j j ==== 2D 对角元:1,1,...,20,1+(-20),21,...,100j j d j d j j ==== 3D 对角元:,1,...,80,81,81,...,100j j d j j d j ==== 4D 对角元:,1,...,40,41,41,...,60,41+(60),61,...,100j j j d j j d j d j j =====-= 5D 对角元:,1,...,100j d j j == 记i D 的最大模特征值和最小模特征值分别为1i λ和i n λ,则i D 特征值分布有如下特点: 1D 的特征值有较多接近于i n λ,并且1/i i n λλ较小, 2D 的特征值有较多接近于i n λ,并且1/i i n λλ较大, 3D 的特征值有较多接近于1i λ,并且1/i i n λλ较大, 4D 的特征值有较多接近于中间模特征值,并且1/i i n λλ较大, 5D 的特征值均匀分布,并且1/i i n λλ较大 (2)随机生成10个100阶矩阵j M : (100(100))j M fix rand = 并作它们的QR 分解,得j Q 和j R ,这样可得50个对称的矩阵T ij j i j A Q DQ =,其中i D 的对角元就是ij A 的特征值,若它们都大于0,则ij A 正定,j Q 的列就是相应的特征向量。结合(1)可知,ij A 都是对称正定阵。

实验2 最速下降法和共轭梯度法的程序设计

实验2 最速下降法和共轭梯度法的程序设计 一、实验目的 1、熟悉无约束优化问题的最速下降算法和共轭梯度法。 2、培养matlab 编程与上机调试能力。 二、实验课时:2个课时 三、实验准备 1、预习无约束优化问题的最速下降算法和共轭梯度法。 2、熟悉matlab 软件的基本操作及程序编写。 四、实验内容 课堂实验演示 根据最速下降法编写程序,求函数 21222121342)(min x x x x x x x f -++-= 的极小值,其中初始点为()01,1T x = 算法步骤如下: Step1::给出初始点0x ,和精度1;0k ε<<=; Step2:计算()k f x ?,如果()k f x ε?≤,则停止迭代,输出结果;否则转step3; Step3:令下降方向()k k d f x =-?,计算步长因子k λ使得0()min ()k k k k k f x d f x d λλλ≥+=+,令1,1k k k k x x d k k λ+=+=+,转step2。 其程序如下: function [x,iter,val,dval] = Steepest_Descent_Method(x,eps) k = 1; dy = grad_obj(x); x_mat(:,1) = x;%存储每一次迭代得到的点x while norm(dy)>eps d = -dy; % 搜索方向 lambda = line_search(x,d);%步长 x = x + d*lambda; k = k + 1; x_mat(:,k) = x; dy = grad_obj(x); end iter = k - 1; val = obj(x);%目标函数在极值点处的函数值

共轭梯度算法分析与实现

编号:_ 09 《最优化方法》 课程设计 题目:共轭梯度算法分析与实现 院系:数学与计算科学学院 专业:数学与应用数学 姓名学号: 指导教师: 日期:2013 年12 月23 日

摘要 在最优化计算中,共轭梯度法是非常重要的一种方法。共轭梯度法是一种改进的最速下降法,介于最速下降法与牛顿法之间的一种无约束优化算法,是为求解目标函数为二次函数的问题而设计的一类算法。它利用目标函数的梯度逐步产生共轭方向并将其作为搜索方向的方法,收敛速度快。共轭梯度法仅需利用一阶导数信息,避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点,具有二次终止性。 关键词:共轭梯度法;牛顿法;二次函数;无约束优化 Abstract In the calculation of optimization method, conjugate gradient method is a very important one. The conjugate gradient method is a unconstrained optimization method between the steepest descent method and Newton method, and sove the objective function for the original quadratic function problems and design for a class of algorithm. Conjugate gradient method using only first derivative information, to avoid the Newton method requires storage and computing the inverse Hesse matrix and shortcomings, this method has the quadratic termination. Keywords: Conjugate gradient method; Newton method;Unconstrained optimization

非线性优化算法-牛顿法_DFP_BFGS_L-BFGS_共轭梯度算法

统计学梯度下降法(SGDs)易于实现,然而它有两个主要的缺陷。第一个缺陷是它需要手动调谐大量的参数,比如学习速率和收敛准则。第二个缺陷是它本质上是序列方法,不利于并行计算或分布式计算。(然而,在计算资源如RAM受限的情况下,序列方法倒是一个不错的选择。) 这里介绍一些非线性优化算法:牛顿算法,伪牛顿算法和共轭梯度法。其中,伪牛顿算法包括DFP、BFGS和L-BFGS算法。 考虑如下的无约束最小化问题: min x f(x)(1) 其中x=(x1,…,x N)T∈?N. 为简便起见,这里假设f是凸函数,且二阶连续可导。记(1)的解为x?. 牛顿算法(Newton‘s Method) 基本思想:在现有的极小点估计值的附近对f(x)做二阶泰勒展开,进而找到下 其中g(k)=?f(x)| x(k)是梯度矩阵,H(k)=?2f(x)| x(k) 是海森矩阵。 牛顿算法是一种具有二次收敛性的算法。对于非二次函数,若函数的二次性态较强,或迭代点已进入极小点的领域,则其收敛速度也是很快的,这是牛顿算法的主要优点。但牛顿算法由于迭代公式中没有步长因子,而是定步长迭代,所以对于非二次函数,有时会出现f(x(k+1))>f(x(k))的情况,这表明牛顿算法不能保证函数值稳定地下降。由此,人们提出了阻尼牛顿算法,在原始牛顿算法的第4步中,采用一维搜索(line search)算法给d(k)加一个步长因子λ(k),其中: λ(k)=arg minλ∈?f(x(k)+λd(k))(2)一维搜索算法将另作介绍。 拟牛顿算法(Quasi-Newton Methods) 基本思想:不直接计算二阶偏导数,而是构造出近似海森矩阵(或海森矩阵的逆)的正定对称阵,在拟牛顿条件下优化目标函数。 下文中,用B表示对H的近似,用D表示对H?1的近似,并令s(k)=x(k+1)?x(k),y(k)=g(k+1)?g(k).

数值分析实验报告1——Hilbert矩阵的求解

数值分析课程实验报告 题目:病态线性方程组的求解 理论分析表明,数值求解病态线性方程组很困难。考虑求解如下的线性方程组的求解 Hx = b ,期中H 是Hilbert 矩阵,()ij n n H h ?=,1 1 ij h i j =+-,i ,j = 1,2,…,n 1. 估计矩阵的2条件数和阶数的关系 2. 对不同的n ,取(1,1,,1)n x =∈ ,分别用Gauss 消去,Jacobi 迭代,Gauss-seidel 迭代,SOR 迭代和共轭梯度法求解,比较结果。 3. 结合计算结果,试讨论病态线性方程组的求解。 解答过程 1.估计矩阵的2-条件数和阶数的关系 矩阵的2-条件数定义为:1 222 ()Cond A A A -=?,将Hilbert 矩阵带入有: 1222 ()Cond H H H -=? 调用自编的Hilbert_Cond 函数对其进行计算,取阶数n= 50,可得从1阶到50阶的2-条件数,以五位有效数字输出,其中前10项见表1。 表1.前十阶Hilbert 矩阵的2-条件数 从表1可以看出,随着阶数每递增1,Hilbert 矩阵的2-条件数都至少增加一个数量级,但难以观察出明显的相依规律。故考虑将这些数据点绘制在以n 为横轴、Cond (H )2为纵轴的对数坐标系中(编程用Hilbert_Cond 函数同时完成了这个功能),生成结果如图1。

图1.不同阶数下Hilbert矩阵的2-条件数分布 由图可见,当维数较小时,在y-对数坐标系中Cond(H)2与n有良好的线性关系;但n超过10后,线性趋势开始波动,n超过14后更是几乎一直趋于平稳。事实上,从n = 12开始,系统便已经开始提出警告:“Warning: Matrix is close to singular or badly scaled.Results may be inaccurate.”。也就是说,当n较大时,H矩阵已经接近奇异,计算结果可能是不准确的。通过查阅相关资料,我找到了造成这种现象的原因:在matlab中,用inv函数求条件数过大的矩阵的逆矩阵将是不可靠的。而调用系统自带的专门对Hilbert矩阵求逆的invhilb(n)函数则不存在这个问题,生成结果如图2。 图2. 修正后的不同阶数下Hilbert矩阵的2-条件数分布

共轭梯度法

题目:共轭梯度法及其数值实现 院系:数理科学与工程学院应用数学系 专业:数学与应用数学 姓名学号:************ ************ ************ ************ 指导教师:张世涛 日期:2015 年7 月 5 日

最优化是一门应用性很强的学科,近年来,随着计算机的发展以及实际问题的需要,大规模优化问题越来越受到重视。共轭梯度法是最优化中最常见的方法之一,他具有算法简单、存储需求少、有较快的收敛速度和二次终止性且易于实现等优点,十分适合于大规模优化问题。 非线性共轭梯度法已有五十多年的历史,最早由计算数学家Hestenes和几何学家Stiefel 为求解线性方程组Ax=b,n R x∈而独立提出的。较著名的有FR方法、PRP方法、HS方法和LS方法等。非线性最优化的共轭梯度算法的收敛性分析,也就是讨论各种共轭梯度算法在不同搜索下的收敛性质。本文主要研究求解无约束优化问题的非线性共轭梯度法,并用Matlab软件对其数值实现。 关键词:无约束规划;非线性共轭梯度法;迭代;最优解;数值实现 Abstract Optimization is strong discipline applied. In recent years, with the development of computer and practical issues,large-scale optimization problems are given more and more attention. Conjugate gradient method is one of the most commonly used methods in optimization. It is simply, storage needs less, easy to practice with faster convergence speed and quadratic termination. It is suitable for large-scale optimization problem. The conjugate gradient method have been more than 50 years of history. The pioneers were mathematician Hestenes and geometrician Stiefel. They independently proposed this method for solving system of linear equations Ax=b,n R x∈. Well-known conjugate gradient method is FR method, PRP method, HS method, LS method and so on. The convergence analysis of the conjugate gradient algorithm for nonlinear optimization is also the convergence of various conjugate gradient algorithms under different search conditions. Global convergence and numerical result of nonlinear conjugate gradient method of unconstrained optimization is investigated in this paper. Besides, we use Matlab to get its numerical solution. Keywords:Unconstrained programming; Nonlinear conjugate gradient method; Iteration; Optimal solution; Numerical implementation

最优化课程设计--共轭梯度法算法分析与实现

最优化课程设计--共轭梯度法算法分析与实现 (设计程序) 题目共轭梯度法算法分析与实现 班级 / 学号 14140101/11 学生姓名黄中武指导教师王吉波王微微 课程设计任务书 课程名称最优化方法课程设计院(系) 理学院专业信息与计算科学 课程设计题目共轭梯度法算法分析与实现课程设计时间: 2014 年 6月 16日至2014 年 6月 27日 课程设计的要求及容: [要求] 1. 学习态度要认真,要积极参与课程设计,锻炼独立思考能力; 2. 严格遵守上机时间安排; 3. 按照MATLAB编程训练的任务要求来编写程序; 4. 根据任务书来完成课程设计论文; 5. 报告书写格式要求按照航空航天大学“课程设计报告撰写规”; 6. 报告上交时间:课程设计结束时上交报告; 7. 严禁抄袭行为,一旦发现,课程设计成绩为不及格。 一、运用共轭梯度法求解无约束最优化问题 要求:1)了解求解无约束最优化问题的共轭梯度法; 2)绘出程序流程图; 3)编写求解无约束最优化问题的共轭梯度法MATLAB程序; 4)利用编写文件求解某无约束最优化问题; 5)给出程序注释。

指导教师年月日 负责教师年月日 学生签字年月日 航空航天大学 课程设计成绩评定单 课程名称最优化理论与算法课程设计院(系) 理学院专业信息与计算科学课程设计题目共轭梯度法算法分析与实现学号 11 黄中武指导教师评语: 课程设计成绩 指导教师签字 年月日 最优化方法课程设计航空航天大学课程设计用纸目录 目录 一、正文 ............................................................... 1 二、总 结 ............................................................... 8 参考文 献 ............................................................... 9 附 录 (10) 第 I 页 最优化方法课程设计航空航天大学课程设计用纸正文 一、正文 一无约束最优化问题的共轭梯度法 共轭梯度法最初是由Hesteness和Stiefel于1952年为求解线形方程组而提出的。后来,人们把这种方法用于求解无约束最优化问题,使之成为一种重要的最优化方法。 下面,重点介绍Fletcher-Reeves共轭梯度法,简称FR法。

肌组织实验报告

竭诚为您提供优质文档/双击可除 肌组织实验报告 篇一:表面肌实验报告 武汉理工大学 现代数字信号处理在前沿学科中的应用实验报告 基于semg时域特征的动作识别 学院:信息工程学院 学号:姓名: 班级:电子154 实验基于semg时域特征特的动作识别 一、实验目的 1.了解肌电信号常用的时域分析方法; 2.利用mATLAb对肌电信号进行去噪、特征提取及动作识别; 二、实验设备 1.wi-Fi表面肌电信号采集卡; 2.32位windowsxp台式机(matlab7.0软件); 3.802.11b/g无线网卡;

三、实验内容 (1)学习信号的基本去噪方法,并用mATLAb实现; (2)学习肌电信号常用的时域特征并利用matlab来进行波形长度(wL)符号改变数(ssc)、过零点(Zc)、威尔 逊赋值(wAmp)等特征的提取; (3)学习神经网络信号处理方法,掌握bp神经网络的用法,将其用于肌电信号的动作识别。 学习以上三个部分,最终完成一整套肌电信号去噪、特征提取(选取一种特征)、基于特征的动作识别的mATLAb程序。 四、实验原理 (1)小波去噪 小波去噪方法是一种建立在小波变换基础上的新兴算法,基本思想是根据噪声在不同频带上的小波分解系数具有不同强度分布的特点,将各频带上的噪声对应的小系数去除,保留原始信号的小波分解系数,然后对处理后系数进行小波重构,得到纯净信号。 小波去噪的基本原理图如下 (2)特征提取 时域分析是将肌电信号看成均值为零,而方差随着信号强度的变化而变化的随机信号。时域特征的计算复杂度低,提取比较方便。

最常用的方法有:方差,过零点数(Zerocrossing,Zc),willison幅值(willisonAmplitude,wAmp),绝对值平均值(meanAbsoluteValue,mAV)和波形长度(wavelength,wL)等。在实际应用中,为了让特征可以包含更多的信息,往往选择用不同的时域特征组合形成联合特征向量。我们主要介绍一下几种方法: 过零率(Zc):为波形通过零线的次数,从一定程度上反映了信号的频率特性。为了降低零点引入的噪声,往往会引入一个阈值δ。计算方式如下: sgn(?xk?xk?1),(xk?xk?1??)(1)willison幅值:是由willison提出一种对表面肌电信号的幅值变化数量进行计 算的方法,经过后人的研究,对willison幅值的阈值有了明确的范围限定,目前认为50~100?V是最合适的阈值范围。其数学表示公式如公式(3-3)。 wAmp??fxi?xi?1 t?1n(2) ?1f(x)???0其中:ifx?阈值otherwise 波形长度(wL):它是对某一分析窗中的波形长度的统计,波长可以体现该样本的持续时间、幅值、频率的特征。 1n?1 wL??x(i?1)?x(i)ni?1(3)符号改变斜率(ssc):为信号的的频率性能提供了一些附加信息,对于3个连续的采样

共轭梯度法程序

一、共轭梯度法 共轭梯度法(Conjugate Gradient)是共轭方向法的一种,因为在该方向法中每一个共轭向量都是依靠赖于迭代点处的负梯度而构造出来的,所以称为共轭梯度法。由于此法最先由Fletcher和Reeves (1964)提出了解非线性最优化问题的,因而又称为FR 共轭梯度法。由于共轭梯度法不需要矩阵存储,且有较快的收敛速度和二次终止性等优点,现在共轭梯度法已经广泛地应用于实际问题中。共轭梯度法是一个典型的共轭方向法,它的每一个搜索方向是互相共轭的,而这些搜索方向d仅仅是负梯度方向与上一次迭代的搜索方向的组合,因此,存储量少,计算方便,效果好。 二、共轭梯度法的原理 设有目标函数 f(X)=1/2X T HX+b T X+c 式1 式中,H作为f(X)的二阶导数矩阵,b为常数矢量,b=[b1,b2,b3,...b n]T 在第k次迭代计算中,从点X(k)出发,沿负梯度方向作一维搜索,得 S(K)=-?f(X(k))式2 X(k+1)=X(k)+ɑ(k)S(k) 式3 在式中,ɑ(k)为最优步长。 设与S(k)共轭的下一个方向S(k+1)由点S(k)和点X(k+1)负梯度的线性组

合构,即 S (k+1)=-?f (X (k+1))+β(k)S (k) 式4 根据共轭的条件有 [S (k)]T ?2f (X (k))S (k+1)=0 式5 把式2和式4带入式5,得 -[?f(X (k))]T ?2f (X (k))[-?f (X (k+1))+β(k)S (k) ]=0 式6 对于式1,则在点X (k)和点X (k+1)的梯度可写为 ?f(X (k))=HX (k)+b 式7 ?f (X (k+1))=HX (k+1)+b 式8 把上面两式相减并将式3代入得 ɑ(k)H S (k)=?f (X (k+1))-?f(X (k)) 式9 将式4和式9两边分别相乘,并代入式5得 -[?f (X (k+1))+β(k)?f(X (k))]T [?f (X (k+1))-?f(X (k)]=0 式10 将式10展开,并注意到相邻两点梯度间的正交关系,整理后得 β (k ) =2 2 ||))((||||))1((||k X f k X f ?+? 式11 把式11代入式4和式3,得 S (k+1)=-?f (X (k))+β (k ) S (k ) X (k+1)=X (k )+ɑ(k )S (k ) 由上可见,只要利用相邻两点的梯度就可以构造一个共轭方向。以这种方式产生共轭方向并进行迭代运算的方法,即共轭梯度法。

共轭梯度实验报告

竭诚为您提供优质文档/双击可除 共轭梯度实验报告 篇一:共轭梯度法实验报告 数值代数实验报告 一、实验名称:用共轭梯度法解线性方程组。 二、实验目的:进一步熟悉理解掌握共轭梯度法解法思路,提高matlab编程能力。三、实验要求:已知线性方程 矩阵,应用共轭梯度法在相关软件编程求解线性方程组的解。 四、实验原理: 1.共轭梯度法: 考虑线性方程组 Ax?b 的求解问题,其中A是给定的n阶对称正定矩阵,b是 给定的n维向量,x是待求解的n维向量.为此,定义二次泛 函 ?(x)?xTAx?2bTx. 定理1设A对称正定,求方程组Ax?b的解,等价于求二次泛函?(x)的极小值点.定理1表明,求解线性方程组问题

就转化为求二次泛函?(x)的极小值点问题.求解二次函数极 小值问题,通常好像盲人下山那样,先给定一个初始向量x0,确定一个下山方向p0,沿着经过点x0而方向为p0的直线 x?x0??p0找一个点 x1?x0??0p0, 使得对所有实数?有 ??x0??0p0????x0??p0?, 即在这条直线上x1使?(x)达到极小.然后从x1出发, 再确定一个下山的方向p1,沿着直 线x?x1??p1再跨出一步,即找到?1使得??x?在 x2?x1??1p1达到极小: ??x1??1p1????x1??p1?. 重复此步骤,得到一串 ?0,?1,?2, x?xk??pk上确定步长?k使 和p0,p1,p2, , 称pk为搜索方向,?k为步长.一般情况下,先在xk点 找下山方向pk,再在直线 ??xk??kpk????xk??pk?, 最后求出xk?1?xk??kpk.然而对不同的搜索方向和步长,得到各种不同的算法.

最优化方法课程实验报告

项目一 一维搜索算法(一) [实验目的] 编写加步探索法、对分法、Newton 法的程序。 [实验准备] 1.掌握一维收搜索中搜索区间的加步探索法的思想及迭代步骤; 2.掌握对分法的思想及迭代步骤; 3.掌握Newton 法的思想及迭代步骤。 [实验内容及步骤] 编程解决以下问题: 1.用加步探索法确定一维最优化问题 1 2)(min 30 +-=≥t t t t ? 的搜索区间,要求选取2,1,000===αh t . 加步探索法算法的计算步骤: (1)选取初始点 ]) 0[)(0[max 00t t t ,或,∈?∞+∈,计算 )(00t ??=.给出初始步长0 >h , 加步系数1α>,令0=k 。 (2) 比较目标函数值.令k k k h t t +=+1,计算 )(11++=k k t ??,若k k ??<+1,转(3),否则转(4)。 (3) 加大探索步长.令 k k h h α=+1,同时,令,k t t =,1+=k k t t 1k k =+,转(2)。 (4) 反向探索.若0=k ,转换探索方向,令,k k h h -=1+=k t t ,转(2)。否则,停止迭代,令 11min{}max{}k k a t t b t t ++==,,,。 加步探索法算法的计算框图

程序清单 加步探索法算法程序见附录1 实验结果 运行结果为: 2.用对分法求解 )2()(min +=t t t ?, 已知初始单谷区间]5,3[],[-=b a ,要求按精度3.0=ε,001.0=ε分别计算. 对分法迭代的计算步骤: (1)确定初始搜索区间],[b a ,要求'()0'()0a b ??<>,。 (2) 计算],[b a 的中点)(2 1 b a c +=. (3) 若0)(<'c ?,则c a = ,转(4);若0)(='c ?,则c t =* ,转(5);若0)(>'c ?,则c b = ,转(4). (4) 若ε<-||b a ,则)(2 1* b a t +=,转(5);否则转(2). (5) 打印* t ,结束 对分法的计算框图

非线性共轭梯度法的文献综述

非线性共轭梯度法的文献综述研究 摘要:共轭梯度法最早是由Hestenes 和Stiefel 于1952年提出来的,用于解正定系数矩阵的线性方程组,在这个基础上,Fletcher 和Reeves 于1964年首先提出了解非线性最优化问题的共轭梯度法。由于共轭梯度法不需要矩阵存储,且有较快的收敛速度和二次终止性等优点,于是,共轭梯度法的理论研究受到了人们的关注,现在共轭梯度法已经广泛地应用与实际问题中。 关键词:共轭梯度法,非线性最优化,线性搜索,收敛性 1.共轭梯度法 共轭梯度法最早是由计算数学家Hestenes 和几何学家Stiefel 在20世纪50年代初为求解线性方程组 ,n Ax b x R =∈ 而独立提出的。他们奠定了共轭梯度法的基础,他们的文章详细讨论了求解线性方程组的共轭梯度法的性质以及它和其他方法的关系。当A 对称正定时,上述线性方程组等价于最优化问题 1min 2n T T x R x Ax b x ∈- 基于此,Hestenes 和Stiefel 的方法可视为求解二次函数极小值的共轭梯度法。 1964年,Fletcher 和Reevse 将此方法推广到非线性优化,得到了求一般函数极小值的共轭梯度法。 而本书中,戴彧虹和袁亚湘介绍了多种类型的共轭梯度法,各方法的区分主要在于每次迭代的方向上,并且他们检验了每种方法在不同搜索下的全局收敛性。在他们的研究中,目标函数连续可微有下界,导数满足Lipschitz 条件,他们通过对Zoutendijk 条件的判断,通常用反证的方法来考察全局各共轭梯度法的全局收敛性问题。 对于无约束优化问题 min ()n x R f x ∈ 一般给出一初值1x ,经由算法迭代产生23,,x x 。在第k 次迭代,当前迭代点 为k x ,用一种方法产生一搜索方向n k d R ∈。然后下一迭代点为: 1k k k k x x d α+=+ 其中,迭代方向k d 的不同选取产生了不同的共轭梯度法,k α为步长因子,步长的不同选取产生了不同的搜索准则。而本书着重研究各方法在精确线搜索,Curry 原则,强Wolfe 线搜索和推广的Wolfe 线搜索下的收敛性。其中:

共轭梯度法及其基本性质

共轭梯度法及其基本性质 预备知识 定义1 设是对称正定矩阵。称是A-共轭的,是指 性质1 设有是彼此共轭的维向量,即 则一定是线性无关的。 [证明]若有一组数满足 则对一切一定有 注意到,由此得出:即所有的=0.因此, 是线性无关的. 性质2设向量是线性无关的向量组,则可通过它们的线性组合得出一组向量,而是两两共轭的. [证明]我们用构造法来证实上面的结论.

S0:取; S1:令,取. …… Sm:令 取 容易验证:符合性质2的要求. 性质3设是两两A-共轭的,是任意指定的向量,那么从出发,逐次沿方向搜索求的极小值,所得序列,满足: . [证明]由下山算法可知,从出发,沿方向搜索,获得 从而

性质4设是两两A共轭的,则从任意指定的出发,依次沿搜索,所得序列满足: (1) (2),其中是方程组(5.1.1)的解. [证明](1)是性质3的直接推论,显然成立. (2)由于是两两A共轭的,故是线性无关的.所以对于向量可用线性表出,即存在一组数使 由于及,得出 , 于是,再由得出 于是,与得出一样地,我们可以陆续得出:

对比和的表达式可知, 证明完毕 性质4是性质3的直接推论.但它给出了一种求(5.1.1)的算法,这种算法称之为共轭方向法.结合性质2,我们可以得到如下的性质5. 性质5设是上的一组线性无关的向量,则从任意指定的出发,按以下迭代产生的序列: S1:取,,; S2:计算,取; 计算,得出; 如此进行下去,直到第n步: Sn:计算取 计算,得出. 显然: 根据性质4可知,不论采用什么方法,只要能够构造个两两A共轭的向量作为搜索方向,从任一初始向量出发,依次沿两两A共轭的方向进行搜索,经 步迭代后,便可得到正定方程组的解.

表面肌实验报告

武汉理工大学 现代数字信号处理在前沿学科中的应用实验报告基于sEMG时域特征的动作识别 学院:信息工程学院 学号: 1049731503279 姓名:吴志勇 班级:电子154

实验基于sEMG时域特征特的动作识别 一、实验目的 1.了解肌电信号常用的时域分析方法; 2.利用MATLAB对肌电信号进行去噪、特征提取及动作识别; 二、实验设备 1.Wi-Fi表面肌电信号采集卡; 2.32位Windows XP台式机(Matlab 7.0软件); 3.802.11b/g无线网卡; 三、实验内容 (1)学习信号的基本去噪方法,并用MATLAB实现; (2)学习肌电信号常用的时域特征并利用Matlab来进行波形长度(WL)符号改变数(SSC)、过零点(ZC)、威尔逊赋值(WAMP)等特征的提取; (3)学习神经网络信号处理方法,掌握BP神经网络的用法,将其用于肌电信号的动作识别。 学习以上三个部分,最终完成一整套肌电信号去噪、特征提取(选取一种特征)、基于特征的动作识别的MATLAB程序。 四、实验原理 (1)小波去噪 小波去噪方法是一种建立在小波变换基础上的新兴算法,基本思想是根据噪声在不同频带上的小波分解系数具有不同强度分布的特点,将各频带上的噪声对应的小系数去除,保留原始信号的小波分解系数,然后对处理后系数进行小波重构,得到纯净信号。 小波去噪的基本原理图如下 (2)特征提取

时域分析是将肌电信号看成均值为零,而方差随着信号强度的变化而变化的随机信号。时域特征的计算复杂度低,提取比较方便。 最常用的方法有:方差,过零点数(Zero Crossing, ZC ),Willison 幅值(Willison Amplitude, WAMP ),绝对值平均值 (Mean Absolute Value, MAV )和波形长度(Wave length ,WL )等。在实际应用中,为了让特征可以包含更多的信息,往往选择用不同的时域特征组合形成联合特征向量。我们主要介绍一下几种方法: 过零率(ZC ):为波形通过零线的次数,从一定程度上反映了信号的频率特性。为了降低零点引入的噪声,往往会引入一个阈值δ。计算方式如下: )(),sgn(11δ≥-+-++k k k k x x x x (1) Willison 幅值:是由Willison 提出一种对表面肌电信号的幅值变化数量进行计算的方法,经过后人的研究,对Willison 幅值的阈值有了明确的范围限定,目前认为V μ100~50 是最合适的阈值范围。其数学表示公式如公式(3-3)。 ∑=+-=N t i i x x f WAMP 1 1 (2) 其中: ?? ?>=otherwise x if x f 阈值 01 )( 波形长度(WL ):它是对某一分析窗中的波形长度的统计,波长可以体现该样本的持续时间、幅值、频率的特征。 ∑-=-+= 1 1 ) ()1(1N i i x i x N WL (3) 符号改变斜率(SSC ):为信号的的频率性能提供了一些附加信息,对于3个连续的采样点,给定阈值ω,通过下面的公式计算波峰波谷的个数。 ()()()N i x x x x i i i i ,,1,11Λ=≥-?-+-ω (4) (3) 神经网络 BP 神经网络又称误差反向传播(Back Propagation ),它是一种多层的前向型神经网络。在BP 网络中,信号是前向传播的,而误差是反向传播的。所谓的反向传播是指误差的调整过程是从最后的输出层依次向之前各层逐渐进行的。标准的BP 网络采用梯度下降算法,与Widrow-Hoff 学习规则相似,网络权值沿着性能函数的梯度反向调整。 前向型神经网络通常具有一个或多个由sigmoid 神经元构成的隐层,以及一个由线性神经元构成的输出层。多个具有非线性传递函数的神经元层使得网络可以学习输入和输出之间的非线性关系,而线性输出层使得网络可以产生[-1,+1]之外的输出值。

相关文档
相关文档 最新文档