Matlab-机械优化设计PPT课件.ppt_第1页
Matlab-机械优化设计PPT课件.ppt_第2页
Matlab-机械优化设计PPT课件.ppt_第3页
Matlab-机械优化设计PPT课件.ppt_第4页
Matlab-机械优化设计PPT课件.ppt_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab机械优化设计 中国石油大学课件 1 最小化问题 一 单变量最小化 1 相关函数介绍 1 fminbnd 2 功能 找到固定区间内单变量函数的最小值 语法和描述 fminbnd求取固定区间内单变量函数的最小值 x fminbnd fun x1 x2 返回区间 x1 x2 上fun参数描述的标量函数的最小值x x fminbnd fun x1 x2 options 用options参数指定的优化参数进行最小化 fminbnd 3 x fminbnd fun x1 x2 options P1 P2 提供另外的参数P1 P2等 传输给目标函数fun 如果没有设置options选项 则令options x fval fminbnd 返回解x处目标函数的值 x fval exitflag fminbnd 返回exitflag值描述fminbnd函数的退出条件 x fval exitflag output fminbnd 返回包含优化信息的结构输出 4 参数描述表 5 6 7 算法 fminbnd是一个M文件 其算法基于黄金分割法和二次插值法 局限性 1 目标函数必须是连续的 2 fminbnd函数可能只给出局部最优解 3 当问题的解位于区间边界上时 fminbnd函数的收敛速度常常很慢 此时 fmincon函数的计算速度更快 计算精度更高 4 fminbnd函数只用于实数变量 8 应用实例 例1 在区间 0 2 上求函数sin x 的最小值 x fminbnd sin 0 2 pi x 4 7124 9 例2 对边长为3m的正方形铁板 在四个角处剪去相等的正方形以制成方形无盖水槽 问如何剪法使水槽的容积最大 模型建立 假设剪去的正方形的边长为x 则水槽的容积为 现在要求在区间 0 1 5 上确定一个x 使最大化 因为优化工具箱中要求目标函数最小化 所以需要对目标函数进行转换 即要求最小化 10 首先编写M文件opt21 3o m functionf myfun x f 3 2 x 2 x 然后调用fminbnd函数 磁盘中M文件名为opt21 3 m x fminbnd opt21 3o 0 1 5 11 无约束非线性规划问题 相关函数 fminunc函数 fminsearch函数 12 fminunc函数功能 给定初值 求多变量标量函数的最小值 常用于无约束非线性最优化问题 数学模型 其中 x为一向量 f x 为一函数 返回标量 13 语法格式及描述 x fminunc fun x0 给定初值x0 求fun函数的局部极小点x x0可以是标量 向量或矩阵 x fminunc fun x0 options 用options参数中指定的优化参数进行最小化 x fminunc fun x0 options P1 P2 将问题参数p1 p2等直接输给目标函数fun 将options参数设置为空矩阵 作为options参数的缺省值 14 x fval fminunc 将解x处目标函数的值返回到fval参数中 x fval exitflag fminunc 返回exitflag值 描述函数的输出条件 x fval exitflag output fminunc 返回包含优化信息的结构输出 x fval exitflag output grad fminunc 将解x处fun函数的梯度值返回到grad参数中 x fval exitflag output grad hessian fminunc 将解x处目标函数的Hessian矩阵信息返回到hessian参数中 15 参数描述表 16 17 适用于大型和中型算法的参数 lDiagnostics 打印最小化函数的诊断信息 lDisplay 显示水平 选择 off 不显示输出 选择 iter 显示每一步迭代过程的输出 选择 final 显示最终结果 打印最小化函数的诊断信息 lGradObj 用户定义的目标函数的梯度 对于大型问题此参数是必选的 对于中型问题则是可选项 lMaxFunEvals 函数评价的最大次数 lMaxIter 最大允许迭代次数 lTolFun 函数值的终止容限 lTolX x处的终止容限 18 只用于大型算法的参数 lHessian 用户定义的目标函数的Hessian矩阵 lHessPattern 用于有限差分的Hessian矩阵的稀疏形式 若不方便求fun函数的稀疏Hessian矩阵H 可以通过用梯度的有限差分获得的H的稀疏结构 如非零值的位置等 来得到近似的Hessian矩阵H 若连矩阵的稀疏结构都不知道 则可以将HessPattern设为密集矩阵 在每一次迭代过程中 都将进行密集矩阵的有限差分近似 这是缺省设置 这将非常麻烦 所以花一些力气得到Hessian矩阵的稀疏结构还是值得的 19 lMaxPCGIter PCG迭代的最大次数 lPrecondBandWidth PCG前处理的上带宽 缺省时为零 对于有些问题 增加带宽可以减少迭代次数 lTolPCG PCG迭代的终止容限 lTypicalX 典型x值 只用于中型算法的参数 lDerivativeCheck 对用户提供的导数和有限差分求出的导数进行对比 lDiffMaxChange 变量有限差分梯度的最大变化 lDiffMinChange 变量有限差分梯度的最小变化 lLineSearchType 一维搜索算法的选择 20 21 22 习题4 6 目标函数m文件 保存为xiti4j6 mfunctionf myfun x f 10 x 1 2 x 2 2 20 x 1 4 x 2 24 求解m文件options optimset display on maxiter 10e5 tolfun 10e 5 tolx 0 01 x0 2 1 x fval exigflag hessian fminunc xiti4j6 x0 options 23 x 1 00002 0007fval 10 0000exigflag 1hessian iterations 6funcCount 21stepsize 1firstorderopt 0 0013algorithm medium scale Quasi Newtonlinesearch 24 例 初始点 1 1 程序 编辑ff2 m文件 functionf ff x f 8 x 1 4 x 2 x 1 2 3 x 2 2 编辑command m文件x0 1 1 取初始点 x fval exitflag fminunc ff x0 25 Optimizationterminatedsuccessfully Searchdirectionlessthan2 options TolXx 4 00000 6667fval 17 3333exitflag 1 26 注意1 对于求解平方和的问题 fminunc函数不是最好的选择 用lsqnonlin函数效果更佳 2 使用大型方法时 必须通过将options GradObj设置为 on 来提供梯度信息 否则将给出警告信息 27 局限性1 目标函数必须是连续的 fminunc函数有时会给出局部最优解 2 fminunc函数只对实数进行优化 即x必须为实数 而且f x 必须返回实数 当x为复数时 必须将它分解为实部和虚部 28 fminsearch函数 功能 求解多变量无约束函数的最小值 该函数常用于无约束非线性最优化问题 x fminsearch fun x0 初值为x0 求fun函数的局部极小点x x0可以是标量 向量或矩阵 x fminsearch fun x0 options 用options参数指定的优化参数进行最小化 x fminsearch fun x0 options P1 P2 将问题参数p1 p2等直接输给目标函数fun 将options参数设置为空矩阵 作为options参数的缺省值 语法格式及描述 29 x fval fminsearch 将x处的目标函数值返回到fval参数中 x fval exitflag fminsearch 返回exitflag值 描述函数的退出条件 x fval exitflag output fminsearch 返回包含优化信息的输出参数output 参数 各参数的意义同fminunc 30 fminunc与fminsearch 对于求解二次以上的问题 fminsearch比fminunc更有效 而且当问题为高度非线性时 前者更有效 fminsearch不适合求解平方和的问题 用lsqnolin更好 31 三 约束最小化 相关函数介绍 fmincon函数 32 功能 求多变量有约束非线性函数的最小值 fmincon函数 数学模型 其中 x b beq lb 和ub为向量 A和Aeq为矩阵 c x 和ceq x 为函数 返回标量 f x c x 和ceq x 可以是非线性函数 非线性不等式约束非线性等式约束 线性不等式约束线性等式约束 设计变量的上下界 33 语法格式及描述 x fmincon fun x0 A b 给定初值x0 求解fun函数的最小值x fun函数的约束条件为A x b x0可以是标量 向量或矩阵 x fmincon fun x0 A b Aeq beq 最小化fun函数 约束条件为Aeq x beq和A x b 若没有不等式存在 则设置A b x fmincon fun x0 A b Aeq beq lb ub 定义设计变量x的下界lb和上界ub 使得总是有lb x ub 若无等式存在 则令Aeq beq x fmincon fun x0 A b Aeq beq lb ub nonlcon 在上面的基础上 在nonlcon参数中提供非线性不等式c x 或等式ceq x fmincon函数要求c x 0且ceq x 0 当无边界存在时 令lb 和 或 ub 34 x fmincon fun x0 A b Aeq beq lb ub nonlcon options 用optiions参数指定的参数进行最小化 x fmincon fun x0 A b Aeq beq lb ub nonlcon options P1 P2 将问题参数P1 P2等直接传递给函数fun和nonlin 若不需要这些变量 则传递空矩阵到A b Aeq beq lb ub nonlcon和options x fval fmincon 返回解x处的目标函数值 x fval exitflag fmincon 返回exitflag参数 描述函数计算的退出条件 35 x fval exitflag output fmincon 返回包含优化信息的输出参数output x fval exitflag output lambda fmincon 返回解x处包含拉格朗日乘子的lambda参数 x fval exitflag output lambda grad fmincon 返回解x处fun函数的梯度 x fval exitflag output lambda grad hessian fmincon 返回解x处fun函数的Hessian矩阵 36 注意 1 fmincon函数提供了大型优化算法和中型优化算法 默认时 若在fun函数中提供了梯度 options参数的GradObj设置为 on 并且只有上下界存在或只有等式约束 fmincon函数将选择大型算法 当既有等式约束又有梯度约束时 使用中型算法 2 fmincon函数的中型算法使用的是序列二次规划法 在每一步迭代中求解二次规划子问题 并用BFGS法更新拉格朗日Hessian矩阵 3 fmincon函数可能会给出局部最优解 这与初值X0的选取有关 37 1 写成标准形式 s t 2x1 3x26s tx1 4x25x1 x20 例1 38 2 先建立M 文件fun3 m functionf fun3 x f x 1 2 x 2 1 2 x 1 2 1 2 x 2 2 3 再建立主程序youh2 m x0 1 1 A 23 14 b 6 5 Aeq beq VLB 0 0 VUB x fval fmincon fun3 x0 A b Aeq beq VLB VUB 4 运算结果为 x 0 76471 0588fval 2 0294 39 1 先建立M文件fun4 m 定义目标函数 functionf fun4 x f exp x 1 4 x 1 2 2 x 2 2 4 x 1 x 2 2 x 2 1 x1 x2 0s t 1 5 x1x2 x1 x20 x1x2 100 例2 2 再建立M文件mycon m定义非线性约束 function c ceq mycon x c 1 5 x 1 x 2 x 1 x 2 x 1 x 2 10 ceq 40 3 主程序为 x0 1 1 A b Aeq 11 beq 0 vlb vub x fval fmincon fun4 x0 A b Aeq beq vlb vub mycon 3 运算结果为 x 1 22501 2250fval 1 8951 41 例3 1 先建立M 文件fun m定义目标函数 functionf fun x f 2 x 1 x 2 2 再建立M文件mycon2 m定义非线性约束 function c ceq mycon2 x c x 1 2 x 2 2 25 x 1 2 x 2 2 7 ceq 没有非线性等式约束 要设置ceq为空矩阵 42 3 主程序fxx m为 x0 3 2 5 VLB 00 VUB 510 x fval exitflag output fmincon fun x0 VLB VUB mycon2 43 4 运算结果为 x 4 00003 0000fval 11 0000exitflag 1output iterations 4funcCount 17stepsize 1algorithm 1x44char firstorderopt cgiterations 44 例4matlab工程优化实例 盖板问题 设盖板为铝合金制成 弹性模量E 7x104MPa 泊松比 0 3 许用弯曲应力 70MPa 许用剪切应力 45MPa 45 一 问题分析 即确定tf和h 截面惯性矩 最大剪应力 46 最大弯曲应力 翼板中的屈曲临界稳定应力 最大挠度 盖板单位长度的质量 为材料密度 二 数学模型 设计变量 目标函数 单位长度允许挠度 47 约束条件 按照强度 刚度和稳定性要求建立如下的约束条件 48 三 matlab求解 functionf myfun x f 120 x 1 x 2 目标函数myfun m 非线性不等式约束myfuncon m function c ceq mycon2 x c 1 0 25 x 2 1 7 45 x 1 x 2 1 7 45 x 1 3 x 2 1 1 320 x 1 x 2 2 ceq 注意matlab里不等式约束为 0 49 主函数myfun opt m options optimset MaxFunEvals 5000 设置函数评价的最大次数5000 x0 0 0 初始值VLB 0 0 VUB x fval exitflag output fmincon myfun x0 VLB VUB myfuncon options 50 x 0 633225 3264fval 101 3056exitflag 1output iterations 66 迭代次数66funcCount 514 函数评价次数514stepsize 1 最终步长1algorithm medium scale SQP Quasi Newton line search 中型算法firstorderopt 1 0050e 005 解x处梯度的范数cgiterations PCG迭代次数 只适用于大型规划问题 优化结果 51 52 x 0 66671 3333fval 8 2222exitflag 1 53 x 001 0000 0 0000 fval 0 0800exitflag 1 54 目标函数Minf x f exp x 1 4 x 1 2 2 x 2 2 4 x 1 x 2 2 x 2 1 不等式约束条件 x 1 x 2 10 等式约束条件 x 1 2 x 2 1clear 清工作空间clc 清屏x0 1 1 初值f exp x 1 4 x 1 2 2 x 2 2 4 x 1 x 2 2 x 2 1 目标函数options optimset LargeScale off display iter 不使用大模式优化方法 x fval exitflag output fmincon f x0 myfun con4 options 设计变量无线性不等式约束 即A b 设计变量无线性等式约束 即Aeq beq 设计变量无上下限约束 即lb ub function c ceq myfun con4 x c x 1 x 2 10 不等式约束或写成 c x 1 x 2 10 ceq x 1 2 x 2 1 等式约束或写成 ceq x 1 2 x 2 1 ceq x 1 2 x 2 1 x 0 75290 4332 fval 1 5093exitflag 1 55 56 57 58 59 60 61 x 0 75290 4332fval 1 5093exitflag 1output iterations 7funcCount 24stepsize 1algorithm medium scale SQP Quasi Newton line search firstorderopt 8 1712e 009cgiterations message 1x143char 62 x 5 0000fval 3exitflag 4 63 目标函数Maxf x f m1 x 1 m2 x 2 2 m3 x 3 约束条件 a1 x 1 a2 x 2 a3 x 3 c 上下限约束条件x 1 0 x 2 0 x 3 0 m1 10 m2 4 4 m3 2 a1 1 a2 4 a3 5 a 32 b1 1 b2 3 b3 2 b 29 c1 1 c2 0 5 c 3 64 clear 清工作空间clc 清屏m1 10 m2 4 4 m3 2 a1 1 a2 4 a3 5 a 32 b1 1 b2 3 b3 2 b 29 c1 1 c2 0 5 c 3 A a1 a2 a3 b1 b2 b3 b a b x0 1 1 1 初值lb 0 0 0 设计变量下限约束条件options optimset LargeScale off display iter x fval exitflag output fmincon x myfun9 x m1 m2 m3 x0 A b lb x myfun con9 x c1 c2 c options 注意 含有带参数目标函数 不能 x fval exitflag output fmincon myfun9 x m1 m2 m3 x0 A b lb myfun con9 x c1 c2 c options 设计变量无线性不等式约束 即A b 设计变量无线性等式约束 即Aeq beq 设计变量无上限约束 ub 65 66 目标函数minf x x 1 2 x 2 2 约束条件 x 1 2 x 2 2 5 x 1 2 x 2 4 x 1 0 x 2 0 目标函数Minf x f m1 x 1 2 m2 x 2 2 约束条件 a1 x 1 2 a2 x 2 2 0 x 2 0 m1 1 m2 1 a1 1 a2 1 a 5 b1 1 b2 2 b 4 c1 1 c2 0 5 c 3 67 clear 清工作空间clc 清屏m1 1 m2 1 a1 1 a2 1 a 5 b1 1 b2 2 b 4 c1 1 c2 0 5 c 3 Aeq b1 b2 设计变量线性等式约束beq b 设计变量线性等式约束x0 1 1 设计变量初值lb 0 0 设计变量下限约束条件options optimset LargeScale off display iter x fval exitflag output fmincon x myfun10 x m1 m2 x0 Aeq beq lb x myfun con10 x a1 a2 a options 注意 含有带参数目标函数 不能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论