实用标准文案

精彩文档

用MATLAB实现共轭梯度法求解实例

康福 201103710031

无约束优化方法

1.1 无约束优化方法的必要性

一般机械优化设计问题,都是在一定的限制条件下追求某一指标为最小,它们都属于约束优化问题。但是为什么要研究无约束优化问题?

(1)有些实际问题,其数学模型本身就是一个无约束优化问题。

(2)通过熟悉它的解法可以为研究约束优化问题打下良好的基础。

(3)约束优化问题的求解可以通过一系列无约束优化方法来达到。所以无约束优化问题的解法是优化设计方法的基本组成部分,也是优化方法的基础。

(4)对于多维无约束问题来说,古典极值理论中令一阶导数为零,但要求二阶可微,且要判断海赛矩阵为正定才能求得极小点,这种方法有理论意义,但无实用价值。和一维问题一样,若多元函数F(X)不可微,亦无法求解。但古典极值理论是无约束优化方法发展的基础。

1.2共轭梯度法

目前已研究出很多种无约束优化方法,它们的主要不同点在于构造搜索方向上的差别。

(1)间接法——要使用导数,如梯度法、(阻尼)牛顿法、变尺度法、共轭梯度法等。

(2)直接法——不使用导数信息,如坐标轮换法、鲍威尔法单纯形法等。

用直接法寻找极小点时,不必求函数的导数,只要计算目标函数值。这类方法较适用于解决变量个数较少的(n ≤20)问题,一般情况下比间接法效率低。间接法除要计算目标函数值外,还要计算目标函数的梯度,有的还要计算其海赛矩阵。

搜索方向的构成问题乃是无约束优化方法的关键。

共轭梯度法是沿着共轭方向进行搜索,属于共轭方向法中的一种,该方法中每一个共轭向量都是依赖于迭代点处的负梯度而构造出来。共轭梯度法作为一种实用的迭代法,它主要有下面的优点:

(1)算法中,系数矩阵A的作用仅仅是用来由已知向量P产生向量W=AP,这不仅可充分利用A的稀疏性,而且对某些提供矩阵A较为困难而由已知向量P产生向量W=AP又十分方便的应用问题是很有益的。

(2)不需要预先估计任何参数就可以计算,这一点不像SOR等;

(3)每次迭代所需的计算,主要是向量之间的运算,便于并行化。

共轭梯度法原理的知识较多,请详见《机械优化设计》第四章的第四、五节。

图1为共轭梯度法的程度框图

图1为共轭梯度法的程度框图

设计题目及要求

2.1设计题目

用共轭梯度法求二次函数

的极小点及极小值。

2.2设计要求

使用matlab编写程序,熟练撑握matlab编程方法。

学习并撑握共轭梯度法的原理、方法及应用,并了解不同无约束优化方法的区别、优缺点及特殊要求。

编写程序,计算出二次函数的极小点及极小值,并适当选取不同的初始点及迭代精度精度,分析比较结果。

三.计算步骤

3.1计算求解

解:已知初始点[1,1]T 迭代精度

1)第一次沿负梯度方向搜寻

计算初始点处的梯度:

为一维搜索最佳步长,应满足

得:

2)第二次迭代

代入目标函数

由 得

从而有:

收敛。

3.2运行与程序

运行:打开matlab,确定conjugate_grad_2d.m文件夹为当前目录。

在命令窗中输入:f=conjugate_grad_2d([1,1],0.001)

选择不同的初始点坐标[0,0],[0,1],[1,0],和迭代精度0.01,0.0001,进行运行时,需要多次调用conjugate_grad_2d函数。

程序及说明:

function f=conjugate_grad_2d(x0,t)

%用共轭梯度法求已知函数f(x1,x2)=x1^2+2*x2^2-4*x1-2*x1*x2的极值点

%已知初始点坐标:x0

%已知收敛精度:t

%求得已知函数的极值:f

x=x0;

syms xi yi a; %定义自变量,步长为符号变量

f=xi^2+2*yi^2-4*xi-2*xi*yi; %创建符号表达式f

fx=diff(f,xi); %求表达式f对xi的一阶求导

fy=diff(f,yi); %求表达式f对yi的一阶求导

fx=subs(fx,{xi,yi},x0); %代入初始点坐标计算对xi的一阶求导实值

fy=subs(fy,{xi,yi},x0); %代入初始点坐标计算对yi的一阶求导实值

fi=[fx,fy]; %初始点梯度向量

count=0; %搜索次数初始为0

while double(sqrt(fx^2+fy^2))>t %搜索精度不满足已知条件

s=-fi; %第一次搜索的方向为负梯度方向

if count<=0

s=-fi;

else

s=s1;

用matlab实现共轭梯度法求解实例,用MATLAB实现共轭梯度法求解实例.doc相关推荐

  1. MATLAB水母搜索算法求解超市物流配送选址问题代码实例

    MATLAB水母搜索算法求解超市物流配送选址问题实例 作者:麦哥 MATLAB水母搜索算法求解超市物流配送选址问题代码实例 水母搜索算法编程问题实例: 在范围为(0,0)到(100,100)的矩形区域 ...

  2. matlab fsolve实例,转 Matlab非线性方程求解器fsolve总结(含实例)

    this.p={ m:2, b:2, loftPermalink:'', id:'fks_0800670800820800740800860830950850850820710820860820740 ...

  3. MATLAB灰狼优化算法求解超市物流配送中心选址问题代码实例

    MATLAB灰狼算法求解超市物流配送选址问题实例 作者:麦哥 MATLAB灰狼优化算法求解超市物流配送中心选址问题代码实例 灰狼算法编程问题实例: 在范围为(0,0)到(100,100)的矩形区域内, ...

  4. MATLAB人工蜂群算法求解超市物流配送选址问题代码实例

    MATLAB人工蜂群算法求解超市物流配送选址问题代码实例 MATLAB人工蜂群算法求解超市物流配送选址问题代码实例 人工蜂群算法编程问题实例: 在范围为(0,0)到(100,100)的矩形区域内,散布 ...

  5. Matlab求解线性方程组(一)共轭梯度法

    一,算法原理  共轭梯度法可以看作是特殊的迭代法,有迭代法的格式,即首先给出x(0),再由迭代格式 x(k+1)=x(k)+αkd(k){{x}^{(k+1)}}={{x}^{(k)}}+{{\alp ...

  6. 基于FastICA的声源分离实例(matlab代码)

    基于FastICA的声源分离实例 1 独立成分分析(ICA)的形象化理解 1.1 盲源分离(BlindSource Separation,BSS)的认识 1.2 独立成分分析(ICA)的基础概念 1. ...

  7. 【12月学习进度12/31——特征提取】离散KL变换原理、实例以及matlab实现(转载)

    转载自:离散KL变换原理.实例以及matlab实现 从n维特征中选取m维特征,如何在信息损失最小的情况下选取特征(因为必然会删去n-m维特征),使得剩下的特征更加有利于分类,离散K-L变换(Karhu ...

  8. 【Matlab多目标优化求解】遗传优化萤火虫算法求解多目标优化问题【含源码 1484期】

    一.代码运行视频(哔哩哔哩) [Matlab多目标优化求解]遗传优化萤火虫算法求解多目标优化问题[含源码 1484期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

  9. matlab基础与实例教程,MATLAB基础与实例教程

    系统全面,实例丰富 考虑到Matlab进行仿真和运算分析时的基础知识和实践操作,讲解从基础的变量.函数.数据类型等入手,涉及到数学分析.图形可视化.Simulink仿真.文件读写等,全面地介绍了Mat ...

最新文章

  1. android开发环境建立以及开发工具的使用--怎样使用eclipse来开发android源码
  2. 正则表达式匹配不包含特定字符串解决匹配溢出问题
  3. 读书笔记:如何投论文
  4. 自然语言处理-nltk学习(一)
  5. 记一次引入Elasticsearch的系统架构实战
  6. K8S精华问答 | K8S和Openstack发展方向是怎样的?
  7. 程序员谈谈我的职场观(二)
  8. jQuery倒计时(仿团购)
  9. Nginx服务器、Nginx虚拟主机、Nginx反向代理
  10. 微信小程序制作-随笔4
  11. 计算机二级C语言考试题库软件
  12. 中美线径对照表_导线截面与线径对照表
  13. OIer有趣代码+资料整理 1.0.0.8.7
  14. 最小二乘法求回归直线方程的详细推导过程
  15. PS调出唯美冷色情侣婚纱写真照
  16. Android案例分享__HomePageA__仿'58到家/百度糯米/豆果美食/美团外卖/手机京东'首页
  17. crt计算机显示器,crt显示器最高分辨率_crt显示器最高刷新率
  18. TesterHome android app 编写历程(四)
  19. LSM6DS3(六轴传感器)STM32驱动及6D功能实现
  20. 你的计算机由组织管理,某些设置由你的组织来管理

热门文章

  1. Ubuntu安装redis教程
  2. js获取 url 参数
  3. Linux系统管理---centos软件安装方式
  4. 江苏科技大学计算机系2019年录取分数线,2019年江苏科技大学优势专业排名及分数线...
  5. bug---win10电脑权限-文件操作失败。 C:Windows\System32\drivers\etc\hosts 拒绝访问。 (CF@O)
  6. web编程之网络基础
  7. X61终于成功安装Lion,不容易啊
  8. NV21 图像旋转处理 ( 后置摄像头顺时针旋转 90 度 | 前置摄像头顺时针旋转 90 度 )
  9. 《南方周末》:保研,涉及生存,一切都是可笑的 2012-03-11 10:37:06
  10. C语言实现链表的基本操作(超详细注释)