机械优化设计的MATLAB实现.ppt_第1页
机械优化设计的MATLAB实现.ppt_第2页
机械优化设计的MATLAB实现.ppt_第3页
机械优化设计的MATLAB实现.ppt_第4页
机械优化设计的MATLAB实现.ppt_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

matlab在机械优化设计中的应用 湖南农业大学工学院2007年9月 主讲 绪论 1 1matlab系统简介 matlab名字由matrix和laboratory两词的前三个字母组合而成 那是20世纪七十年代后期的事 时任美国新墨西哥大学计算机科学系主任的clevemoler教授出于减轻学生编程负担的动机 为学生设计了一组调用linpack和eispack库程序的 通俗易用 的接口 此即用fortran编写的萌芽状态的matlab 经几年的校际流传 在little的推动下 由little moler stevebangert合作 于1984年成立了mathworks公司 并把matlab正式推向市场 从这时起 matlab的内核采用c语言编写 而且除原有的数值计算能力外 还新增了数据图视功能 matlab以商品形式出现后 仅短短几年 就以其良好的开放性和运行的可靠性 使原先控制领域里的封闭式软件包 如英国的umist 瑞典的lund和simnon 德国的keddc 纷纷淘汰 而改以matlab为平台加以重建 在时间进入20世纪九十年代的时候 matlab已经成为国际控制界公认的标准计算软件 到九十年代初期 在国际上30几个数学类科技应用软件中 matlab在数值计算方面独占鳌头 而mathematica和maple则分居符号计算软件的前两名 mathcad因其提供计算 图形 文字处理的统一环境而深受中学生欢迎 在欧美大学里 诸如应用代数 数理统计 自动控制 数字信号处理 模拟与数字通信 时间序列分析 动态系统仿真等课程的教科书都把matlab作为内容 这几乎成了九十年代教科书与旧版书籍的区别性标志 在那里 matlab是攻读学位的大学生 硕士生 博士生必须掌握的基本工具 在国际学术界 matlab已经被确认为准确 可靠的科学计算标准软件 在许多国际一流学术刊物上 尤其是信息科学刊物 都可以看到matlab的应用 在设计研究单位和工业部门 matlab被认作进行高效研究 开发的首选软件工具 如美国nationalinstruments公司信号测量 分析软件labview cadence公司信号和通信分析设计软件spw等 或者直接建筑在matlab之上 或者以matlab为主要支撑 又如hp公司的vxi硬件 tm公司的dsp gage公司的各种硬卡 仪器等都接受matlab的支持 matlab具有以下几个特点 功能强大的数值运算功能强大的图形处理能力高级但简单的程序环境丰富的工具箱优化工具箱中的所有函数都对应一个matlab6 5的 m文件 关于 m文件请查阅相关matlab6 5文献 这些 m通过使用matlab6 5基本语句实现了具体的优化算法 可以在matlab6 5命令窗口键入命令 typefunction name 来查看相应函数的代码 1 2优化工具箱的工程应用步骤 当量化地求解一个实际的最优化问题时 首先要把这个问题转化为一个数学问题 建立数学模型 然后对建立的数学模型进行具体分析 选择合适的优化算法 最后根据选定的优化算法 编写计算程序进行求解 用matlab6 优化工具箱解决实际应用问题可以概括为以下三个步骤 1 根据所提出的最优化问题 建立最优化问题的数学模型 确定变量 列出约束条件和目标函数 2 对所建立的模型进行具体分析和研究 选择合适的最优化求解方法 3 根据最优化方法的算法 列出程序框图 选择优化函数和编写语言程序 用计算机求出最优解 利用matlab的优化工具箱 可以求解线性规划 非线性规划和多目标规划问题 具体而言 包括线性 非线性最小化 最大最小化 二次规划 半无限问题 线性 非线性方程化 方程求解 曲线拟合 二次规划等问题中大型课题的求解方法 为优化方法在工程中的实际应用提供了更方便 快捷的途径 1 3优化问题的工程背景随着生产 经济 技术的发展 工程技术 管理人才在实际工作中常常会面临这类问题 在工程设计中 怎样的分配方案既能满足各方面的基本要求 又能降低成本 在资源配中 怎样的分配既能满足各方面的基本要求 又能获得好的经济效益 在生产计划安排中 选择怎样的计划才能提高产值和利润 在原料配比问题中 怎样确定各种万分的比例才能提高质量 降低成本 在城建规划中 怎样安排工厂 机关 学校 商店 医院 住宅和其它单位的合理布置 才能方面群众 有利于城市各行各行的发展 这一类问题的共同点就是迁出最合理 达到事先预定的最优目标的方案 这就是工程问题最优化问题 最优化方法发展很快 包含多个分支 如线性规划 整数规划 非线性规划 动态规划 多目标规划等 2 1线性规划问题与matlab实现线性规划问题是目标函数和约束条件均为线性函数的问题 matlab解决的线性规划问题的标准形式为 minf x x rs t a x baeq x beqlb x ub其中f x b beq lb ub为向量 a aeq为矩阵 其它形式的线性规划问题都可经过适当变换化为此标准形式 在matlab6 5版中 线性规划问题 linearprogramming 已用函数linprog取其它形式的线性规划问题都可经过适当变换化为此标准形式 函数linprog调用格式x linprog f a b 求minf f x x rs t a x b线性规划的最优解 x linprog f a b aeq beq 等式约束aeq x beq 若没有不等式约束 则a b x linprog f a b aeq beq lb ub 指定x的范围lb x ub 若没有等式约束aeq x beq 则aeq beq x linprog f a b aeq beq lb ub x0 设置初值x0 x linprog f a b aeq beq lb ub x0 options options为指定的优化参数 x fval linprog 返回目标函数最优值 即fval f x x fval lambda exitflag linprog lambda为解x的lagrange乘子 x favl lambda fval exitflag linprog exitflag为终止迭代的错误条件 x fval lambda exitflag output linprog output为关于优化的一些信息说明若exitflag 0表示函数收敛于解x exitflag 0表示超过函数估值或迭代的最大数字 exitflag 0表示函数不收敛于解x 若lambda lower表示下界lb lambda upper表示上界ub lambda ineqlin表示不等式约束 lambda eqlin表示等式约束 lambda中的非0元素表示对应的约束是有效约束 output iterations表示迭代次数 output algorithm表示使用的运算规则 output cgiterations表示pcg迭代次数 例求下面的优化问题 p95 matlab求解程序清单为 首先输入下列系数f 60 120 a 9 4 3 10 4 5 b 360 300 200 lb zeros 2 1 ub 然后调用linprog函数 x fval exitflag output lambda linprog f a b lb ub 计算结果为 x 20 0000 最优解24 0000fval 4 0800e 003 最优值exitflag 1 收敛output iterations 5 迭代次数algorithm large scale interiorpoint 所使用规则cgiterations 0message optimizationterminated lambda ineqlin 3x1double eqlin 0 x1double upper 2x1double lower 2x1double 作业 求下面的优化问题首先输入下列系数f 0 1 0 12 0 15 0 12 0 08 a 1 1 1 1 1 0 1 1 1 1 b 0 0 aeq 1 1 1 1 1 beq 1 lb zeros 5 1 ub x fval exitflag output linprog f a b aeq beq lb ub 结果为 x 0 00000 25000 50000 25000 0000 最优解fval 0 1350 最优值exitflag 1 收敛output iterations 6algorithm large scale interiorpoint cgiterations 0message optimizationterminated 作业2 求下面的优化问题首先输入下列系数f 5 4 2 a 6 1 1 1 2 4 b 8 10 lb 1 0 0 ub 3 2 inf x fval exitflag output linprog f a b lb ub 结果为 x 1 33330 00000 0000 最优解fval 6 6667 最优值exitflag 1 收敛output iterations 7algorithm large scale interiorpointcgiterations 0message optimizationterminated 3非线性无约束优化问题与matlab实现3 1单变量最小化问题本节讨论只有一个变量时的无约束最优化问题 即一维搜索问题 该问题是多变量最优化问题的基础 利用matlab解决非线性无约束优化问题的标准形式为 minf x s t x1 x x2其中x x1 x2为标量 f x 为函数 返回标量 在matlab中 单变量非线性无约束优化问题调用函数fminbnd fminbnd函数是一个m文件 其算法基于黄金分割法和抛物线插值 函数fminbnd调用格式 x fminbnd fun x1 x2 返回区间 x1 x2 上fun参数指定的优化参数进行求解 x fminbnd fun x1 x2 options 用options参数指定的优化参数进行求解 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 返回包含优化信息的结构输出 注 目标函数须是连续的 只能求出局部最优解 只用于实数变量 例3 1求下面的优化问题 p52 黄金分割法 对函数f x x 2 2x 当给定搜索区间 3 x 5 求其最小值x 编一个m文件 jxyh3 1fun x m 返回x处的函数值f functiony jxyh3 1fun x y x 2 2 x 目标函数的m文件输入下列系数options optimset display iter 设置优化参数 x fval exitflag output fminbnd jxyh3 1fun 3 5 options 结果为 x 1 最优解fval 1 最优值exitflag 1 收敛output iterations 5funccount 8algorithm goldensectionsearch parabolicinterpolation message 1x112char 计算过程func countxf x procedure30 05572810 114562initial41 944277 66874golden5 1 11146 0 987578golden6 1 1parabolic7 0 999967 1parabolic8 1 00003 1parabolic 例3 2求下面的优化问题 p52 黄金分割法 某工厂有一张边长为5cm的正方形的铁板 欲制成一个方形无盖水槽 问在该铁板的4个角处剪去多大的相等的正方形才能使水槽的容积最大 解设剪去的正方形的边长为x 则水槽的容积为 f x 5 2x 2x 当给定搜索区间 0 x 2 5 求其最小值x 编一个m文件 jxyh3 2fun x m 返回x处的函数值f functiony jxyh3 2fun x y 5 2 x 2 x 目标函数的m文件输入下列系数options optimset display iter 设置优化参数 x fval exitflag output fminbnd jxyh3 2fun 0 2 5 options 结果为 x 0 8333 最优解fval 9 2593 最优值exitflag 1 收敛output iterations 8funccount 11algorithm goldensectionsearch parabolicinterpolation message 1x112char 计算过程func countxf x procedure30 954915 9 11863initial41 54508 5 63562golden50 59017 8 61046golden60 863729 9 25013parabolic70 839751 9 25885parabolic80 832336 9 25925parabolic90 833301 9 25926parabolic100 833335 9 25926parabolic110 833368 9 25926parabolic 1多变量无约束最优化问题本节讨论多变量时的无约束最优化问题 另外许多的有约束最优化问题可以转化为无约束最优化问题进行求解求解无约束最优化问题的方法主要有两类 直接搜索法 包含单线形法 pavell共轭方向法等 与梯度法 包含最速下降法 newton法 共多轭梯度法和拟牛顿等 利用matlab解决多变量非线性无约束优化问题的标准形式为 minf x 其中x为矢量 f x 为函数 返回标量 在matlab中 多变量非线性无约束优化问题调用函数fminunc fminunc函数是一个m文件 其算法基于黄金分割法和抛物线插值 函数fminunc调用格式 x fminbnd fun x0 给定初值x0 求fun函数的局部极小点x x0可以是标量 矢量 矩阵 x fminunc fun x0 options 用options参数指定的优化参数进行求解 x fval fminunc 返回x处目标函数的值到fval x fval exitflag fminunc 返回exitflag值描述fminunc函数的退出条件 x fval exitflag output fminunc 返回包含优化信息的结构输出 x fval exitflag output grad fminunc 解x处fun函数的梯度值返回到grad中 x fval exitflag output grad hess fminunc 解x处fun函数的hess矩阵信息返回到hess中 例 1求下面的优化问题 梯度法 对函数f x x1 2 25x2 2 当给定初值x0 2 2 求其最小值x 编一个m文件 jxyh4 1fun x m 返回x处的函数值f function y g jxyh4 1fun x functiony jxyh4 1fun x 目标函数的m文件ifnargout 1g 1 2 x 1 用提供的梯度g使函数最小化g 2 50 x 2 end输入下列系数options 6 1 options 7 1 采用dfp变尺度方法立方插值法options optimset display iter largescale on gradobj on 设置优化参数x0 2 2 x fval exitflag output grad fminunc jxyh4 1fun x0 options 结果为 x 1 0e 013 0 11550 0044fval 1 3825e 028exitflag 1 output iterations 1funccount 2cgiterations 1firstorderopt 2 3093e 014algorithm large scale trust regionnewton message 1x137char grad 1 0e 013 0 23090 2220normoffirst orderiterationf x stepoptimalitycg iterations010410011 38248e 0282 828432 31e 0141 例 2求下面的优化问题 变尺度法 对函数f x x1 2 2x2 2 4x1 2x1x2 当给定初值x0 1 1 求其最小值x 编一个m文件 jxyh4 2fun x m 返回x处的函数值f functiony jxyh4 2fun x y x 1 2 2 x 2 2 4 x 1 2 x 1 x 2 目标函数的m文件输入下列系数options 6 0 options 7 0 采用dfp方法混合插值法options optimset display iter largescale off 设置优化参数x0 1 1 x fval exitflag output fminunc jxyh4 2fun x0 options 结果为 x 4 00002 0000fval 8 0000exitflag 1output iterations 3funccount 12stepsize 1firstorderopt 2 3842e 007algorithm medium scale quasi newtonlinesearch message optimizationterminated relativeinfinity normofgradientlessthanoptions tolfun iterationfunc countf x step sizeinfinity norm03 3416 5 50 25229 6 411 6312 812 38e 007 例4 3求使方程的最小化 当给定初值x0 pi 3 pi 3 求其最小值x编一个m文件y jxyh4 3fun x m 返回x处的函数值f functionf jxyh4 3fun x f sin x 1 cos x 1 sin x 2 cos x 2 sin x 1 cos x 2 输入下列系数x0 pi 3 pi 3 options optimset display iter largescale off 设置优化参数 x fval exitflag output fminunc jxyh4 3fun x0 options 结果为 x 3 62974 2242fval 2 4844exitflag 1output iterations 9funccount 39stepsize 1firstorderopt 1 1495e 007algorithm medium scale quasi newtonlinesearch message optimizationterminated relativeinfinity normofgradientlessthanoptions tolfun gradient siterationfunc countf x step sizeinfinity norm033 165061 1219 0 9850332 380210 932212 1 8719911 01321 2 468780 06140310 159424 2 4768910 112527 2 4844210 006630 2 4844310 00133733 2 4844414 06e 005836 2 4844416 42e 006939 2 4844411 15e 007 4 4在matlab中 多变量非线性无约束优化问题也可以调用函数fminsearch fminsearch函数是一个m文件 其算法基于单纯形法进行计算 适合解决二次以上的问题 并问题为高度非线性时 具有稳定性 但是不适合求解平方和问题 函数fminsearch调用格式 x fminsearch fun x0 给定初值x0 求fun函数的局部极小点x x0可以是标量 矢量 矩阵 x fminsearch fun x0 options 用options参数指定的优化参数进行求解 x fval fminsearch 返回x处目标函数的值到fval x fval exitflag fminsearch 返回exitflag值描述fminunc函数的退出条件 x fval exitflag output fminsearch 返回包含优化信息的结构输出 例4 4求使方程的最小化 当给定初值x0 1 求其最小值x编一个m文件y jxyh4 4fun x m 返回x处的函数值f functionf jxyh4 4fun x f e x x 2 输入下列系数x0 1 options optimset display iter largescale off 设置优化参数 x fval exitflag output fminsearch jxyh4 4fun x0 options 结果为 gradient siterationfunc countf x step sizeinfinity norm033 165061 1219 0 9850332 380210 932212 1 8719911 01321 2 468780 06140310 159424 2 4768910 112527 2 4844210 006630 2 4844310 00133733 2 4844414 06e 005836 2 4844416 42e 006939 2 4844411 15e 007x 0 3518fval 0 8272exitflag 1output iterations 16funccount 32algorithm nelder meadsimplexdirectsearch message 1x196char 5 1有约束的非线性规划问题的matlab实现这些问题通常用基于k t kuhn tucker 方程解的方法 直接计算拉格朗日乘子 用拟牛顿法更新过程 这些方法称为二次规划法 sqp 利用matlab解决有约束的非线性规划问题问题调用函数fmincon 利用fmincon函数求解多变量的有约束的最小值 其数学模型为 式中 x b beq lb和ub为矢量 a和aeq为矩阵 c x 和ceq x 为函数 返回标量 f x c x 和ceq x 可以是非线性函数 函数fmincon调用格式 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 若没有不等式存在 则令aeq beq 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 通常也以m文件的方式调用 fmincon函数也要求c x 0且ceq x 0 当无边界存在时 令lb ub x fmincon fun x0 a b aeq beq lb ub nonlcon options 用options参数指定的优化参数进行求解 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处的目标函数的值返回到fval参数中 x fval exitflag fmincon 返回exitflag的值 描述函数的输出条件 x fval exitflag output fmincon 返回包含优化作息的结构输出 x fval exitflag output lambad fmincon 返回解x处包含拉格朗子乘子的lambad参数 x fval exitflag output lambad grad fmincon 返回解x处fun函数的梯度 x fval exitflag output lambad grad hess fmincon 返回解x处fun函数的hess矩阵 各调用格式中 nonlcon参数计算非线性不等式约束c x 0和非线性等式约束ceq x 0 nonlcon参数是一个包含函数名的字符串 该函数可以是 文件 内部文件 或mex文件 它要求输入一个矢量x 返回两个变量 解x处的非线性不等式矢量c和线性等式矢量ceq 例如 若nonlcon mycon x 则m文件mycon m具有下面的形式 function c ceq mycon x c 计算x处的非线性不等式 ceq 计算x处的非线性等式 若还计算了约束梯度 即options optimset gradobj on 则nonlcon函数必须在第 个和第 个输出变量中返回c x 的梯度gc和ceq x 的梯度gceq 当被调用的nonlcon函数只需要两个输出变量 此时优化算法只需要c和ceq的值 而不需要gc和gceq 时 可以通过查看nargout的值来避免计算gc和gceq的值 function c ceq mycon x c 计算x处的非线性不等式 ceq 计算x处的非线性等式 ifnargout 2gc 不等式的梯度gceq 等式的梯度end 5 1计算有约束的非线性规划问题例题5 1试求点集a x1 x2 x3 和点集b x4 x5 x6 之间的最短距离 限制条件为 由图可知 点集a x1 x2 x3 在球面上取点 点集b x4 x5 x6 在圆柱面上取点 因此该问题就是求这两个几何体间的最短距离的约束优化问题 其数学模型为 编一个m文件 jxyh5 1fun x m 返回x处的函数值f functionf jxyh5 1fun x f x 1 x 4 2 x 2 x 5 2 x 3 x 6 2 目标函数的m文件由于约束条件中非线性约束 所以要编写一个描述非线性约束条件的m文件jxyh5 1con x m function c ceq jxyh5 1con x c 1 x 1 2 x 2 2 x 3 2 5 c 2 x 4 3 2 x 5 2 1 ceq 下一步给定初值 给定变量的下限约束 并调用优化过程 输入下列系数a b aeq beq lb sqrt 5 sqrt 5 sqrt 5 2 1 4 ub sqrt 5 sqrt 5 sqrt 5 4 1 8 x0 1 1 1 3 1 5 options optimset display iter largescale off x fval exitflag output lambad fmincon jxyh5 1fun x0 a b aeq beq lb ub jxyh5 1con options 结果为 maxdirectionalfirst orderiterf countf x constraintstep sizederivativeoptimalityprocedure072001169 625390 30570 5 14 73 52245 73221 44410 7893 873324 430660 769810 4771 114405 0160 586311 231 925484 717220 29181 0 009980 2696564 995270 00473210 2820 074176451 48e 00610 004730 00082887251 116e 00711 29e 0060 000102hessianmodifiedoptimizationterminated magnitudeofdirectionalderivativeinsearchdirectionlessthan2 options tolfunandmaximumconstraintviolationislessthanoptions tolcon activeinequalities towithinoptions tolcon 1e 006 lowerupperineqlinineqnonlin4162 x 1 0000 0 00002 00002 0000 0 00004 0000fval 5 0000exitflag 5output iterations 8funccount 72stepsize 1algorithm medium scale sqp quasi newton line search firstorderopt 1 0234e 004cgiterations message 1x172char lambad lower 6x1double upper 6x1double eqlin 0 x1double eqnonlin 0 x1double ineqlin 0 x1double ineqnonlin 2x1double 所以当x 1 0000 0 00002 00002 0000 0 00004 0000时 目标函数有最小值fval 5 0000 exitflag 5 表示过程成功收敛于x处 output输出变量显示民收敛中的迭代次数 目标函数计算次数步长算法等信息 lambda则包含模型信息 5 2求解含有等式约束问题的最优解 并用matlab计算下列约束优化问题 matlab过程编一个m文件jxyh5 2fun x m 返回x处的函数值f functionf md65fun x f x 2 x 1 由于约束条件中非线性约束 所以要编写一个描述非线性约束条件的m文件jxyh5 2con x m function c ceq jxyh5 2con x c log x 1 ceq x 1 x 2 1 下一步给定初值 给定变量的下限约束 并调用优化过程 options optimset display iter largescale off x0 1 0 x fval exitflag output lambda fmincon md65fun x0 md65con options 计算结果为 maxdirectionalfirst orderiterf countf x constraintstep sizederivativeoptimalityprocedure03101710102optimizationterminated first orderoptimalitymeasurelessthanoptions tolfunandmaximumconstraintviolationislessthanoptions tolcon activeinequalities towithinoptions tolcon 1e 006 lowerupperineqlinineqnonlin1x 10fval 1exitflag 1output iterations 1funccount 7stepsize 1algorithm medium scale sqp quasi newton line search firstorderopt 1 1102e 016cgiterations message 1x143char lambda lower 2x1double upper 2x1double eqlin 0 x1double eqnonlin 1 0000ineqlin 0 x1double ineqnonlin 0 5 3如图所示 已知跨距为l 截面为矩性的简支梁 其材料密度为 许用弯曲应力为 允许挠度为 在梁的中点作用一集中载荷p 梁的截面宽度b不得小于 现要求设计此梁 使其重量最轻 试写出其优化数学模型 若试用matlab优化工具计算 考虑简支梁自重后数学模型令x1 b x2 h 转化数学模型 matlab过程编一个m文件jxyh5 3fun x m 返回x处的函数值f functionf jxyh5 3fun x f 5 1e4 0 05 5 x 1 x 2 9 8 由于约束条件中非线性约束 所以要编写一个描述非线性约束条件的m文件jxyh5 3con x m function c ceq jxyh5 3con x c 1 6 5 1e4 5 4 7 8 1e3 9 8 x 1 x 2 5 2 8 x 1 x 2 2 7 1e7 c 2 5 7 8 1e3 9 8 x 1 x 2 5 4 384 2 1e11 x 1 x 2 2 12 5 1e4 5 3 48 2 1e11 x 1 x 2 2 12 0 005 ceq 下一步给定初值 给定变量的下限约束 并调用优化过程 options optimset display iter largescale off x0 0 08 0 08 lb 0 05 0 ub x fval exitflag output lambda fmincon jxyh5 3fun x0 lb ub jxyh5 3con options 计算结果为 maxdirectionalfirst orderiterf countf x constraintstep sizederivativeoptimalityprocedure037846 803e 008infeasiblestartpoint17805 5933 745e 0081 1686 57e 0032111149 161 507e 00813444 43e 003hessianmodified3151548 415 302e 00713992 73e 0034191889 971 342e 00713422 53e 0035232046 31 485e 00611561 71e 0036272068 212 326e 004121 91397312068 565 91310 3540 1958352068 56019 01e 0053 06e 005hessianmodifiedoptimizationterminated first orderoptimalitymeasurelessthanoptions tolfunandmaximumconstraintviolationislessthanoptions tolcon activeinequalities towithinoptions tolcon 1e 006 lowerupperineqlinineqnonlin11x 0 05000 3377fval 2 0686e 003exitflag 1 output iterations 8funccount 35stepsize 1algorithm medium scale sqp quasi newton line search firstorderopt 7 2760e 012cgiterations message 1x143char lambda lower 2x1double upper 2x1double eqlin 0 x1double eqnonlin 0 x1double ineqlin 0 x1double ineqnonlin 2x1double 所以当x 0 05000 3377时 目标函数有最小值fval 2 0686e 003 exitflag 1 表示过程成功收敛于x处 output输出变量显示民收敛中的迭代次数 目标函数计算次数步长算法等信息 lambda则包含模型信息 例5 4有约束的非线性规划问题机床主轴结构优化设计试对图8 2所示的主轴进行优化设计 已知主轴内径d 30mm 外力f 15000n 设计变量数n 3 约束函数个数m 5 设计函数初值 上下限如下表 matlab的实现过程 编一个目标函数的m文件jxyh5 4fun x m 返回x处的函数值f functionf jxyh5 4fun x f x 1 x 4 2 x 2 x 5 2 x 3 x 6 2 由于约束条件中非线性约束 所以要编写一个描述非线性约束条件的m文件jxyh5 4con x m function c ceq jxyh5 4con x c 1 64 15000 x 3 2 x 1 x 3 3 210 10 3 pi x 2 4 30 4 0 05 1 c 2 1 x 1 300 c 3 1 x 2 60 c 4 x 2 140 1 c 5 1 x 3 90 ceq 下一步给定初值 给定变量的下限约束 并调用优化过程 a b aeq beq lb 300 60 90 ub 650 140 150 x0 480 100 120 options optimset display iter largescale off x fval exitflag output lambda hess fmincon jxyh5 4fun x0 a b aeq beq lb ub jxyh5 4con options 计算结果为 maxdirectionalfirst orderiterf countf x constraintstep sizederivativeoptimalityprocedure0433 4485 0 1551932 904 0 13041 0 5420 7321429 97770 013821 2 860 43831929 87013 683e 0051 0 1070 38742420 338701 8 490 51152919 99550 0005411 0 3420 056363419 9971 56e 00710 001540 056173916 1698 2 22e 0161 3 620 413hessianmodified84411 366901 4 380 11594911 24810 00020551 0 1190 00587105411 24942 679e 00810 001342 83e 006115911 2494011 75e 0072e 009hessianmodifiedoptimizationterminated first orderoptimalitymeasurelessthanoptions tolfunandmaximumconstraintviolationislessthanoptions tolcon activeinequalities towithinoptions tolcon 1e 006 lowerupperineqlinineqnonlin11325 lambda lower 3x1double upper 3x1double eqlin 0 x1double eqnonlin 0 x1double ineqlin 0 x1double ineqnonlin 2x1double hess 7350000367500000所以当x 30060120时 目标函数有最小值fval 2 2050e 009exitflag 1 表示过程成功收敛于x处 output输出变量显示民收敛中的迭代次数 目标函数计算次数步长算法等信息 lambda则包含模型信息 x 300 000074 889890 0000fval 11 2494exitflag 1output iterations 11funccount 59stepsize 1algorithm medium scale sqp quasi newton line search firstorderopt 2 0000e 009cgiterations message 1x144char lambda lower 3x1double upper 3x1double eqlin 0 x1double eqnonlin 0 x1double ineqlin 0 x1double ineqnonlin 5x1double hess 0 02880 35790 0288所以当x 300 000074 889890 0000时 目标函数有最小值fval 11 2494 exitflag 1 表示过程成功收敛于x处 output输出变量显示民收敛中的迭代次数 目标函数计算次数步长算法等信息 lambda则包含模型信息 例5 5求两级圆柱齿轮减速器优化设计 已知某两级斜齿轮圆柱齿轮减速器 图8 6 的参数 高速级输入功率p1 6 2kw 转速n1 1450r min 总传动比i 31 5 齿轮宽度系数为齿轮材料和热处理 大齿轮45号钢正火187 207 小齿轮45号钢调质228 255hbs 工作寿命年以上 要求按照总中心矩a 最小来确定传动方案 解1 建立优化设计的数学模型 将影响齿轮传动总中心矩a 的六个独立参数作为设计变量 x mn1 mn2 z1 z3 i x1 x2 x3 x4 x5 x6 mn1 mn2分别为高速级和低速级齿轮副的模数 z1 z3分别为高速级和低速级小齿轮齿数 i为高速级传动比 为齿轮副螺旋角 齿轮传动总中心矩a 最小的目标函数 性能约束包括齿面强度条件 齿根弯曲强度条件 高速级大齿轮和低速轴不干涉条件等 根据齿轮材料与热处理规范 得到齿面许用接触应力 齿根许用弯曲应力和 根据传递功率和转速 在齿轮强度计算条件中代入有关数据 高速轴转矩 中间速轴转矩 高速轴和低速轴齿轮载荷系数和 由齿轮传动的约束条件 可建立以下约束模型 matlab的实现过程 编一个目标函数的m文件jsqyh f x m 返回x处的函数值f functionf jsqyh f x hd pi 180 a1 x 1 x 3 1 x 5 a2 x 2 x 4 1 31 5 x 5 cb 2 cos x 6 hd f a1 a2 cb 由于约束条件中非线性约束 所以要编写一个描述非线性约束条件的m文件jxyh5 4con x m function c ceq jsqyh g x hd pi 180 c 1 cos x 6 hd 3 3 079e 6 x 1 3 x 3 3 x 5 c 2 cos x 6 hd 3 x 5 2 1 701e 4 x 2 3 x 4 3 c 3 cos x 6 hd 2 9 939e

温馨提示

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

评论

0/150

提交评论