机械优化设计讲义.pdf

上传人:yyf 文档编号:3708399 上传时间:2019-09-20 格式:PDF 页数:24 大小:409.95KB
返回 下载 相关 举报
机械优化设计讲义.pdf_第1页
第1页 / 共24页
机械优化设计讲义.pdf_第2页
第2页 / 共24页
机械优化设计讲义.pdf_第3页
第3页 / 共24页
机械优化设计讲义.pdf_第4页
第4页 / 共24页
机械优化设计讲义.pdf_第5页
第5页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《机械优化设计讲义.pdf》由会员分享,可在线阅读,更多相关《机械优化设计讲义.pdf(24页珍藏版)》请在三一文库上搜索。

1、1 机械优化设计讲义机械优化设计讲义 刘长毅 第一讲第一讲第一讲第一讲 第一课时第一课时:机械优化设计概论 课程的研究对象:根据最优化原理和方法,利用计算机为计算工具,寻求最优设 计参数的一种现代设计方法。 目标:本课程目标体系可以分为三大块:理论基础、算法的分析、理解和掌握, 算法的设计、实现(编程)能力的培养。将主要是对算法的学习为主,并兼顾培 养一定的解决实际问题能力、上机编程调试能力。 首先,几个概念几个概念:优化(或最优化原理、方法) 、优化设计、机械(工程)优化 设计。 现代的优化方法,研究某些数学上定义的问题的,利用计算机为计算工具的最优 解。 优化理论本身是一种应用性很强的学科

2、, 而工程优化设计 (特别是机械优化设计) 由于采用计算机作为工具解决工程中的优化问题,可以归入计算机辅助设计 (CAD)的研究范畴。 再,优化方法的发展优化方法的发展:源头源头是数学的极值问题,但不是简单的极值问题,计算机 算法和运算的引入是关键。 从理论与实践的关系方面,符合实践-理论-实践的过程。优化原理和方法的理论 基础归根结底还是来源于实际生产生活当中,特别是工程、管理领域对最优方案 的寻找, 一旦发展为一种相对独立系统、 成熟的理论基础, 反过来可以指导工程、 管理领域最优方案的寻找(理论本身也在实践应用中不断进步、完善) 。 解决优化设计问题的一般步骤一般步骤: 相关知识:数学方

3、面:微积分、线性代数;计算机方面:编程语言、计算方法; 专业领域方面:机械原理、力学等知识 内容:数学基础、一维到多维、无约束到有约束 1.11.1数学模型数学模型 机械设计问题 建立数学模型 选择或设计 算法 编码调试 计算结果的分 析整理 2 三个基本概念:设计变量、目标函数、约束条件 设计变量设计变量: 相对于设计常量(如材料的机械性能) 在设计域中变量是否连续:连续变量、离散变量(齿轮的齿数, ) 。 设计问题的维数,表征了设计的自由度。每个设计问题的方案(设计点)为 设计空间中的一个对应的点。 设计空间:二维(设计平面) 、三维(设计空间) 、更高维(超设计空间) 。 目标函数:目标

4、函数: 设计变量的函数。 单目标、多目标函数。 等值面的概念: 设计目标为常量时形成的曲面 (等值线、 等值面、 超等值面)。 几何意义:等值线(等值线的公共中心既是无约束极小点) 、等值面。 约束条件:约束条件: 等式约束(约数个数小于设计问题的维数) 不等式约束 满足约束条件的设计点的集合构成可行域 D:可行点、非可行点、边界设计 点 几何意义(二维) :对于设计空间不满足不等式约束的部分,用阴影表示。 数学模型的一般形式:数学模型的一般形式: 寻找一个满足约束条件的设计点,使得目标函数值最小。 标准形式: npvXh muXgts RXXf v u n f(b)且 f(b)= f1 f1

5、f ( a1); f2f ( a2) h -1*h tem p f1; f1 f2; f2tem p tem p a1; a1 a2; a2tem p n oy es lo o p lo o p a1 a 2; a2 a3 f1 f 2; f2 f 3 h 2*h; a3 a 2+h; f3f ( a3) h 0 a a1; b a3 a a3; b a1 y es n o 输 出a, b f2 = f3 n o a 3 a 2+h; f3 f ( a3) 3.23.23.23.2 一维优化方法黄金分割法 一维搜索的基本思想: 在确定了搜索区间的前提下, 不断缩小搜索区间, 直到区间的宽度小于

6、预定的精度。 黄金分割法的基本思想: 黄金分割点的计算:: )(:=LL 算法流程: 7 输入a,b, loop |a-b| 0 三 点 共 线 最小点在区间之外 y e s k=0 y e s k+ + 第一次循环,中点有可能与最 小点重合(两头函数值相同) 42 f4 f2f4 f2 y e sn o 34 12 24 14 24 32 n o n o y e s For(k=0; ;k+)再合适不过 理论上来说,f4为最小值,必 有f4f2有可能存在 理论上来说,f4为最小值,必 有f4f2有可能存在 9 第四章第四章第四章第四章(多维)无约束优化方法(多维)无约束优化方法(多维)无约束

7、优化方法(多维)无约束优化方法 概述:工程优化问题通常都是多维有约束优化问题,但需从一维无约束问题到多维无约 束优化问题再到多维约束优化问题的由简单到复杂的循序渐进的学习研究过程。 无约束优化问题数学模型: n RXXf ),(min 分类,从是否利用目标函数的导数信息,分直接法和间接法 4.14.14.14.1 坐标轮换法坐标轮换法 4.1.1 坐标轮换法基本原理 将多维无约束优化问题分解、转化为一系列一维优化问题,轮换沿各个坐标轴一维 搜索,直到求得最优点。 在每次迭代内部,要依次沿各坐标轴进行 N 次(N 为优化问题的维数)一维搜索。 这 种 一 维 搜 索 是 固 定 其 它 N-1

8、维 变 量 , 视 为 常 量 , 然 后 进 行 一 维 搜 索 , ), 2 , 1( , 1 NjeXX j k j k j k j =+= ,对于第 k 轮迭代,须重复 N 次该式的一维搜索,搜索 的参数为 ajk(即要优化的参数是 ajk) ,为相对第 j 维变量的搜索步长,搜索方向为第 j 维 空间坐标的方向。 当 k 轮迭代结束后, 本轮搜索的重点作为下一轮的起点, 即 k N k XX = +1 0 , 然后投入下一轮迭代。 4.1.2 该方法特点 不考虑目标函数本身的变化情况(函数特点) ,简单、效率低、收敛速度慢。 4.24.24.24.2 共轭方向法共轭方向法 4.2.1

9、 共轭方向 对于 N 维正定二次函数 cXbXAXXf TT += 2 1 )(当 N=2,为同心椭圆族),H 为函数 f 的黑塞矩阵(正定对称阵)。若存在两个方向向量 1 S , 2 S ,满足 0 21 =SHS T ,则 称 1 S 与 2 S 为共轭方向。 如何构造共轭方向(二维) ?对于某两点 2010,X X ,沿方向 1 S ( 12010 ,SXX 不平行) 一维搜索得到两个最优点 21,X X ,构成方向 122 XXS =,则可以证明 1 S 与 2 S 为共轭方 直接法:坐标轮换法、共轭方向法、鲍威尔法 间接法:梯度法、牛顿法、变尺度法 10 向,即 0 21 =SHS

10、T (对于二维问题,可以简单证明) 当然,这个结论可以从 2 维推广到 N 维。同样,说明对于 N 维函数,有 N 个共轭方 向。对于二次函数,只要经过 N 个一维搜索即可到达最优点(即 N 维空间内完成一轮迭 代) 。对于大于二次的函数,则可能需要将上一轮迭代的终点作为新一轮迭代的起点。 在 构造迭代方程式时,可以用二次泰勒展开式来近似目标函数的等值面。 第二课时:第二课时: 4.2.2 共轭方向法基本原理 第一轮迭代与坐标轮换法相同。将起点和 N 次一维搜索的末点组成一个新的方向, 沿这个方向一维搜索,得到本轮迭代的终点。 从第二轮起,舍去前一轮的第一个一维搜索方向,将前一轮的后 N 个一

11、维搜索方向 作为本轮迭代的前 N 个方向, 这 N 个方向的一维搜索终点与本轮搜索的起点构成第 N+1 个一维搜索方向,沿这个方向做一维搜索,得到本轮搜索的终点。 若不满足精度要求,则重复迭代。 4.2.3 共轭方向法的特点 收敛速度比坐标轮换法有明显的提高, 但前提是每次迭代所产生的新的方向与原来的 N-1 个方向之间要保持线性无关,若这些方向之间线性相关,则降低了搜索空间的维数, 导致不能完全穷尽对设计空间每个方向的搜索,从而不能收敛于真正的最优解。 11 上机调试内容上机调试内容: 2 1 2 2 1221 )1 ()(*100),(xxxxxf+= 4.34.34.34.3 鲍威尔法鲍

12、威尔法 4.3.1 鲍威尔法基本原理 共轭方向法的前提是每一轮迭代中新生成的第 N+1 个方向(共轭方向)与其它方向 线性无关,如果出现线性相关,则导致算法不能正确收敛。鲍威尔为了解决该问题,加 入了对共轭方向的判断,如果线性无关则采用该方向,但并不是机械的替换上一轮第一 个方向,而是替换函数值下降最多的方向;如果相关,则还是用上一轮迭代的方向。 对于共轭方向法的判别准则。 m ax yes n o loop2 i+ + 求 反 射 点 2 31max 2 max21 23113 )(5.0)( )2( ffff fffff + im 一 维 搜 索f (),求 *, loop3 i+ + l

13、oop3 f2 f3 i N loop1 yes n o n o yes 输 出 n o kk N k N XXX 01 2 + kk NN XXS 0 )();();( 13201 k N k N k XffXffXff + N k N k N SXX + +1 k N X 1+ 1+ ii SS k N k XX 1 1 0+ + k N k XX +1 0 10 1 02 1 0 0 1 0 )( )()( + + + kk k kk XX Xf XfXf )()(, 1 0 *1 0 *+ kk XfXfXX yes n o 4.44.44.44.4 梯度法(最速下降法)梯度法(最速下

14、降法) 14 4.4.1 梯度法基本原理 无约束优化的直接法(坐标轮换法和共轭方向法、鲍威尔法)没有考虑无约束优化最 优解存在的必要条件(梯度为零) ,使用这一条件,可以设计出更为高效的算法,所谓间 接法(梯度法、牛顿法、变尺度法) 。 梯度方向是函数值变化最快的方向,那么负梯度方向便是函数值下降最快的方向。 从 这一点受启发,可以使迭代方向沿梯度方向进行一维搜索来再多维空间寻优。即搜索方 向为梯度方向:)( kk XfS =,或 )( )( k k Xf Xfk S =,则迭代公式为 )( )(1 k k Xf Xfkkk XX + =。 4.4.2 梯度法的特点 前提是梯度存在。 优点是算

15、法简单。 相邻两次迭代的搜索方向垂直。即0)()( 1 = +kTk XfXf 证明:)( 1kkkk XfXX = + ,即 k 轮迭代经过一次一维搜索由 k 点到达 k+1 点,那么 )(min kkk XfXf ,对于一维优化有0= k f ,所以 0)()()( 1)( 1 = + + kTkXfXT X f XfXf k kkk k 可见,相邻两轮迭代的搜索方向并不一致,为相互垂直的锯齿形过程。剃度法对于迭 代出发点目标函数等值面偏心率为零时很有效,但对于有偏心的其效率就低了,随偏心 率的增加,迭代终止的难度也在增加。可见这种搜索在接近目标时的收敛是比较慢(缺 点)的,效率也就不会高

16、了。剃度法一般并不作为工程中实际应用的方法,常用于其他 方法的初始迭代(类似于坐标轮换法) 。 4.54.54.54.5 牛顿法牛顿法 4.5.1 牛顿法基本原理 类似二次插值法, 将目标函数在某一点附近二阶泰勒展开, 用这个二次函数的最优点 近似目标函数的最优点;若不满足精度要求,在上一轮得到的最优点最为本轮起点,再 次用上述方法求最优点;直到满足精度要求。 4.5.2 牛顿法迭代公式 目标函数在的二次展开 )()()()()()()()( * !2 1 * XXXHXXXXXfXfXXf TT +=, 求近似目标函数 的最优解,即0)(=X ,有0)()()( * =+XXXHXf 即 1

17、5 )()( * 1 * XfXHXX = ,所以牛顿法迭代公式为)()( 1 1kkkk XfXHXX = + 。 从牛顿法的原理分析,如果目标函数为二次函数,有)()(XXf =,即牛顿法一轮迭 代的终点就是最优解,而且是精确解。因此,牛顿法解决了二次函数非球面时的搜索方 向问题,找到了一个可以消除偏心存在对采用梯度方向为搜索方向时的影响,直接给出 了搜索二次函数最优点的方向。或者说,牛顿法对偏心率进行了变化,消除了二次曲面 的偏心率,对于更高次曲面,也可以减小这种偏心。从而在一定程度上解决了梯度发收 敛慢的缺点。 4.5.3 牛顿法的特点 (1)由于采用了目标函数二阶导数信息,收敛速度比

18、梯度法快。 (2)牛顿法迭代公式与一般迭代公式的区别在于,没有步长系数。这使得在接近最优点 时由于步长不能调节,可能会错过最优点,造成算法的稳定性欠佳,甚至造成不能收敛 而导致计算失败。为了克服这一点提出阻尼牛顿法,添加阻尼因子,迭代公式为 )()( 1 1kkkkk XfXHXX = + 。 (3)需要计算黑塞矩阵及其逆矩阵,内存占用、计算量大;此外二阶导数不存在,或者 逆矩阵不存在的情况不能应用。 4.64.64.64.6 变尺度法变尺度法 4.6.1 变尺度法基本原理 牛顿法的缺点集中在黑塞矩阵及其逆的计算上, 解决的方法是保留牛顿迭代法的迭代 公式的形式, 但不计算黑塞矩阵的逆, 而是

19、用一个矩阵去近似和逼近H-1,以减少计算量。 4.6.2 变尺度法迭代公式 )( 1kkkkk XfAXX = + Ak称为变尺度矩阵 对第一轮迭代,A0I, 即)( 0001 XfXX =,也就是梯度法 当迭代过程逼近最优点,AkH-1,迭代公式变成)()( 1 1kkkkk XfXHXX = + ,也 就是阻尼牛顿法。 所以, 可以把变尺度法看作梯度法和牛顿法的改进算法。 或者梯度法和牛顿法是变尺 度法的特例。 至于变尺度矩阵Ak如何构造,才能达到预期的效果,方法很多,主要介绍 DFP 法 和 BFGS 法。思路为:为了使变尺度矩阵随着迭代过程逐渐逼近黑塞矩阵的逆,构造 16 1kkk A

20、AA+= + ,其中 k A为 k 次迭代的修正矩阵。 4.6.2 DFP 变尺度法 变尺度矩阵的修正是变尺度法区别于牛顿法之处: 修正矩阵 kk T k k T kkk k T k T kk k gAg AggA gX XX A = 其中 kkk XXX = +1 ,相邻两迭代点之间的变化量 )()( 1kkk XfXfg = + ,相邻两迭代点之间梯度的变化量 4.6.3 BFGS 变尺度法 修正矩阵 k T k T kkkk T kk k T k T kk k T k kk T k k gX XgAAgX gX XX gX gAg A + += ) 1 ( 4.6.4 变尺度法迭代步骤和

21、算法流程 迭代步骤 (1)给定初始点,精度,维数 N; (2)置 k0,AkI,计算初始点梯度; (3)计算搜索方向)( kkk XfAS =; (4)从 k 点开始一维搜索,得到 k+1 点; (5)迭代终止条件 + )( 1k Xf ,若满足,输出最优点和最优解;否则下一步; (6)检验迭代次数,若为 N,置 k+1 点为初始点,转(2)重新构造变尺度矩阵;否则下 一步; (7)计算 k X 、 k g ,修正矩阵 k A、变尺度矩阵 k A,置 kk+1,转(3) 。 算法流程图: 17 输 入 NX k , k 0, A k I )( kk Xfg loop1 kkk gAS 一 维

22、优 化 kkkk SXX +1 + )( 1k Xf k =N 求, kk Ag 1kkk AAA+ + k + + loop1 输 出 )(, 1*1*+ kk XffXX y es10+ k XX y es );( kkk SXf 18 第五章 约束优化方法 前言:实际工程优化问题大多数为设计空间多维且带有约束条件的非线性优化问题。其 数学模型为 = = npvXh muXgts RXXf v u n , 2 , 1, 0)( , 2 , 1, 0)(. . ),(min 根据对约束条件处理方法的不同: 直接法(约束坐标轮换法、随机方向法、复合形法、可行方向法) 间接法(简约梯度法、惩罚函

23、数法等) 。 直接法可以直接从可行域中找到最优解;将问题分解为一系列比较简单的子问题,用子 问题的解逼近原问题的解。 直接法简单直观、对目标函数要求不高;计算量大、收敛慢,因此效率低。 5.15.1 约束随机方向搜索法(随机方向法)约束随机方向搜索法(随机方向法) 5.1.1 基本原理 从可行域内某一点出发,沿某一给定步长,并随机产生搜索方向,直到该方向同时满 足可行性和下降性要求,沿着这个方向以该步长继续搜索,直到不满足可行性及下降性 条件为止。把上述满足要求的终点作为新的起点,重新产生随机方向,如果能够找到一 个合适的方向,同时满足条件,则沿该方向以原步长继续搜索;如若找不到适合的方向,

24、则将步长减半,仍以该点为起点随机搜索,如果能找到新的方向,则沿该方向继续,如 果不能,步长再减半。直到找不到新的搜索方向,且步长满足精度要求,则以该起点为 最优点。 一个需要说明的问题:从某一点出发,如何判断沿某一给定步长找不到可行的方向呢? 如果不靠目标函数和约束条件中隐含的指引信息, 那么只有对搜索空间进行机械的排查, 对随机方向搜索法而言,就是在产生并搜索了足够多方向之后,认为可以近似的得出这 个结论。那么,到底随机搜索了多少个方向才能得出结论呢?一般取 50500 个方向, 当 然,如果不考虑计算的速度和效率,这个最大的方向数大一些更好,而且设计空间维数 越大,这个数也应越大。 5.1

25、.2 初始点的选取 )( 0 iiiii abrax+= 其中 ri为随机数,对 C 语言,有函数 rand()产生一个 0 到 RAND_MAX 的伪随机整数,则 19 MAXRAND rand ri _ () = 5.1.3 随机搜索方向的产生 T ry) 1 , 1 , 1 (2 =。通过该变换,使搜索方向的每个分量为-1 到 1 之间的随机值,从而 确保对每个坐标方向的正负两方向的搜索。之后可以进行标准化处理 y y e = 5.1.4 算法流程 (下一页) 5.1.5 随机法的特点 算法简单,对目标函数要求不高;由于随机搜索带有盲目性,效率低,速度慢,可能不 收敛。 20 输入 N,

26、 a i, bi,0, , N m ax, M loop_main loop01 i0 xi0ai+ ri ( b i- ai) i+ + loop01 loop02 loop02 j+ + j0 0)(Xg j i N n o j M n o 0 0 0 );(Xff k0; tFlagtrue k为从某一点开始搜索的方向 的个数,tFlag标记转折点 (false) loop11 i0 yi2 ri - 1 i+ + loop11 i N y y y )(; 0 XffyXX + 0 )1,1,0(0)( ff MjXg j = truetFlagffXX; 0 0 yes n o k +

27、 k N m ax yes loop1 loop1 = loop_main 0.5 输 出 )(; * XffXX 随即产生搜索方向 loop12 loop12 沿当前方向向前搜索,直到不 满足可行性和下降性要求 n o tFlagfalse n o 进行Nmax次随机搜索(对空 间 的 排 查 ) n o yes 21 5.25.2 复合形法复合形法 5.2.1 基本原理 (1) 在设计空间找到 K 个可行点构成多面体(复合形) ,一般 N+1K2N。 (2) 不断使复合形向着约束内最优点移动和收缩。更具体一些,根据目标函数值的大 小找出这 K 个点中的最坏点(函数值最大) ,除最坏点之外的

28、其它 K-1 个点的形心 为映射中点,找到最坏点的映射点(对称点) ,最坏点之外其余 K-1 个点以及这个 映射点构成新的复合形。 (3) 检验复合形中各个点与最好点是否满足重合,或这些点收敛于某个精度构成的最 好点的临域之内。若满足,则算法成功结束;否则,重复(2)。 5.2.2 几个关键问题 (一)初始复合形的产生 1确定第一个可行点作为复合形的第一个顶点。 如果不满足可行性, 反复进行随机搜索, 直到找到可行点。公式)( 11 iiiii abrax+= 2再随机产生其余 K-1 个顶点。kjabrax ii j ii j i , 3 , 2),(=+= 3对 2.中产生的 K-1 个点

29、逐一检验可行性,并将不满足的点调入可行域。 具体的方法: 1)从第一个点起,找到满足可行性的 q 个点,第 q+1 个点不满足。求前 q 个点的形 心。 2)将 q+1 点向这个形心按两点长度的一半移动, 如此反复, 直到将该点移入可行域。 3)之后其它不可行的点按 1) 、2)的步骤重复,直到 K 个点均满足可行性。 (二)映射点不满足可行性和下降性的处理 1) 如果映射点不满足可行性和下降性,将映射系数减半,产生新的映射点,如此反 复,直到满足;否则 2) 2) 以次坏点取代最坏点,求新的形心和形心的映射点。 (三)可行域为非凸集的处理 如果除最坏点外其它 K-1 个点的形心不在可行域内,

30、则可行域可能是非凸集。 这时在以最好点和该形心构成的超立方体中重新构造复合形。如果 C i L i xx, 则 C ii L ii xbxa, (四)迭代终止条件:各顶点与最好点目标函数值之差的均方根小于设计精度 = 2 1 )()( 1 Lj k j XfXf k 22 5.2.3 算法流程 CoreArith 输 入 : kX 计 算 1, 1 , 0),(=kjXf j 查找好点、坏点 HL XX , = 2 1 0 )()( 1 Lj k j XfXf k HiX k X k i iC = , 1 1 1 0 feasibleX( ) C X 1 .3 loop2 )( HCCR XX

31、XX + feasibleX( ) R X 0 .5 )()( HR XfXf y es RH XX CoreArith( )kX y es 次 坏 点 SHHSH XXX , n o 0 .5 loop2 n o 输 出 L X y es CoreArith aimin(xiL x i C) ; bimax(xiL x iC) (i=0,1,N-1) n o InitArith(ai, b i) CoreArith( ) loop1 loop1 y es 5.2.4 复合形法的特点 搜索具有方向性,收敛速度较快 例例 23 MainArith 输入:N, k, ai, b i, , Init

32、Arith(ai, b i) CoreArith( ) kX 输 出 :)(; * XffXX L MainArith 算 法 主 流 程 得 到 初 始 复 合 形 复 合 形 的 收 缩 、 移 动 过 程 j0; loop loop j+ + j M n o 0)(Xg j feasibleX 输 出 :bFlag feasibleX 输 入 : bFlagtru e X bFlagfalse n o 检 验 点 的 可 行 性 createX i0; loop xik a i+ rik( bi- ai) loop i+ + i N n o createX 随 机 产 生 可 行 点 的

33、 方 法 输 出 :X 输 入 :ai, b i InitArith 输 入 :ai, b i q1; loop createX(ai, b i), 产 生 1 X createX(ai, b i), 产 生 q X feasibleX( ) loop )( 5 . 0 DqDq XXXX + q + + q k n o 输 出 :kX q X n o feasibleX( ) 1 X y es InitArith = 1 0 1 q i iD X q X 24 5.35.3 惩罚函数法惩罚函数法 罚函数法基本思想:约束条件构造罚函数项,并入目标函数,化为无约束优化问题。所 谓“惩罚” ,既是给不满足约束条件的惩罚项以很大的值,使目标函数的总值增大(就是 惩罚) ,那么无约束优化方法就会使搜索向着总值减小的方向前进,从而使不满足的约束 的点(或远离约束边界的点)向满足约束的方向靠拢。 5.3.1 外罚函数法 (一)基本原理 1不等式约束的处理 2等式约束的处理 3带有惩罚项的目标函数的构造 4约束条件的收缩 (二)算法流程 (三)算法的特点 远离约束边界时 5.3.2 内罚函数法 5.3.3 混合罚函数法

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1