机械优化设计中的鲍威尔方法

鲍威尔( Powell)法是直接利用函数值来构造共轭方向的一种方法。

对函数f(x)= 1 x2Gx+bT +c 的极小化问题, 基本思想是: 在不用导数

2

的前提下,在迭代中逐次构造G 的共轭方向。

鲍威尔算法的基本思想:

性质一:同心椭圆簇;

性质二:平行切点的连线必

dj

dj

g k

g k

经过椭圆簇中心;

性质三:椭圆中心即为极小点。 。

+

1

d k

x kx k+

1

一.共轭方向的生成

如图 1,设 xk,xk+1 为从不同点出发, 沿同一方向 dj 进行一维搜索而到

的两个极小点。 根据梯度和等值面相垂直的性质, dj 和 xk, xk+1 两点

处的梯度 gk,gk+1 之间存在关系 :

dj)Tgk=0 (dj)Tgk+1=0:另一方面,对于上述二次函数,其 xk, xk+1

两点处的梯度可表示为:gk=Gxk+bgk+1 =Gxk+1 +b:因而有

dj)T(gk+1 -gk)=(dj)TG(x k+1-x k)=0,取 dk=xk+1 -xk 这说明只要沿 dj 方向分

别对函作两次一维搜索,得到两个极小点xk 和 xk+1 ,那么这两点的

连线所给出的方向dk 就是与 dj 一起对 G 共轭的方向。

一.基本算法

1)任选一初始点 x0,再选两个线性无关的向量,如坐标轴单位向量 e1=[1,0] T 和 e2=[0,1] T 作为初始搜索方向。

2)从 x0 出发,顺次沿 e1, e2 作一维搜索

,得 x1

0,x20 点,两点连线得一新方向

x2

d1

d1=x2

0-x0。用 d1 代替 e1 形成两个线性无

关向量 d1 ,e2

,作为下一轮迭代的搜索方向。

x *

再 x20

出发,沿 d1 作一维搜索得点 x01,

1

作为下一轮迭代的初始点。

d2

e2

3)从 x1 出发,顺次沿 ,e2。 d1 作一维搜索,

x 0e1

x

1

4)得到点 x1

1,x21,两点连线得一新方

:d2=x21-x11。

4)沿 d2d2 作一维搜索得点 .x2 ,即是二维问题的极小点x* 。 .

把二维情况的基本算法扩展到n 维,则鲍威尔基本算法的要点是:

在每一轮迭代中总有一个始点(第一轮的始点是任选的初始点)

n 个线性独立的搜索方向。 从始点出发顺次沿 n 个方向作一维搜索得一终点,由始点和终点决定了一个新的搜索方向。

用这个方向替换原来 n 个方向中的一个,于是形成新的搜索方向组。替换的原则是去掉原方向组的第一个方向而将新方向排在原方向的最后。此外规定,从这一轮的搜索终点出发沿新的搜索方向作一维搜索而得到的极小点, 作为下一轮迭代的始点。 这样就形成算法的循环。

二.改进的算法

在改进的算法中首先判断原向量组是否需要替换。如果需要替换,

还要进一步判断原向量组中哪个向量最坏,然后再用新产生的向量替

换这个最坏的向量,以保证逐次生成共轭方向。

记 f i=f(x ik)(i=1,2,3,,,n)

因而 F0=f0,

i=f m-1-f m, 相应的方向为

k

dm ,为了构成共轭性好的方

向组,须遵循下列准则:

在 k 次循环中,若满足条件

F

3

0

(F0-2F 2+F3)(F 0-F 2- m)2<0.5

m(F0-F 3) 2, 则选用新方向 dk,并在第

k

替换对应于

k

。否则,仍然用原方向组

k+1 迭代中用 d

m的方向 dm

进行第 k+1 迭代。这样重复迭代的结果, 后面加进去的向量都彼此对

G共轭,经 n 轮迭代即可得到一个由n 个共轭方向所组成的方向组。

对于二次函次,最多n 次就可找到极小点,而对一般函数,往往要超

n 次才能找到极小点(这里“ n”表示设计空间的维数) 。以上就是鲍威尔方法的基本概念,鲍威尔方法有如下几个优点:

1.无需求解目标函数一阶和二阶导数。

a)不明确目标函数表达式;b)目标函数复杂;

2.对目标函数解析性质不作苛刻要求。

a)属于直接求解方法; b)函数类型要求较少,适用面广;

3.收敛速度较快。直接法收敛速度较慢,但鲍威尔法寻找最速收敛方

向,故属直接法中最有效的方法。

机械优化设计c语言鲍威尔法,机械优化设计鲍威尔法.docx相关推荐

  1. 机械原理c语言程序,机械原理课程设计心得体会范文

    课程设计是培训学生运用本专业所学的理论知识和专业知识来分析解决 实际问题的重要教学环节,是对三年所学知识的复习和巩固.下面是小编整理的机械原理课程设计心得体会,欢迎大家参考! [1]机械原理课程设计心 ...

  2. 机械优化黄金分割法c语言编程,黄金分割法_机械优化设计_C语言程序.doc

    黄金分割法_机械优化设计_C语言程序黄金分割法_机械优化设计_C语言程序 黄金分割法的优化设计 实验报告 学院:机电工程 机制自动化11-03班 学号:541102010326 姓名:刘点点 1,黄金 ...

  3. 机械原理c语言程序,c语言机械原理编程,连杆运动分析图线.docx

    编程大作业 基于 C 语言的机械原理分析图: 只有库函数包含头文件:graphics.h conio.h 才能观看该程序效果: 若已经安装 VC++,可以打开文件夹里面的 EasyX压缩包, 并安装 ...

  4. 机械臂C语言编程,ROS下C++控制UR机械臂

    描述 ROS系统下,使用moveit和gazebo搭建UR机械臂控制的仿真环境,并使用C++编写一个节点来控制UR机械臂的移动 ROS系统:kinetic UR5机械臂 电脑系统:Ubuntu16.0 ...

  5. 计算机数值模拟 机械工程专业,计算机技术在机械工程的应用论文

    计算机技术在机械工程的应用论文 机械工程是一门涉及利用物理定律为机械系统作分析.设计.制造及维修的工程学科.下面是小编为大家整理的计算机技术在机械工程的应用论文,欢迎阅读. 摘 要:本文介绍了在机械工 ...

  6. 利用计算机进行机械设计属于什么,计算机技术机械设计应用

    [摘要] 近几年计算机技术的飞速发展使得它在各个领域中的地位越来越显著,应用越来越广泛,在机械设计过程中也逐渐地引入了计算机技术.在计算机技术中有一种单独的辅助设计技术用来辅助各种设计工作,计算机辅助 ...

  7. 计算机机械应用,浅析计算机技术在机械自动化的应用(原稿)

    <浅析计算机技术在机械自动化的应用(原稿).doc>由会员分享,可免费在线阅读全文,更多与<浅析计算机技术在机械自动化的应用(原稿)>相关文档资源请在帮帮文库(www.woc8 ...

  8. 浙江大学计算机与机械工程,中国26所“机械工程”大学经调整、合并,浙大、西交、同济升级...

    在国内理工科知名大学的人才培养体系中,机械工程专业的报考热度持续稳定在高位.众所周知,机械工程是工学研究生教育一级学科,工程研究生教育一个领域,是一门涉及利用物理定律为机械系统作分析.设计.制造及维修 ...

  9. 机械+固态双硬盘时机械硬盘卡顿问题解决

    机械+固态双硬盘时机械硬盘卡顿问题解决 参考文章: (1)机械+固态双硬盘时机械硬盘卡顿问题解决 (2)https://www.cnblogs.com/xia-weiwen/p/10125128.ht ...

  10. matlab 固态 机械_电脑是固态+机械硬盘好??纯固态硬盘好?

    今天小五就给大家细细讲讲 机械硬盘 ✍️ 机械硬盘顾名思义就是机械结构的硬盘 啥叫机械结构呢?其实就是内部用N个高速旋转的磁性通碟来储存数据,再通过一个磁头对相应的磁盘进行读取和写入,像这样(够机械吧 ...

最新文章

  1. sonar jacoco 覆盖率为0_Jacoco统计代码覆盖率
  2. 宝塔php open_basedir restriction in effect
  3. python控制苹果手机触摸屏失灵怎么办_iphone触摸屏失灵怎么办 iphone触摸屏失灵解决办法【详解】...
  4. JavaScript对象this指向(普通键this指向 非指向函数的键)
  5. 重要的开源资源及50个c/c++源代码网站
  6. JDBC Druid式link
  7. Go语言开发环境配置
  8. C语言 数组排序 – 冒泡法排序 - C语言零基础入门教程
  9. python采用强制自动缩进使得代码具有极佳的可读性_Python简介
  10. php爬取js对象,php如何用正则解析html中的js对象
  11. JDY-31蓝牙模块测试
  12. SSIM(structural similarity index) ---图像质量评价指标之结构相似性
  13. VS2015,错误RC1015: 无法打开包含文件afxres.h
  14. c语言用while循环输出九九乘法表,用C语言的while循环,打印九九乘法表
  15. Oracle EBS fnd_flex_ext.get_ccid返回CodeCombinationId为0
  16. 哪些行业是离散制造?哪些是流程制造?他们有什么区别?
  17. 国内外企业争食海淘:顺丰布局转运业务
  18. 网络编程学习笔记-套接字编程-socket
  19. 个人使用华为云服务器的经验分享
  20. Python Spark RDD

热门文章

  1. 中心滤波与均值滤波MATLAB
  2. Horizon client 连接桌面后显示:USB已禁用/USB重定向功能已禁用
  3. Opencv学习笔记 超像素分割
  4. 华硕飞行堡垒atk驱动在哪_双11福利大放送 11月8日华硕再开血拼狂欢模式
  5. linux下可执行文件无法执行问题定位排查
  6. ffmpeg推拉流优化方案
  7. ffmpeg推流 —— RTMP推流例程
  8. 2021年最佳开源软件榜单出炉!
  9. 61850协议服务器端开发,基于IEC61850标准的服务端程序的设计与实现
  10. 数学专业参考书整理推荐